注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr.Right

不顾一切的去想,于是我们有了梦想。脚踏实地的去做,于是梦想成了现实。

 
 
 

日志

 
 
关于我

人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。

网易考拉推荐

阿英讲矩形函数与Sinc函数的Fourier变换对关系, Matlab验证  

2015-01-11 19:46:39|  分类: 编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
即以此功德,庄严佛净土。上报四重恩,下济三途苦。惟愿见闻者,悉发菩提心。在世富贵全,往生极乐国。

Sinc 函数与Rect函数在雷达信号处理中用的非常多,但自己对公式没有仿真,对公式的理解不深刻。为了验证此两个函数的Fourier变换关系,今天画了一下午,将下面两个公式仿真验证下并给出完整的Matlab代码。分享出来,希望对需要的人有帮助!
阿英讲矩形函数与Sinc函数的Fourier变换对关系, Matlab验证 - 阿英 - Mr.Right
 
% 1) verifying Eq.(2.45)
clear; close all;
fs = 100;
Te = 0.1*100; 
N = Te*fs; 
n = ([0:N - 1] - N/2); t = n/fs;  
x= ones(1, N); %signal
%checkpoint: plot(t, x);
% 10 times zeros padding to simulate continuous signal
N1 = 10*N;
t1 = ([0:N1 - 1] - N1/2)/fs ;
x1 = rectpuls(t1/Te); % plot(t1, x1); 
阿英讲矩形函数与Sinc函数的Fourier变换对关系, Matlab验证 - 阿英 - Mr.Right
 
 
NFFT = 2^ceil(log2(N1)); 

y1 = fft(x1, NFFT)./N;  % N is the discrete time rectangular window width   
y1 = Te*y1; % Te is the continuous time window width
y2 = fftshift(y1);  mag2=db(abs(y2), 'voltage');
f2 = [(0:NFFT-1)]*fs/ NFFT - fs/2; 
figure; plot(f2, mag2);   
xlabel('frequency/ Hz'); ylabel('magnitude/ dB'); title('FFT after fftshift','color','b');grid on;

% real and imaginary part of the calculated spectrum
figure; subplot(2, 1, 1); plot(f2, real(y2)); xlabel('frequency/ Hz'); ylabel('amplitude/ V');  title('real part');
subplot(2, 1, 2); plot(f2, imag(y2)); xlabel('frequency/ Hz'); ylabel('amplitude/ V');  title('imaginary part');

% theoretical formula for the Fourier transform of rectangular function
y2_formula = Te*sinc(f2*Te); 
mag3=db(abs(y2_formula), 'voltage');

% real parts comparison between calculated and theoretical results
figure; plot(f2, real(y2), 'r-.'); hold on; plot(f2, y2_formula, 'b-');
legend('numeric', 'theoretical'); xlabel('frequency/ Hz'); ylabel('amplitude/ V');

% real and imaginary part of the theoretical spectrum
figure; subplot(2, 1, 1); plot(f2, real(y2_formula)); xlabel('frequency/ Hz'); ylabel('amplitude/ V');  title('real part');
subplot(2, 1, 2); plot(f2, imag(y2_formula)); xlabel('frequency/ Hz'); ylabel('amplitude/ V');  title('imaginary part');

figure; plot(f2, mag2, 'b-');   hold on; plot(f2, mag3, 'r.');
xlabel('frequency/ Hz'); ylabel('magnitude/ dB'); legend('numeric', 'theoretical');
title('FFT after fftshift','color','b');grid on; 
axis([-10, 10, max(mag2) - 60, max(mag2)]);
阿英讲矩形函数与Sinc函数的Fourier变换对关系, Matlab验证 - 阿英 - Mr.Right
 

%% 2) verifying Eq.(2.46)
clear; close all;
fs = 100;
Te0 = 0.1*100; 
N = Te0*fs; 
% n = ([0:N - 1] - N/2); t = n/fs;  

% 10 times zeros padding to simulate continuous signal
N1 = 10*N; Te = N1/fs;
t1 = ([0:N1 - 1] - N1/2)/fs ;
x1 = zeros(1, N1);
x1 = sinc(t1/Te0);
%checkpoint: plot(t1, x1);
阿英讲矩形函数与Sinc函数的Fourier变换对关系, Matlab验证 - 阿英 - Mr.Right
 
%NFFT = 2^ceil(log2(N1)); 
NFFT = 1e4;

y1 = fft(x1, NFFT)./N1;  % N is the discrete time rectangular window width   
y1 = Te0*y1; 
y2 = fftshift(y1);  mag2=db(abs(y2), 'voltage');
f2 = [(0:NFFT-1)]*fs/ NFFT - fs/2; 
figure; plot(f2, mag2);
xlabel('frequency/ Hz'); ylabel('magnitude/ dB'); title('FFT after fftshift','color','b');grid on;


% theoretical formula for the Fourier transform of rectangular function
spectrum_formula = rectpuls(Te0*f2); 
% checkpoint: plot(f2, spectrum_formula)
spectrum_formula_dB = db(spectrum_formula, 'voltage');
% comparison between calculated and theoretical results
figure; plot(f2, mag2, 'b-'); hold on; plot(f2, spectrum_formula_dB, 'r.');
xlabel('frequency/ Hz'); ylabel('magnitude/ dB'); legend('numeric', 'theoretical');
title('FFT after fftshift','color','b');grid on; 
axis([-10, 10, max(mag2) - 20, max(mag2)]);
阿英讲矩形函数与Sinc函数的Fourier变换对关系, Matlab验证 - 阿英 - Mr.Right
 
-----------------------------------------------------------------------------------------------------------------------
  评论这张
 
阅读(669)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016