基于MATLAB的FIR滤波器设计与仿真论文_第1页
基于MATLAB的FIR滤波器设计与仿真论文_第2页
基于MATLAB的FIR滤波器设计与仿真论文_第3页
基于MATLAB的FIR滤波器设计与仿真论文_第4页
基于MATLAB的FIR滤波器设计与仿真论文_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章:引言1.1 选题的依据及意义 几乎在所有的工程技术领域中都会涉及到信号的处理问题, 其信号表现形式 有电、磁、机械以及热、光、声等。信号处理的目的一般是对信号进行分析、变 换、综合、估值与识别等。 如何在较强的噪声背景下提取出真正的信号或信号的 特征,并将其应用于工程实际是信号处理的首要任务。 数字信号处理中一个非常 重要且应用普遍的技术就是数字滤波。 数字滤波器有 FIR 数字滤波器和 IIR 数字 滤波器, IIR 数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图表进 行设计的, 因而保留了一些典型模拟滤波器优良的幅度特性, 但设计中只考虑了 幅度特性,没考虑相位特性,所设计

2、的滤波器一般是某种确定的非线性相位特性。 为了得到线性相位特性, 对 IIR 滤波器必须另外加相位校正网络, 使滤波器设计 变得复杂,成本也高,又难以得到严格的线性相位特性。而 FIR 滤波器在保证 幅度特性满足技术要求的同时, 很容易做到有严格的线性相位特性, 同时为了使 FIR 数字滤波器的设计更优化,因而研究 FIR 数字滤波器的优化设计具有重要 的理论意义。1.2 数字滤波器简介数字滤波在 DSP 中占有重要地位。数字滤波器按实现的网络结构或者从单 位脉冲响应,分为 IIR (无限脉冲响应)和 FIR (有限脉冲响应)滤波器。如果 IRR 滤波器和 FIR 滤波器具有相同的性能,那么通

3、常 IIR 滤波器可以用较低的 阶数获得高的选择性, 执行速度更快,所有的存储单元更少, 所以既经济又高效。数字滤波器精确度高, 使用灵活,可靠性高,具有模拟设备没有的许多优点, 已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、 遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来, 数字滤波技术已经成为一门及其重要的科学和技术领域。 以往的滤波器大多采用 模拟电路技术, 但是模拟电路技术存在很多难以解决的问题, 而采用数字则避免 很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技术 所不能及的,所以采用数字滤波器对信号进行处理是目前的发

4、展方向。数字滤波在通信。 图像编码, 语音编码,雷达等许多领域有着十分广泛的应 用。目前,数字信号滤波器的设计在图像处理, 数据压缩等方面的应用取得了令 人瞩目的 进展和成就。近年来迅速发展。1.3 MATLAB 简介1.3.1MATLAB 的概况MATLAB 是矩阵实验室 (Matrix Laboratory )之意。除具备卓越的数值计 算能力外,它还提供了专业水平的符号计算, 文字处理, 可视化建模仿真和实时 控制等功能。MATLAB 的基本数据单位是矩阵, 它的指令表达式与数学 ,工程中常用的形式 十分相似 ,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完相同的事情

5、简捷得多 .MATLAB 拥有数百个内部函数的主包和三十几种工具包 (Toolbox). 工具包又 可以分为功能性工具包和学科工具包 .功能工具包用来扩充 MATLAB 的符号计 算,可视化建模仿真 ,文字处理及实时控制等功能 . 学科工具包是专业性比较强的 工具包,控制工具包,信号处理工具包 ,通信工具包等都属于此类 .开放性使 MATLAB 广受用户欢迎 .除内部函数外 ,所有 MATLAB 主包文件和 各种工具包都是可读可修改的文件 ,用户通过对源程序的修改或加入自己编写程 序构造新的专用工具包 .1.3.2MTALAB 的功能MATLAB 包含的内容非常丰富,功能强大,可以概括为以下几

6、个方面:a. 可以在多种操作系统下运行,如 DOS 、 Windows 95/98/2000/2000/NT、Compaq Alpha 、 LinuxSun Solaris 等。b. 有超过 500 种的数学、统计、科学及工程方面的函数,使用简单快捷,并 且有很强的用户自定义函数的能力。c. 有强大的图形绘制和可视化功能,可以进行视觉数据处理和分析,进行图 形、图像的显示及编辑,能够绘制二维、三维图形,使用户可以制作高质量的图 形,从而写出图文并茂的文章。d. 有和用其他高级语言(如 C,C+ ,FORTRAN ,JAVA )编写的外部程序 相接口的能力,也可把 MATLAB 程序转换成上述高

7、级语言的子程序。e. 有从外部文件及外部硬件设备读入数据的能力。f . 有丰富的网络资源,从相关的 Web 网站可以直接获得全套的 MATLAB 联 机帮助文件和说明书的电子文档,还可以获得各类技术支持与帮助。g. 有丰富的工具箱 toolbox 。各个领域的专家学者将众多学科领域中常用 的算法编写为一个个子程序,即 m 文件,这些 m 文件包含在一个个工具箱中。 其工具箱可以分为两大类, 即功能性工具箱和科学性工具箱。 功能性工具箱主要 用来扩充 MATLAB 的符号计算、图形可视化、建模仿真、文字处理等功能以及 与硬件实时交互的功能。 学科性工具箱是按学科领域来分类的, 如信号处理、 控

8、制、通信、神经网络图像处理、 系统辨识、 鲁棒控制、 模糊逻辑、小波等工具箱。MATLAB 中的信号处理工具箱内容丰富,使用简便。在数字信号处理中常用 的算法,如 FFT ,卷积,相关,滤波器设计,参数模型等,几乎都只用一条语 句即可调用。 数字信号处理常用的函数有波形的产生、 滤波器的分析和设计、 傅 里叶变换、 Z 变换等,如:波形产生:sawtooth (锯齿波或三角波)Diric (Dirichlet 或周期 sinc 函数)rand (白噪声信号波形)square (方波)sinc (sinc 或 函数)chirp ( chirp 信号波形) 滤波器的分析: abs (求幅值) an

9、gle (求相角) conv (求卷积) freqz (数字滤波器频率响应) impz (数字滤波器的冲击响应) zplane (数字系统零极点图)IIR 滤波器设计:butter (巴特沃思数字滤波器) cheby1 (切比雪夫 I 型) cheby2 (切比雪夫 II 型) maxflat (最平滤波器)ellip (椭圆滤波器)yulewalk (递归数字滤波器)bilinear (双线性变换)impinvar (冲激响应不变法)FIR 滤波器设计:triang (三角窗)blackman (布莱克曼窗)boxcar (矩形窗)hamming (海明窗)hanning (汉宁窗)kais

10、er (凯塞窗)fir1 (基于窗函数法)fir2 (基于频率抽样法)firrcos (上升余弦 FIR 滤波器设计法)intfilt (内插 FIR 滤波器设计法)kaiserord (用 Kaiser 窗设计 FIR 滤波器的参数估计)各种变换:czt (线性调频 Z 变换)dct (离散余弦变换)fft (一维快速傅里叶变换)fft2 (二维快速傅里叶变换)idct (逆离散余弦变换)ifft (一维逆快速傅里叶变换)ifft2 (二维逆快速傅里叶变换)hilbert ( Hilbert 变换)可以看出 MATLAB 是一个功能十分强大的系统,是集数值计算、图形管理、程 序开发为一体的环

11、境。除此之外, MATLAB 还具有很强的功能扩展能力,与它 的主系统一起, 可以配备各种各样的工具箱, 以完成一些特定的任务。 用户可以 根据自己的工作任务,开发自己的工具箱。在国际学术界, MATLAB 已经被确 认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上, (尤其是信 息科学刊物),都可以看到 MATLAB 的应用。 在设计研究单和工业部门, MATLAB 被认作进行高效研究、开发的首选软件工具。如美国 National Instruments 公司信号测量、分析软件 LabVIEW , Cadence 公司信号和通信 分析设计软件 SPW 等,或者直接建筑在 MATLA

12、B 之上,或者以 MATLAB 为 主要支撑。第 2 章 数字滤波器的基本理论2.1 数字滤波器概述数字滤波器一词出现在 60 年代中期。 由于电子计算机技术和大规模集成电 路的发展, 数字滤波器已可用计算机软件实现, 也可用大规模集成数字硬件实时 实现。数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间 系统。作为一种电子滤波器, 数字滤波器与完全工作在模拟信号域的模拟滤波器 不同。数位滤波器工作在数字信号域, 它处理的对象是经由采样器件将模拟信号 转换而得到的数字信号。数字滤波器的工作方式与模拟滤波器也完全不同: 后者完全依靠电阻、 电容、 晶体管等电子元件组成的物理网络实现

13、滤波功能; 而前者是通过数字运算器件对 输入的数字信号进行运算和处理,从而实现设计要求的特性。应用数字滤波器处理模拟信号时, 首先须对输入模拟信号进行限带、 抽样和 模数转换。 数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍, 其频率 响应具有以抽样频率为间隔的周期重复特性, 且以折叠频率即 1 2 抽样频率点 呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、 平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等 优点。数字滤波器在语言信号处理、 图像信号处理、 医学生物信号处理以及其他 应用领域都得到了广泛应用。数字滤波器有低通、高通、带通、带阻

14、和全通等类型。它可以是时不变的或 时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数 字滤波器,以及 FIR 滤波器 。2.2 数字滤波器的分类按功能分:低通、高通、带通、带阻、全通滤波器。按实现的网络结构或单 位抽样响应分: 无限脉冲响应滤波器 (IIR 滤波器) 、有限脉冲响应滤波器 (FIR 滤波器),其中 FIR 数字滤波器网络不存在反馈支路,其单位冲激响应为有限 长。Myn= bxxn k h(n) b0,n其,0他nnM(2-1 )k0IIR 数字滤波器网络存在反馈支路,即信号流图中存在环路,其单位冲激响应为 无限长。yn= bxxn kakyn k (2-2

15、)k 0 k 1另外,按线性系统它可以被分为线性与非线性, 按因果性分因果与非因果等。其中,线性时不变的数字滤波器是最基本的类型; 而由于数字系统可以对延 时器加以利用, 因此可以引入一定程度的非因果性, 获得比传统的因果滤波器更 灵活强大的特性; 相对于 IIR 滤波器, FIR 滤波器有着易于实现和系统绝对稳定 的优势,因此得到广泛的应用; 对于时变系统滤波器的研究则导致了以卡尔曼滤 波为代表的自适应滤波理论2.3 FIR 数字滤波器的数学模型设 N 阶 FIR 数字滤波器的单位采样响应为 hn (n =0,1, .N-1), 则其传递函数可表示为2-3)2-4 )N-1Hz= h(n)z

16、 n0则滤波器的频率响应为N1H(e jw )= h(n)en0设滤波器的理想频率响应为 H d(e jw),对其进行等间隔频率采样可得H d (e jw )| 2 k =H d (k)( 2-5 )wNH d(k) 被认为所设计滤波器的理想频率响应 ,公式( 2-5 )还可写成H d (k)= H d (e jw )| w 2 k( 2-6 )wN 采用频域均方误差作为设计 FIR 数字滤波器的最优化准则 , 误差值越小表明设计 效果越好。以 E F(e jw )表示理想频率响应与实际频率响应误差 , 即EF(e jw)= Hd(ejw)- H (ejw)(2-7 )在所有的抽样点上 , 可

17、以得到累积均方误差为EF= Hd(ejwi) H(ejwi)(2-8 )i1其中,M 为抽样点个数 , 公式(6 )可写作:M N 1 2EF= h(n)ejwin Hd(ejwi)(2-9 )i 1 n 0因此设计最优滤波器的目的就是解空间寻找一组 h(n)使得EF 最小。从滤波器 设计的工程角度而言确是应满足设计者设计指标的多约束优化问题 ,是在理想最 优解附近找到满足设计指标的滤波器系数。 由于局部极值的无限多特性及优化算 法求解的随机性 ,在高技术指标要求下如不对所求的系数进行约束 , 就不一定得 到设计者需要的滤波器系数 ,所以滤波器设计的目标函数应为有约束条件。2.4 FIR 数字

18、滤波器的网络结构2.4.1 FIR 滤波器的特点(1)系统的单位冲激响应是有限长的;( 2)系统函数在 |z|0 平面上,只有零点,没有极点,所有极点都在 z=0 处, 滤波器永远是稳定的;(3)结构上主要是非递归结构,但有些结构也包含反馈的递归部分,比如频率 采样结构。2.4.2 FIR 滤波器实现基本结构在讨论任何一种滤波器时, 都要着重分析其系统函数, FIR 滤波器的系统函数N1H ( z)h(n)z n为: n 0 。FIR 滤波器实现的基本结构有:1.横截型(卷积型、直接型)a. 一般 FIR 滤波器的横截型 (直接型、卷积型 )结构:N-1若给定差分方程为: y(n)= h(m)

19、x(n m) 。 则可以直接由差分方程得出 FIR m0滤波器结构如下图所示:x(n)111这就是 FIR 滤波器的横截型结构,又称直接型或卷积型结构。b. 线性相位 FIR 滤波器的横截型结构若 h(n) 呈现对称特性, 即此 FIR 滤波器具有线性相位, 则可以简化成横截型结 构,下面分情况讨论: N 为奇数时线性相位 FIR 滤波器实现结构如图所示:图 2-2 N 为奇数时 FIR 滤波器网络结构N为偶数时线性相位 FIR 滤波器实现结构如图所示图 2-3 N 为偶数时 FIR 滤波器网络结构我们知道 IIR 滤波器的优点是可利用模拟滤波器设计的结果, 缺点是相位是非 线性的,若需要线性

20、相位,则要用全通网络进行校正,比较麻烦,而 FIR 滤波器的优点是可以方便地实现线性相位。2级联型将 H(z) 分解为若干个实系数一阶或二阶因子相乘: LH(z) h0 (1 1,kz 1k1其中1 1,kz 1 2,kz 2为二阶基本节。图 2-4 FIR 滤波器级联型网络结构该结构图中有 2L=M 个延迟器, 2L+1=M+1 个乘法器, 2L=M 个加法器。 分析 H(z) 及结构图可以得出级联型的特点:每个基本节控制一对零点,便于控制滤波器的传输零点。H(z)中的系数比直接型多,因而需要的乘法器多,分解的因子越多,需要 的乘法器也越多。3.频率取样型若 FIR 滤波器的冲激响应为有限长

21、 (N 点 ) 序列 h(n) ,则有如图所示的关系:图 2-5FIR 滤波器中频率取样型 h(n) 和 H (K)关系式中 H(k)为频域采样值 ,H (z)是 h(n)的离散傅里叶变换, H(ejw )是 H (z)的频率响应, H(k)是H(ejw)N 等分抽样。因此,对 h(n) 可以利用 DFT 得到 H(k) ,然后利用内插公式:2-11 )来表示2L系=统M函个数延,迟这器就,为2LF+IR1=滤M+波1器个提乘供法了另器外,一2种L=结M构个:加频法率抽器样结构,这种结构由两部分级联而成:分析系统函数2-12 )特其点中:级可联以的第分一别部控分制为每:个子系统的零点这是一个梳

22、状滤波器,它滤掉了频率 及其各次谐波 级联的第二部分为 N 个一阶网络并联而成,第 k 个一阶网络为:2-13 )它在单位圆上有一个极点:这是一个谐振频率的 w=2 /N 无损耗谐振器。 这个谐振器的极点正好与梳状滤波器的一个零点 (i=k) 相抵消,从而使这个频率上的频率响应等于 H(k) 。这样,N 个谐振器的 N 个极点就和梳状滤波器的 N 个零点相抵消,从而在 N 个频率抽 样点上的频率响应就分别等于 N 个 H(k) 值。 有上叙的理论分析基础可以得到 FIR 滤波器的频率抽样结构FIR 滤波器的频率抽样结构如图所示:图 2-6 FIR 滤波器的频率抽样结构 频率抽样结构的特点是它的

23、系数 H(k) 就是滤波器在 w=2 /N 处的响应,因此控 制滤波器的频率响应很方便。频率抽样结构存在问题的问题是: 在有限长情况下, 系数量化后极点不能和零 点抵消,使 FIR 系统不稳定。解决方法:11在r 圆上进行(r1 但近似等于 1)取样,即用 rz 1 代替z 1 ,使极点和相应的零 点移到单位圆内。图 2-7 N 为偶数时的频率取样型修正结构2-15 )b)当 N 为奇数时频率抽样型结构如图所示。图 2-8 N 为奇数时的频率取样型结构2-16 )4.快速卷积结构若 FIR 滤波器的单位冲激响应 h(n) 是一个 N1 点有限长序列,输入 x(n) 是一 个 N2 点有限长序列

24、,那么输出 y(n)是 x(n)与 h(n)的线性卷积,它是一个 L N1+N2-1 点的有限长序列。我们知道,将 x(n)补上 LN2 个零值点,将 h(n)补上 LN1 个零值点,然 后进行 L 点圆周卷积,就可以代替原 x(n)与 h(n)的线性卷积。而圆周卷积可以用 DFT 和 IDFT 的方法来计算,这样我们得到 FIR 滤波器的快速卷积结构:图 2-9FIR 滤波器快速卷积结构这里 DFT 和 IDFT 都将采用快速傅里叶变换算法,当 N1 和 N2 足够长时, 比直接计算线性卷积要快得多。第 3 章 FIR 数字滤波器设计方法研究3.1 FIR 数字滤波器的设计原理FIR 滤波器

25、的系统输入输出差分方程为:N-1yn= h(k)x(n k)k0所以 FIR 滤波器的系统函数为:H(Z)=Y(Z)X(Z)N1h(n)Zn03-1 )H (z)是的(N- 1)次多由于FIR滤波器的单位脉冲响应 h(n) 是一个有限长序列, 项式,它在 Z平面上有 (N- 1)个零点,同时在原点有 (N - 1)阶重极点。因此, H(z) 永远稳定。 FIR滤波器设计的任务是选择有限长度的 h(n) ,使传输函数满足一定 的幅度特性和线性相位要求。由于 FIR 滤波器很容易实现严格的线性相位,所以 FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响 应。FIR 滤波器目前

26、常用的设计方法有窗函数法和频率采样法,窗函数法是从时域 进行设计,而频率采样法是从频域进行设计。 窗函数法由于简单、 物理意义清晰, 因而得到了较为广泛的应用。 窗函数法设计的基本思想是: 首先根据技术指标要 求,选取合适的阶数 N 和窗函数的类型 w(n) ,使其幅频特性逼近理想滤波器 幅频特性。其次,因为理想滤波器的 hd (n)是无限长的,所以需要对 h d (n)进行 截断,数学上称这种方法为窗函数法。jwaH d(ejw) e0 |w| wc时为e jwa ,wc w时为0(3-2)h d (n)=c jwa jwa ee wcdwsin wc ( n q) (n a)(3-3)h(

27、n)= h d(n)R N (n) (3-4) 其中是希望逼近的滤波器的单位脉冲响应, H d(ejw) 是希望逼近的滤波器的幅频 特性, h(n)是所设计的滤波器的单位脉冲响应, RN (n)是一个矩阵序列,长度为 N。在截断的过程中要保证 FIR 滤波器的稳定性与线性相位的特性。由于截断效 应使所设计滤波器的幅频特性存在误差, 称之为吉布斯效应。 最后,验证所设计 的滤波器是否满足要求,若不满足,重新设计。常用的窗函数有矩形窗、 三角窗、 汉宁窗和凯塞窗等。 窗函数的选择一般要满足 以下三个条件: (1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。 (2) 旁瓣幅度下 降速度要快,以利于增加阻

28、带衰减。 (3) 主瓣宽度要窄,以获得较陡的过渡带。3.2 几种常见的窗函数3.2.1 矩形窗矩形窗函数的时域形式可以表示为:1, 0 n N 1 w(n) RN (n)(3-5)0, 其他它的频域特性为:W ejN1j2N sin2sin(3-6)矩形窗使用最多, 习惯上不加窗就是使信号通过了矩形窗。 这种窗的优点是主 瓣比较集中,缺点是旁瓣较高, 并有负旁瓣, 导致变换中带进了高频干扰和泄漏, 甚至出现负谱现象。3.2.2 汉宁窗函数汉宁窗函数的时域形式可以表示为:w(k)0.5 1 cos 2n 1k 1,2, ,N(3-7)它的频域特性为:N10.5WR0.25 WR2N12N1(3-

29、8)其中, WR( )为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大旁瓣值比主瓣值低 31dB ,但是主瓣宽度比矩形窗函数的主 瓣宽度增加了 1 倍,为 8 /N 。汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减 小泄漏观点出发,汉宁窗优于矩形窗。 但汉宁窗主瓣加宽,相当于分析带宽加宽, 频率分辨率下降。3.2.3 海明窗函数海明窗函数的时域形式可以表示为w(k) 0.54 0.46cos 2N1k 1,2, ,N(3-9)它的频域特性为 :2W( ) 0.54WR ( ) 0.23 WR WR 2R R N 1R N 1(3-10)其中, WR( )为矩形窗函数的幅度频率特性函数。海明窗函数的

30、最大旁瓣值比主瓣值低 41dB ,但它和汉宁窗函数的主瓣宽度是 一样大的,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。3.2.4 三角窗函数三角窗是最简单的频谱函数为非负的一种窗函数三角窗函数的时域形式可以表示为:当n 为奇数时:w(k)2k , n 1 , 2(n k 1) n1n12kn(3-11)当n 为偶数时:2kn1,1kn2w(k)2(nnk1)n2, k nn2(3-12)它的频域特性为:2 N1N 1 sinj j 2 2 4WR eje 2N1sin2 (3-13)三角窗函数的主瓣宽度为 8 /N ,比矩形窗函数的主瓣宽度增加了一倍,但是它 的旁瓣宽度却小得多。3.2

31、.5 布莱克曼窗(3-14)增加一个二次谐波余弦分量, 可进一步降低旁瓣, 但主瓣宽度进一步增加, 增 加 N 可减少过渡带。频谱的幅度函数为:+0.04(3-15)3.3 各种窗函数的特征下表列出了各种窗函数主瓣和旁瓣的特征:窗函数主瓣频宽第一旁瓣相对主瓣衰减( dB )矩形窗-13汉宁窗-31海明窗-41三角窗-25布莱克曼窗-57表 3-1 各窗函数的特征表表中看出不同的窗函数主瓣频宽和第一旁瓣相对主瓣衰减都不一样, 不同窗函数 在这两方面的特点是不同的, 因此应根据具体的问题进行选择。 此外,主旁瓣频 率宽度还与窗函数长度 N 有关。增加窗函数长度 N 将减小窗函数的主瓣宽度, 但不能

32、减小旁瓣幅值衰减的相对值 (分贝数),这个值是由窗函数决定的。 例如: 绘制矩形窗函数的幅频响应,窗长度分别为: (1)N=10;(2)N=20;(3)N=50;(4)N=100 时的图形如下:图 3-1 不同窗函数长度的幅频响应由上图可以看出,随着 N 的增大,主瓣和旁瓣都变窄,但第一旁瓣相对主瓣 的幅值下降分贝数相同, 第二旁瓣相对第一旁瓣幅值下降的分贝数也相同。 然而, 随着 N 的增大,旁瓣数也增多,减少主瓣宽度和抑制旁瓣是一对矛盾,不可兼 得,只能根据不同用途折衷处理。3.4 FIR 数字滤波器的频率采样法设希望逼近的滤波器的频响函数用 Hd(ejw)表示,对H d(ejw)在 w=

33、0 到 2 之 间等间隔采样 N 点,得到 H d(k) :H d(k)=H d(ejw)| 2 k k=0,1,2, ,N-1(3-16)wN再对 Hd(k)进行 N 点 IDFT ,得到 h(n):1N1h(n)= 1 H d (k)WN knn=0,1,2 ,N-1(3-17)Nk0将 h(n) 作为设计的 FIR 滤波器的单位脉冲响应,其系统函数 H (z)为(3-18)N1H(z)= h(n)z n0另外根据频率域采样理论,利用频率域采样值恢复原信号 Z 变换的内插公式N1N 1 WNk z 1X(z)X(k) k (z)k0(3-19)X(k) 表示 X(z)的内插公式, k (z

34、) 称为内插函数。将 z=ejw 带入 k (z) 并进行 整理化简,可得N 12X(e jw )= X(k) (w 2 k) 称为频域内插公式 (3-20) k 0N利用内插公式 (3-20 )可表示为H(z)1-z N N 1 H d (k) N k 0 1 WNk z 13-21 )此式就是直接利用频率采样值H d (k) 形成滤波器的系统函数,3.5 利用窗口设计法设计 FIR 数字滤波器的过程:1、首先是给定所要求的频率响应函数 H d (ej ) ;2、其次,求单位冲激响应 hd (n) 1 H d (ej )ej nd ;23、再次,有过渡带宽及阻带最小衰减的要求,查表选定窗函数

35、及N 的大小,般 N 的大小要通过几次试探而后确定;4、求得所设计的 FIR 滤波器的单位冲激响应;h(n)(n)hd (n) ,n=0 ,1, ,N-1 ;5、求 H(ej )N1h(n)e j n ,检验是否满足设计要求,如不满足,则需要重新 n0设计。用框图表示如下:图 3-2 :用窗函数设计 FIR 滤波器的步骤第 4 章 FIR 数字滤波器的设计4.1 设计指标的确定(1) 低通滤波器设计指标逼近通带: 0,wp,通带最大衰减: a p dB;逼近阻带: ws, ,阻带最小衰减: a s dB.w p , wsRemezord 调用参数: f=( ),m=0,1,rip=1, ,2

36、其中,f 向量省去了起点频率 0 和终点频率 1, 1, ,2 分别为通带和阻带波纹幅 度(2) 高通滤波器设计指标:逼近通带:w p, ,通带最大衰减:a p dB;逼近阻带:0,w s;阻带最小衰减:asdB.Remezord 调用参数 :f=( ws , w p ),m=0,1.rip= ,2, 1(3) 带通滤波器设计指标逼近通带: w p1,w pu 通带最大衰减: a p dB; 逼近阻带: 0,w s1 ,w su , 阻带最 小衰减: a sdBRemezord 调用参数 :f=( ws1 , w p1,wpu ,wsu ),m=0.1.0,rip=,2, 1, ,2(4)带阻

37、滤波器设计指标逼近通带: w s1, w su ;通带最大衰减: a sdB 逼近阻带: 0, w p1w pu , 阻带最 小衰减: a p dB;Remezord 调用参数 :f=( p1 ,ws1 ,wsu , pu ),m=1,0,1,rip= 1, ,2, 1,4.2 滤波器类型的选择一般主要运用 FIR 和 IIR 两种滤波器, 现在来分析下各自的优缺点。 从性能上 来说, IIR 滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是 在单位圆内。 因此可用较低的阶数获得高的选择性, 所用的存储单元少, 计算量 小,效率高。但是这个高效率是以相位的非线性为代价的。选择性越好

38、,则相位 非线性越严重。 FIR 滤波器传递函数的极点固定在原点,是不能动的,它只能靠 改变零点位置来改变它的性能。 所以要达到高的选择性, 必须用较高的阶数; 对 于同样的滤波器设计指标, FIR 滤波器所要求的阶数可能比 IIR 滤波器高 5-10 倍,结果,成本较高,信号延时也较大;如果按线性相位要求来说,则 IIR 滤波 器就必须加全通网络进行相位校正, 同样要大大增加滤波器的阶数和复杂性。 而 FIR 滤波器却可以得到严格的线性相位。从结构上看, IIR 滤波器必须采用递归结构来配置极点,并保证极点位置在单 位圆内。由于有限字长效应, 运算过程中将对系数进行舍入处理, 引起极点的偏

39、移。这种情况有时会造成稳定性问题,甚至产生寄生振荡。相反, FIR 滤波器只 要采用非递归结构, 不论在理论上还是在实际的有限精度运算中都不存在稳定性 问题,因此造成的频率特性误差也较小。此外 FIR 滤波器可以采用快速傅里叶 变换算法,在相同阶数的条件下,运算速度可以快得多。另外,也应看到, IIR 滤波器虽然设计简单,但主要是用于设计具有分段常数 特性的滤波器, 如低通、高通、带通及带阻等, 往往脱离不了模拟滤波器的格局。 而 FIR 滤波器则要灵活得多,尤其是他易于适应某些特殊应用,如构成数字微 分器或希尔波特变换器等,因而有更大的适应性和广阔的应用领域。从上面的简单比较可以看到 IIR

40、 与 FIR 滤波器各有所长,所以在实际应用时应 该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合, 如语言通信等,选用 IIR 较为合适,这样可以充分发挥其经济高效的特点;对于 图像信号处理, 数据传输等以波形携带信息的系统, 则对线性相位要求较高。 如 果有条件,采用 FIR 滤波器较好。当然,在实际应用中可能还要考虑更多方面 的因素。不论 IIR 和FIR ,阶数越高,信号延迟越大; 同时在 IIR 滤波器中,阶数越高, 系数的精度要求越高, 否则很容易造成有限字长的误差使极点移到单位园外。 因 此在阶数选择上是综合考虑的4.3 滤波器阶数和系数的确定窗函数的长度就是

41、滤波器的阶数, 滤波器的系数和窗函数的长度没有必然的关 系,它至于滤波器的截止频率、过渡带、阻带内的衰减等有关。4.3.1 kaiserord 函数其调用格式为n,Wn,beta,ftype=kaiserord(f,a,dev)n,Wn,beta,ftype=kaiserord(f,a,dev,fs)C=kaiserord(f,a,dev,fs, cell ) 该函数返回值在函数 b=fir1 (n ,Wn ,kaiser ( n+1 ,beta ),ftype ,noscale ) 中需要使用的阶数 n 、归一化频带边缘 Wn 、kaiser 窗函数 beta 、滤波器类型 ftype 的估

42、计值。所设计的滤波器近似满足由输入参数 f、a 和 dev 给定的性能。 F 为频率向量, a 为 f 定义的各频带的理想频率响应幅值, f 的长度是 a 的 2 倍 减去 2(是偶数),第一频带的起始频率为 0 ,最后一个频带截止频率为 fs 。向 量 dev 的各元素分别是各频带允许的最大偏移量。而 c=kaiserord (f,a,dev,fs,cell )返回的是向量组,用于 fir1 函 数的参数。4.3.2 remezord 函数remezord 函数为 remez 函数选择滤波器阶数,在给定频域中的性能指标后, remezord 可产生近似的满足指标的最小阶数。函数调用格式如下:

43、 n ,fo,ao,w=remezord (f,a,dev ) n ,fo,ao,w=remezord (f,a,dev ,fs) c=remezord (f,a,dev,fs,cell )该函数能找出近似阶数 n 、归一化频率边界 fo 、频带内幅值 ao 、以及权向量 w ,使由 remez 函数构成的滤波器满足参数 f、a、dev 指定的性能要求。 f 为频 率向量,长度是参数 a 的 2 倍减去 2(是偶数),而 a 为 f 各频带理想频率响应 的幅值,向量 dev 的元素分别是各频带允许的最大偏差。估计函数还包括 buttord 、cheblord 、cheb2ord 、ellipo

44、rd 、kaiserord 、firpm , 它们分别用于各自不同类型的滤波器的阶数估计。第 5 章 基于 Matlab 的 FIR 滤波器设计实例及仿真5.1 FIR 高通滤波器的设计及仿真用窗函数设计法,阻带达到最小衰减 75dB 根据要求,选择布莱克曼窗,窗函 数长度为: N=5.98fs/ 过渡带宽度 =5.98*50/12=24.9 ,可得出需要阶数 N=25 根据设计指标:阻带边缘频率 10kHz ,通带边缘频率 22kHz ,阻带衰减 75dB , 采样频率 50kHz 。可以确定相对应的数字滤波器指标:f1= 通带边缘频率 -(过渡带宽度 )/2=22000-12000/2=1

45、6kHz,通带截止频率: 1=2 f1/fs=0.64 ,阻带最小衰减:S=75dB 。程序代码 clear; close all;n=25;wnz=0.64; window=blackman(n);b=fir1(n-1,wnz,high,window);figure; freqz(b,1);%不同频率成分 f1=1/30;f2=1.4;T=1;% 采样间隔n=0:T:400;% 采样间隔 T=1: 采样频率 fs=1/T=1 fs=1/T;kf=fs/2;% 采样频率的一半 .用于设计呼指标归一化x=sin(2*pi*f1*n)+(cos(2*pi*f2*(n-2)/6;% 产生输入信号 x

46、k=fft(x);% 输入信号的频谱分析y=filter(b,1,x); yk=fft(y);figure;subplot(2,1,1); plot(n,abs(xk);subplot(2,1,2); plot(n,abs(yk);仿真结果和分析图 5-1 所设计的高通滤波器幅频特性曲线图 5-2 所设计的高通滤波器相频特性曲线图 5-3 滤波前效果图 5-4 滤波前后效果分析:从 MATLAB 仿真图和 CCS 环境下 DSP 的滤波结果对比, 都达到了高通滤波的效果。较为理想。5.2 用窗函数法设计一个线性相位 FIR 低通滤波器用窗函数法设计一个线性相位 FIR 低通滤波器,并满足性能指

47、标 :通带边界频 率 Wp=0.5*pi, 阻带边界频率 Ws=0.66*pi, 阻带衰减不小于 40dB, 通带波纹不 大 3dB 。分析:因为阻带衰减不小于 40db ,选择汉宁窗。程序代码如下:design FIR filter with windowswp =0.5*pi;ws=0.66*pi;wdelta =ws-wp;N= ceil(8*pi/wdelta)if rem(N,2)=0N=N+1;endNw =N;wc =(wp+ws)/2;n =0: N-1;alpha =(N-1)/2;m =n-alpha+0.00001;hd =sin(wc*m)./(pi*m);win =(

48、hanning(Nw);h=hd.*win;b=h;freqz(b,1,512)图 5-5 滤波器的幅度和相位响应特性仿真结果 分析:从图中可以看书所设计滤波器的幅度响应符合设计要求, 且相位响应满足 线性相位5.3 FIR 带通滤波器的设计及仿真用窗函数设计 FIR 带通滤波器,性能指标如下:通带下限截止频率fc1=100HZ ,通带上限截止频率 fc2=200HZ ,采样频率为 1000HZ ,阶数为 81 ,最小阻带衰减 As=-70dB 。分析:从表 1 可以看出凯泽窗能提供 74dB 的最小阻带衰减,所以选用凯泽 窗进行设计,程序主要部分如下:M=81;fc1=100fc2=200f

49、s=1000wc1=2*pi*fc1/fs;wc2=2*pi*fc2/fs;alpha=(M-1)/2;n=0:1:(M-1)m=n-alpha+eps;hd=sin(wc2*m)-sin(wc1*m)/(pi*m)w_han=(hanning(M) ;h=hd.*w_han H,w=freqz(h,1,1000, whole );H=(H(1:501) ;w=(w(1:501) ;mag=abs(H); db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(h,1,w);delta_w=2*pi/1000subplot(221);st

50、em(hd);text(-25,0,3, 理想冲击响应 );grid on;axis(0 M-1 -0.1 0.3);ylabel( hdn );subplot(222);stem(w_han);text(-20,1,汉宁窗 );grid on;axis(0 M-1 0 1.1);ylable(wn );subplot(223);stem(h);text(-25,0.3, 实际冲击响应 ) ;grid on;axis(0 M-1 -0.1 0.3);ylable( hn );subplot(224);plot(w/pi,db);text(-0.3,0, 衰减幅度 );grid on;axis(

51、0 1 -100 0);ylabel(Hw );程序运行结果如图所示图 5-6 凯泽窗设计的 FIR 带通滤波器的响应程序结果如图 5-4 所示,滤波器长度为 81 ,最小阻带衰减为 -80dB ,满足设 计要求。如果不考虑最小阻带衰减, 也可用另外五个窗函数设计, 只需修改程序中的加 窗函数即可。矩形窗程序修改如下: w_box=(boxcar(M);h=hd.*w_box;图 5-7 矩形窗设计的 FIR 带通滤波器的响应 程序结果如图 5-5 所示,滤波器长度为 81 ,最小阻带衰减为 -21dB 三角窗程序修改如下: w_tri=(triang(M);h=hd.*w_tri;图 5-8

52、 三角窗设计的 FIR 带通滤波器的响应程序结果如图 5-6 所示,滤波器长度为 81 ,最小阻带衰减为 -25dB 汉宁窗程序修改如下: w_han=(hanning(M);h=hd.* w_han图 5-9 汉宁窗设计的 FIR 带通滤波器的响应程序结果如图 5-7 所示,滤波器长度为 81 ,最小阻带衰减为 -44dB 海明窗程序修改如下: w_ham=(hamming(M);h=hd.*w_ham;程序结果如图 5-8 所示,滤波器长度为 81 ,最小阻带衰减为 -53dB 。第 6 章 结论作为强大的计算软件, MATLAB 在滤波器设计方面还提供了编写图形用户界 面的功能。 MAT

53、LAB 语言进行程序设计和利用信号处理工具箱的 FDATool 工 具进行界面设计可以随时对比设计要求和滤波器特性调整参数, 直观简便,极大 的减轻了工作量, 有利于滤波器设计的最优化。 还可在 MTLAB 环境下的仿真软 件 Simulink 对所设计的滤波器进行模拟仿真。而 FIR 数字滤波器在数字处理 领域有非常重要的地位, FIR 滤波器能严格做到线性相位或群延时为常数, 而 IIR 滤波器只能逼近线性相位。 FIR 滤波器是全零点型滤波器,总是稳定的,不会因 滤波运算的舍入误差而产生极限环振荡现象对同样幅度相应的滤波器,用 FIR 滤波器实现比用 IIR 滤波器实现需要较高的阶数,

54、多达 510 倍。当滤波器的特 性要求较高时,用 FIR 滤波器来实现,滤波过程需要较多的计算时间。相信随 着 MATLAB 版本的不断提高, MATLAB 在数字滤波器技术中必将发挥更大的 作用。同时,用 MATLAB 计算有关数字滤波器的设计参数,如 H(z)、h(n) 等, 对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。而且温习了一些以前学到经历了半学期的毕业设计, 我学到了很多新的东西,的东西,并把它们联系起来,对我的帮助很大。参考文献1 武晓春 FIR 数字滤波器的 Matlab 设计J 甘肃科技纵横, 2005 ,34(1) : 23 ,171 2 王宏 Matlab

55、6 5 及其在信号处理中的应用 M 北京:清华大学出版社, 2004 3 黎雄数字滤波器的最优化设计及实现 J 信息技术 2004(10) 4 苏玉萍,基于 MATLAB 的FIR 滤波器设计 J ,中国科技信息, 2008 年第 8 期, 20088 年4 月, pp144-1455 侯志荣,吕振萧 基于雷米兹交换算法设计 FIR 滤波器J 2003(02) 6 李春宇用Matlab 设计 FIR 数字滤波器 J 淮阴工学院学报 2005,14(1) 7 王宽福函数带权的最佳逼近多项式的存在唯一性定理 J 科学技术与工程 2009(5) 8 李国林切比雪夫最佳一致逼近法及误差函数特性研究J 西华师范大学学报(自然科

温馨提示

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

评论

0/150

提交评论