当前位置:文档之家› 数字信号处理课程设计 1

数字信号处理课程设计 1

(一)用窗函数法设计FIR数字滤波器一、设计题目用窗函数法设计FIR数字低通滤波器二、设计目的1. 熟悉设计线性相位数字滤波器的一般步骤。

2. 掌握用窗函数法设计FIR数字滤波器的原理和方法。

3. 熟悉各种窗函数的作用以及各种窗函数对滤波特性的影响。

4. 学会根据指标要求选取合适的窗函数。

三、设计原理窗函数法又称为傅里叶级数法,FIR数字滤波器的设计问题就是要所设计的FIR数字滤波器的响应H(ejw)去逼近所要求的理想滤波器的响应Hd(ejw)。

从单位取样响应序列来看,就是使所设计的滤波器的h(n)逼近理想单位取样响应序列hd(n)。

而且Hd(ejw)=逐段恒定的,且在频带边界处有不连续点,因此序列hd(n)是无限长的,通过直接截取无限长序列以得到有限长序列的办法,可以形象的比喻为h(n)通过一个窗口所看到的一段hd(n)。

因此,h(n)也可以表达为hd(n)和一个窗函数w(n)的乘积,h(n)=w(n)hd(n)。

这里的窗函数就是矩形序列RN(n)。

四、实现方法用MATLAB编程实现给定指标要求的滤波器设计五、设计内容及要求1、各窗函数图(假设N=67;)N=67;n=0:N-1;wn1=ones(1,N); stem(n, wn1);矩形窗figure;wn2=hamming(N); stem(n, wn2);海明窗figure;wn3=BARTLETT(N); stem(n, wn3);巴特列特figure;wn4= Hanning(N); stem(n, wn4);汉宁窗将窗函数分别画出来2、计算理想低通滤波器单位冲激响应的源程序function[hd]=ideal(wc,N) q=(N-1)/2;n=0:N-1;m=n-q+eps;hd=sin(wc*m)./(pi*m);3、计算频率响应的源程序function[H]=fr(b,a,w);m=0:length(b)-1;l=0:length(a)-1;num=b*exp(-j*m'*w);den=a*exp(-j*l'*w);H=num./den;4、低通滤波器设计程序wp=0.2*pi;ws=0.3*pi;width=ws-wp;N=ceil(6.6*pi/width)+1;n=0:N-1;a=[1];wc=(ws+wp)/2;hd=ideal(wc,N);wn=(hamming(N))';h=hd.*wn;k=0:500;w=(pi/500)*k;[H]=fr(h,a,w);mag=abs(H);db=-20*log10((mag+eps)/max(mag)); wth=pi/500;rp=max(db(1:1:wp/wth+1))as=round(min(db(ws/wth+1:1:500))) subplot(2,2,1);stem(n,hd);title('理想冲激响应');axis([0 N-1 -0.1 0.3]);ylabel('hd');subplot(2,2,2);stem(n,wn);title('海明窗');axis([0 N-1 0 1.1]); ylabel('wn');subplot(2,2,3);stem(n,h);title('实际冲激响应'); axis([0 N-1 -0.2 0.3]); xlabel('n');ylabel('h');subplot(2,2,4);plot(w/pi,-db);title('幅度响应(dB)'); axis([0 1 -100 10]); grid;xlabel('以pi为单位的频率') ylabel('分贝数');六、各种窗函数:矩形窗海宁窗:汉宁窗:三角形窗:1.理想冲激响应、海明窗、实际冲激响应及幅度响应波形图七、回答思考题1.设计线性相位数字滤波器的一般步骤。

答:1)确定数字滤波器的性能要求。

确定各临界频率{wk}和滤波器单位脉冲相应N。

2)根据性能要求和N值,合理的选择单位脉冲相应h(n)有奇偶对称性,从而确定理想频率响应hd(ejw)的幅频特性和相位特性。

3)用傅里叶反变换公式,求的理想单位脉冲相应Hd(n)。

4)选择适当的窗函数W(n)根据公式h(n)=hd(n)w(n)求的所涉及的FIR滤波器单位脉冲相应。

5)用傅里叶变换求得其频率响应H(ejw),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述过程,知道得到满意结果。

2.窗函数有哪些指标要求?对给定指标要求的低通滤波器,理论计算所需窗函数的长度N。

答:对窗函数的要求:1)窗谱的主瓣宽度应尽可能窄,使设计出的滤波器有较陡的过渡带。

2)窗谱的最大副瓣相对于主瓣尽可能小,使设计的滤波器幅频特性中肩峰和余震较小,阻带衰减较大。

3.用窗函数法设计FIR滤波器,滤波器的过渡带宽度和阻带衰减与哪些因素有关?答:最小阻带衰减只由窗形状决定,不受N影响;而过渡带的宽度则既和窗形状有关,又随窗宽N的增加而减小。

4.比较所选窗长N相同但窗形状不同对滤波器设计结果的影响以及选同一种窗函数但窗长N不同时对滤波器设计结果的影响,将结论写在报告中。

答:随着窗形状的变化,旁瓣衰减加大,但主瓣宽度也相应的加宽了。

窗才取不同的值,最小阻带衰减不变,而过渡带的宽度N随宽带的增加而减少。

(二) DFT在信号频谱分析中的应用一、设计目的1. 熟悉DFT的性质。

2. 加深理解信号频谱的概念及性质。

3. 了解高密度谱与高分辨率频谱的区别。

二、设计任务与要求1.学习用DFT 和补零DFT 的方法来计算信号的频谱。

2.用MATLAB 语言编程来实现,在做课程设计前,必须充分预习课本DTFT 、DFT 及补零DFT 的有关概念,熟悉MATLAB 语言,独立编写程序。

三、设计内容1. 用MATLAB 语言编写计算序列x(n)的N 点DFT 的m 函数文件dft.m 。

并与MATLAB 中的内部函数文件fft.m 作比较。

参考程序如下: function Xk=dft(xn,N)if length(xn)<Nxn=[xn,zeros(1,N-length(xn))];end n=0:N-1; for k=0:N-1Xk(1,k+1)=sum(xn.*exp((-1)*j*n*k*(2*pi/N)));end2. 对离散确定信号 ()cos(0.48)cos(0.52)x n n n ππ=+作如下谱分析: (1) 截取()x n 使()x n 成为有限长序列N(0≤≤nN -1),(长度N 自己选)写程序计算出()X k,画出时域序列图xn~n和x n的N点DFT ()相应的幅频图()~X k k。

参考程序如下:(假设N取10,即0≤n≤9 时, 编写程序,计算出X(n)的10点DFT Xk)n = 0:9;xn=cos(0.48*pi*n)+cos(0.52*pi*n);Xk = fft (xn, 10);subplot(2,1,1); stem(n, xn); grid;subplot(2,1,2); stem(n, abs(Xk)); grid;(2)将 (1)中()x n补零加长至M点,长度M自己选,(为了比较补零长短的影响,M可以取两次值,一次取较小的整数,一次取较大的整数),编写程序计算()x n的M点DFT, 画出时域序列图和两次补零后相应的DFT幅频图。

参考程序如下:(假设M取15和M取60,即分别补5个0和50个0,得补零后15点的序列xn1和60点的序列xn2,编写程序,计算出xn1的15点DFT Xk1和 xn2的60点DFT Xk2)n = 0:9; xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1 = 0:14; xn1 = [xn, zeros(1,5)];n2= 0:59; xn2 = [xn, zeros(1,50)];Xk1 = fft(xn1, 15);Xk2 = fft(xn2, 60);subplot(3,1,1); stem(n, xn); grid;subplot(3,1,2); stem(n1, abs(Xk1)); grid;subplot(3,1,3); stem(n2, abs(Xk2)); grid;(3) 用补零DFT 计算 (1)中N 点有限长序列()x n 频谱()j X e ω并画出相应的幅频图()~j X e ωω。

参考程序如下:(假设M 取100)n = 0:9; xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1 = 0:99; xn3 = [xn, zeros(1,90)];Xk3 = fft(xn3, 100);plot(n1, abs(Xk3)); grid;3. 研究高密度谱与高分辨率频谱。

对连续确定信号333()cos(2 6.510)cos(2710)cos(2910)a x t t t t πππ=⨯⨯+⨯⨯+⨯⨯以采样频率fs=32kHz 对信号()a x t 采样得离散信号()x n ,分析下列三种情况的幅频特性。

(1)采集数据()x n 长度取N=16点,编写程序计算出()x n 的16点DFT ()X k ,并画出相应的幅频图()~X k k 。

(2) 采集数据()x n 长度N=16点,补零加长至M 点(长度M 自己选),利用补零DFT 计算 ()x n 的频谱1()j Xe ω并画出相应的幅频图1()~jX eωω。

(3) 采集数据()x n长度取为M点(注意不是补零至M),编写程序计算出M点采集数据()x n的的频谱2()jX eω并画出相应的幅频图2()~jX eωω。

参考程序如下:T=1/(32*10^3);t=(0:15);xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*1 0^3*t*T);Xk=fft(xn,16);subplot(2,1,1);stem(t,xn);grid;subplot(2,1,2);stem(t,abs(Xk));grid;T=1/(32*10^3);t=(0:15);xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*1 0^3*t*T);n1=0:30; xn1=[xn,zeros(1,15)];Xk1=fft(xn1,31);subplot(2,1,1);stem(n1,xn1);grid;subplot(2,1,2);plot(n1,abs(Xk1));grid;T=1/(32*10^3);t=[0:30];xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*1 0^3*t*T);Xk2=fft(xn,31);subplot(2,1,1);stem(t,xn);grid;subplot(2,1,2);plot(t,abs(Xk2));grid;四、各DFT的图形X(n)的10点DFT Xk:xn1的15点DFT Xk1和 xn2的60点DFT Xk2补零后100点的dftx n三种情况的幅频特性:五、回答问题1. 简要回答如下思考题:(1) 对比设计内容2中(1)(2) (3)的图,说明补零DFT 的作用。

相关主题