数字信号处理实验报告.docx
- 文档编号:17919515
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:17
- 大小:277.17KB
数字信号处理实验报告.docx
《数字信号处理实验报告.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告.docx(17页珍藏版)》请在冰点文库上搜索。
数字信号处理实验报告
南昌航空大学科技学院
NanchangHangKongUniversityofscience&Technology
数字信号处理B
课程设计报告
题目:
MATLAB设计FIR数字滤波器及分析不同窗函数滤波器
院(系):
XXXX
专业:
XXXX
班级:
XXXX
学生姓名:
XXXX
指导老师:
XXXX
设计时间:
2013年1月
摘要
数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。
而FIR数字滤波器可以方便地实现线性相位且其群时延不随频率变化的,在任何幅度特性下都能稳定的工作,因此在数字信号处理中占有非常重要的地位。
在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用。
FIR数字滤波器传统的设计方法有窗函数法、频率抽样法和等波纹逼近法。
用窗函数设计FIR数字滤波器就是用有限长的脉冲相应逼近序列,其基本设计思想为,首先选定一个理想的选频滤波器,然后截取它的脉冲响应得到线性相位。
本文是以窗函数设计方法为基础的。
首先介绍了满足线性相位条件的FIR数字滤波器的基础知识,简述了FIR数字滤波器的设计方法与流程。
本课题主要应用MATLAB软件利用窗函数法设计满足线性相位的FIR数字滤波器,并对所设计的滤波器进行仿真,得到滤波器的单位脉冲响应、频率响应特性。
关键字数字滤波器;MATLAB
一.课程设计任务
1、学会MATLAB的使用,掌握MATLAB的程序设计方法;
2、掌握MATLAB设计FIR数字滤波器的方法;
3、掌握IIR数字滤波器的基本概念、基本理论和基本方法;
4、总结分析不同窗函数滤波器(矩形窗、三角窗、汉宁窗、哈明窗、布莱克曼等)的特性。
二.课程原理设计方案
在前面的实验中,我们介绍了IIR滤波器的设计方法并实践了其中的双线性交换,IIR滤波器具有许多诱人的特性;但与此同时也具有一些缺点。
例如:
若想利用快速傅立叶变换(FFT)技术进行快速卷积实现滤波,则要求单位脉冲响应是有限长的。
此外,IIR滤波器优异的幅度响应,一般是以相位的非线性为代价的,而非线性相位会引起频率色散。
FIR滤波器具有严格的线性相位特性,这对于语音信号处理和数据传输是至关重要的。
目前FIR滤波器的设计方法主要有三种:
窗函数法、频率取样法和切比雪夫等纹波迫近的最优化设计方法。
窗函数法的基本思想是:
从时域出发用一个窗函数截取理想滤波器的单位脉冲响应hd(n)得到h(n),用有限长序列h(n)近似理想脉冲响应hd(n);频率取样法的基本思想是:
从理想滤波器的频域出发,首先对理想滤波器的频谱
在单位圆上进行等角度取样得到
,再根据
得到
,并用
逼近理想的
。
窗函数法相对比较简单,可应用现有的窗函数公式,在技术指标要求不高的时候是比较灵活方便的方法。
本实验主要介绍如何利用窗函数法进行FIR滤波器的设计。
滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为
hd(n)=
窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼hd(n)。
由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数。
w(n)将hd(n)截断,并进行加权处理:
h(n)=hd(n)w(n)
h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(ejω)为
H(ejω)=
用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N
三.课程设计内容和方法
同其它数字滤波器设计方法一样,用窗函数法设计数字滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应
,使所设计的FIR滤波器的频率响应
逼近所要求的理性滤波器的频率响应。
窗函数法设计的任务在于寻找—个可实现的有限长单位脉冲响应h(n),并用它的频率响应H(ejω)
(4.1)
去逼近
。
我们知道一个理想的频率响应
的傅里叶反变换为
(4.2)
往往是无限长的。
对
经过适当的加权截断处理才能得到一个所需要的有限长单位脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所求的滤波器单位脉冲响应就等于理想脉冲响应和窗函数的乘积即
(4.3)
由此可见,窗函数的性质就决定了滤波器的品质。
例如窗函数的主瓣宽度决定了滤波器的过渡带宽;窗函数的旁瓣决定了滤波器的余振,旁瓣越多余振越多,旁瓣相对值越大则肩峰越强。
以下是几种常用的窗函数:
矩形窗(RectangleWindow)
汉宁窗(HanningWindow)
海明窗(HammingWindow)
布莱克曼窗(BlackmanWindow)
凯塞-贝塞尔窗(Kaiser-BeselWindow)
其中
是零阶贝塞尔函数。
Kaiser-Besel窗可以通过改变参数
,改变其主瓣宽度和旁瓣大小。
在实际设计过程中,可以根据对滤波器过渡带宽度和阻带衰减的要求,适当选取窗函数的类型和长度N,以得到比较满意的设计效果。
利用窗函数法设计线性相位FIR滤波器的步骤如下:
1.确定数字滤波器的性能要求。
确定各临界频率{ωk}和滤波器单位脉冲响应长度N。
2.根据性能要求和N值,合理地选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(ejω)的幅频特性和相位特性。
3.用傅里叶反变换式(4.2),求得理想单位脉冲响应hd(n)。
4.选择适当的窗函数w(n),根据式(4.3)求得所设计的FIR滤波器单位脉冲响应h(n)。
5.用博里叶变换求得其频率响应H(ejω),分析它的幅频特性,若不满足要求,可适当改变窗函数的形式或N的长度,直到满足条件为止。
注:
在上述步骤(3)中,从Hd(ejω)到hd(n)的反变换中要用到公式(4.2)。
这里的积分在计算机上可变为求和计算。
即
MATLAB中与FIR滤波器设计有关的函数
1、矩形窗(RectangleWindow)
调用格式:
w=boxcar(n),根据长度n产生一个矩形窗。
2、三角窗(TriangularWindow)
调用格式:
w=triang(n),根据长度n产生一个三角窗。
3、汉宁窗(HanningWindow)
调用格式:
w=hanning(n),根据长度n产生一个汉宁窗。
4、哈明窗(HammingWindow)
调用格式:
w=hamming(n),根据长度n产生一个海明窗。
5、布莱克曼窗(BlackmanWindow)
调用格式:
w=Blackman(n),根据长度n产生一个布拉克曼窗。
6、利用窗函数法设计FIR滤波器函数(firl)
调用格式1:
B=FIR1(N,Wn),设计一个n阶FIR数字低通滤波器,并由向量B返回长度为N+1的滤波器系数即
,从中我们可知该滤波器的单位脉冲响应为
。
其中截止频率Wn必须满足0 滤波器B具有线性相位。 滤波器在Wn处的归一化增益为-6dB。 调用格式2: B=FIR1(N,Wn,'high')设计一个N阶高通滤波器。 当然你也可以用B=FIR1(N,Wn,'low')设计一个低通滤波器。 调用格式3: B=FIR1(N,Wn,'bandpass')其中Wn是一个二维向量即Wn=[W1W2],FIR1返回一个N阶带通滤波器,其通频带为W1 调用格式4: B=FIR1(N,Wn,'stop')其中Wn是一个二维向量即Wn=[W1W2],FIR1返回一个N阶带阻滤波器。 调用格式5: B=FIR1(N,Wn,WIN)用长度为N+1的窗(WIN,其长度比滤波器的阶数大1)设计N阶FIR滤波器。 若不指定WIN系统默认为使用Hamming窗。 为了知道系统中存在哪些窗函数可使用命令helpWINDOW获得帮助。 说明: 在设计高通和带阻滤波器时,滤波器的阶数必须为偶数,若为奇数系统自动为其加1,此时窗函数的长度应为N+1+1=N+2。 8、求数字滤波器频率响应(FREQZ) 调用格式1: [H,W]=FREQZ(B,A,N)其中B和A是数字滤波器所对应的系统函数的系数,即 N为所计算的频率取样点数,默认为512;该函数返回N点复频率响应向量H,H中各复频率响应值所对应的频率记录在W中。 调用格式2: FREQZ(B,A,N)绘制由B和A所决定的幅频响应和相频响应。 四.课程设计步骤及结果 1.在实验编程之前,认真复习有关FIR滤波器设计的知识,尤其是窗函数法的有关内容,阅读本实验原理与方法,熟悉窗函数的MATLAB实现方法,掌握窗函数设计滤波器的具体步骤。 2.利用矩形窗、三角窗、汉宁窗、海明窗和布拉克曼窗设计一个7阶FIR低通滤波器,该滤波器的截止频率为0.5π。 编制程序实现如下要求: (1)求该滤波器的单位脉冲响应; (2)求该滤波器的幅频特性和相频特性。 3.使用汉明窗设计N=10阶FIR带通滤波器,已知该滤波器的上下截止频率分别为ω1=0.3π,ω2=0.5π,绘制幅频及相频特性曲线;改变N=100,重复上述要求;令N=1000重复上述要求; 五.课程设计报告要求 1.简述实验目的及实验原理。 表4.1滤波器单位脉冲响应 窗函数 h(0) h (1) h (2) h(3) h(4) h(5) h(6) h(7) 矩形窗 -0.0721 -0.1010 0.1683 0.5048 0.5048 0.1683 -0.1010 -0.0721 三角窗 -0.0090 -0.0379 0.1052 0.4417 0.4417 0.1052 -0.0379 -0.0090 汉宁窗 -0.0075 -0.0369 0.1116 0.4328 0.4328 0.1116 -0.0369 -0.0075 哈明窗 -0.0052 -0.0229 0.0968 0.4313 0.4313 0.0968 -0.0229 -0.0052 布莱克曼窗 0.0000 -0.0086 0.0725 0.4361 0.4361 0.0725 -0.0086 0.0000 编制实验项目2所要求的程序,认真记录实验项目2中所观察到的各种窗函数的单位脉冲响应h(n),并将结果添入表4.1;记录所观察到的幅频响应和相位响应的波形,并简要说明窗函数类型对滤波器的影响。 (程序sss1.m) 3.编制实验项目3所要求的程序,记录所观察到的幅频响应,并简要说明窗函数长度对滤波器的影响.(程序sss2.m) 实验幅频响应 N=10 N=100 N=1000 通过设定不同的窗函数长度,得到仿真幅频响应图形,可以看出: 窗函数长度越长,效果越好。 1.N的大小决定了窗谱的主瓣宽度,N越大,窗谱的主瓣宽度越大 2.最小阻带衰减只有窗行决定,不受N的影响,过渡带宽度与N和窗形都有关,N越大,过渡带宽越小 3.由实验可知滤波特性: 布拉克曼窗>汉宁窗>三角窗>矩形窗 任务一 任务二 六.课程设计程序清单 1.MATALAB程序 任务一 N1=15; N2=33; b1=fir1(14,1/4,hanning(15)); b2=fir1(32,1/4,hanning(33)); [H1,W]=freqz(b1,1); H1_db=20*log10(abs(H1)); magH1=abs(H1); phaH1=angle(H1); [H2,W]=freqz(b2,1); H2_db=20*log10(abs(H2)); magH2=abs(H2); phaH2=angle(H2); figure (1); subplot(2,1,1);stem(b1); title('N=15时,汉宁窗得到的FIR滤波器脉冲响应'); subplot(2,1,2);stem(b2); title('N=33时,汉宁窗得到的FIR滤波器脉冲响应'); figure (2); subplot(3,1,1);plot(W/pi,magH1); title('N=15时汉宁窗得到的FIR滤波器的幅频特性') subplot(3,1,2);plot(W/pi,H1_db); title('N=15时汉宁窗得到的FIR滤波器的对数幅频特性') subplot(3,1,3);plot(W/pi,phaH1); title('N=15时汉宁窗得到的FIR滤波器的相频特性') figure(3); subplot(3,1,1);plot(W/pi,magH2); title('N=33时汉宁窗得到的FIR滤波器的幅频特性') subplot(3,1,2);plot(W/pi,H2_db); title('N=33时汉宁窗得到的FIR滤波器的对数幅频特性') subplot(3,1,3);plot(W/pi,phaH2); title('N=33时汉宁窗得到的FIR滤波器的相频特性') 任务二 N=33; b1=fir1(32,1/4,boxcar(33)); b2=fir1(32,1/4,hanning(33)); b3=fir1(32,1/4,bartlett(33)); b4=fir1(32,1/4,blackman(33)); [H1,W]=freqz(b1,1); H1_db=20*log10(abs(H1)); magH1=abs(H1); phaH1=angle(H1); [H2,W]=freqz(b2,1); H2_db=20*log10(abs(H2)); magH2=abs(H2); phaH2=angle(H2); [H3,W]=freqz(b3,1); H3_db=20*log10(abs(H3)); magH3=abs(H3); phaH3=angle(H3); [H4,W]=freqz(b4,1); H4_db=20*log10(abs(H4)); magH4=abs(H4); phaH4=angle(H4); figure (1); subplot(2,2,1);stem(b1); title('矩形窗得到的FIR滤波器脉冲响应') subplot(2,2,2);stem(b2); title('汉宁窗得到的FIR滤波器脉冲响应') subplot(2,2,3);stem(b3); title('三角窗得到的FIR滤波器脉冲响应') subplot(2,2,4);stem(b4); title('布拉克曼窗得到的FIR滤波器脉冲响应') figure (2); subplot(2,2,1);plot(W/pi,magH1); title('矩形窗得到的FIR滤波器幅频特性') subplot(2,2,2);plot(W/pi,magH2); title('汉宁窗得到的FIR滤波器幅频特性') subplot(2,2,3);plot(W/pi,magH3); title('三角窗得到的FIR滤波器幅频特性') subplot(2,2,4);plot(W/pi,magH4); title('布拉克曼窗得到的FIR滤波器幅频特性') figure(3); subplot(2,2,1);plot(W/pi,H1_db); title('矩形窗得到的FIR滤波器相频特性') subplot(2,2,2);plot(W/pi,H2_db); title('汉宁得到的FIR滤波器相频特性') subplot(2,2,3);plot(W/pi,H3_db); title('三角窗得到的FIR滤波器相频特性') subplot(2,2,4);plot(W/pi,H4_db); title('布拉克曼得到的FIR滤波器相频特性') figure(4); subplot(2,2,1);plot(W/pi,phaH1); title('矩形窗得到的FIR滤波器相频特性') subplot(2,2,2);plot(W/pi,phaH2); title('汉宁窗得到的FIR滤波器相频特性') subplot(2,2,3);plot(W/pi,phaH3); title('三角窗得到的FIR滤波器相频特性') subplot(2,2,4);plot(W/pi,phaH4); title('布拉克曼窗得到的FIR滤波器相频特性') 七.课程设计体会总结 通过实验使我更清楚地了解到频率采样法是从频域出发直接设计滤波器的,而窗函数法是从时域出发设计滤波器的,两种设计方法各有优缺点。 窗函数法设计FIR数字滤波器是傅里叶变换的典型运用,而频率采样法设计的指导思想是频域采样定理及内插公式,其阻带衰减的改善是通过增加过渡采样点实现的,同时为保证过渡带宽的不变,滤波器的采样点数也要相应增加,计算复杂度也随之成倍增加,这就要求在用频率采样法设计FIR滤波器时,要综合考虑阻带衰减和滤波器长度的要求,从而达到设计的最优化。 在设计时,窗函数法要根据设计指标选择合适的窗函数,而且要尽可能选主瓣较窄的窗函数,一般选哈明窗,但还是存在一定的缺陷,灵活度不高。 对于灵活度比较高的频率采样法,我们可以增加采样点数来减小误差,一般适用于窄带滤波器的设计。 两种方法各有优缺点,实际应用起来还应该结合设计指标来选 择相应的方法课程设计参考文献 【1】(数字信号处理){第三版},丁玉美,高西全,西安电子科技大学出版社,2000. 【2】(MATLAB及在电子信息课程中的应用),陈怀探,吴大正,高西全,电子工业出版社,2006. 【3】(MATLAB7.0从入门到精通),求是科技,人民邮电出版社,2006. 【4】((数字信号处理(第三版))学习指导,高西全,丁玉美,西安科技大学出版社,2001. 【5】(数字信号处理教程),程佩青,清华大学出版社,2001. 【6】((数字信号处理实验指导书(MATLAB版)),Sanjitk.Mitra著,孙洪,余翔宇译,电子工业出版社, 【7】(MATLAB7.0x数字信号处理),郭仕剑等,人民邮电出版社,2006. 【8】(数字信号处理,理论算法与实现),胡广书,清华大学出版社,2003.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 报告