巴特列特窗的matlab代码,基于MATLAB的FIR数字滤波器设计与优化分析

本文详细探讨了使用MATLAB进行FIR数字滤波器的设计与优化,包括窗函数设计法、频率采样法以及基于雷米兹算法的最优设计法。分析了各种滤波器的特性,如线性相位、过渡带宽度、阻带衰减等,并通过MATLAB工具进行仿真,展示了不同设计方法的滤波器性能。此外,还讨论了滤波器设计的优化准则,如均方误差最小化和最大误差最小化,以及加权滤波器设计。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif基于MATLAB的FIR数字滤波器设计与优化分析

编 号: 审定成绩: 毕业设计(论文) 设计(论文)题目:基于MATLAB的FIR 设计与优化分析 学 院 名 称 :学 生 姓 名 :专 业 :班 级 :学 号 :指 导 教 师 :答辩组 负责人 : 填表时间:年 月 摘要 本设计研究是基于MATLAB的FIR数字滤波器设计。文章中将围绕滤波原理,滤波器设计方法进行相关讨论。除了实现符合理想设计要求的多类FIR滤波器的之外,还会通过设计仿真的结果,评估每种滤波器的优劣性和使用环境。实现对FIR滤波器的全面了解。 本文中主要涉及到的FIR滤波器设计方法包括窗函数设计法,频率采样法和基于雷米兹算法的最优设计法。简单介绍了最小二乘法,升余弦函数设计法和任意响应设计法等。在每种设计方法中,都对原理、设计要求、设计步骤、选择特性、最优处理以及相关工具函数等进行了详细介绍。在滤波特性上做了比较,并且还进行了阶数的评估。力求突出FIR滤波器的线性相位,脉冲响应有限,运算方便,稳定性好等优点。通过对FIR滤波设计的深入探讨,侧面突出了FIR数字滤波器滤波功能的实践意义。同时,在完成滤波器设计和分析的过程中,采用的MATLAB工具软件。除了详细介绍相关滤波器实现函数之外,还特别使用了其自带的simulink仿真平台。对输入输出过程有更直观的展示,突出了MATLAB功能强大。 通过FIR数字滤波器设计的相关介绍,厘清各类特性,方便面对不同要求的滤波指标,选择最佳设计方案。 【关键词】 滤波器 MATLAB FIR ABSTRACT The design is study of digital filter based on MATALBA. In the article, we will discuss about the theory of filter and how to achieve it. It will present variety types of FIR filter design which meet the ideal requirements. By using the simulation plat to uate the characteristics of every design and understand the most suitable occations. Objective is to achieve a comprehensive understanding of the filter The paper mainly relates to window function,design , frequency sampling design and Chebyshev equality ripple. Least squares design , Raised cosine function design , any corresponding design are also introduced. Every kind of design are explained in detail about its requirements, steps, select properties and optimal treatment. Comparing of characteristics and uate the order, strive to outstand FIR filter’s advantage. It contains variety feature just like, stability, have strict linear phase and limited corresponding. Based on the discuss of FIR filter design, highlight the importance of digital filter design and the significance of its application. MATLAB is used in every design. Include its toolbox and Simulink plat. To show the and output process more significance. Outstanding the powerful of the MATLAB. Through the detail introduce of FIR digital filter design, clarify the characteristics. It is convenient to make the right choice of when face the different situation. 【Key words】 filters MATLAB FIR 目 录 前 言1 第一章滤波器的基本概念2 第一节滤波器简介2 第二节滤波器的频率响应4 第三节滤波器的技术指标6 一、滤波器的技术指标及表示方法6 二、四种选频滤波器的技术指标6 第四节滤波器的系统特性6 第二章模拟滤波器设计分析8 第一节滤波器逼近的一般方法8 第二节巴特沃思滤波器实现与分析9 第三节切比雪夫滤波器实现与分析10 第四节其他滤波器的实现与分析12 一、贝塞尔滤波器12 二、椭圆滤波器13 第三章FIR滤波器主要设计方法分析14 第一节FIR滤波器的基本概念14 一、FIR滤波器特点归纳:14 二、FIR的网络结构14 三、FIR滤波器的线性相位16 第二节窗函数设计FIR滤波器分析19 一、窗函数设计思想19 二、窗函数简介21 三、窗函数不同窗体之间的设计分析比较24 四、基于窗函数的FIR滤波器线性相位分析28 五、窗函数实例设计步骤分析29 第三节频率采样法设计FIR滤波器实现与分析31 一、频率采样法基本概念31 二、频率采样法设计滤波器分析32 第四章 FIR滤波器优化设计的实现与分析36 第一节设计FIR滤波器的优化准则分析36 一、均方误差最小准则36 二、最大误差最小化准则37 第二节基于不同设计法的FIR滤波器分析38 一、一般加窗线性相位FIR滤波器设计函数fir1和fir238 二、基于firls和remez函数的最优滤波器设计39 三、FIR滤波器约束最小二乘法设计42 四、FIR滤波器升余弦函数设计法43 五、FIR滤波器任意频响设计法44 六、FIR滤波器N值确定与相关函数45 七、FIR滤波器不同设计方法的总结比较46 第三节三种常见设计法的比较47 第四节MATLAB仿真49 一、仿真平台简介49 二、仿真设计及分析50 结 论54 致 谢55 参考文献56 附 录57 一、英文原文:57 二、文:63 三、源代码:68 前 言 滤波器,是工程电子技术领域中被广泛应用的元器件。其效果就是按照具体的理论指标,将输入信号进行修改得到理想的更加具有实际应用意义的输出信号。伴随着数字信号逐渐替代模拟信号的潮流趋势,我们理应更加关注数字滤波器的设计方法。数字信号处理的应用极其广泛,如在通信、控制、仪器、仪表、电力系统、电力电子、机械力学、生物医学工程等领域。 面对不同设计背景和应用领域,可以将数字滤波器分为两大类型,即IIR和FIR滤波器。由于FIR滤波器的稳定性好,具有严格的线性相位且可以利用快速傅里叶变换算法实现信号过滤,同时又可以具备任意具有任意相位的幅度特性,所以它在高保真的信号处理中占据重要位置,例如数字音频、图像处理、生物医学等领域。本文重点介绍FIR滤波器的设计。 在具体接触FIR滤波器设计之前先介绍离散信号的特点,滤波器的基本概念和要求。简单讨论模拟滤波器的几种设计方法。以求滤波器介绍的完备。 同时贯穿本文设计的是MATLAB实验平台。由于其交互式的程序语言,基于矩阵的强大科学计算能力和仿真平台,MATLAB称得上是21世纪里最重要的几种编程语言之一。设计中,我们将充分利用MATLAB的信号处理工具箱,以及simulink仿真平台设计实现不同方法之下的滤波器设计,完成性能指标的仿真测试。突出滤波器的应用意义。 滤波器的基本概念 滤波器简介 在通信这个大背景之下,信号在传输的过程中会受到很多因素的影响,例如多径衰落,噪音干扰,远近效应,甚至只是简单的电平衰落。这些复杂的环境,会严重干涉信号的正常传输。对某些系统而言,如果不对自然传输的信号加以处理,会使得有效信息产生较大的误差。所以,如何保证信息传输的有效性,成为信息处理的一个关键问题。滤波器就是这个环节中非常重要的一个组成部分。它的作用就是阻隔干扰信号,无用信号,使之相对有用信号更大幅度的衰减,最大可能实现滤波,达到系统要求的理论理想效果。 滤波器的实现 滤波器可以是软件也可以是硬件。除去滤波的特别作用不谈,其实它也只一个信号处理的系统。站在系统的角度,在设计中需要考虑很多因素,例如稳定性等。设计方法,也基于信号与系统的理论前提。伴随数字系统的优势逐日显露,滤波器大多也是数字滤波器,它可以用以下函数来: (1- 1) 简单来看,数字滤波器的功能,就是把输入序列x n 通过一定函数运算变换成输出序列y n ,满足映射关系。 实际设计中,需要先明确滤波器的使用要求,然后确定滤波器的技术指标,从而开始设计。归纳起来,滤波器实现的过程包括四个一般步骤: 确定逼近函数:设计能够满足理想技术指标的转换函数。 实现方程:将转换函数对应为滤波网络中对数字序列进行运算的方程或相应的系数向量组。 研究缺陷:研究实际中非理想因素的影响,如采样值是否超出存储的有限字长等问题。并做出相应的改进或转变,以求最大程度的逼近理想效果。 产品实现:使用一定的硬件设备,例如DSP处理器甚至是普通计算机,能够满足专用运算来构建滤波器,它的优点是可以进行实时的处理。当然也可以直接通过软件和专用的数字信号处理芯片来实现。这与实际背景有关。 本文只涉及到滤波器逼近函数的相关内容,从理论上认识和探讨一系列逼近函数和对应理想滤波器的差距。利用MATLAB仿真平台实现设计分析,达到认识和总结的目的。 滤波器的分类 滤波器种类繁多,不同的角度也会造成分类方法的不同。可以从功能、实现方法或者是设计方法上来分类等。 大方向上,滤波器可以分为模拟滤波器和数字滤波器。模拟滤波器涉及到电阻,电容,电感等元器件的应用;实际中数字滤波器的应用相对广泛。 从滤波效果:能通过的信号频段可以分为低通(Lowpass)、高通(Highpass)、带通 Bandpass 和带阻滤波器(Bandstop)四种。 从硬件组成和应用来看,滤波器种类繁多,有源滤波器,自适应滤波器、复数滤波器以及多维滤波器等。 总的来讲还可以分为两大类,就是经典滤波器和现代滤波器。如果信号和噪声处于不同的频带,则滤波器具有较好的滤波选频就可以达到理想的效果但是如果信号噪声并没有从频率上区分开来传统的选频滤波器就无能为力了。另一类通过对随机信号的统计特性进行滤波的现代滤波器就可以满足这种要求。利用自相关函数功率谱估计出来的信号可能比原来具有更高的性噪比。维纳滤波器卡尔曼滤波器自适应滤波器都属于现代滤波器。本文介绍的滤波器无论是原理还是应用上都只涉及到传统经典滤波器。主要从滤波的算法上寻优。 从实现方法上,数字滤波器还可以分为IIR和FIR,即无限冲激响应滤波器和有限冲激响应滤波器。FIR滤波器应用比较而IIR滤波器则用在相位要求不是很严格的场合。此处简要的分析一下。IIR滤波器相对,的极点可以处于任位置,会引起系统的不稳定。并且反馈回路。它的优势在于要求的阶数比FIR的低,可以借助模拟滤波器的成果, 采样定理 在讨论的滤波器认识之前,简要介绍采样定理。重要性在于它是数字信号理论研究方法的理论基础。 自然产生的信号一般都是连续的,如果选用数字系统(如计算机)来处理信号,就会涉及到数字信号和模拟信号的相互转化。在模数转化(A/D)之前,必须选择采样的周期和量化的电平数。选择错误会产生严重误差并丢失信息。采样定理给出了正确选择采样周期T的准则。对频率为的连续正弦信号采样时,采样定理要求采样频率应大于的两倍: (1- 2) 连续信号可以看做是由一个或多个正弦信号组成,假设其最高频率是,如果采样是最高频率的两倍或两倍以上,则正弦信号可以通过等间隔的样值来唯一表示。当采样序列通过一个对的正弦信号有抑制作用的系统时,原始连续信号就可以由采样序列重建。 由上可知最小采样频率是,采样频率的一半被定义为奈奎斯特频率(Nyquist frequency),也被叫做折叠频率,它的最小值其实也就是奈奎斯特频率。如果抽样信号的频率小于最小抽样频率但大于奈奎斯特频率,经采样成为离散信号后,就有小于奈奎斯特的信号混入,混入频率的出现就仿佛有两个信号存在,一个频率是,另一个是。在实际应用中,通常选择采样频率为信号频率最大值的4倍。 利用采样定理正确提取数字信号成为数字系统分析和实践的基础。 滤波器的频率响应 在理论分析中,理想滤波器只能分析不能真正的实现。因此,实际中干扰信号的幅度并不严格要求为零,只要不超过一定门限就可。同样,幅频特性曲线也不必在截止处特别陡峭。理论证明,物理可实现滤波器,其系统函数的实部和虚部具有不可分割的依从关系,所以实际的滤波器不能同时满足幅度和相位的要求。 在滤波器具体的设计中,已知逼近函数具备一定的对称特性。幅度角频率是偶对称,相位函数满足的奇对称,为了研究方便就只考虑 为正值时的频率响应。 在描述幅度特性以及滤波特点时,幅度函数在范围内低于某值很小时,则称为阻带。同理当幅度在内相对较大且变化范围较小则称为通带。此外,还定义了过渡带 图示的方式帮助我们更加直观的描述各类不相同频带的滤波器如下:低通滤波器的幅频响应曲线如图1-1(a所示,可以看出它的通带为,阻带范围,过渡带就是,其中p称为通带(截止)频率,s称为阻带(截止)频率。幅度函数的单调性与是否为通带或阻带没有直接关系。在研究中还会涉及到通带与阻带的相对变化量,我们将定义通带内最大值与最小值之差为通带波纹,用Ap表示,定义通带内的最大值(也可为通带内的其他值)与阻带内最大值之差dB值为阻带衰减,用As表示,Ap和As都以分贝度量,为正值。 若|H j |的最大值为1,通带和阻带的变化量分别为 p和 s(见图1-1(b)),根据Ap和As的定义,则有 (1- 3) 高通滤波器的通带为,阻带为,如图1-1 c 所示。带通滤波器的幅频响应曲线如图1-1 d 示。为通带频率,为阻带频率。带阻滤波器的幅频曲线如图1-1 e 示。 图1- 1滤波器的幅频特性 滤波器的技术指标 滤波器的技术指标及表示方法 设计中确定了实际需求就需要确定技术指标。具体的,滤波器的技术指标可用以下几种方式来表示: 幅度范围定义了通带的最小幅度和阻带的最大幅度。 幅度容限值指定通带幅度减小最大值和阻带幅度的最大值 幅度纹波容限描述了通带内幅度变化最大量和阻带内幅度变化最大量。 衰减范围用dB表示,指定通带内的最大衰减和阻带内的最小衰减。 增益范围用dB表示,通带内最小增益恶化阻带内最大增益。 四种选频滤波器的技术指标 低通滤波器的技术指标: 1,0 0.3; 0,0.3 。 带通滤波器的技术指标: 0,0 0.4; 1;0.4 0.6; 0,0.6 。 高通滤波器的技术指标: 0,0 0.7; 1,0.7 。 带阻滤波器的技术指标: 1,0 0.3; 0;0.3 0.7; 1,0.7 。 滤波器的系统特性 已知在滤波器的设计的过程中,我们需要考虑信号与系统中所要求的很多因素,例如稳定性等。现在来具体介绍数字滤波器的系统特性。 稳定性 稳定系统是系统只要没有外部源的激励,就能保持静止状态没有输出。或者输入有界输入即输入值在任意时刻都小于某一有限值,输出也能呈现有界性。这样的系统被称作稳定系统。考虑到系统的稳定性提供了性能实用性等方面的影响,故它也是系统设计中的一个主要的问题,因此有必要通过确定特定系统参数值的范围来确定系统稳定性。 时不变性 如果输入信号的时移会引起相同的输出信号的时移就叫做时不变系统。用数学表达的方式,即如果输入产生输出,则输入产生。也就是说,在这种系统中,任意时刻输入的信号,输出的都是同一个波形。也可以说,输入延迟秒,输出也保持同样的延迟步调,这个系统就是时不变的。同理,对于离散时间系统而言,要想时不变就需要满足输入信号产生对应输出信号。时不变系统的特性和参数不随时间变化,这一点在差分方程中表现的尤为明显。相反,非时不变的系统称为时变系统。 线性 首先介绍叠加原理:几个输入同时作用于系统,其响应等于每个输入单独作用于系统的响应之和。具体的,如果系统满足: 叠加性:输入产生输出,输入产生输出,那么对所有的输入和有,输入 + 产生输出 + 。 齐次性:输入产生输出,同时对任何输入及任何常数a,都有输入ax t 得到的输出为ay t 。 同时满足叠加性和齐次性的系统被称作线性系统。线性时不变系统可以用它的单位脉冲响应来表征。其输入输出的描述法通常采用线性常系数差分方程。 这类系统对输入信号的响应可以通过求取输入系统的冲击响应的卷积得到。用卷积运算求解LTI系统的响应时并不容易,系统真实情况也不能很好地反映。 因果性和最小相位系统 如果系统以时间为自变量,输出仅与现在和过去的输入有关,就叫做因果系统。即y t 仅取决于x t 在的值。相反如果和未来有关是在实际中是不可能实现的,这类系统被称作是非因果系统。 为了实现滤波器设计实际总就必须保证系统的可实现性,所以必须为因果系统。如果一个因果稳定的线性时不变系统,它的系统函数H z 所有的零点都在单位圆内则称其为最小相位系统。相反,如果零点都在单位圆之外是最大相位系统。最小相位系统的相频特性,其相角变化范围是最小的。 模拟滤波器设计 滤波器逼近的一般方法 模拟滤波器基于连续时间系统,在频谱变换中采用变换。已知滤波器设计的首要任务就是要确定满足技术指标要求的系统函数,系统函数必须是物理可实现的,也就是要满足因果性和稳定性。为此系统就必须满足一下几个条件: ①是s的实系数有理函数,也就是滤波器的单位脉冲响应是实函数 ②的极点必须全部位于s平面的左半平面。 ③的分子多项式的阶数必须小于分母多项式的系数。 由上推论可得,滤波器的频率响应满足 (2- 1) 由于系统函数H s 是s的有理函数,则H s H -s 是s2的有理函数,所以|H j |2必为的有理函数。并且在滤波器逼近函数问题中,一般由|H j |2确定H s 。 在模拟滤波器中通常用一些逼近函数进行设计,常见的逼近函数有:巴特沃思逼近,切比雪夫(I和II型)逼近,椭圆逼近,贝塞尔逼近。图2-1给出了几种逼近函数设计的低通滤波器幅频特性,他们具有相同的阶数和波纹要求。 a ?巴特沃思滤波器? ? b 切比雪夫I型滤波器 c ?切比雪夫II滤波器? d 椭圆滤波器 图2- 1几种逼近函数的幅频特性 从图中观察可以得知,在相同的阶数和波纹要求之下,椭圆滤波器的选择性相对最优,它的过渡带也相对更窄,带外抑制更加陡峭。其次是切比雪夫滤波器,最后才是巴特沃思滤波器。切比雪夫的两种类型所变现出的波纹和单调型出现频带相反也从图中明显观察得知。 巴特沃思滤波器 巴特沃思逼近 巴特沃思(Butterworth)低通滤波器的平方幅度响应函数为: (2- 2) 式中: N为滤波器的阶数,通带频率取为1rad/s。 由2-2式可计算出:rad/s时,;rad/s时,;也就是说在通带频率处衰减约3dB。故有时也称巴特沃思滤波器3dB通带频率为1rad/s;时,。 阶数N值和其他参数的关系可被归纳为: (2- 3) 巴特沃思系统函数的特点可以被总结为以下几点:它的分母多项式如表2-1所示。 阶数N越高,特性越接近于矩形,过渡带越窄。 通带没有波纹,其频率响应随着频率增大而平滑单调下降。 在通带内具有最大平坦特性。传递函数无零点。 缺点是从通带到阻带的过渡较大。 表2- 1巴特沃思低通滤波器分母多项式的系数 Na1a2a3a4a521.41421432.0000002.00000042.6131263.4142142.61312653.2360685.2360685.2360683.23606863.8637037.4641029.1416207.4641023.863703 巴特沃思滤波器 在MATLAB信号处理工具箱中巴特沃思滤波器函数调用格式如下:[z,p,k,] buttap(n)式中:n为巴特沃思滤波器的阶数,z,p,k分别为滤波器的零点、极点和增益。设计中还涉及到[num,den] zp2tf z,p,k 函数,它是传递函数(transfer function),num为分子多项式的系数,而den是分母多项式的系数。 设计并产生一个25阶低通滤波器原型,其实现的MATLAB程序代码如下: [Z,P,K] buttap 25 ;[num,den] zp2tf Z,P,K ;freqs num,den ;运行程序效果如图2-2示: 图2- 2巴特沃思模拟滤波器特性图(n 25) 图2- 3巴特沃思低通滤波器幅频响应曲线 从图2-2中可以明显观察得知,巴特沃思模拟滤波器不具备线性相位。再者设计并绘制阶数分别为3、5、10、15的巴特沃思滤波器的幅频响应曲线。其实现的MATLAB程序代码见附录代码2-1,运行程序幅频响应绘制曲线如图2-3所示。从图中可论证,阶数N越大,滤波效果越接近理想值矩形过渡带越窄。无论是在通带还是阻带内都是频率单调函数 切比雪夫滤波器 切比雪夫逼近原理 切比雪夫低通滤波器幅度函数的平方为 ?(2- 4) 式中是N阶切比雪夫多项式,定义为 (2- 5) 阶数N的关系为: (2- 6) 表2- 2切比雪夫分母多项式的系数() Na1a2a3a4a5a620.6449000.70794830.5972400.9283480.25059440.5815801.1691180.4047680.17698750.5745001.4150250.5489370.4079660.8>06264960.5706981.6628480.6906100.6990980.1634300.044247 切比雪夫(Chebyshev)的幅频特性在在一个频带内等波纹变化,在另一个频带内单调衰减。如果在通带内等波纹,在阻带内单调,是切比雪夫I型,还有一种刚好相反,在通带内单调,在阻带内有等波纹,就是切比雪夫II型。根据应用来加以选择。但是,在阶数N相同的条件下,切比雪夫滤波器比巴特沃思滤波器具有更好的衰减特性。但是该传递函数既有零点又有极点。 切比雪夫滤波器 在MATLAB中提供cheb1ap和cheb2ap函数实现该类滤波器的设计,分别指I和II型。其调用格式如下:[z,p,k] cheb1ap n,Rp 和[z,p,k] cheb2ap n,Rs 。其中:n,z,p,k的意义和上面巴特沃思相同;Rs指阻带波纹系数Rp为通带波纹系数。 绘制切比雪夫I型和原型模拟滤波器的平方幅度响应曲线,阶数N分别为2,4,6,8。IRs为16dBII型Rp为1dB其实现的MATLAB程序代码见代码2-2和2-3:运行程序效果如图2-4和图2-5所示。 图2- 4切比雪夫I型幅度图 图2- 5切比雪夫型幅度图 从两幅图中可以看出阶数N的增大使得截止频率更加陡峭,同时在有波纹的频带内增加了波纹数目。此外也可直观的观察出,I型的波纹只出现在通带,型的波纹只有阻带有。型相比具有更大的衰减特性。 其他滤波器 贝塞尔滤波器 贝塞尔(Bessel)滤波器模拟低通滤波器的特点是可以获得通带内尽可能的平坦时延特性。但是衰减特性很差。可以用在对时延失真要求严格,对衰减特性要求较低的数字或图像传输系统中。 其传递函数可以归纳为: (2- 7) MATLAB信号处理工具箱贝塞尔设计函数是besselap。调用格式如下:[z,p,k] besselap n 其中:n为滤波器阶数,不能大于25;表示方法同上;该滤波器没有零点,返回的z为空矩阵。利用该函数,可以设计阶贝塞尔模拟原型滤波器,绘制幅频响应曲线阶数分别为。其实现的MATLAB程序代码见附录2-4。运行程序,效果如图2-6所示。可以从图中看出和其他滤波器,它的阶数越大,滤波器。 图2- 6贝塞尔低通滤波器图 图2- 7椭圆低通滤波器 椭圆滤波器 椭圆逼近(又被称作考尔(Cauer)逼近或双切比雪夫逼近)?它的幅频响应在通带和阻带内都是等波纹的,相比其他滤波器,椭圆滤波器能够获得更窄的过渡带宽。椭圆滤波器的平方幅度响应为: (2- 8) 式中u是波纹滤波系数。为通带截止频率,为椭圆函数。 在MATLAB信号处理工具箱中提供了函数ellipap实现该滤波器。其调用格式如下:[z,p,k] ellipap n,Rp,Rs 。其中:z,p,k,n,Rp,Rs的含义同上。需要强调的是:当阶数n为偶数时,z和p的长度分别为N,当n为奇数时,则z向量的长度为N-1. 利用该函数,可以设计n阶椭圆滤波器,滤波器的传递系数为: (2- 9) 根据基本原理设计并绘制椭圆低通模拟滤波器的幅频响应曲线,设计阶数还是分别取作2,4,6,8。其实现的MATLAB程序见附录代码2-5。运行效果如图2-7所示。 可见,阶数为4的椭圆滤波器的过渡带已经相当的窄,不必再增加N的阶数。遗憾的是通带和阻带的并不够单调平滑,在通带和阻带内均匀等波纹。在相同的性能指标之下,椭圆滤波器确实比巴特沃思和切比雪夫滤波器的下降斜度更加陡峭,只是损失了通带和阻带内的波纹指标,它所需的阶数N也最小,但是相频特性也具有更明显的非线性。 模拟滤波器的简介中,体现了滤波器设计的基本思想,为之后研究数字滤波器的设计铺垫了一定的理论基础和研究思路。对函数,对逼近建立一定认识。 但伴随数字信号处理的不断发展,其超越模拟系统的优势逐渐显现出来。数字系统使得数字滤波器相对模拟滤波器越来越重要。对模拟滤波器的介绍可以熟悉滤波器的参数,以求对滤波过程建立基本了解。虽然本文不曾涉及IIR滤波器的介绍,但是值得一提的是,在IIR数字滤波器的设计过程中会借用模拟滤波器的设计成果,利用现成的设计数据和图标,可以减少其工作难度。这也是模拟滤波器的一个作用。 FIR方法 FIR滤波器的基本概念 FIR滤波器特点归纳: ① FIR属于数字滤波器,所以它具有数字滤波器所具备的一切通有优点。例如精度高,灵活性可靠性强,能够达到高性能的技术指标,便于时分复用,大规模集成生产。②在结构上,它属于非递归结构,没有输入到输出的反馈。 ③FIR滤波器响应有限,利于编成,计算延迟相对较小。 ④可以做到任意幅度的频响特性。 ⑤因为有限,所以可以采用快速傅里叶变换。大大提高运算效率。故而实践起来方便有效,成为一种非常常见的数字滤波器。⑥FIR滤波器具有非常好的线性相位。 ⑦FIR的极点只能在圆点,所以只能通过调节零点来调整滤波器性能。 ⑧因为FIR滤波器响应有限,且极点在单位圆内,所以一定稳定。在一定的时延的背景下,任意的信号都可以变成有限长序列,所以总能用因果系统进行实现。⑨FIR的阶数要求可能是IIR滤波器的5~10倍,在这一点上增加了一定延迟。 FIR的网络结构 目前,FIR滤波器的基本结构主要有三种:直联型,级联型和频率抽样型结构。 直联型 直接型结构又被称做卷积型或横截性。其系统的差分表达式为: (3- 1) 在结构中,输出y n 是每个沿着这条链的抽头信号由相应的系数(脉冲响应)加权,然后将所得乘积相加得到。直接型 本次设计中采用的都是直接型数字滤波器结构。 图3- 1直接型结构 级联型 如将系统函数H z 分解成实系数二阶因子的乘积形式比可以得到: (3- 2) 从表达式中和结构框图中可以看出,由于乘积项的存在,这种结构里每一个节点都控制着一对零点,因而可以采用它设计需要控制零点的滤波器,比直接型方便。但同时它所需的系数也相应的比直接型的多,故而它的乘法次数也相应的增加很多。当阶数N较高时,不易分解,所以目前还没有直接型使用普遍。级联结构可以表示为以下框图: 图3- 2FIR滤波器的级联型结构(N为奇数) 频率采样结构 已知在频率域等间隔采样,会造成时域中的信号以采样点数为周期进行周期延拓。由抽样定理,我们知道要想保证信号不失真,就必须保证在频率域内采样点数N大于等于原序列的长度M,此时原序列H z 与频率采样值需H k 满足下列关系式: (3- 3) 该式又被称作是H z 的内插公式。这个公式又为FIR滤波器提供了另外一种结构 (3- 4) 从框图中可以看到,H z 是由N个一阶网络的并联结构和梳状滤波器进行级联所组成,理论上当极点和零点相互抵消时,能获得网络的稳定性。 图3- 3 FIR滤波器频率采样结构 频率采样性结构相对于其他结构主要的优势在于,它通过直接调整乘法器的系数来有效的改变频响特性。而且等长的滤波器,其梳状结构相同,这样实现模块化和标准化。其缺点是,有限的字长可能不会使零极点完全对消,相应的也就面临系统不稳定的风险。同时在运算中会涉及到复数运算,不利于硬件系统的实现。 FIR滤波器的线性相位 如果FIR滤波器的单位脉冲响应h n 为实数序列,并满足一定的对称性(可以是偶对称也可以是奇对称)。并且对称中心在处,则该滤波器具有准确的线性相位。面对取值N的不同,h n 可以被划分为四种情况,它们对应了四种线性相位的滤波器。详细介绍如下。 时域特点 FIR的时域特点可以归结为以下两类: 群时延定义为,是一个常数,所以在此将第一类和第二类线性相位的特征统称为恒定群时延特性。偶对称和奇对称相比,除了具有线性相位特征之外,还有的固定相移,它们共同构成了正交变换网络。 频域特点 将线性相位具体分为四类,并在频域上做出分析将特点归纳如下: 综合以上特点可以将四种线性相位的FIR滤波器的特点总结如下表3- 1: 表3- 1四种线性相位FIR滤波器的特性 结论 针对以上分析的四种FIR滤波器各自的特点和滤波器实现的功能,可以把滤波器设计的结论归纳出以下几点: ①情况1:对称脉冲响应,N为奇数。可以实现所有的滤波特性(低通、高通、带通和带阻等) ②情况2:对称脉冲响应,N为偶数。满足,因此不能实现高通,带阻滤波器 情况3:反对称脉冲响应,N为奇数。满足,不适合设计低通或高通滤波器。能够实现带通滤波器。因为,这种特性特别适合设计希尔伯特变换器和微分器。 情况4:反对称脉冲响应,N为偶数。并且,不能实现低通、带阻和点阻滤波器,但是适用于设计希尔伯特变换器和微分器。 总之,在第3,4种情况中,都是反对成脉冲响应,对于任何频率都有固定的n/2相移,通常采用这两种情况设计微分器和90°相移器。如果只是设计一般的选频滤波器大多采用第1,2种情况。从幅度特性考虑,低通滤波器选用情况1,4的线性相位;高通滤波器选用第1,4情况;带阻滤波器只能选择第一种。而带通滤波器可以任选。通过以上分析将线性相位的基本特点归纳于表3-,它可以直观充分的总结线性相位特征。2四种线性相位与四种选频滤波器设计对应关系 选频类型 线性相位低通高通带通带阻情况1√√√√情况2√√情况3√情况4√√ 为了方便设计的使用,就以上讨论的四种线性相位单独定义了4种辅助函数。hr_type1 h ,hr_type2 h , hr_type3 h , hr_type4 h 。从数字上可以明显的看出对应关系。具体函数见附录,在后面的设计中会广泛运用到。 窗函数设计FIR滤波器 窗函数设计思想 FIR滤波器在设计中,其主要任务就是根据给定的性能指标确定滤波器的系数,以及系统单位脉冲序列h n ,特别的,它是一个有限长的序列。FIR滤波器的理想频率响应的傅里叶级数形式表示为: (3- 5) 式中:对应单位脉冲响应序列。由于滤波器的频率响应和单位脉冲应互为傅里叶变换对。因此还可以得到: (3- 6) 但是故只能截取其中的某些项,这种处理相当于与函数相乘,可以表示为具有以下形式的函数: (3- 7) 明显看出相当于一个矩形窗。所以可采取函数将无线脉冲响应截取一段h n 来近似表示为,这种截取在数学上的表示是:。截取之后的滤波器传递函数变为: (3- 8) 式中:N为窗口的宽带,H z 是物理可实现系统。因为这种方法的基本原理是利用一定宽度的窗函数来截取无线长单位响应序列,获得有限长脉冲响应序列,从而得到FIR滤波器的脉冲响应,故而称之为FIR滤波器的窗函数设计法。理想频响也可以写成幅度函数和相位函数的形式: (3- 9) 其中幅度函数为: (3- 10) 事实上FIR的幅度响应函数正好是理想幅度函数与窗函数的幅度卷积 (3- 11 卷积的具体过程可以用图3-5来说明。 图3- 4窗函数的卷积过程 从上图可以归纳出加窗对理想频率响应的影响为: ①的最大肩峰值出现在通带截止频率的两旁,也就是的地方。过渡带形成于两个肩峰之间,其宽度为△ω 4π/N。肩峰和余振大小取决于函数的副瓣。规律表明,副瓣多少和余振成正比;而副瓣的相对值大,余振就强,与N值大小无关。具体关系可以通过以下表达式来说明。 (3- 12) 式中:。所以N 的改变不会改变主瓣与旁瓣的比例,最多只能改变的绝对值大小和起伏的密度。 ②旁瓣使滤波器在通带和阻带内产生余振。分析表明:阻带内最小衰减是由窗函数形状来决定,而过渡带宽度则是由窗函数的长度N确定。当N增大时,的幅值变大,频率轴变密,这种现象称之为吉布斯(Gibbs)效应。这种效应是因为将直接截断而引起的,所以又被称之为截断效应。 ③为了改善滤波器特性,必须改变窗函数的形状,窗函数要满足以下两点要求: a.窗瓣主瓣宽度要尽量窄,以求获得较陡的过渡带。 b.相对于主瓣幅度,旁瓣要尽可能的小,使能量能够尽量集中在旁瓣中,这样就可以通过减少肩峰和余振,来提高阻带衰减和通带的平稳性。 但实际设计中会发现,以上这两点不可以兼得。窗谱肩峰的大小影响到通带的平稳的阻带的衰减。虽然一直在尽力改善窗函数的形状,但只有当窗谱逼近冲击函数时才会逼近。这相当于将窗的长度变为无限长,没有实际意义。一般总是通过增加主瓣宽度来换取旁瓣的抑制。 窗函数简介 矩形窗 矩形窗的窗体表达式为: (3- 13) 其频率响应为: (3- 14) 三角窗 三角窗又叫做巴特列特窗(Bartlett)。三角窗的设计原理与矩形窗基本相同,只不过生成窗函数时采用函数生成三角窗。其分析如下: (3- 15) 窗谱为: (3- 16) “”当且仅当成立。主瓣宽度8/N。且三角形窗频谱密度函数永远是正数。 汉宁(Hanning)窗(又称升余弦窗) (3- 17) 利用傅里叶变换的调制性质,即利用 “”表示傅里叶变换对。再利用, 考虑到的傅里叶变换为得: (3- 18) 当N?1时,N-1≈N。所以窗谱的幅度函数为 (3- 19) 汉宁窗是下面一类窗的特例:当a 2时就是汉宁窗。(3- 20) 海明(Hamming)窗(又称改进之后的升余弦窗) 对于升余弦加以改进,可以得到旁瓣更小的效果,窗形式为: (3- 21) 其频率响应的幅度函数为: (3- 22) 结果是可将99.963%的能量集中在窗谱的主瓣内,与汉宁窗相比,主瓣宽度相同,但是旁瓣可能更小,旁瓣峰值小于主瓣峰值的1%。同样,海明窗是下面一类窗的特例() (3- 23) 布莱克曼(Blackman)窗(又称二阶升余弦窗) 为了更进一步的抑制旁瓣,可再加上余弦的二阶谐波分量,得到布拉克曼窗 (3- 24) 其频率响应的幅度函数为: (3- 25) 此时主瓣宽度为矩形窗谱主瓣宽度的三倍,即为12/N。布拉克曼窗是下面一类窗的特例:选M 2, 0.42, 0.50, 0.08时,即为布拉克曼窗。 3- 26 凯赛(Kaiser)窗 这是一种自适应型较强的窗来提高它窗体可供不同衰减的选择性。其窗函数的表达式为: (3- 27) 其中是贝塞尔函数,是一个可以自由选择的参数,它的直接作用就是调整主瓣与旁瓣电平关系,越大,则窗越窄,而频谱的旁瓣越小,但是主瓣宽度也相应的增加。因而改变值就可以对主瓣宽度和旁瓣宽度进行选择。一般情况下选择4 9,这相当于旁瓣幅度与主瓣幅度的比值由3.1%变到了0.047%(-30dB到-76dB)凯塞窗在不同的下的性能归纳在表3- 3中 表3- 凯塞窗的性能 过渡带宽/()通带波纹/dB阻带最小衰减/dB2.1203.00±0.27-303.3844.46±0.0864-404.5385.86±0.0274-505.6587.24±0.00868-606.7648.64±0.00275-707.86510.0±0.000868-808.96011.4±0.000275-90窗函数设计 窗体直观的比较 在MATLAB中信号工具处理箱中对应每一种窗函数都提供了相应的函数:在函数表达式中,n均为窗函数的长度,而返回值w为一个n阶的向量,它的元素组成了窗函数。具体的函数形式如下: ①矩形窗: w boxcar n 或rectwin n 。‘w boxcar n ’等价于‘w ones 1,n ’. ②三角窗: w triang n ,特别的w triang N-2 等价于bartlett N 。 ③汉宁窗: w hanning n 。 ④海明窗: w hamming n 。 ⑤布拉克曼窗: w blackman n 。 ⑥凯塞窗:w kaiser n,beta 。 MATLAB中提供wvtool工具,分别得到6类窗函数的窗体和幅频曲线如下: 图3- 5 6种窗函数性窗体及幅频特性 从图3-中可以大致的看出每一种窗函数窗体特点幅频波纹。根据横纵坐标的值大小可以直观的感受6种窗函数具体的性能指标如下表3-4。接下来具体分析表中参数和窗函数区别的意义。表3- 6种窗函数性能比 窗函数 窗谱性能指标 加窗后滤波器性能指标 旁瓣峰值 /dB 主瓣宽度 /() 过渡带宽 /() 阻带最小衰减 /dB 矩形窗 -13 2 0.9 -21 三角窗 -25 2.1 -25 汉宁窗 -31 4 3.1 -44 海明窗 -41 4 3 -53 布莱克曼窗 -57 6 5.5 -74 凯塞窗() -57 5 5 -80 N值对窗函数的影响 在MATLAB中绘制N值不同的海明窗频率响应如图。代码见附录3-1: 图3- 6不同N值下的海明窗频谱响应 从图3-中观察可以得知,在海明窗的设计中,N值越大,滤波器的过渡带越小,起伏振荡越密。 理论上分析得知,过渡带近似与窗口的长度N成反比,即,其中,A是取决于窗函数的常数。通过表3-4得知,海明窗的A为。利用公式可以计算出不同N值下的大小,理论值分别为:。所以N无法改变主瓣和旁瓣的比例,但是增大可以使过渡带变窄。 旁瓣的多少即振荡密度,和N值也是有着密切的联系。式3-22中,海明窗的W n 中越大,函数的变化率越大。而N越小,越大。所以从理论上也可证明,N和和振荡的密集程度成相反的关系。这也就是我们通常所谓的吉布斯(Gibbs)效应。 几种窗函数滤波器比较 利用fir1函数设计线性相位滤波器比如设计逼近理想低通滤波器通带截止频率,滤波器长度为N 21。分别选用矩形窗,汉宁窗,海明窗,布莱克曼窗和凯塞窗)进行设计。绘制出每种窗函数设计的单位脉冲响应h n 及其损耗函数曲线。代码:图如图3-7。其他几种类型的滤波器类似。设计理想高通滤波器图3-8示。设计理想带阻滤波器图3-9示。设计逼近理想高通滤波器图3-10示。 图3- 7 5种窗函数设计低通滤波器 图3- 8 5种窗函数设计高通滤波器 图3- 9 5种窗函数设计带阻滤波器 图3- 10 5种窗函数设计带通滤波器从各类滤波器设计的比较图形中可以观察得出以下结论: ①阻带衰减由小至大依次是:矩形窗,凯塞窗,汉宁窗,海明窗,布莱克曼窗 ②主瓣宽度方面比较由小至大分别是:矩形窗和凯赛窗一样其次是汉宁窗和海明窗一样。布莱克曼窗的过渡带要比其他窗宽。 ③从主瓣与第一旁瓣差值方面来看,矩形窗和凯塞窗高度差最小,其次是汉宁窗,海明窗略大,布莱克曼窗高度差最大。 ④旁瓣速率来看,矩形窗和凯塞窗最慢。汉宁窗相对要快,海明窗相对缓慢,而布莱克曼窗很快。 ⑤旁瓣幅度凯塞窗最大,其次是矩形窗,汉宁窗和海明窗较大,布莱克曼窗较小。 基于窗函数 低通滤波器 在低通滤波器的环境下分析可知: 3- 28 3- 29 所以低通滤波器只能选择对称脉冲响应。当N为奇数时,设计第1种情况的线性低通滤波器。当N为偶数时则设计第2种线性低通滤波器。 高通的频率特性 3- 30 冲击响应: 3- 31 加窗后的频率响应: 3- 32 所以当N为奇数时,满足,对应第1种线性相位。当N为偶数时对应第4中线性相位。为反对称脉冲响应。 带通滤波器 理想的带通DF特性为: (3- 33) 其冲击响应: (3- 34) 加矩形窗处理后得到: (3- 35) 所以一定偶对称,满足。当N奇数时对应第1种线性带通滤波器,当N为偶数时,对应第2种线性相位带通滤波器。若选取有相位相移的理想滤波器其频率特性为: (3- 36) 此时的脉冲响应: (3- 37) 加矩形窗处理后: (3- 38) 此时为反对称序列。当N为奇数时对应第3种线性相位。当N为偶数时对应第4种线性相位。 带阻滤波器 由于带阻滤波器设计本身只能选择第1种情况故不作过多分析。 窗函数 ①给定希望逼近的滤波器频率响应函数 ②根据给定的确定其相应的单位冲激响应 ③根据过渡带即阻带衰减要求利用表选择窗函数,并估计窗口的长度。 ④计算所设计的FIR滤波器的单位脉冲响应,即: ,式中是选择好的窗函数。已知的几种窗函数均满足偶对称。 ⑤检验指标是否满足要求 ⑥由求出FIR滤波器的系统函数: 根据上面的分析采用窗函数设计方法线性相位FIR滤波器。 已知:通带的截止频率,通带允许的最大衰减阻带的截止频率,阻带允许的最小衰减 ①先确定窗函数,查表可知,汉明窗和布莱克曼窗均可提供大于50dB的衰减。但汉明窗有较小的过渡带,从而有较小的长度N,因此选择汉明窗设计。 ②其次确定窗函数的阶数。由于过渡带为:,所以设计的低通滤波器单位脉冲长度为:。还可得到滤波器的群时延为 ③ 求解滤波器的截止频率: 根据滤波器3dB截止频率同时得到: ④根据汉明窗的表达式得出所设计的滤波器单位响应表达式为: (3- 39) ⑤MATLAB设计代码见附录代码3-3及图样: ⑥设计出来的衰减为50dB ,满足设计要求。 图3- 11窗函数设计实例 频率采样法设计FIR滤波器 频率采样法简介 频率采样法的基本思想 从时域出发我们得到了窗函数设计,是通过截取把无限长变为有限长进行设计的方法。另一个角度来看,从频率出发对理想频率响应进行等间隔抽样即: 然后以此作为实际FIR数字滤波器的频率特性的抽样值,即令 3- 40 频域的这个N个抽样值可以唯一确定有限长序列h n ,同时,这些频域抽样值同样可以求得FIR滤波器的系统函数H z 以及频率响应。这个H z 或者将逼近或。H z 和的内插公式为: 3- 41 3- 42 其是内插函数 3- 43 将式 3-42 代入 3-41 式,化简后得 3- 44 从内插公式中可以看到,在各个频率采样点中,滤波器的实际频响是严格地 和理想频率响应数值相等,即。 各抽样点的加权抽样函数的延伸叠加产生频率响应,逼近误差是无法避免的。理想的响应变化越平缓,内插值越接近理想值,逼近误差越小。反之,如果抽样点的理想频率变化越陡,则误差越大,响应的就会产生肩峰,在通带和阻带内还会产生波纹。可以说误差大小取决于理想的响应曲线形状。 线性约束 设计线性相位的FIR滤波器,则频率响应采样值的幅度和相位都一定要满足前面讨论的四种线性相位约束条件。对于第1种线性相位的FIR滤波器,即h n 偶对称,N为奇数时,满足: 3- 45 式中幅度函数中关于对称。其中幅度函数满足: 3- 46 同时可知必须为且满足偶对称,并且: (3- 47) 所以当偶对称,N为奇数时,对偶对称。第2种情况,即偶对称,N为偶数时,对奇对称,并且。第3种情况,奇对称,N为奇数时,对奇对称。 奇对称,N为偶数时,对偶对称。 采样方式分为两种类型。型就是刚才讨论过的采样,它的第一个采样点在处,各采样的角频率为。型是第一个采样点在处,采样角频率为。型的优势在于使设计方法更加灵活,可根据具体情况加以选择。设计不同滤波器性质的要求和前面讨论的类似,此外,对于高通和带阻滤波器,N只能取奇数。 频率采样法设计滤波器分析 在频率采样法中设计滤波器可简单的分为直接设计法和最优设计法。当然,直接设计法可以看做是最优设计法的铺垫,为了得到更优的频谱设计通常还是采用最优设计法。 直接设计法: 在这种方法中,使,然后得到脉冲响应。 给出一个低通滤波器的技术指标:,,,。采用频率采样法直接设计FIR滤波器可以做以下分析: 选择N 20,,所以在通带上有3个样本点,而阻带上有7个样本点。可以得到: (3- 48) 又由于N 20, (20-1)/2,所以它的线性相位属于第2种情况的滤波器,会用到hr_type2 h 函数。根据可以确定脉冲响应; 在MATLAB中仿真,程序见附录代码3-4和结果如下: 从图中可以发现最小阻带衰减只有16dB,不符合实际要求。但是如果增加N的取值,则在过渡带中会有样本,它的频率响应无法精确,所以在实际的应用中很少用到直接设计法。 图3- 12 频率直接设计法设计FIR滤波器 频率设计法中最优设计法 前面我们提到为得到更大的衰减,必须增大N的值,并且要让过渡带中产生自由样本中得到最大衰减。通过以下例子来说明改变过渡带样本值对于设计的影响。 技术指标和上面相同: 设计中我们选取N 40,,这样在过渡带中就有一个样本。在k 5以及k 40-5 35处用来表示这些样本值。可以得到: (3- 49) 的值可以有不同的选择,但是为了得到最优的结果手动比较并查表取 0.39可以得到最优解:MATLAB设计代码见附录代码3-5 图3- 13频率设计,T1 0.39 图3- 14 频率设计,T1 0.5925,T2 0.1099; 从图3-13中可以看出优化的阻带衰减为43dB,所以,为了进一步的增加衰减,在过渡带中还必须多改变一个样本值。从理论上讲,为了减小过渡带需要优化两个样本,来得到最大的最小阻带衰减。同样,可以利用MATLAB来仿真。 还是之前的低通设计,为了让过渡带中出现2个样本,选择N 60。设定,过渡带中的两个样本分别为T1,T2。此时 通过查表可得T1 0.5925,T2 0.1099,在MATLAB中仿真代码见附录代码3-6。 从图3-14中可以看出过渡带衰减达到63dB。当然还可以尽量通过增加过渡带来增加衰减,一般情况下最多增加3个过渡采样点就可以满足阻带衰减的要求。当然滤波器的复杂程度和计算量也随之大大增加。所以,在使用频率采样法设计FIR滤波器是,要综合考虑阻带衰减和滤波器长度的要求从而达到设计的最优化。 频率采样法在MATLAB中最优设计 现在采用频率采样法在MATLAB中设计高通滤波器设计代码见附录代码3-7。 基本原理与上面类似。选取N 33,T1 0.1095,T2 0.593。线性相位属于第1种情况,会用到hr_type1 h 函数。设计代码见3-7,图如3-15。幅度衰减能够达到50dB。 图3- 15频率采样技术,高通 从以上几幅图可以看出,频率采样法一般通过插入一到两个点就达到滤波要求。体现了在频域直接设计的优势获得较好的过渡性。也适合设计具有任意幅度特性的滤波器.。MATLAB 仿真结果表明:频率采样法更适合设计窄带选频滤,且效果理想,和窗函数设计相比着重处理采样点的选取。并且可以直接在频域内进行设计,具有较好的过渡特性,相比窗体的选择在一定情况下相对灵活。但缺点在于采样频率只能是2π/N的整数倍,不能保证截止频率的自由选择。比如当截止频率不是整数倍时会产生较大逼近误差。所以在使用时, 要慎重考虑。 第四章 FIR滤波器 设计FIR滤波器的优化准则分析 为了对后面分析的每种算法进行比较。先介绍两即均方差最小准则和最大误差最小化准则。在阶数N相同的设计中,后者的优势较为明显。 均方误差最小准则 该准则下是希望使得误差能量最小。用表示理想的频率响应,表示实际设计中所得到的滤波响应,并且以来表示频率响应误差: 所以均方误差为: (4- 1) 将用冲击响应来表示可以得到: (4- 2) 将冲击带入可以得到: (4- 3) 从此式中可以观察得出:等式右边第二项的大小和设计值无关,只取决与给定的特性。并且要想让取得最小值,就必须使第一项求和值最小,即: 也就是说满足: (4- 4)上面这项表达式中刚好是矩形窗的设计结果。所以,满足均方误差最小准则的是矩形窗。矩形窗虽然过渡带最窄,但是根据前面分析,由于吉布斯效应(Gibbs)效应,窗谱的肩峰过大,造成所设计出的滤波器通带起伏不均匀,而阻带的衰减则过小,并不能满足设计要求。 最大误差最小化准则 该准则又被称作为加权切比雪夫等波纹逼近或雷米兹算法。在该准则中采用的方法为误差函数加权的方法。它的主要思想是希望达到不同频带(比如通带和阻带)加权误差的最大值相等的。 具体分析,假设加权函数为,得到加权逼近误差函数可以定义为:。由于不同,所以值也可不同,根据不同频带的公差要求的松紧程度合理的选取不同加权值。只需使得各个频带上的即最大值要求一致即可。 设计线性相位的加权切比雪夫等波纹逼近问题还可以抽象为一组系数,使得在逼近的各个频带上,的最大值达到最小。对此帕克斯(Parks)和麦克莱伦(McClellan)引进了逼近理论的一个定理,得出交错定理。 交错定理是切比雪夫最优逼近算法基础。定理明确指出,最优线性相位FIR滤波器加权逼近函数至少应该有(r+1)个极值(r是用于逼近函数的余弦函数的个数。具体而言的极值包括了以下2种情况: ①的极值点(大多数情况的极值同时也是的极值) ②单有极值点(不属于)两种极值点的和就是极值点的最大数目。 定理中还提到,在不同频带上解决逼近问题,误差函数可以在每个频率的端点上得到一个极点,这些点一般都不是的极点,当然和除外,此时可能有极点。比如在第1种线性相位中,最多有极值点r+2 N+5 /2。同理可以推导出四种线性相位的FIR滤波器余弦数目(r)及极点数目以及的极值点数关系归纳在下表中: 表4- 1四种线性相位参数特点 类型极值1. N为奇数,h n 偶对称2. N为偶数,h n 偶对称3. N为奇数,h n 奇对称4. N为偶数,h n 奇对称 对于低通响应来讲,在第1种情况中用r+2 N+5 /2个极值实现的滤波器比交错原理要求的r+ N+3 /2个极值还多一个,把这类滤波器叫做最多波纹滤波器 在米兹算法(remez)中可以设计任何最优线性相位FIR滤波器。但是在设计之前需要预先知道极值点数的最大值数目。目前,它是一种最为实用的最优化算法。总结起来就是给定单位抽样响应长度N、带通和阻带的截止频率进行设计。算法由加权切比雪夫逼近来描述。逼近函数是由r个独立的预先函数之和,再利用交错定理给出最大误差最小化最优逼进――等波纹逼近。 分析 一般加窗线性相位FIR滤波器设计函数fir1和fir2 在前面窗函数设计中被广泛应用到的fir1函数现在来做统一的设计分析对比。它和fir2属于一般线性加窗设计函数,调用格式简单,设计结果一般。其MATLAB中的调用格式如下: 先简要分析调用格式:n为滤波器阶数;window为窗类型,长度必须为n+1,默认时为海明窗。f为滤波器期望频率特性归一化频率向量,范围0~1,为递增向量,允许定义重复频率点; a为滤波器期望平均特性的幅值向量,向量a和f的长度一致,且为偶数。b为返回滤波器系数,长度为n+1,且具有偶对称关系,即b k -b n+2-k k 1,2,…n+1。并且fir1函数总是阶数为偶数的滤波器,当输入的阶数为奇数时,fir1函数会自动将阶数加1。其中b与FIR滤波器的系统函数的关系为: (4- 5) fir2函数和fir1不同点在于,向量f和m,相对。npt为对频率响应进行内插点数,默认时为512;lap参数用于指定fir2在重复频率点附近插入的区域大小。 现在分别利用fir1和fir2多通带滤波器, 设定归一化通带为。由于高频段为通带,所以滤波器的阶数应该取偶数,这里定作36实现程序代码见附录代码4-1观察滤波器幅频-相频特性如图4-1; fir2设计见图4-2,代码见附录4-2 图4- 1 fir1设计多通带滤波器 图4- 2 fir2设计多通带滤波器 从图4-1中可以看出:fir1设计多通带滤波器过渡带较宽,阻带被压缩,不是特别理想。从图4-2中观察,由于画理想的幅度响应是参照的是fir2函数中定义的频率向量m [0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0];通过plot函数绘制,效果可能不是特别理想。但近似矩形窗观察而言,除了整体的幅度分别有所衰减之外,通带和阻带的衰减较大,但是由于通带较多,截止频率处不够陡峭,所以在通带和阻带都看不到完全平坦的特性。所以fir1和fir2函数设计滤波器只能满足简单的要求不是很高的滤波设计。 firls和remezfirls的原理是使得总体平方误差最小。采用的准则是最小二乘法。remez函数的调用格式与参数意义都与firls函数一样,只是采用的算法不同。函数remez实现Park-McClellan算法,这种算法利用remez交换算法和Che-byshev近似理论满足最大误差最小化准则。经过前面的讨论可知remez算法是目前最优设计算法,采用的是等波纹逼近设计线性相位FIR滤波器。该类型滤波器幅频特性在通带和阻带上的误差峰值是均匀分布的,把波纹的幅度控制到最小, 或在同等指标下减小它的阶次。 具体来说函数remez和firls可用于设计低通、高通、带阻和带通等一般类型的滤波器,这由函数中给定的理想频幅响应向量的频率向量f和幅度向量a共同确定。firls和remez函数的基本调用格式是:b firs/remez(n,f,a)各参数的意义和要求同上。当然,firls和remez还可以设计多通带带滤波器。 普通滤波器 现分别利用firls和remez设计一个20阶多通滤波器,简要分析两者幅频响应的特点和区别。其实现的MATLAB程序的代码见附录4-3: 图4- 3 firs函数设计的滤波器幅频响应与相位特点由图4-3中可以看出firs设计的滤波器通带和阻带的波纹较小,但是在整个频带内却不一致。而remez函数设计的滤波器具有较大的通带和阻带波纹,但是在整个频带内较为一致。图中还给出了remez和firls函数设计的滤波器的脉冲响应具有偶对称关系。 加权滤波器设计 firls函数和remez函数可以增加输入参数w用来设置权向量。函数调用格式为:b firs/remez(n,f,a,w)。在不同频带设置不同的频段的最小化误差值,使得每个频段加权处理。w向量的长度为f和a向量的一半。一个频带须对应一个权值。 例如设计一个30阶等波纹的滤波器,归一化的边界频率为0.5,阻带频率0.6。 阻带波纹均为通带波纹的1/10。实现MATLAB代码见附录4-4图4-4可以看出,滤波器对阻带和通带波纹都进行了控制,得到了符合基本要求的滤波器。由于remez函数具有等波纹的特性,所以在通带内的振动振幅比较大,和图相比在阻带内的振动幅度小,约为通带内振动幅度的1/10,符合设计要求。还可以通过增加阶数来获得更加理想的幅频响应。 图4- 4加权滤波器设计 反对称函数设计 利用函数firs和remez可以设计出滤波器系数为奇对称的FIR数字滤波器,即b n -b N-1-n 。根据前面的分析得知,这类滤波器要求滤波器的零频响应为0,若滤波器的阶数为偶数,则还要求奈奎斯特频率(归一频率为1)处的频率响应为零。该滤波器还能实现信号的希尔伯特变换,所以又称为希尔伯特变换器。也就是使通过的信号在输出后频率做+90°的相移,但振幅不变化。 函数基本调用格式为:b firs/remez(n,f,a,‘h’)或者b firs/remez(n,f,a,w,‘h’)在函数套用中‘h’为选择项,表示设计的滤波器奇对称线性相位滤波器。 以下将用firls和remez函数一个高通反对称线性相位滤波器,绘制频率特征图。并且利用采样频率为50Hz,频率为5Hz的振动作为输入信号。观察图形看是否满足相位相差90°的特点。设计的MATLAB代码见附录4-5 图4- 5反对称函数设计 由左边的图可以看出firls函数相比remez函数的通带阻带波纹较小。右图观察输入输出信号的振幅有所衰减,remez滤波器更甚。此处的优势主要体现在相位变换的功能上。输出信号确实比输入的信号前移了90°的相位。这就是希尔伯特变换器的功能。 微分滤波器 对信号的微分看以看做是让该

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值