1、IDSP 的数字滤波器设计作者姓名:王珊珊 班级:200404070526 指导教师:王晓亮摘 要随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现,集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。在数字信号处理中数字滤波占有极其重要的地位。数字滤波是语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。本设计基于 DSP,完成 FIR 与 IIR 数字滤波器的设计与软硬件仿真。数字滤波器设计的常用方法包括窗函数法、频率采样法和最优化法等。本次设计在了解了数字滤波器设计原理的基础上,分别采用了窗函数法对不同指标的低通、高通、带通、带阻以及
2、切比雪夫一型滤波器进行设计,在 matlab 软件下绘画出各种设计方法的幅频响应和相频响应曲线。同时在 CCS 环境以及DSP 硬件平台上仿真,对比仿真后波形图,看得出实际图形是否与预期图形相符合。关键词:数字滤波器;Matlab 软件;窗函数法;DSPIIDigital Filter Design Based On DSPAbstract: With the development of the integrated circuit technology, each kind of new large-scale and the ultra large scale integrated ci
3、rcuit emerges increasingly, the integrated circuit technology and the computer technology unified together, it makes digital signal processing system function request to be getting stronger and stronger. The digital filtering holds the extremely important status in the digital signal processing. The
4、 digital filtering is a basic processing technology in the area of voice signal, imagery processing domain, and pattern recognition and spectrum analysis.Based on DSP, this article describes the software and hardware simulation of FIR and IIR digital filter. The common method once used on designing
5、digital filter includes window function method, frequency sampling law, most superior reduction and so on. Upon understanding the fundamental principle of designing digital filter, we will use the window function method separately with the different target on low pass, high pass, the band pass, the
6、band stop filter as well as Chebyshev filters to make it work. Drawing the frequency response and the frequency response curve of each method under the matlab software. Meanwhile, with the DSP hardware platform, contrasting the oscillogram after simulation, it will draw the conclusion whether the ac
7、tual graph matches with the anticipated graph under the CCS environment.Keywords: digital filter; matlab software; window functions; DSPIII目 录第 1 章 前 言 11.1 研究背景 11.2 研究意义 21.3 主要内容与要求 3第 2 章 系统开发平台 42.1 CCS 开发环境 42.2 硬件平台 42.3 计算机辅助设计方法 6第 3 章 数字滤波器的基本理论 73.1 数字滤波器的基本结构 73.1.1 FIR 滤波器的基本结构 73.1.2 I
8、IR 滤波器的基本结构 83.2 数字滤波器的设计原理 93.3 FIR 数字滤波器的设计方法 .103.3.1 类型,系数对称,N 奇数 .103.3.2 类型,系数对称,N 偶数 .113.3.3 类型,系数反对称,N 奇数 .123.3.4 类型,系数反对称,N 偶数 .123.3.5 FIR 数字滤波器的窗函数设计方法 .153.3.6 利用频率取样法设计 FIR 滤波器 .163.3.7 其他几种窗函数的介绍 .193.4 IIR 数字滤波器的设计方法 .283.5 FIR 滤波器与 IIR 滤波器的比较 .30第 4 章 利用 MATLAB 设计数字滤波器 .324.1 FIR 数
9、字滤波器 .324.1.1 FIR 低通数字滤波器 .32IV4.1.2 FIR 高通数字滤波器 .324.1.3 FIR 带通滤波器 .334.1.4 FIR 带阻数字滤波器 .354.2 IIR 数字滤波器 .354.2.1 IIR 低通数字滤波器 .354.2.2 IIR 高通数字滤波器 .364.2.3 切比雪夫函数设计 IIR 高通滤波器 .37第 5 章 数字滤波器的 DSP 实现 445.1 ICETEKF2812-A 评估板技术指标 .445.2 ICETEKF2812-A 评估板实物图 .445.3 ICETEK-F2812-A 器件分布图 455.4 ICETEKF2812
10、A 评估板原理框图 455.5 现场硬件连接图 .465.6 DSP 实现 .465.6.1 有限冲击响应滤波器(FIR)算法 465.6.2 无限冲激响应滤波器(IIR)算法 495.6.3 快速傅立叶变换(FFT)算法 525.6.4 语音信号的 FIR 滤波 .55结 论 58致 谢 59参考文献 .60本科毕业设计(论文)1第 1 章 前 言1.1 研究背景随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现,集成电路技术与计算机技术结合在一起, 使得对数字信号处理系统功能的要求越来越强。DSP 技术已在通信、控制、信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛
11、的应用。在数字信号处理中,数字滤波占有极其重要的地位。数字滤波在语音信号、图象处理、模式识别和谱分析等领域中是一个基本的处理技术。数字滤波与模拟滤波相比,数字滤波具有很多突出的优点,主要是因为数字滤波器是过滤时间离散信号的数字系统,它可以用软件(计算机程序)或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或非实时信号。尽管数字滤波器这个名称一直到六十年代中期才出现,但是随着科学技术的发展及计算机的更新普及,数字滤波器有着很好的发展前景。目前,国外有许多院校和科研机构在研究基于 FPGA 的 DSP 应用,比较突出的有 Denmark 大学的研究小组正在从事 FPGA 实现数字滤波器的研究
12、。加州大学洛杉矶分校的研究小组采用运行时重构技术开发了一种视频通讯系统,该系统用一片 FPGA 可每帧重构四次完成视频图像压缩和传送的操作。此外,他们还在进行 Mojave 项目的开发工作,力图采用运行时重构技术来实现自动目标识别应用。我国在 DSP 技术起步较早,产品的研究开发成绩斐然,基本上与国外同步发展,而在 FPGA 方面起步较晚。全国有 100 来所高等院校从事 DSP极点位置可单独调整运算速度快各二阶网络的误差互不影响,总的误差小,对字长要求低。缺点不能直接调整零极点,因多个二阶节的零点不是整个系统函数的零点,当需要准确的传输零点时,级联型是最适合的。(3)IIR 滤波器的并联型结
13、构优点简化实现,用一个二阶节,通过变换系数就可以实现整个系统;极、零点可单独使用控制、调整,调整 、 只单独调整了第 i 对零点,1i2i调整 、 则单独调整了第 i 对极点;1i2i可流水线操作 33.2 数字滤波器的设计原理数字滤波器是具有一定传输特性的数字信号处理装置,其输入输出都是离散的数字信号,借助于数字器件或一定的数值计算方法,对输入信号进行处理,3陈怀琛.数字信号处理教程Matlab 释义与实现M.北京电子工业出版社,2008本科毕业设计(论文)10改变输入信号的波形或频谱,达到保留信号中有用成分去除无用成分的目的实际应用中,数字滤波器往往作为模拟滤波器的一个组成部分。理想滤波器
14、是非因果的,物理上不可能实现。数字滤波器的设计问题就是寻找无限脉冲响应(IIR)数字滤波器的差分方程和对应的系统函数(两个方程)中的一组系 和 ,是的其性能在某种意义上逼近所要求的特性。iAiBIIR 数字滤波器的设计方法一般分为下述两类先设计一个合适的模拟滤波器,然后变换成给定指标的数字滤波器。这种方法很方便,这是因为模拟滤波器的设计方法已经很成熟,他不仅有完整的设计公式,还有完整的图表供查阅。这种方法的设计步骤如下将给定的数字滤波器的技术指标转换为模拟滤波器的技术指标根据转换后的技术指标设计模拟原型滤波器再按照一定规则将模拟滤波器转换为数字滤波器直接在频域或者时域中进行设计,这是一种最优化
15、设计方法。由于要接联立方程,因此需要计算机辅助进行设计。FIR 滤波器的设计方法与 IIR 滤波器有很大不同,FIR 滤波器的设计是通过对理想滤波器的频率特性作某种逼近得到的。常用的方法有窗函数法,频率取样法和计算机辅助最优化设计法。FIR滤波器的最大优点就是具有线性相位,而设计的 IIR 滤波器的相位都是非线性的。数字滤波器的设计要经过三个步骤确定指标在设计一个滤波器前,必须有一些指标。这些指标要根据应用确定。模型逼近一旦确定了技术指标就可以利用前面的基本原理和关系式,提出一个滤波器模型来逼近给定的指标体系。这是滤波器设计所要研究所的主要问题。实现上面的两布的结果得到的滤波器,通常是以差分方
16、程、系统函数或者脉冲响应来描述的。根据这个描述,可以用硬件或计算机软件来实现它了。本科毕业设计(论文)113.3 FIR 数字滤波器的设计方法线性相位条件要求滤波器分子系数 满足对称性条件。设滤波器的系数长度为 N,则这些系数应关于中心点 t=n 0=(N-1)/2 对称。偶对称时,h(n)=h(N-n-1);而奇对称时,h(n)=-h(N-n-1). 再考虑到 N 可以为奇数或偶数,总共有四种类型的线性相位 FIR 滤波器。讨论线性相位滤波器频率响应是需要引进幅特性正负号的概念,以往常设幅特性为正数,因为幅特性的反号可以用响特性加减来补偿。当相位特性要求线性,不得随便增减时,幅特性就必须分出
17、正负,称为符幅特性 。为了就算符幅特性,需要直接作解析计算,求出频率特性的解析式,并将它分解为幅度和相位特性,即,如果 ()满足线性相位条件,这时的 A()就是符幅()jHAe( )特性。对于长度为 N 的序列 h(n),先考虑两个对称的系数 h(n)和 h(N-1-n),它们的傅里叶变换为 4(3-5)(1)()/2(1)/2()(2cos)*jj jnn jNjNnHehenA3.3.1 类型,系数对称,N 奇数序列 h 的下标 n 从 0 算起,到 N-1 为止,中点位置是 L=(N-1)/2.h(L)是一个孤项,其他可配成 L 对系数。将他们的符幅特性加起来,得到(3-6) 02()*
18、cos()()jtjtnhnhLeAe 为了使四种类型滤波器的公式简明统一,引进两个参数。一个是=(N-1)/2,它就是 T 值,用以反映延迟的样本或群延迟,它可以是分数。另一个是 L=(N-1)/2把 T 值向下取整,因为要把 L 用作下标,它必须是整数。当 N 为奇数时,T=L。4 高西全,丁玉美.数字信号处理. M.陕西西安电子科技大学出版社, 2008.本科毕业设计(论文)12在推导中,还注意前一个求和号是从 0 到 L-1,后一个求和号是从 0 到 L,那是把孤项也当成成对相求和,然后再减去一个孤项 h(L)。这样做的目的也是使四种类型滤波器的公式统一。显然, 为项角项,相角-,它与
19、 成严格的线性关系;A ( )就是je符幅相。(3-7)0()2()*cos()(,0LnAhnhL 可见,其符幅特性由 L+1 个余弦项叠加组成。n=0 时的符幅相为,在 频段间波动个周期余弦函数在 =0, pi 和 2pi2(0)coshL 处都不等于零,因此类型线性相位滤波器既可以用作低通滤波器;也可以用作高通滤波器;且可用作带通和带阻滤波器。3.3.2 类型,系数对称,N 偶数如果 N 为偶数,那么全部系数都可以配对,不会出现中心点的单项,一共有 N/2 组对称出现的系数,频率特性就成为(3-12 (1)/20(1)/ 1cos()2j jNnjNHehneA 8)此时 T=(N-1)
20、/2 将不是整数,也就是说,对称中心将在两个样本点的中间。其相角特性仍为 ( )=T,它仍与 成严格的线性关系。用整数 L=(N-1)/2=N/2-1 来表示求和号的上限。得出其符幅特性的表达式(3-0()2()*cos(),0LnAhn 9)可见,它的符幅特性也由 L+1 个余弦分量构成。这样,不管 N 为奇数或偶数时,L 都是整数,求和的项数都是 L+1。由于 T=(N-1)/2 是分数,所以有余弦分量 中都含有一个 0.5。在 pi 处 ,就会出现符幅特性必定为零的cos()Tn情况。所以类型不能用作高通和带阻滤波器.本科毕业设计(论文)133.3.3 类型,系数反对称,N 奇数当系数序
21、列反对称时,只要把类型结果中的 cos 换成 sin 就得到(3-1 (1)/20(1)/21)*sin()L jNjnjNHehhLeA 10)当 N 为奇数时,T =L=整数。相特性为()=/2-(N-1)= /2-T虽然仍与 成线性关系,但多了一个常数项 /2 。注意反对称序列的对称中心 n=L 处,序列的值 h(L)=0.所以可以放入求和号中,得到它的符幅特性为(3-0()2()*sin(),0LnA 11)正弦函数在 =0, 和 2 处都等于零,因此类型线性相位滤波器的符幅特性在 =0, 和 处都等于零。它不能用作低通,也不能用作高通滤波器。所以不适宜用于选频滤波器。3.3.4 类型
22、,系数反对称,N 偶数与类型滤波器相仿,若 N 为偶数,则共有 N/2 组数值相同反对称出现的系数,不出现单项,频率特性就成为(3-()20()2()*sin()L jtj jnHeheAe 12)此处仍有 T=(N-1)/2,因此 T 将不是整数,带有小数部分 0.5.故对称中心将在两个样本点中间。它的相角特性为 ()= /2-T,虽然与 呈线性关系,但是多了常数项 /2,故不通过原点。类型的滤波器符幅特性为本科毕业设计(论文)14(3-0()2()*sin(),0LnAh 13)因为 L 是整数,它的符幅特性也由 L+1=N/2 个正弦分量构成。因为 sin(0)=0,在 =0 处,符幅特
23、性必定为 A(0)=0. 这样的特性显然不能用作低通和带阻滤波器,实际上也不适用于选频滤波器。把这四种类型的线性相位滤波器的相角特性和符幅特性用对比的方法画在一张图上 5表 3-1 四种类型的线性相位滤波器的相位与符幅特性 55 Ingle V K,Proakis J G. Digital Signal Processing Using MATL AB M,New YorkPWS Publishing Company,1997本科毕业设计(论文)15符幅特性举例 2给出序列 h0=3,-1,2,-3构成的四种类型的系数向量h1=3,-1,2,-3,5,-3,2,-1,3;h2=3,-1,2,-
24、3,-3,2,-1,3;h3=3,-1,2,-3,0,3,-2,1,-3;h4=3,-1,2,-,3,03,-2,1,-1;分别求出它们的符幅特性曲线,进行比较。图 3-1 符幅特性比对本科毕业设计(论文)16零极点应该从 FIR 滤波器正幂传递函数来判断。(3-1100 +bMMzzzbb+14)所以它具有与零点数目相同的 M 个极点,它们集中在 z 平面的原点处,成为 M 重极点。可以证明,对于具有对称性的系数向量,如果 是上式的分子多项式的根,那么它的倒数也就是这个多项式的根。如果 是复数零点,根据实系数多项式的性质,它的共轭复数 *也是复数零点;现在又证明了它的倒数 1/ 也是零点。因
25、而倒数的共轭复数 *也是复数零点。四个复数零点必成组出线,虚轴零极点图Z 平面实轴C o n j ( z 1 )z 11 / c o n j ( z 1 )z 11 . 510 . 50- 0 . 5- 1- 1 . 51 . 510 . 50- 0 . 5- 1- 1 . 5图 3-2 零极点分布图3.3.5 FIR 数字滤波器的窗函数设计方法 6窗函数设计法又称之为傅里叶技术设计方法,FIR 滤波器的单位脉冲响应h(n)是有限长的( 0nN-1),只有 N 个点有值,这 N 个值被称为滤波器的系6宋守鹏.数字滤波器设计及工程应用M.江苏江苏大学出版设,2009.本科毕业设计(论文)17数。
26、滤波器的输出 y(n)只与当前的输入 x(n)和有限个过去的输入 x(n-1),x(n-2)x(n-(N-1)有关,其表达式为 y(n)=h(n)x(n)+h(1)x(n-1) +h(2)x(n-2)+h(N-1)x(n-(N-1)和次表达式相对应的实现结构可用图 3-3 来表示图 3-3 实现窗函数法的结构图FIR 数字滤波器的单位冲激响应 h(n)的 Z 变换为 3(3-10()()NnnHzhz15)利用窗函数设计时,一般是先给出所要求的理想滤波器的频率响应,要求设计一个 FIR 滤波器频率响应 ,来逼近()jdHe ()()j jndnHehe。时域内进行的因而先由 的傅里叶反变换导出
27、傅里叶系数jd ()jd即()hn(3-1()()2njddhnHe16)这里的傅里叶系数就是理想滤波器的单位脉冲响应,但是直接应用公式(3-15 )设计数字滤波器是不可能的,因为 是无限长序列,而且是非因果()dhn的。所以要用有限长 h(n)来逼近来逼近无限长的 ,我们可以利用一个窗函数序列叫 (n)来截取 ,即()dhn本科毕业设计(论文)18(3-()()dhn17)然后由 h(n)求实际的 ,即()jHe(3-10()nNjjdnhe18) 然后根据 分析所设计出的滤波器的幅频特性和相频特性,检验设计()jHe结果是否满足要求。设计过程中,窗函数将直接影响滤波器的过渡带带宽和阻带衰减
28、。3.3.6 利用频率取样法设计 FIR 滤波器以上介绍的窗函数法是一种时域设计方法,但是在一般情况下,滤波器的技术指标都是由频率给出,在频域进行设计更为直接。频率取样法是在频率域对理想滤波器 取样,在取样点上设计的滤波幅度值相等,然后根据滤()jdHe波器的频率特性 设计所需的滤波器。j假设理想滤波器的频率特性为 ,对它在02 区间内等间隔的取()jdHe样 N 个点,即(3-2()()|jakNk19)根据频域内插公式,可得(3-1210()()ZNjkkNzHHe20)对应的频率响应为(3-10()()2-kNjkHe( )21)本科毕业设计(论文)19其中 (3-(1)/21sin(/
29、()jNeN22)从(3-17 )式中可以看出,根据理想滤波频率特性的 N 个取样值,可以通过差值得到实际设计的滤波器的频率特性,并且所设计的滤波器在取样点上的取值与理想滤波器的值严格相等。这就是频率取样法设计 FIR 数字滤波器的基本原理。在很多情况下要求设计的滤波器具有线性相位,前面的讨论的滤波器的线性相位条件表述为 h(n)= h(N-n-1)。当 h(n)=h(N-n-1),且 N 为奇数时(3-(1)/2()j jHee23)并且幅度函数 H()应该是偶对称的,即,(3-()2)25)在0,2pi区间内对 等间隔的取样 N 个点,即()je(3-2()|j jkHkeHe26)其中(
30、3-2()|kNk27)(3-11()()2kNk28)由式(3-26 )可得(3-1kNH29)相位条件与 N 为奇数时相同。此时,奇对称要求,即本科毕业设计(论文)20并且 当 h(n)为奇对称,按照同样的方法可以得到 幅kNkH20N kH度和相位应满足的条件。采用频率取样法设计的 FIR 数字滤波器在阻带内的衰减减小,在实际应用中往往达不到要求。产生这种现象的原因是由于在通带边缘取样点的陡然变换而引起的起伏震荡。增加阻带衰减方法是在通带和阻带的边界增加一些过渡的取样点,从而减小频带边缘的突变,也就减小了起伏震荡,增大了阻带最小衰减。为了构造特性接近理想低通滤波器的实际滤波器,应当使它具
31、备如下特性因果序列有限长度系数对称用长 N 对称中心在对称中心在 的矩形窗 与 相乘,0(1)/2nN()NRndh截取出实际系数序列 h(n),(3-()()dNh30)图 3-4 实际系数序列图 3-5 为理想滤波器的脉冲响应及其频谱本科毕业设计(论文)21图 3-5 脉冲响应及其频谱图 3-6 矩形窗函数及其频谱矩形窗截取的实际特性一般滤波器都要求过渡带愈窄愈好。过渡带与 N 成反比,减小过渡带的措施是增加 N;通带内放入波动影响滤波器通带中的信号通过的均匀性;阻带内的波动使某些频率成分在阻带内不能充分抑制,可能使最小衰减不满足技术要求;上述分析说明,增加 N 对于通带波动和阻带衰减几乎
32、没有影响。矩形窗带来的的阻带衰减为 20dB 左右,要减小波动只有改变窗函数的形状。增大 N 将增加滤波器的复杂性和计算时间。3.3.7 其他几种窗函数的介绍 7(1)三角形窗(3-2/(1),0(1)/2()brnnNwd31)(2)汉宁窗7 Ingle V K,Proakis J G. Digital Signal Processing Using MATL AB M,New YorkPWS Publishing Company,1997 本科毕业设计(论文)22(3-2()0.51cos()(Hn NnwdR32)(3)汉明窗(3-24()0.4.5cos()0.8cos()(11Bl
33、Nnnwdn RN33)Matlab 提供的其他窗函数(程序)N=45;n=1:N;beta=5.658; wdrc=boxcar(N);wdbt=triang(N); wdhn=hanning(N); wdhm=hamming(N);wdbl=blackman(N); wdks=kaiser(N,beta); plot(n,wdrc,wdbt,wdhn,wdhm,wdbl,wdks)Legend(rc,bt,hn,hm,bl,ks)%线性标注就可以得到综合表示几种窗函数形状的图图 3-7 窗函数形状综合图形表 3-2 各种窗函数的过渡带和波动 本科毕业设计(论文)23窗函数旁瓣峰值( d B
34、 )近似过渡带 精确过渡带阻带衰减( d B )矩形窗三角形窗汉宁窗汉明窗布莱克曼窗凯泽窗( B = 7 . 8 6 5 )13254174/N8/2/N1.8/6.2/1/02 12 54 45 37 48 0FIR 的实现是非递归的,总是稳定的;更重要的是,FIR 滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。线性相位 FIR 滤波器通常采用窗函数法设计。窗函数法设计 FIR 滤波器的基本思想是根据给定的技术指标,选择滤波器长度 N 和窗函数 W(n), 使其具有最窄宽度的主瓣和最小的旁瓣。工程中常用的窗函数共有五种,即矩形窗。汉宁窗(hanning)。汉明窗(hamming
35、)。布莱克曼窗(blackman)和凯塞窗(kaiser)下面我们运用 FIR 函数分别运用 5 种不同的窗函数来设计滤波器对输入信号为 S(t)=sin(2*pi*50*t)+sin(2*pi*100*t)+sin(2*pi*150*t)进行滤波,要求滤波中建的 100Hz 频率,采样频率为 1000Hz。程序 L=30; N=L-1; f1=0,70,80,120,130,500; f2=f1/500; m=0,0,1,1,0,0; b=FIR2(N,f2,m,boxcar(L); figure(1); h,w=freqz(b,1,512,1000); subplot(2,1,1); pl
36、ot(f1,m,m-,w,abs(h),b-); subplot(2,1,2); plot(w,angle(h); figure(2);本科毕业设计(论文)24 freqz(b,1,512,1000); t=0:0.001:1; sgn=sin(2*pi*50*t)+sin(2*pi*100*t)+sin(2*pi*150*t); figure(3); subplot(2,2,1),plot(t(1:100),sgn(1:100); y=fft(sgn,512); Pyy=y.*conj(y)/512; f=1000*(0:155)/512; subplot(2,2,2),plot(f,Pyy
37、(1:156); Yo=filter(b,1,sgn); subplot(2,2,3); plot(t(1:100),Yo(1:100); yo=fft(Yo,512); Pyyo=yo.*conj(yo)/512; fo=1000*(0:155)/512; subplot(2,2,4);plot(f,Pyyo(1:156);程序运行后,五种窗函数的结果如下(1)矩形窗其相关参数, , ,其余 。sin()2|()|jRNWe1n01N0n幅度频率特性过渡带宽为 。旁瓣峰值衰耗为-13dB,最小最带衰耗为-421dB。运行程序结果如下本科毕业设计(论文)25理想图形实际图形图 3-8 实际信号与理想信号对比图理想结果与实际稍有偏差,存在一定失真,这也是无法避免的。图 3-9 滤波器幅相频特性图本科毕业设计(论文)26图 3-10 滤波器前后频域对比图(2)汉宁窗其相关参数 , ,其余 ,12=cos1nnN01N0n,幅度频率特性过渡带宽为 ,旁20.50.5jj jRRWeeWe 8N瓣峰值衰耗为 31dB,最小阻带衰耗为-44dB图 3-11 滤波器幅相频特性图