1、数字信号的处理课后上机的题目实验报告第一章:时域离散信号和时域离散系统*16.已知两个系统的差分方程分别为 (1) y(n)=0.6y(n-1)-0.08y(n-2)+x(n) (2) y(n)=0.7y(n-1)-0.1y(n-2)+2x(n)-x(n-2)分别求出所描述的系统的单位脉冲响应和单位阶跃响应.解:(可附程序)(1) 系统差分方程的系数向量为B1=1,A1=1,-0.6,0.08(2) 系统差分方程的系数向量为B2=2,0,-1,A2=1,-0.7,0.1调用MATLAB函数filter计算两个系统的单位脉冲响应和单位阶跃响应的程序%B1=1;A1=1,-0.6,0.08;%设差
2、分方程(1)系数向量B2=2,0,-1;A2=1,-0.7,0.1;%设差分方程(2)系数向量%系统1xn=1,zeros(1,30);ys=0;%xn=单位脉冲序列,长度N=31xi=filtic(B1,A1,ys);%由初始条件计算等效初始条件输入序列xihn1=filter(B1,A1,xn,xi);%调用filter解差分方程,求系统输出信号hn1n=0:length(hn1)-1;subplot(2,2,1);stem(n,hn1,.)title(a)系统1的系统单位脉冲响应);xlabel(n);ylabel(h(n)xn=ones(1,30);%xn=单位阶跃序列,长度N=31s
3、n1=filter(B1,A1,xn,xi);%调用filter解差分方程,求系统输出信号sn1n=0:length(sn1)-1;subplot(2,2,2);stem(n,sn1,.)title(b)系统1的单位阶跃响应);xlabel(n);ylabel(s(n)%系统2xn=1,zeros(1,30);%xn=单位脉冲序列,长度N=31xi=filtic(B2,A2,ys);%由初始条件计算等效初始条件输入序列xihn2=filter(B2,A2,xn,xi);%调用filter解差分方程,求系统输出信号hn2n=0:length(hn2)-1;subplot(2,2,3);stem(
4、n,hn2,.)title(a)系统2的系统单位脉冲响应);xlabel(n);ylabel(h(n)xn=ones(1,30);%xn=单位阶跃序列,长度N=31sn2=filter(B2,A2,xn,xi);%调用filter解差分方程,求系统输出信号sn2n=0:length(sn2)-1;subplot(2,2,4);stem(n,sn2,.)title(b)系统2的单位阶跃响应);xlabel(n);ylabel(s(n)(结果展示):第二章:时域离散信号和系统的频域分析*30.假设系统函数如下式: 试用MATLAB语言判断系统是否稳定.解:(可附程序): %调用roots函数求极点
5、,并判断系统的稳定性A=3,-3.98,1.17,2.3418,-1.5147;%H(z)的分母多项式系数p=roots(A) %求H(z)的极点pm=abs(p); %求H(z)的极点的模if max(pm)1 disp(系统因果稳定)else disp(系统因果不稳定)end(结果展示):p = -0.7486 0.6996 + 0.7129i 0.6996 - 0.7129i 0.6760 系统因果稳定第三章:离散傅里叶变换(DFT)*24.给定两个序列:=2,1,1,2,=1,-1,-1,1.(1)直接在时域计算与的卷积;(2)用DFT计算与的卷积,总结出DFT的时域卷积定理.解:(可
6、附程序) x1n=2 1 1 2;x2n=1 -1 -1 1;%时域直接计算卷积yn:yn=conv(x1n,x2n)%用DFT计算卷积ycn:M1=length(x1n);M2=length(x2n);N=M1+M2-1;X1k=fft(x1n,N); %计算x1n的N点DFTX2k=fft(x2n,N); %计算x2n的N点DFTYck=X1k.*X2k;ycn=ifft(Yck,N)(结果展示):yn = 2 -1 -2 2 -2 -1 2ycn = 2.0000 -1.0000 -2.0000 2.0000 -2.0000 -1.0000 2.0000第四章:快速傅里叶变换(FFT)*
7、6.按照下面的IDFT算法编写MATLAB语言IFFT程序,其中的FFT部分不用写出清单,可调用fft函数.并分别对单位脉冲序列,矩形序列,三角序列和正弦序列进行FFT和IFFT,验证所编程序. 解:(可附程序) %调用fft函数计算IDFTx1n=1; %输入单位脉冲序列x1nx2n=1 1 1 1 1 1 1 1; %输入矩形序列向量x2nx3n=1 2 3 4 4 3 2 1; %输入三角序列序列向量x3nN=8;X1k=fft(x1n,N); %计算x1n的N点的DFTX2k=fft(x2n,N) %计算x2n的N点的DFTX3k=fft(x3n,N) %计算x3n的N点的DFTx1n
8、=ifft46(X1k,N) %调用ifft46函数计算X1k的IDFTx2n=ifft46(X2k,N) %调用ifft46函数计算X2k的IDFTx3n=ifft46(X3k,N) %调用ifft46函数计算X3k的IDFT %按照所给算法公式计算IFFTfunction xn=ifft46(Xk,N)Xk=conj(Xk); %对Xk取复共轭xn=conj(fft(Xk,N)/N; %按照所给算法公式计算(结果展示):X1k = 1 1 1 1 1 1 1 1X2k = 8 0 0 0 0 0 0 0X3k = Columns 1 through 4 20.0000 -5.8284 -
9、2.4142i 0 -0.1716 - 0.4142i Columns 5 through 8 0 -0.1716 + 0.4142i 0 -5.8284 + 2.4142ix1n = 1 0 0 0 0 0 0 0x2n = 1 1 1 1 1 1 1 1x3n = 1 2 3 4 4 3 2 1第五章:时域离散系统的网络结构*19.假设滤波器的系统函数为 在单位圆上采样六点,选择r=0.95,试画出它的频率采样结构,并在计算机上用DFT求出频率采样结构中的有关系数.解:(可附程序) hn=5,5,5,3,3,3;r=0.95;Hk=fft(hn,6);for k=1:3 hk(k)=Hk(
10、k);Wk(k)=exp(-j*2*pi*(k-1)/6);endH0=Hk(1)H3=Hk(4)r0k=2*real(hk)r1k=-2*real(r*hk.*Wk)(结果展示):H0 = 24H3 = 2r0k = 48 4 0r1k = -45.6000 3.8000 0第六章:无限脉冲响应数字滤波器的设计*14.设计一个工作于采样频率80kHz的巴特沃斯低通数字滤波器,要求通带边界频率为4kHz,通带最大衰减为0.5dB,阻带边界频率为20kHz,阻带最小衰减为45dB.调用MATLAB工具箱函数buttord和butter设计,并显示数字滤波器系统函数H(z)的系数,绘制损耗函数和相
11、频特性曲线.解:(可附程序) Fs=80000;T=1/Fs;wp=2*pi*4000/Fs;ws=2*pi*20000/Fs;rp=0.5;rs=45;N,wc=buttord(wp/pi,ws/pi,rp,rs)B,A=butter(N,wc)clf;mpplot(B,A,rs); function mpplot(B,A,rs)if nargin3 ymin=-80;else ymin=-rs-20;end;H,W=freqz(B,A,1000);m=abs(H);p=angle(H);subplot(2,1,1);plot(W/pi,20*log10(m/max(m);grid on;xlabel(omega/pi);ylabel(幅度(dB)axis(0,1,ymin,5);title(低通滤波器幅频特性曲线)subplot(2,1,2);plot(W/pi,p/pi);xlabel(omega/pi);ylabel(y_w(t)/pi);grid on;title(滤除噪声后的信号波形)(结果展示):N = 4wc = 0.1702B = 0.0028 0.0111 0.0166 0.0111 0.0028A = 1.0000 -2.6103 2.7188 -1.3066 0.2425
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1