目的:
通过MATLAB编程实现对时域抽样定理的验证,加深抽样定理的理解。同时训练应用计算机分析问题的能力。
任务:
连续信号f(t)=cos(8*pi*t)+2*sin(40*pi*t)+cos(24*pi*t),经过理想抽样后得到抽样信号fs(t),通过理想低通滤波器后重构信号f(t)。
方法:
1、确定f(t)的最高频率fm。对于无限带宽信号,确定最高频率fm的方法:设其频谱的模降到10-5左右时的频率为fm。
2、确定Nyquist抽样间隔TN。选定两个抽样时间:TSTN。
3、MATLAB的理想抽样为
n=-200:200;nTs=n*Ts; 或 nTs=-0.04:Ts:0.04
4、抽样信号通过理想低通滤波器的响应
理想低通滤波器的冲激响应为
系统响应为
由于
所以
MATLAB计算为
ft=fs*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs\'*ones(1,length(t))));
要求(画出6幅图): 当TS
1、在一幅图中画原连续信号f(t)和抽样信号fS(t)。f(t)是包络线,fS(t)是离散信号。
2、画出重构的信号y(t)。
3、画出误差图,即
error=abs(f(t)-y(t))的波形。
当TS>TN时同样可画出3幅图。
%a wm=40*pi;
wc=1.2*wm;
%理想低通截止频率
Ts=[0.02 0.03];
N=length(Ts); for k=1:N;
n=-100:100;
nTs=n*Ts(k);
fs=(cos(8*pi*nTs)+2*sin(40*pi*nTs)+cos(24*pi*nTs)).*(u(nTs+pi)-u(nTs-pi));
t=-0.25:0.001:0.25;
ft=fs*Ts(k)*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs\'*ones(1,length(t))));
t1=-0.25:0.001:0.25;
f1=(cos(8*pi*t1)+2*sin(40*pi*t1)+cos(24*pi*t1)).*(u(t1+0.25)-u(t1-0.25));
%在一副图中画原连续信号f(t)和样信号f_s(t)。 figure(3*k-2)
plot(t1,f1,\'r:\',\'linewidth\',2),hold on
stem(nTs,fs),grid on
axis([-0.25 0.25 -4 4])
line([-0.25 0.25],[0 0],\'color\',\'k\') line([0 0],[-4 4],\'color\',\'k\') xlabel(\'nTs\'),ylabel(\'f(nTs)\');
title([\'抽样信号Ts=\',num2str(Ts(k)),\'时的抽样信号f(nTs)\']) legend(\'包络线\',\'抽样信号\',0) hold off
% 画重构的信号 figure(3*k-1) plot(t,ft),grid on axis([-0.25 0.25 -4 4])
line([-0.25 0.25],[0 0],\'color\',\'k\') ine([0 0],[-4 4],\'color\',\'k\') xlabel(\'t\'),ylabel(\'ft\');
title(\'由f(nTs)信号重建得到的信号\') %画出错信号 error=abs(ft-f1); figure(3*k) plot(t,error),grid on axis([-0.25 0.25 -0.1 4]) line([-0.25 0.25],[0 0],\'color\',\'k\') line([0 0],[-4 4],\'color\',\'k\') xlabel(\'t\'),ylabel(\'error(t)\');
title(\'重建信号与原余弦信号的绝对误差\') end