wm=2*pi*fm;
k=0:N-1; w1=k*wm/N; X=x*exp(-j*t'*w1)*Tm;
subplot(4,1,1);plot(w1/(2*pi),abs(X))
axis([0,max(4*fm),1.1*min(abs(X)),1.1*max(abs(X))]); for i=1:3;
if i<=2 c=0;else c=1; end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2;
xs=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); N=length(n); ws=2*pi*fs; k=0:N-1;w=k*ws/N; Xs=xs*exp(-j*n'*w)*Ts;
subplot(4,1,1+i);plot(w/(2*pi),abs(Xs));
axis([0,max(4*fm),1.1*min(abs(Xs)),1.1*max(abs(Xs))]); end
程序运行结果如图7-2所示:
图7-2
30
从图7-2可以看出,当Fs?2fm时,抽样信号的频谱没有混叠现象,反之,抽样信号的频谱发生了混叠,如图中第二幅图所示。
3、利用时域卷积重建例题信号
时域卷积是用时域抽样信号xs(t)与理想滤波器系统的单位冲激响应h(t)进行卷积积分来求解。卷积积分的公式通过推导化简为内插公式x(t)?MATLAB程序:
f0=1;T0=1/f0; %基波频率、周期 fm=5*f0;Tm=1/fm; %最高频率为基波的5倍 t=0:0.01:3*T0;
x=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); subplot(4,1,1);plot(t,x) for i=1:3;
fs=i*fm;Ts=1/fs; %设置不同采样频率、周期 n=0:(3*T0)/Ts; t1=0:Ts:3*T0;
xs=sin(2*pi*f0/fs*n)+1/3*sin(6*pi*f0/fs*n); %抽样信号 T_N=ones(length(n),1)*t1-n'*Ts*ones(1,length(t1)); x1=xs*sinc(2*pi*fs*T_N); %内插公式计算 subplot(4,1,1+i);plot(t1,x1)
axis([min(t1),max(t1),1.1*min(x1),1.1*max(x1)]) end
31
?x(nT)Sa[?(t?nT)]。
scs???程序运行结果如图7-3所示:
图7-3
从图7-3可以看出,当Fs?2fm时,信号基本被还原,反之,信号出现失真,如图中第二幅图所示。
五、实验任务
1、输入并运行例题程序,熟悉基本指令的使用。 2、利由频域相乘重建信号。
(提示:满足奈奎斯特抽样定理的信号xs(t),只要经过一个理想的低通滤波器,其中
?1????|?|??m H(?)??0?????|?|??m?将原信号有限带宽以外的频率部分滤除,就可以重建x(t)信号,该方法从频域的角度进行处理,即用X(?)?Xs(?)H(?),则滤波器的输出端就会出现恢复的连续信号。)
六、实验报告
1、简述实验目的、原理。
2、写出上机调试通过的实验任务的程序并描述其图形曲线。
3、思考题:通过实验,总结信号抽样时需注意的问题,及使用那些方法进行信号的重建。
32
实验八 连续时间系统分析与设计(综合设计实验)
一、实验目的
1、理解连续时间系统的系统函数在分析连续系统的时域特性、频域特性及稳定性的重要作用及意义。
2、掌握利用MATLAB分析连续系统的时域响应、频率响应和零极点的基本方法。 3、掌握根据系统函数的零极点设计简单的滤波器的方法。
二、实验任务
根据系统零极点对幅频特性曲线影响设计下面系统
在S平面上配置零极点,并使用freqs命令绘出相应的幅频特性曲线,重复这个过程直至找到满足下面指标的零极点。并就观察零极点图与其对应的h(t)、 幅频响应之间的关系。
(1)设计一个2个零点、2个极点、具有实系数的高通滤波器,满足 0.8#H(jw)1.2,w>50p
(2)设计一个具有实系数的低通滤波器,满足 0.8#H(jw) H(jw)?0.1,1.2,w<10
w30
三、实验报告
1、简述实验目的、原理。
2、写出上机调试通过的实验任务的程序并描述其图形曲线。 3、总结本次设计所获得的经验与教训。
33
附录:
附录1、MATLAB的基本操作与使用方法
MATLAB的工作环境主要由命令窗口(Command Windows)、文本编辑器(File Editor)、图形显示窗口等组成。
命令窗口基本使用方法。在MATLAB命令窗口中输入一条命令,按
图1
如果一个程序比较复杂的话,则不适合在命令窗口中进行处理,而应采用文件方式,这将用到文本编辑器。在文本编辑器中把程序写成一个由多条语句构成的文件并存储起来,需要运行时,在命令窗口输入文件回车即可。如图2所示。
图2
文本编辑器除了可以编写程序以外,还可以编写函数,可以像系统的库函数一样被调用。为区别程序和函数,函数文件的第一行是函数申明行,关键字是function,如:
34