电工电子课程设计报告最新_第1页
电工电子课程设计报告最新_第2页
电工电子课程设计报告最新_第3页
电工电子课程设计报告最新_第4页
电工电子课程设计报告最新_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子系统课程设计报告FIR数字滤波器设计专 业: 07级电子信息工程 班 级: 电信一班 学 号: XXXXXXX 姓 名: XXX 指导老师: XXXXXXXXX 同组成员: XXX 时间:2010年7月1日一 、设计目的1、熟悉FIR滤波器设计的基本方法。2、掌握用窗函数设计FIR滤波器的基本原理和方法,熟悉MATLAB语言。3、熟悉线性相位FIR滤波器的幅频特性和相位特性。4、了解各种不同窗函数对滤波器性能的影响。5、熟悉MCS51系列单片机基本原理。6、掌握MCS51系列单片机基本指令和编程。7、利用MATLAB仿真的数据,用单片机实现FIR滤波器的设计。二、原理和方法(一)FIR滤波

2、器的设计滤波器是设计来进行频率选择或频率分辨任务的线性时不变系统的通用名称。离散时间LTI(线性时不变)系统称为数字滤波器。按照LTI系统的单位脉冲响应长度是否有限可以分为有限长度脉冲响应(FIR)滤波器和无限长度脉冲响应(IIR)滤波器。FIR滤波器可以利用快速傅立叶变换进行快速卷积来实现,另外,FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。目前FIR滤波器的设计方法主要有三种:窗函数法、频率采样法和切比雪夫等波纹逼近的最优化设计方法。最常用的是窗函数法和切比雪夫等波纹逼近的最优化设计法。本设计中用的窗函数法比较简单,可以应用现成的窗函数公式,在技术要求不高的时候是

3、比较方便灵活的。它从时域出发,用一个窗函数截取理想的hd(n)得到h(n),以有限长序列h(n)近似理想的hd(n);如果从频域出发,用理想的Hd(ejw)在单位圆上等角度取样得到h(k),根据h(k)得到h(z)将逼近理想的hd(z),这就是频率取样法。(二)窗函数法原理众所周知,数字滤波器的设计是基于一定的性能指标。窗函数法设计滤波器也不例外,首先要对滤波器提出性能指标。一般是给定一个理想的频率响应Hd(ejw),使所设计的FIR滤波器的频率响应H(ejw)去逼近所要求的理想的滤波器的响应Hd(ejw)。窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数: (4)去逼近H

4、d(ejw)。一般情况下,一个理想的频率响应Hd(ejw)的傅立叶反变换: (5)所得到的理想单位脉冲响应hd(n)是一个无限长序列。对hd(n)经过适当的加权、截断处理才能得到一个所需要的有限长脉冲响应序列。对应不同的加权、截断,就有不同的窗函数。而所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积,即: (6)由此可见,窗函数的性质就决定了滤波器的品质。由于窗函数有一个等于M的有限长度,所以它的响应有一个主瓣,其宽度与1/M成正比,还有高度比较小的旁瓣。主瓣在Hd(ejw)中产生一个过渡带,主瓣的宽度决定过渡带的宽度,即与1/M成正比,主瓣越宽,则过渡带越宽,旁瓣产生波动。以下是几种

5、常用的窗函数:1、矩形窗 (7) 2、汉宁(Hanning)窗 (8) 3、哈明(Hamming)窗 (9) 4、布莱克曼(Blackman)窗 (10) 5、凯泽(Kaiser)窗 (11)其中I0.是修正过的零阶贝塞尔(Bessel)函数,为依赖于M的参数,选择M可以产生各种过渡带宽和接近最优的阻带衰减。对于相同的M,凯泽窗可以提供不同的过渡带宽,这是其它窗所做不到的。窗函数法设计线性相位FIR滤波器可以按如下步骤进行:(1)确定数字滤波器的性能要求。确定各临界频率k和滤波器单位脉冲长度M。(2)根据性能要求和M值,合理地选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(ej

6、w)的幅频特性和相位特性。(3)用傅立叶反变换公式(5)求得理想单位脉冲响应hd(n)。(4)选择适当的窗函数w(n),根据式(6),求得所设计的FIR滤波器单位脉冲响应。(5)用傅立叶变换求得其频率响应H(ejw),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度M,重复上述过程,直到得到满意的结果。三、MATLAB实现的内容及步骤(一)编制实验用主程序及相应子程序1、在实验编程之前,认真复习有关FIR滤波器设计的有关知识,尤其是窗函数法的有关内容,阅读本实验原理与方法,熟悉窗函数及四种线形相位FIR滤波器的特性,掌握窗函数设计滤波器的具体步骤。2、编制窗函数设计FIR滤波器的主程

7、序及相应子程序。(1)根据Hd(ejw),利用傅立叶变换,编制产生理想单位脉冲响应hd(n)的简单子程序。(2)根据公式(7)到公式(10)编制相应的窗函数序列的子程序。1矩形窗程序: function w=jvxing(x);M=x;for n=1:M; w(n)=1;end2汉宁窗程序:function w=hn(x)M=xfor n=1:M w(n)=0.5*1-cos(2*pi*n/(M+1)end3汉明窗程序:function w=hm(x);M=xfor n=1:M w(n)=0.54-0.46*cos(2*pi*(n-1)/(M-1)end4布莱克曼床程序:function w=

8、blkm(x);M=xfor n=1:M w(n)=0.42-0.5*cos(2*pi*(n-1)/(M-1)+0.08*cos(4*pi*(n-1)/(M-1)end5凯泽窗程序:function w=kz(x);M=x;beta=4(6,8);for n=1:M; w(n)=besseli(0,(beta*sqrt(1-(2*n/(M-1)-1)2)/besseli(0,beta);end窗函数图形:(3)在上述子程序的基础上设计主程序完成线性相位FIR滤波器的窗函数法设计。(二)上机实验内容1、用Hanning窗设计一个线形相位带通滤波器,其长度M=30,技术指标要求如下:低端阻带边缘:

9、1s=0.2 ; 低端通带边缘:1p=0.35高端通带边缘:1p=0. 65 ; 高端阻带边缘:1s=0.8绘制幅频和相位特性曲线、理想脉冲响应和实际脉冲响应离散数据图。如果M=45,重复这一设计,观察幅频和相位特性的变化,注意长度M变化对结果的影响。主程序:Wp1=0.35*pi;Wp2=0.65*pi;Ws1=0.2*pi;Ws2=0.8*pi;M=30;N=M-1;M1=45;N1=M1-1;w=hn(M); %汉宁窗w1=hn(M1);Wc1=(Wp1+Ws1)/2;Wc2=(Wp2+Ws2)/2;k=0:N;k1=0:N1;hd=(Wc2/pi)*sinc(Wc2*(k-0.5*N)

10、/pi)-(Wc1/pi)*sinc(Wc1*(k-0.5*N)/pi);hd1=(Wc2/pi)*sinc(Wc2*(k1-0.5*N1)/pi)-(Wc1/pi)*sinc(Wc1*(k1-0.5*N1)/pi);h=hd.*w; h1=hd1.*w1;omega=linspace(0,pi,512);mag=freqz(h,1,omega);magdb=20*log(abs(mag);mag1=freqz(h1,1,omega);magdb1=20*log(abs(mag1);subplot(321)plot(omega/pi,magdb,-b,omega/pi,magdb1,-r);t

11、itle(幅频特性(加汉宁窗))xlabel(normalizek frequency (rad/s)*);ylabel(Gain,dB);legend(M=30,M=45);grid;phase=unwrap(angle(mag);phase1=unwrap(angle(mag1);subplot(322);plot(omega,phase,-b,omega,phase1,-r);title(相位特性);xlabel(Normalized frequency rad/s);ylabel(phase rad);legend(M=30,M=45);grid;subplot(323)stem(k,

12、h);title(实际脉冲响应离散数据图M=30);grid;subplot(324)stem(k,hd);title(理想脉冲响应离散数据图M=30);grid;subplot(325)stem(k1,h1);title(实际脉冲响应离散数据图M=45);grid;subplot(326)stem(k1,hd1);title(理想脉冲响应离散数据图M=45);grid;图形:分析:随着长度M的增加滤波器的过渡带减小,阻带特性变好,理想脉冲和实际脉冲幅度增大。2、改用矩形窗和Blackman窗,设计步骤(1)中的带通滤波器,观察并记录窗函数对滤波器幅频和相位特性的影响,比较这三种窗函数的特点。

13、程序:Wp1=0.35*pi;Wp2=0.65*pi;Ws1=0.2*pi;Ws2=0.8*pi;N=45;M=N-1;w1=jvxing(N);w2=hn(N);w3=blkm(N);Wc1=(Wp1+Ws1)/2;Wc2=(Wp2+Ws2)/2;k=0:M;hd=(Wc2/pi)*sinc(Wc2*(k-0.5*M)/pi)-(Wc1/pi)*sinc(Wc1*(k-0.5*M)/pi);h1=hd.*w1; h2=hd.*w2;h3=hd.*w3; omega=linspace(0,pi,512);mag1=freqz(h1,1,omega);magdb1=20*log(abs(mag1

14、);mag2=freqz(h2,1,omega);magdb2=20*log(abs(mag2);mag3=freqz(h3,1,omega);magdb3=20*log(abs(mag3);subplot(211)plot(omega/pi,magdb1,b-,omega/pi,magdb2,r-,omega/pi,magdb3,g-);legend(矩形窗,汉纳窗,布莱克曼窗)title(幅频特性)xlabel(normalizek frequency);ylabel(Gain,dB);grid;phase1=unwrap(angle(mag1);phase2=unwrap(angle(m

15、ag2);phase3=unwrap(angle(mag3);subplot(212)plot(omega,phase1,b-,omega,phase2,r-,omega,phase3,g-);legend(矩形窗,汉纳窗,布莱克曼窗)title(相位特性);ylabel(phase);grid;图形:分析:在长度相同(M=45)情况下,加矩形窗的滤波器过渡带要小于加布莱克曼窗,而加布莱克曼窗的阻带特性比加矩形窗好(衰减大),加汉纳窗则介于二者之间。相位特性:加矩形窗、汉纳窗、布莱克曼窗滤波器在通带相位特性良好(基本是直线)。3、用Kaiser窗设计一个专用的线性相位滤波器。M=40,理想幅频

16、特性如下:当值分别为4,6,8时,设计相应的滤波器,比较它们的幅频和相位特性,观察并分析值不同的时候对结果有什么影响。主程序:M=40;Wc1=0.2*pi;Wc2=0.4*pi;Wc3=0.6*pi;Wc4=0.8*pi;w=kz(M); %凯泽窗w1=kz1(M);w2=kz2(M);k=1:M;hd=(Wc2/pi)*sinc(Wc2*(k-0.5*M)/pi)-(Wc1/pi)*sinc(Wc1*(k-0.5*M)/pi)+(Wc4/pi)*sinc(Wc4*(k-0.5*M)/pi)-(Wc3/pi)*sinc(Wc3*(k-0.5*M)/pi);h=hd.*w;h1=hd.*w1;

17、h2=hd.*w2;omega=linspace(0,pi,512);mag=freqz(h,1,omega); %求h的频率响应mag1=freqz(h1,1,omega);mag2=freqz(h2,1,omega);magdb=20*log10(abs(mag);magdb1=20*log10(abs(mag1);magdb2=20*log10(abs(mag2);subplot(121)plot(omega/pi,magdb,-b,omega/pi,magdb1,-r,omega/pi,magdb2,-g);title(频率特性)xlabel(Normalized frequency

18、(rad/s)*);ylabel(Gain dB);legend(=4,=6,=8);grid;phase=unwrap(angle(mag); %求mag的相位phase1=unwrap(angle(mag1);phase2=unwrap(angle(mag2);subplot(122);plot(omega,phase,-b,omega,phase1,-r,omega,phase2,-g);title(相位特性);xlabel(Normalized frequency rad/s);ylabel(phase rad);legend(=4,=6,=8);grid;图形:分析:随着的增大,滤波

19、器两边的阻带衰减增大(阻带特性变好),过渡带增大,导致中间阻带特性变差。通带传递函数的相位良则不受变化的影响。四、DVCC系列仿真系统实现滤波器程序流程图:开始 定义X(K)和H(K)的值,有效位分别为X(0)X(7),H(0)H(7)将X(K)的值存储到30H到3FH,设置R2为0Y(N)的N值到通用寄存器R4。并设置R5的值为R4+1设置寄存器R6的初值为0设置H(K)的K值通用寄存器R2。并设置初值0取H(K)值,并将其暂存到通用寄存器R7计算值N-K,取X(N-K)的值 算H(K)* X(N-K),将结果与R6相加,并将新的结果存放R6NK=K+1R5-1,R5=0? Y将R6的值存放

20、到从40H开始的单元,具体为40+N单元NN=N+1,N=8? Y设置通用寄存器R6的初值为0,在后面用其存储Y(N)的N取出Y(N)的值,并计算出其个位,十位,百位分别放在存储单元7CH,7DH,7EH将N值的十位和各位算出分别存储到68H,69H分别将7DH,7EH,7FH,68H,69H的内容显示到数码管上R6的值为7?R6=R6+1N Y主程序:ORG 0200HLJMP STARTTABLEHX:DB 05h,04h,03h,02h,01h,00h,00h,00hTABLEX: DB 01h,03h,01h,02h,00h,00h,00h,00hTABLE:DB 0C0H,0F9H,

21、0A4H,0B0H,99H,92H,82H,0F8H,80H,90HORG 0500HSTART: MOV R0,#30H MOV R2,#0H MOV R3,#8Hs: MOV A,R2MOV DPTR,#TABLEXMOVC A,A+DPTRMOV R0,A INC R0INC R2DJNZ R3,s MOV R1,#40H ;存Y(N) MOV R3,#8H ;乘的次数 MOV R4,#0H ;Ns1: MOV R6,#0H ;Y(N)=xkhn-k MOV DPTR,#TABLEHX MOV A,R4 ADD A,#01H MOV R5,A MOV R2,#0H ;取H()即Ks2:

22、MOV A,R2 MOVC A,A+DPTR ;从H取出 MOV R7,A ;暂存H(K) MOV A,R4 ;赋N-A CLR C SUBB A,R2 ;N-K ADD A,#30H MOV R0,A MOV A,R0 ;取X(N-K) MOV B,R7 ;暂存HK MUL AB ADD A,R6 ;加上K*XN-K MOV R6,A ;暂存HK*XN-K INC R2 ;K DJNZ R5,s2 ;R5:要加的乘积项数 MOV A,R6 MOV R1,A ; 存YN INC R1 ; YN+1 INC R4 ;N DJNZ R3,s1 ;R3乘的次数 ; dx1: MOV R6,#0H ;

23、N循环置初dx: MOV A,#40H ADD A,R6 MOV R0,A MOV A,R0 ;取Y MOV B,#10 DIV AB MOV 7DH,B ;个位,可在范围内任取 MOV B,#10 DIV AB MOV 7EH,B ;十 MOV 7FH,A ;百 MOV R0,#21H ; 数码管选通端口地址 MOV R1,#22H ;数据输出端口地址 MOV DPTR,#TABLE ;段位码LED: MOV A,7DH MOVC A,A+DPTR MOVX R1,A MOV A,#01H ; 选数码管 左6 MOVX R0,A ;显示个位 ACALL DELAY MOV A,7EH MOV

24、C A,A+DPTR MOVX R1,A MOV A,#02H ;选数码管 左5 MOVX R0,A ;显示十位 ACALL DELAY MOV A,7FH MOVC A,A+DPTR MOVX R1,A MOV A,#04H ;选数码管 左4 MOVX R0,A ;显示百位 ACALL DELAY ; MOV 6AH,R6 ;第幾位 MOV A,6AH MOV B,#0AH ;B中放10 DIV AB MOV 68H,B MOV 69H,A MOV R7,#0FFH MOV A,68H MOVC A,A+DPTR MOVX R1,A MOV A,#10H ;选数码管左2 MOVX R0,A

25、;显示个数 ACALL DELAY MOV A,69H MOVC A,A+DPTR MOVX R1,A MOV A,#20H ;选数码管左1 MOVX R0,A ;显示十位 ACALL DELAY ; ACALL KEY1 CJNE R6,#8H,dx ;R6乘的次数 LJMP dx1 ;对R6清零 ,使7变为0KEY1: ACALL KS1 JNZ LK1RETLK1: ACALL DELAY3 INC R6 RETKS1: MOV DPTR,#0FF21H MOV A,#00H MOVX DPTR,A MOV DPTR,#0FF23H MOVX A,DPTRCPL AANL A,#0FH ;查看是否有按键 RETDELAY: MOV R5,#02HD1: MOV R4,#0FFH DJNZ R4,$ DJNZ R5,D1 RETDELAY3: MOV R7,#07FHDD1: ACALL DELAY DJNZ R7,DD1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论