1、上 机 实 验第 8 章第8章上 机 实 验8.1实验一实验一:系统响应及系统稳定性系统响应及系统稳定性8.2 实验二:实验二:时域采样与频域采样时域采样与频域采样8.3实验三:实验三:用用FFT对信号作频谱分析对信号作频谱分析8.4实验四:实验四:IIR数字滤波器设计及软件实现数字滤波器设计及软件实现8.5实验五:实验五:FIR数字滤波器设计与软件实现数字滤波器设计与软件实现8.6 实验六:实验六:数字信号处理在双音多频拨号系统中的应用数字信号处理在双音多频拨号系统中的应用上 机 实 验第 8 章 8.1 实验一:实验一:系统响应及系统稳定性系统响应及系统稳定性8.1.1 实验指导实验指导1
2、.实验目的实验目的(1)掌握求系统响应的方法。(2)掌握时域离散系统的时域特性。(3)分析、观察及检验系统的稳定性。上 机 实 验第 8 章2.实验原理与方法实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。上 机 实 验第 8 章系统的
3、时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。上 机 实 验第 8 章实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的12。系统的稳态输出是指当n时,系统的输出。如果系统稳定,则信号加入系统后,系统输出的开
4、始一段称为暂态效应,随着n的加大,幅度趋于稳定,达到稳态输出。注意在以下实验中均假设系统的初始状态为零上 机 实 验第 8 章3 实验内容及步骤实验内容及步骤(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter函数或conv函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。(2)给定一个低通滤波器的差分方程为y(n)=0.05x(n)+0.05x(n1)+0.9y(n1)输入信号x1(n)=R8(n)x2(n)=u(n)上 机 实 验第 8 章 分别求出x1(n)=R8(n)和x2(n)=u(n)的系统响应y1(n)和y2(n),并画出其波形。求出系统的单位脉冲
5、响应,画出其波形。(3)给定系统的单位脉冲响应为h1(n)=R10(n)h2(n)=(n)+2.5(n1)+2.5(n2)+(n3)用线性卷积法求x1(n)=R8(n)分别对系统h1(n)和h2(n)的输出响应y21(n)和y22(n),并画出波形。上 机 实 验第 8 章(4)给定一谐振器的差分方程为y(n)=1.8237y(n1)0.9801y(n2)+b0 x(n)b0 x(n2)令b0=1/100.49,谐振器的谐振频率为0.4 rad。用实验方法检查系统是否稳定。输入信号为u(n)时,画出系统输出波形y31(n)。给定输入信号为x(n)=sin(0.014n)+sin(0.4n)求出
6、系统的输出响应y32(n),并画出其波形。上 机 实 验第 8 章4 思考题思考题(1)如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应?如何求(2)如果信号经过低通滤波器,信号的高频分量被滤掉,时域信号会有何变化?用前面第一个实验的结果进行分析说明。5 实验报告要求实验报告要求(1)简述在时域求系统响应的方法。(2)简述通过实验判断系统稳定性的方法。分析上面第三个实验的稳定输出的波形。(3)对各实验所得结果进行简单分析和解释。(4)简要回答思考题。(5)打印程序清单和要求的各信号波形。上 机 实 验第 8 章8.1.2 实验参考程序实验参考程序实验1程序
7、:exp1.m%实验1:系统响应及系统稳定性close all;clear all%=%内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性A=1,-0.9;B=0.05,0.05;%系统差分方程系数向量B和Ax1n=1 1 1 1 1 1 1 1 zeros(1,50);%产生信号x1n=R8n上 机 实 验第 8 章x2n=ones(1,128);%产生信号x2n=unhn=impz(B,A,58);%求系统单位脉冲响应h(n)subplot(2,2,1);y=h(n);tstem(hn,y);%调用函数tstem绘图title(a)系统单位脉冲响应h(n)y1n=filt
8、er(B,A,x1n);%求系统对x1n的响应y1nsubplot(2,2,2);y=y1(n);tstem(y1n,y);title(b)系统对R8(n)的响应y1(n)y2n=filter(B,A,x2n);%求系统对x2n的响应y2nsubplot(2,2,4);y=y2(n);tstem(y2n,y);title(c)系统对u(n)的响应y2(n)%=上 机 实 验第 8 章%内容2:调用conv函数计算卷积x1n=1 1 1 1 1 1 1 1;%产生信号x1n=R8nh1n=ones(1,10)zeros(1,10);h2n=1 2.5 2.5 1 zeros(1,10);y21n
9、=conv(h1n,x1n);y22n=conv(h2n,x1n);figure(2)subplot(2,2,1);y=h1(n);tstem(h1n,y);%调用函数tstem绘图title(d)系统单位脉冲响应h1(n)subplot(2,2,2);y=y21(n);tstem(y21n,y);上 机 实 验第 8 章title(e)h1(n)与R8(n)的卷积y21(n)subplot(2,2,3);y=h2(n);tstem(h2n,y);%调用函数tstem绘图title(f)系统单位脉冲响应h2(n)subplot(2,2,4);y=y22(n);tstem(y22n,y);tit
10、le(g)h2(n)与R8(n)的卷积y22(n)%=%内容3:谐振器分析un=ones(1,256);%产生信号unn=0:255;xsin=sin(0.014*n)+sin(0.4*n);%产生正弦信号上 机 实 验第 8 章A=1,1.8237,0.9801;B=1/100.49,0,1/100.49;%系统差分方程系数向量B和Ay31n=filter(B,A,un);%谐振器对un的响应y31ny32n=filter(B,A,xsin);%谐振器对正弦信号的响应y32nfigure(3)subplot(2,1,1);y=y31(n);tstem(y31n,y)title(h)谐振器对u
11、(n)的响应y31(n)subplot(2,1,2);y=y32(n);tstem(y32n,y);title(i)谐振器对正弦信号的响应y32(n)上 机 实 验第 8 章8.1.3 实验结果与波形实验结果与波形实验结果与波形如图8.1.1所示。上 机 实 验第 8 章上 机 实 验第 8 章上 机 实 验第 8 章上 机 实 验第 8 章图8.1.1上 机 实 验第 8 章8.1.4 分析与讨论分析与讨论(1)综合起来,在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出,注意要合理地选择初始条件;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系
12、统输出。用计算机求解时最好使用MATLAB语言进行。(2)实际中要检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。上面第三个实验是稳定的。(3)谐振器具有对某个频率进行谐振的性质,本实验中的谐振器的谐振频率是0.4 rad,因此稳定波形为sin(0.4n)。上 机 实 验第 8 章(4)如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可用分段线性卷积法求系统的响应,具体方法请参考DFT一章的内容。如果信号经过低通滤波器,则信号的高频分量被滤掉,时域信号的变化减缓,在有阶跃处附近产生过渡带。因此,当输入矩形序列时,输出
13、序列的开始和终了都产生了明显的过渡带,见第一个实验结果的波形。上 机 实 验第 8 章8.2 实验二实验二:时域采样与频域采样时域采样与频域采样8.2.1 实验指导实验指导1.实验目的实验目的时域采样理论与频域采样理论是数字信号处理中的重要理论。要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。上 机 实 验第 8 章2.实验原理与方法实验原理与方法1)时域采样定理的要点 时域采样定理的要点是:(1)对模拟信号xa(t)以T进行时域等间隔理想采样,形成的采样信号的频谱
14、会以采样角频率s(s=2/T)为周期进行周期延拓。公式为)j(X)(FT)j(aatxX )jj(1sannXT上 机 实 验第 8 章(2)采样频率s必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。利用计算机计算并不方便,下面我们导出另外一个公式,以便在计算机上进行实验。理想采样信号和模拟信号xa(t)之间的关系为)j(X)(atxnnTttxtx)()()(aa上 机 实 验第 8 章对上式进行傅里叶变换,得到tnTttxXtnde )()()j(jaatnTttxtnde)()(ja 在上式的积分号内只有当t=nT时,才有非零值,因此nnTnTxX jaae)
15、()j(上 机 实 验第 8 章上式中,在数值上xa(nT)x(n),再将=T代入,得到nnnxX jae)()j(上式的右边就是序列的傅里叶变换X(ej),即TXX)e()j(ja上式说明理想采样信号的傅里叶变换可用相应的采样序列的傅里叶变换得到,只要将自变量用T代替即可。上 机 实 验第 8 章2)频域采样定理的要点频域采样定理的要点是:(1)对信号x(n)的频谱函数X(ej)在0,2上等间隔采样N点,得到j2()(e),0,1,2,1NkNXkXkN则N点IDFTXN(k)得到的序列就是原序列x(n)以N为周期进行周期延拓后的主值区序列,公式为()IDFT()()()NNNNixnXkx
16、 niNRn上 机 实 验第 8 章(2)由上式可知,频域采样点数N必须大于等于时域离散信号的长度M(即NM),才能使时域不产生混叠,这时N点IDFTXN(k)得到的序列xN(n)就是原序列x(n),即xN(n)=x(n)。如果NM,则xN(n)比原序列尾部多NM个零点;如果NM,则xN(n)=IDFTXN(k)发生了时域混叠失真,而且xN(n)的长度N也比x(n)的长度M短,因此,xN(n)与x(n)不相同。上 机 实 验第 8 章在数字信号处理的应用中,只要涉及时域采样或者频域采样,都必须服从这两个采样理论的要点。对比上面叙述的时域采样原理和频域采样原理,得到一个有用的结论,即两个采样理论
17、具有对偶性:“时域采样频谱周期延拓,频域采样时域信号周期延拓”。因此把这两部分内容放在一起进行实验。上 机 实 验第 8 章3.实验内容及步骤实验内容及步骤1)时域采样理论的验证给定模拟信号xa(t)=Aet sin(0t)u(t)式中,A=444.128,=50,0=50 rad/s,它的幅频特性曲线如图8.2.1所示。现用DFT(FFT)求该模拟信号的幅频特性,以验证时域采样理论。按照xa(t)的幅频特性曲线,选取三种采样频率,即Fs=1 kHz,300 Hz,200 Hz。观测时间选Tp=50 ms。22上 机 实 验第 8 章图8.2.1 xa(t)的幅频特性曲线上 机 实 验第 8
18、章为使用DFT,首先用下面公式产生时域离散信号,对三种采样频率,采样序列按顺序用x1(n)、x2(n)、x3(n)表示。x(n)=xa(nT)=AenTsin(0nT)u(nT)因为采样频率不同,得到的x1(n)、x2(n)、x3(n)的长度不同,长度(点数)用公式N=TpFs计算。选FFT的变换点数为M=64,序列长度不够64的尾部加零。X(k)=FFTx(n)k=0,1,2,3,M1式中,k代表的频率为上 机 实 验第 8 章kMk2要求:编写实验程序,计算x1(n)、x2(n)和x3(n)的幅度特性,并绘图显示。观察分析频谱混叠失真。2)频域采样理论的验证给定信号如下:0271)(nnn
19、x0n1314n26其它n上 机 实 验第 8 章编写程序分别对频谱函数X(ej)=FTx(n)在区间0,2上等间隔采样32点和16点,得到X32(k)和X16(k):j32232()(e),0,1,2,31kXkXkj16216()(e),0,1,2,15kXkXk再分别对X32(k)和X16(k)进行32点和16点IFFT,得到x32(n)和x16(n):上 机 实 验第 8 章x32(n)=IFFTX32(k)32 n=0,1,2,31x16(n)=IFFTX16(k)16 n=0,1,2,15分别画出X(ej)、X32(k)和X16(k)的幅度谱,并绘图显示x(n)、x32(n)和x1
20、6(n)的波形,进行对比和分析,验证和总结频域采样理论。提示:频域采样用以下方法容易编程序实现。(1)直接调用MATLAB函数fft计算X32(k)=FFTx(n)32,就得到X(ej)在0,2的32点频率域采样。上 机 实 验第 8 章(2)抽取X32(k)的偶数点即可得到X(ej)在0,2的16点频率域采样X16(k),即X16(k)=X32(2k)k=0,1,2,15。(3)也可以按照频域采样理论,先将信号x(n)以16为周期进行周期延拓,取其主值区(16点),再对其进行16点DFT(FFT),得到的就是X(ej)在0,2的16点频率域采样X16(k)。上 机 实 验第 8 章4 思考题
21、思考题 如果序列x(n)的长度为M,希望得到其频谱X(ej)在0,2上的N点等间隔采样,当NM时,如何用一次最少点数的DFT得到该频谱采样?5.实验报告及要求实验报告及要求(1)运行程序,打印要求显示的图形。(2)分析比较实验结果,简述由实验得到的主要结论。(3)简要回答思考题。(4)附上程序清单和有关曲线。上 机 实 验第 8 章8.2.2 实验程序清单实验程序清单1.时域采样理论的验证程序清单时域采样理论的验证程序清单%时域采样理论验证程序exp2a.mTp=64/1000;%观察时间Tp=64微秒%产生M长采样序列x(n)%Fs=1000;T=1/Fs;Fs=1000;T=1/Fs;M=
22、Tp*Fs;n=0:M1;A=444.128;alph=pi*50*20.5;omega=pi*50*20.5;xnt=A*exp(alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M);%M点FFTxnt)上 机 实 验第 8 章yn=xa(nT);subplot(3,2,1);tstem(xnt,yn);%调用自编绘图函数tstem绘制序列图box on;title(a)Fs=1000Hz);k=0:M1;fk=k/Tp;subplot(3,2,2);plot(fk,abs(Xk);title(a)T*FTxa(nT),Fs=1000Hz);xlabel(f(H
23、z);ylabel(幅度);axis(0,Fs,0,1.2*max(abs(Xk)%=%Fs=300Hz和 Fs=200Hz的程序与上面Fs=1000Hz的程序完全相同。上 机 实 验第 8 章2.频域采样理论的验证程序清单频域采样理论的验证程序清单%频域采样理论验证程序exp2b.mM=27;N=32;n=0:M;%产生M长三角波序列x(n)xa=0:floor(M/2);xb=ceil(M/2)-1:-1:0;xn=xa,xb;Xk=fft(xn,1024);%1024点FFTx(n),用于近似序列x(n)的TFX32k=fft(xn,32);%32点FFTx(n)x32n=ifft(X3
24、2k);%32点IFFTX32(k)得到x32(n)X16k=X32k(1:2:N);%隔点抽取X32k得到X16(K)上 机 实 验第 8 章x16n=ifft(X16k,N/2);%16点IFFTX16(k)得到x16(n)subplot(3,2,2);stem(n,xn,.);box ontitle(b)三角波序列x(n);xlabel(n);ylabel(x(n);axis(0,32,0,20)k=0:1023;wk=2*k/1024;%subplot(3,2,1);plot(wk,abs(Xk);title(a)FTx(n);xlabel(omega/pi);ylabel(|X(ej
25、omega)|);axis(0,1,0,200)k=0:N/21;subplot(3,2,3);stem(k,abs(X16k),.);box ontitle(c)16点频域采样);xlabel(k);ylabel(|X_1_6(k)|);axis(0,8,0,200)上 机 实 验第 8 章n1=0:N/21;subplot(3,2,4);stem(n1,x16n,.);box ontitle(d)16点IDFTX_1_6(k);xlabel(n);ylabel(x_1_6(n);axis(0,32,0,20)k=0:N1;subplot(3,2,5);stem(k,abs(X32k),.)
26、;box ontitle(e)32点频域采样);xlabel(k);ylabel(|X_3_2(k)|);axis(0,16,0,200)n1=0:N1;subplot(3,2,6);stem(n1,x32n,.);box ontitle(f)32点IDFTX_3_2(k);xlabel(n);ylabel(x_3_2(n);axis(0,32,0,20)上 机 实 验第 8 章8.2.3 实验程序运行结果实验程序运行结果(1)时域采样理论的验证程序exp2a.m的运行结果如图8.2.2所示。由图可见,当采样频率为1000 Hz时,频谱混叠很小;当采样频率为300 Hz时,频谱混叠很严重;当采
27、样频率为200 Hz时,频谱混叠更很严重。上 机 实 验第 8 章图8.2.2上 机 实 验第 8 章(2)频域采样理论的验证程序exp2b.m的运行结果如图8.2.3所示。该图验证了频域采样理论和频域采样定理。对信号x(n)的频谱函数X(ej)在0,2上等间隔采样N=16时,N点IDFTXN(k)得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列:()IDFT()()()NNNNixnXkx niNRn由于Nf0。由上式可见,所谓抑制载波单频调幅信号,就是两个正弦信号相乘,它有两个频率成分:和频fc+f0和差频fcf0,这两个频率成分关于载波频率fc对称。所以,1路抑制载波单
28、频调幅信号的频谱图是关于载波频率fc对称的2根谱线。容易看出,图8.4.1中三路调幅信号的载波频率分别为250 Hz、500 Hz、1000 Hz。上 机 实 验第 8 章(3)编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。(4)调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号s(t)进行滤波,分离出s(t)中的三路不同载波频率的调幅信号y1(n)、y2(n)和y3(n),并绘图显示y1(n)、y2(n)和y3(n)的时域波形,观察分离效果。上 机 实 验第 8 章4 信号产生函数信号产生
29、函数mstg清单清单function st=mstg%产生信号序列向量st,并显示st的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600%N为信号st的长度Fs=10000;T=1/Fs;Tp=N*T;%采样频率Fs=10 kHz,Tp为采样时间t=0:T:(N1)*T;k=0:N1;f=k/Tp;fc1=Fs/10;%第1路调幅信号的载波频率fc1=1000 Hzfm1=fc1/10;%第1路调幅信号的调制信号频率fm1=100 Hz上 机 实 验第 8 章fc2=Fs/20;%第2路调幅信号的载波频率fc2=500 Hzfm2=fc2/10;
30、%第2路调幅信号的调制信号频率fm2=50 Hzfc3=Fs/40;%第3路调幅信号的载波频率fc3=250 Hzfm3=fc3/10;%第3路调幅信号的调制信号频率fm3=25 Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);%产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);%产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);%产生第3路调幅信号上 机 实 验第 8 章st=xt1+xt2+xt3;%三路调幅信号相加fxt=fft(st,N);%计算信号st的频谱%以下为绘图部
31、分,绘制st的时域波形和幅频特性曲线subplot(3,1,1)plot(t,st);grid;xlabel(t/s);ylabel(s(t);axis(0,Tp/8,min(st),max(st);title(a)s(t)的波形)subplot(3,1,2)上 机 实 验第 8 章stem(f,abs(fxt)/max(abs(fxt),.);grid;title(b)s(t)的频谱)axis(0,Fs/5,0,1.2);xlabel(f/Hz);ylabel(幅度)5 实验程序框图实验程序框图实验程序框图如图8.4.2所示,供读者参考。上 机 实 验第 8 章图8.4.2 上 机 实 验第
32、 8 章6 思考题思考题(1)请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。(2)信号产生函数mstg中采样点数N=800,对st进行N点FFT可以得到6根理想谱线。如果取N=1000,可否得到6根理想谱线?为什么?N=2000呢?请改变函数mstg中采样点数N的值,观察频谱图,验证您的判断是否正确。(3)修改信号产生函数mstg,给每路调幅信号加入载波成分,产生调幅(AM)信号,重复本实验,观察AM信号与抑制载波调幅信号的时域波形及其频谱的差别。提示:AM信号表示式:s(t)=1+cos(2f0t)cos(2fct)上 机 实 验第 8 章7 实验报告要求实验报告要求
33、(1)简述实验目的及原理。(2)画出实验主程序框图,打印程序清单。(3)绘制三个分离滤波器的损耗函数曲线。(4)绘制经过滤波分离出的三路调幅信号的时域波形。(5)简要回答思考题。上 机 实 验第 8 章8.4.2 滤波器参数及实验程序清单滤波器参数及实验程序清单1.滤波器参数选取滤波器参数选取观察图8.4.1可知,三路调幅信号的载波频率分别为250 Hz、500 Hz、1000 Hz。带宽(也可以由信号产生函数mstg清单看出)分别为50 Hz、100 Hz、200 Hz。所以,分离混合信号st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的指标参数选取如下:对载
34、波频率为250 Hz的调幅信号,可以用低通滤波器分离,其指标为通带截止频率fp=280 Hz,通带最大衰减ap=0.1 dB;阻带截止频率fs=450 Hz,阻带最小衰减as=60 dB。上 机 实 验第 8 章对载波频率为500 Hz的调幅信号,可以用带通滤波器分离,其指标为通带截止频率fpl=440 Hz,fpu=560 Hz,通带最大衰减ap=0.1 dB;阻带截止频率fsl=275 Hz,fsu=900 Hz,阻带最小衰减as=60 dB。对载波频为1000 Hz的调幅信号,可以用高通滤波器分离,其指标为通带截止频率fp=890 Hz,通带最大衰减ap=0.1 dB;阻带截止频率fs=
35、550 Hz,阻带最小衰减as=60 dB。上 机 实 验第 8 章说明:(1)为了使滤波器阶数尽可能低,每个滤波器边界频率的选择原则是尽量使滤波器过渡带宽一些。(2)与信号产生函数mstg相同,采样频率Fs=10 kHz。(3)为了滤波器阶数最低,选用椭圆滤波器。按照图8.4.2 所示的程序框图编写的实验程序为exp4.m。上 机 实 验第 8 章2.实验程序清单实验程序清单%实验四程序exp4.m%IIR数字滤波器设计及软件实现clear all;close allFs=10000;T=1/Fs;%采样频率%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st st=m
36、stg;%低通滤波器设计与实现=fp=280;fs=450;上 机 实 验第 8 章wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;%DF指标(低通滤波器的通、阻带边界频率)N,wp=ellipord(wp,ws,rp,rs);%调用ellipord计算椭圆DF阶数N和通带截止频率wpB,A=ellip(N,rp,rs,wp);%调用ellip计算椭圆带通DF系统函数系数向量B和Ay1t=filter(B,A,st);%滤波器软件实现%低通滤波器设计与实现绘图部分figure(2);subplot(3,1,1);myplot(B,A);%调用绘图函数myplot绘制损耗函
37、数曲线上 机 实 验第 8 章yt=y_1(t);subplot(3,1,2);tplot(y1t,T,yt);%调用绘图函数tplot绘制滤波器输出波形%带通滤波器设计与实现=fpl=440;fpu=560;fsl=275;fsu=900;wp=2*fpl/Fs,2*fpu/Fs;ws=2*fsl/Fs,2*fsu/Fs;rp=0.1;rs=60;N,wp=ellipord(wp,ws,rp,rs);%调用ellipord计算椭圆DF阶数N和通带截止频率wpB,A=ellip(N,rp,rs,wp);%调用ellip计算椭圆带通DF系统函数系数向量B和Ay2t=filter(B,A,st);
38、%滤波器软件实现上 机 实 验第 8 章%带通滤波器设计与实现绘图部分(省略)%高通滤波器设计与实现=fp=890;fs=600;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;%DF指标(低通滤波器的通、阻带边界频率)N,wp=ellipord(wp,ws,rp,rs);%调用ellipord计算椭圆DF阶数N和通带%截止频率wpB,A=ellip(N,rp,rs,wp,high);%调用ellip计算椭圆带通DF系统函数系数向量B和Ay3t=filter(B,A,st);%滤波器软件实现%高低通滤波器设计与实现绘图部分(省略)上 机 实 验第 8 章8.4.3 实验程
39、序运行结果实验程序运行结果实验四程序exp4.m运行结果如图8.4.3所示。由图可见,三个分离滤波器指标参数选取正确,损耗函数曲线达到所给指标。分离出的三路信号y1(n)、y2(n)、y3(n)的波形是抑制载波的单频调幅波。上 机 实 验第 8 章上 机 实 验第 8 章图8.4.3 实验四程序exp4.m运行结果上 机 实 验第 8 章8.4.4 简答思考题简答思考题思考题(1):已经在8.4.2节解答。思考题(3)很简单,请读者按照该题的提示修改程序,运行观察。思考题(2):因为信号s(t)是周期序列,谱分析时要求观察时间为整数倍周期。所以,本题的一般解答方法是,先确定信号s(t)的周期,
40、再判断所给采样点数N对应的观察时间Tp=NT是否为s(t)的整数个周期。但信号产生函数mstg产生的信号s(t)共有6个频率成分,求其周期比较麻烦,故采用下面的方法解答。上 机 实 验第 8 章分析发现,s(t)的每个频率成分都是25 Hz的整数倍。采样频率Fs=10 kHz=25400 Hz,即在25 Hz的正弦波的1个周期中采样400点。所以,当N为400的整数倍时一定为s(t)的整数个周期。因此,采样点数N=800和N=2000时,对s(t)进行N点FFT可以得到6根理想谱线。如果取N=1000,不是400的整数倍,则不能得到6根理想谱线。上 机 实 验第 8 章 8.5 实验五:实验五
41、:FIR数字滤波器设计数字滤波器设计 与软件实现与软件实现8.5.1 实验指导实验指导1 实验目的实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。(3)掌握FIR滤波器的快速卷积实现原理。(4)学会调用MATLAB函数设计与实现FIR滤波器。上 机 实 验第 8 章2 实验内容及步骤实验内容及步骤(1)认真复习教材第7章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号x(t),并自动显示x(t)及其频谱,如图8.5.1所示;上 机 实 验第 8 章图8.5.1
42、 上 机 实 验第 8 章(3)请设计低通滤波器,从高频噪声中提取x(t)中的单频调幅信号,要求信号幅频失真小于0.1 dB,将噪声频谱衰减60 dB。先观察x(t)的频谱,确定滤波器指标参数。(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器,并编写程序,调用MATLAB快速卷积函数fftfilt实现对x(t)的滤波。绘图显示滤波器的频率响应特性曲线、滤波器输出信号的幅频特性图和时域波形图。(5)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。并比较两种设计方
43、法设计的滤波器阶数。上 机 实 验第 8 章提示:MATLAB函数fir1和fftfilt的功能及其调用格式请用help命令查阅;采样频率Fs=1000 Hz,采样周期T=1/Fs;根据图8.5.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120 Hz,阻带截止频率fs=150 Hz,换算成数字频率,通带截止频率p=2fpT=0.24 rad,通带最大衰减为0.1 dB,阻带截止频率s=2fsT=0.3 rad,阻带最小衰减为60 dB。实验程序框图如图8.5.2所示,供读者参考。上 机 实 验第 8 章图8.5.2 上 机 实 验第 8 章3.思考题思考题(1)如果给定通带截
44、止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤。(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl和pu,阻带上、下截止频率为sl和su,试求理想带通滤波器的截止频率cl和cu。(3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低?上 机 实 验第 8 章4.实验报告要求实验报告要求(1)对两种设计FIR滤波器的方法(窗函数法和等波纹最佳逼近法)进行分析比较,简述其优缺点。(2)附程序清单,打印实验内容要求和绘图显示的曲线图。(3)分析总结实验结果。(4)简要回答思考题。上 机 实 验第 8 章5 信号产生函数信
45、号产生函数xtg程序清单程序清单function xt=xtg(N)%实验五信号x(t)产生函数,并显示信号的幅频特性曲线%xt=xtg 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000 Hz%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10 HzN=2000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10;%载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10上 机 实 验第 8 章mt=cos(2*pi*f0*t);%产生单频正弦波调制信号mt,频率为f0ct=cos(2
46、*pi*fc*t);%产生载波正弦波信号ct,频率为fcxt=mt.*ct;%相乘产生单频调制信号xtnt=2*rand(1,N)1;%产生随机噪声nt%=设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声=fp=150;fs=200;Rp=0.1;As=70;%滤波器指标fb=fp,fs;m=0,1;%计算remezord函数所需参数f,m,dev上 机 实 验第 8 章dev=10(As/20),(10(Rp/20)1)/(10(Rp/20)+1);n,fo,mo,W=remezord(fb,m,dev,Fs);%确定remez函数所需参数hn=remez(n,fo,mo,W)
47、;%调用remez函数进行设计,用于滤除噪声nt中的低频成yt=filter(hn,1,10*nt);%滤除随机噪声中低频成分,生成高通噪声yt%=xt=xt+yt;%噪声加信号上 机 实 验第 8 章fst=fft(xt,N);k=0:N1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel(t/s);ylabel(x(t);axis(0,Tp/5,min(xt),max(xt);title(a)信号加噪声波形)subplot(3,1,2);plot(f,abs(fst)/max(abs(fst);grid;title(b)信号加噪声的频谱)axis(0
48、,Fs/2,0,1.2);xlabel(f/Hz);ylabel(幅度)上 机 实 验第 8 章8.5.2 滤波器参数及实验程序清单滤波器参数及实验程序清单1.滤波器参数选取滤波器参数选取根据8.5.1节实验指导的提示选择滤波器指标参数:通带截止频率fp=120 Hz,阻带截止频率fs=150 Hz。代入采样频率Fs=1000 Hz,换算成数字频率,通带截止频率p=2fpT=0.24 rad,通带最大衰减为0.1 dB,阻带截止频s=2fsT=0.3 rad,阻带最小衰减为60 dB。所以选取blackman窗函数。与信号产生函数xtg相同,采样频率Fs=1000 Hz。按照图8.5.2 所示
49、的程序框图编写的实验程序为exp5.m。上 机 实 验第 8 章2.实验程序清单实验程序清单%实验五程序exp5.m%FIR数字滤波器设计及软件实现clear all;close all;%=调用xtg产生信号xt,xt长度N=1000,并显示xt及其频谱,=N=1000;xt=xtg(N);fp=120;fs=150;Rp=0.2;As=60;Fs=1000;%输入给定指标%(1)用窗函数法设计滤波器上 机 实 验第 8 章wc=(fp+fs)/Fs;%理想低通滤波器截止频率(关于pi归一化)B=2*pi*(fs-fp)/Fs;%过渡带宽度指标Nb=ceil(11*pi/B);%blackm
50、an窗的长度Nhn=fir1(Nb1,wc,blackman(Nb);Hw=abs(fft(hn,1024);%求设计的滤波器频率特性ywt=fftfilt(hn,xt,N);%调用函数fftfilt对xt滤波%以下为用窗函数法设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形)(省略)%(2)用等波纹最佳逼近法设计滤波器上 机 实 验第 8 章fb=fp,fs;m=1,0;%确定remezord函数所需参数f,m,devdev=(10(Rp/20)1)/(10(Rp/20)+1),10(As/20);Ne,fo,mo,W=remezord(fb,m,dev,Fs);%确定remez函数所需