FIR低通滤波器设计
fir滤波器的设计方法
fir滤波器的设计方法一、引言二、基本概念1.数字信号2.离散时间信号3.FIR滤波器三、FIR滤波器的设计方法1.窗函数法(1)矩形窗函数法(2)汉宁窗函数法(3)汉明窗函数法(4)布莱克曼窗函数法2.最小二乘法3.频率抽样法四、FIR滤波器设计实例五、总结一、引言数字信号处理在现代通信技术中得到了广泛的应用,其中滤波器是数字信号处理的重要组成部分。
FIR滤波器是一种常用的数字滤波器,具有无限冲击响应和线性相位特性。
本文将介绍FIR滤波器的基本概念和设计方法,并给出一个实例。
二、基本概念1.数字信号数字信号是在时间轴上取样后离散化的模拟信号。
在计算机中,数字信号由一系列离散的数值表示。
2.离散时间信号离散时间信号是以时间为自变量且取值为离散值的函数。
通常使用序列表示,如x(n)。
3.FIR滤波器FIR滤波器是一种数字滤波器,其系统函数是有限长冲击响应的线性时不变系统。
FIR滤波器的输出只与当前和过去的输入有关,与未来的输入无关。
FIR滤波器具有无限冲击响应和线性相位特性。
三、FIR滤波器的设计方法1.窗函数法窗函数法是一种常用的FIR滤波器设计方法。
它通过在频域上对理想低通滤波器进行截止频率处理得到所需的频率响应,并使用窗函数将其转换为时域上的序列。
(1)矩形窗函数法矩形窗函数法是最简单的FIR滤波器设计方法。
它将理想低通滤波器在频域上乘以一个矩形窗函数,得到所需频率响应后再进行反变换得到时域上的系数序列。
(2)汉宁窗函数法汉宁窗函数法是一种常用的FIR滤波器设计方法。
它将理想低通滤波器在频域上乘以一个汉宁窗函数,得到所需频率响应后再进行反变换得到时域上的系数序列。
(3)汉明窗函数法汉明窗函数法是一种常用的FIR滤波器设计方法。
它将理想低通滤波器在频域上乘以一个汉明窗函数,得到所需频率响应后再进行反变换得到时域上的系数序列。
(4)布莱克曼窗函数法布莱克曼窗函数法是一种常用的FIR滤波器设计方法。
FIR滤波器设计实验报告
FIR滤波器设计实验报告实验报告:FIR滤波器设计一、实验目的:本实验旨在通过设计FIR滤波器,加深对数字信号处理中滤波器原理的理解,掌握FIR滤波器的设计方法和调试技巧。
二、实验原理:在窗函数法中,常用的窗函数有矩形窗、三角窗、汉明窗和黑曼窗等。
根据实际需求选择适当的窗口函数,并通过将窗口函数应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。
三、实验步骤:1.确定滤波器的阶数和截止频率。
2.选择适当的窗口函数,如汉明窗。
3.计算出理想低通滤波器的冲激响应。
4.将选定的窗口函数应用到理想低通滤波器的冲激响应中。
5.得到FIR滤波器的冲激响应。
四、实验结果:假设要设计一个阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz。
1.选择汉明窗作为窗口函数。
2.根据采样频率和截止频率计算出理想低通滤波器的冲激响应。
假设截止频率为f_c,则理想低通滤波器的冲激响应为:h(n) = 2f_c * sinc(2f_c * (n - (N-1)/2))其中,sinc(x)为正弦函数sin(x)/x。
3.将汉明窗应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。
具体计算过程如下:h(n) = w(n) * h_ideal(n)其中,w(n)为汉明窗:w(n) = 0.54 - 0.46 * cos(2πn/(N-1))h_ideal(n)为理想低通滤波器的冲激响应。
4.计算得到FIR滤波器的冲激响应序列。
五、实验总结:本次实验通过设计FIR滤波器,加深了对数字信号处理中滤波器原理的理解。
掌握了FIR滤波器的设计方法和调试技巧。
通过设计阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz的实例,了解了窗函数法设计FIR滤波器的具体步骤,并得到了滤波器的冲激响应。
【备注】以上内容仅为参考,具体实验报告内容可能根据实际情况有所调整。
(完整版)fir低通滤波器设计(完整版)
电子科技大学信息与软件工程学院学院标准实验报告(实验)课程名称数字信号处理电子科技大学教务处制表电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 指导教师: 实验地点: 实验时间:14-18一、实验室名称:计算机学院机房 二、实验项目名称:fir 低通滤波器的设计 三、实验学时: 四、实验原理:1. FIR 滤波器FIR 滤波器是指在有限范围内系统的单位脉冲响应h[k]仅有非零值的滤波器。
M 阶FIR 滤波器的系统函数H(z)为()[]Mkk H z h k z-==∑其中H(z)是kz-的M 阶多项式,在有限的z 平面内H(z)有M 个零点,在z平面原点z=0有M 个极点.FIR 滤波器的频率响应()j H e Ω为 0()[]Mj jk k H e h k e Ω-Ω==∑它的另外一种表示方法为()()()j j j H e H e e φΩΩΩ=其中()j H e Ω和()φΩ分别为系统的幅度响应和相位响应。
若系统的相位响应()φΩ满足下面的条件()φαΩ=-Ω即系统的群延迟是一个与Ω没有关系的常数α,称为系统H(z)具有严格线性相位。
由于严格线性相位条件在数学层面上处理起来较为困难,因此在FIR 滤波器设计中一般使用广义线性相位。
如果一个离散系统的频率响应()j H e Ω可以表示为()()()j j H e A e αβΩ-Ω+=Ω其中α和β是与Ω无关联的常数,()A Ω是可正可负的实函数,则称系统是广义线性相位的。
如果M 阶FIR 滤波器的单位脉冲响应h[k]是实数,则可以证明系统是线性相位的充要条件为[][]h k h M k =±-当h[k]满足h[k]=h[M-k],称h[k]偶对称。
当h[k]满足h[k]=-h[M-k],称h[k]奇对称。
按阶数h[k]又可分为M 奇数和M 偶数,所以线性相位的FIR 滤波器可以有四种类型。
2. 窗函数法设计FIR 滤波器窗函数设计法又称为傅里叶级数法。
基于汉明窗函数的FIR低通滤波器设计及优化
基于汉明窗函数的FIR低通滤波器设计及优化FIR低通滤波器是一种常用的信号处理器件,可用于信号去噪、频率分析和降低信号的带宽等应用。
其中,基于汉明窗函数的FIR低通滤波器设计及优化是一种常见的设计方法。
在本文中,将详细介绍汉明窗函数的原理及其在FIR低通滤波器设计中的应用,并探讨如何通过优化设计参数来改进滤波器性能。
首先,我们来了解汉明窗函数的原理。
汉明窗函数是一种在频域上满足零相位特性的窗函数,常用于FIR滤波器设计中。
其数学表示为:w(n) = a - b * cos(2πn/(N-1)), 0 ≤ n ≤ N-1其中,n为窗函数的序号,N为窗函数的长度,a和b为调节系数。
通过调节a 和b的取值,可以改变窗函数的主瓣宽度和旁瓣衰减。
在FIR低通滤波器设计中,我们常使用汉明窗函数作为滤波器的频率响应。
接下来,我们将介绍基于汉明窗函数的FIR低通滤波器的设计步骤。
设计一个FIR低通滤波器,首先需要确定滤波器的阶数和截止频率。
阶数决定了滤波器的复杂度,截止频率决定了滤波器的频率响应。
一般情况下,阶数越高,滤波器的性能越好,但计算复杂度也会增加。
1. 确定滤波器的阶数,一般通过指定过渡带宽和旁瓣衰减来确定。
2. 根据指定的过渡带宽和旁瓣衰减,计算出窗函数的调节系数a和b。
3. 根据窗函数的长度N和频率响应的要求,计算出窗函数的序号n。
4. 计算出窗函数的数值,并进行归一化处理。
5. 将窗函数与理想低通滤波器的频率响应进行卷积,得到FIR低通滤波器的冲激响应。
6. 对FIR低通滤波器的冲激响应进行变换,得到滤波器的差分方程。
7. 实现滤波器的差分方程。
以上是基于汉明窗函数的FIR低通滤波器的设计步骤。
接下来,我们将探讨如何通过优化设计参数来改进滤波器性能。
在实际应用中,我们经常需要在滤波器的频率响应和计算复杂度之间进行权衡。
通过调整窗函数的长度、调节系数a和b,以及滤波器的阶数,我们可以改变滤波器的性能。
数字信号处理实验报告-FIR滤波器的设计与实现
数字信号处理实验报告-FIR滤波器的设计与实现在数字信号处理中,滤波技术被广泛应用于时域处理和频率域处理中,其作用是将设计信号减弱或抑制被一些不需要的信号。
根据滤波器的非线性抑制特性,基于FIR(Finite Impulse Response)滤波器的优点是稳定,易设计,可以得到较强的抑制滤波效果。
本实验分别通过MATLAB编程设计、实现、仿真以及分析了一阶低通滤波器和平坦通带滤波器。
实验步骤:第一步:设计一阶低通滤波器,通过此滤波器对波型进行滤波处理,分析其对各种频率成分的抑制效果。
为此,采用零极点线性相关算法设计滤波器,根据低通滤波器的特性,设计的低通滤波器的阶次为n=10,截止频率为0.2π,可以使设计的滤波器被称为一阶低通滤波器。
第二步:设计平坦通带滤波器。
仿真证明,采用兩個FIR濾波器組合而成的阻礙-提升系統可以實現自定義的總三值響應的設計,得到了自定義的總三值響應函數。
实验结果:1、通过MATLAB编程,设计完成了一阶低通滤波器,并通过实验仿真得到了一阶低通滤波器的频率响应曲线,证明了设计的滤波器具有良好的低通性能,截止频率为0.2π。
在该频率以下,可以有效抑制波形上的噪声。
2、设计完成平坦通带滤波器,同样分析其频率响应曲线。
从实验结果可以看出,此滤波器在此频率段内的通带性能良好,通带范围内的信号透过滤波器后,损耗较小,滞后较小,可以满足各种实际要求。
结论:本实验经过实验操作,设计的一阶低通滤波器和平坦通带滤波器具有良好的滤波特性,均已达到预期的设计目标,证明了利用非线性抑制特性实现FIR滤波处理具有较强的抑制滤波效果。
本实验既有助于深入理解FIR滤波器的设计原理,也为其他应用系统的设计和开发提供了指导,进而提高信号的处理水平和质量。
数字信号处理课程设计-等波纹数字FIR低通滤波器
设计题目:等波纹数字FIR低通滤波器2.对课程设计成果的要求〔包括图表(或实物)等硬件要求〕:滤波器的初始设计通过手工计算完成;在计算机辅助计算基础上分析滤波器结构对其性能指标的影响(至少选择两种以上合适的滤波器结构进行分析);在计算机辅助计算基础上分析滤波器参数的字长对其性能指标的影响;以上各项要有理论分析和推导、原程序以及表示计算结果的图表;课程设计结束时提交设计说明书。
3.主要参考文献:[1]高息全丁美玉.《数字信号处理》[M].西安:西安电子科技大学出版社,2008.8[2]陈怀琛.《数字信号处理教程——MATLAB释义与实现》[M].北京:电子工业出版社,2004.12[3]张德丰.《详解MATLAB数字信号处理》[M].北京:电子工业出版社,2010.6[4]飞思科技产品研发中心.《MATLAB7辅助信号处理技术与应用》[M].北京:电子工业出版社,2005.34.课程设计工作进度计划:序号起迄日期工作内容接到题目,搜集资料1 2016.12.26-2016.12.31整理资料,构思设计方案2 2016.12.31-2016.1.3手工计算进行滤波器的初步设计3 2016.1.3-2016.1.5完善初步设计,学习Matlab软件操作4 2016.1.5-2016.1.7通过Matlab软件分析设计内容,逐步落实课题目标5 2016.1.8-2016.1.9上交课程设计,并做细节修改并完成设计6 2016.1.10-2016.1.13主指导教师日期:年月日1.前言数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置,在通信、图像、语音、雷达等许多领域都有着十分广泛的应用。
在数字信号处理中,数字滤波占有极其重要的地位。
目前对数字滤波器的设计有多种方法。
其中Matlab软件已成为设计数字滤波器的强有力工具。
传统的数字滤波器设计过程复杂、计算工作量大、滤波特性调整困难,但利用Matlab信号处理工具箱可以快速有效地实现由软件组成的常规数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。
基于汉明窗函数的FIR低通滤波器设计及性能分析
基于汉明窗函数的FIR低通滤波器设计及性能分析FIR低通滤波器是一种常用的数字滤波器,用于处理数字信号中频率较低的成分,将高频成分滤除。
在设计FIR低通滤波器时,常使用汉明窗函数来实现。
本文将介绍基于汉明窗函数的FIR低通滤波器的设计方法和性能分析。
首先,要设计一个FIR低通滤波器,需要确定以下几个参数:滤波器阶数N、采样频率fs、截止频率fc和窗函数类型。
本文将以汉明窗函数为例,演示如何设计FIR低通滤波器。
1. 滤波器阶数N的确定:滤波器阶数N决定了滤波器的复杂度和性能。
一般来说,阶数越高,滤波器的性能越好,但计算复杂度也相应增加。
因此,需要在滤波器性能和计算复杂度之间做出平衡。
常用的方法是根据滤波器的截止频率和采样频率来确定阶数N。
一般可以使用公式N=4fs/fc来初步估计阶数N,然后根据实际需求进行调整。
2. 窗函数的选择:本文选择汉明窗函数作为设计FIR低通滤波器的窗函数。
汉明窗函数在频域上具有较好的副瓣抑制性能,适合用于低通滤波器设计。
3. 窗函数的定义:汉明窗函数的表达式为:w(n) = 0.54 - 0.46*c os(2πn/(N-1)), 0 ≤ n ≤ N-1其中,N为窗函数的长度,n为窗函数的离散时间索引。
4. FIR低通滤波器的设计:设计FIR低通滤波器的步骤如下:1)确定滤波器阶数N;2)选择截止频率fc;3)计算滤波器系数h(n);4)对滤波器系数h(n)进行归一化处理。
5. 滤波器系数的计算:滤波器系数h(n)的计算公式为:h(n) = wc/pi * sinc(wc*(n-(N-1)/2)/pi)其中,wc为归一化的截止频率,wc=2πfc/fs。
sinc(x)为正弦函数sin(x)/x。
6. 归一化处理:对滤波器系数h(n)进行归一化处理,即将系数乘以汉明窗函数的值。
即:hn(n) = h(n) * w(n),0 ≤ n ≤ N-17. 性能分析:设计完毕后,需要进行性能分析来评估滤波器的性能。
经典滤波器设计范文
经典滤波器设计范文一、FIR滤波器设计FIR(Finite Impulse Response)滤波器是一种常用的数字滤波器,其特点是抗混叠性能好、线性相位响应、易于设计等。
FIR滤波器的设计通常分为两个步骤:滤波器的理想频率响应设计和具体的滤波器系数设计。
1.理想频率响应设计理想的低通FIR滤波器频率响应为单位脉冲响应的离散傅里叶变换,即H(e^jω) = sum(h(n)e^(-jωn)),其中h(n)为滤波器的单位脉冲响应。
通过将理想频率响应转换为时域单位脉冲响应,可以得到容纳在有限长度L的FIR滤波器中。
其中单位脉冲响应为:h(n) = (ω_0π)^-1 * sin(ω_0n)/(nπ),其中ω_0为截止频率。
2.系数设计对于FIR滤波器,系数设计是指对滤波器的单位脉冲响应进行窗函数的处理。
窗函数可以选择矩形窗、汉宁窗、海明窗等。
二、IIR滤波器设计IIR(Infinite Impulse Response)滤波器是另一种常用的数字滤波器,其特点是滤波器具有无限长度的单位脉冲响应。
与FIR滤波器不同,IIR滤波器的设计指标更多地侧重于滤波器的幅频响应与相位响应的设计。
1.巴特沃斯滤波器设计巴特沃斯滤波器是一种IIR滤波器的设计方法,其特点是在通带中具有均匀响应,即幅频特性较为平坦。
巴特沃斯滤波器设计的关键是选择滤波器阶数和截止频率。
2.预畸变滤波器设计预畸变滤波器是为了使滤波器的相频特性更加平坦而设计的,其主要应用在通信系统中。
预畸变滤波器一般采用线性相位结构,在设计时需要考虑相位补偿。
三、其他滤波器设计方法除了上述的FIR和IIR滤波器设计方法外,还有一些其他的滤波器设计方法,如小波滤波器设计、自适应滤波器设计等。
1.小波滤波器设计小波滤波器是在小波变换领域中常用的滤波器设计方法。
小波滤波器具有多尺度分析的特点,可以提供多分辨率的信号处理。
2.自适应滤波器设计自适应滤波器是根据输入信号的特性进行动态调整的一种滤波器设计方法。
FIR滤波器的设计与性能评估
FIR滤波器的设计与性能评估一、引言滤波器在信号处理中起到了至关重要的作用。
滤波器可以根据信号的频率特性对信号进行处理,使我们可以去除噪声、增强感兴趣的频段等操作。
本文将介绍FIR(Finite Impulse Response)滤波器的设计原理和性能评估方法。
二、FIR滤波器的设计方法FIR滤波器是一种经典的数字滤波器,它利用有限的输入响应对输入信号进行滤波处理。
FIR滤波器具有线性相位和稳定性等优点,因此在许多应用中得到广泛应用。
1. 理想低通滤波器设计首先,我们需要确定FIR滤波器的设计参数,其中最基本的是滤波器的类型。
假设我们需要设计一个低通滤波器,即只保留低于一定频率的信号分量。
可以采用理想低通滤波器的方法进行设计。
2. 频率响应的离散化接下来,我们需要将理想低通滤波器的频率响应离散化,得到滤波器的系数。
常用的方法有频率采样法和窗函数法。
频率采样法通过在频域上均匀采样理想滤波器的频率响应得到系数,而窗函数法则需要选择一个窗函数来对离散化后的频率响应进行加窗。
3. 系数计算与滤波器实现根据离散化后的频率响应,可以通过逆变换得到滤波器的系数。
然后,我们可以将这些系数用于实现FIR滤波器。
常见的实现方式包括直接形式(Direct Form)、级联形式(Cascade Form)和线性相位形式(Linear Phase Form)等。
三、FIR滤波器的性能评估方法设计完成后,我们需要对FIR滤波器进行性能评估,以确保其能够满足我们的需求。
1. 幅频响应和相频响应在性能评估中,我们通常关注滤波器的幅频响应和相频响应。
幅频响应可以反映滤波器对不同频率分量的衰减或增益情况,而相频响应则描述了信号在滤波器中的相位变化。
2. 截止频率和过渡带宽对于低通滤波器而言,截止频率和过渡带宽是评估性能的重要指标。
截止频率是指滤波器开始起作用的频率,而过渡带宽则是指截止频率和衰减区域之间的频率范围。
3. 线性相位特性FIR滤波器具有线性相位的特点,这意味着不同频率分量的信号在滤波器中的延迟是相同的。
实验6FIR滤波器设计
实验6FIR滤波器设计FIR(Finite Impulse Response)滤波器是一种数字滤波器,它的输出只取决于输入序列和固定的系数,没有反馈回路。
FIR滤波器在很多领域中都有广泛的应用,比如音频信号处理、图像处理等。
本实验中我们将设计一个FIR滤波器,主要包括滤波器的设计、滤波器的实现以及滤波器的性能评估。
首先,我们需要选择一个滤波器的类型和规格。
常用的滤波器类型包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
在本实验中,我们选择设计一个低通FIR滤波器。
接下来,我们需要确定滤波器的规格,包括截止频率、滤波器阶数和滤波器的类型等。
根据实际需求,我们选择截止频率为2kHz、滤波器阶数为64阶,滤波器类型为汉宁窗设计。
然后,我们需要确定滤波器的系数。
在本实验中,我们使用频率采样法设计滤波器。
首先,确定归一化截止频率:将实际截止频率除以采样频率,即2kHz/1MHz=0.002、然后,根据阶数和归一化截止频率计算出滤波器的系数。
在设计完成后,我们需要将滤波器转化为差分方程。
差分方程的形式为:y[n]=b0*x[n]+b1*x[n-1]+b2*x[n-2]+...+bN*x[n-N]其中y[n]是输出序列,x[n]是输入序列,b0,b1,b2,...,bN是滤波器的系数。
接下来,我们需要实现设计好的滤波器。
可以使用现有的FIR滤波器实现库,比如MATLAB中的“fir1”函数。
将输入序列输入滤波器,即可得到滤波后的输出序列。
最后,我们需要评估滤波器的性能。
常用的评估指标有幅频响应、相频响应和滤波器的群延迟等。
可以利用这些指标来评估滤波器的性能是否达到设计要求。
比如,可以绘制滤波器的幅频响应曲线来观察滤波器在不同频率下的增益情况。
综上所述,本实验主要介绍了FIR滤波器的设计、实现以及性能评估。
通过掌握FIR滤波器的设计方法和实现步骤,可以更好地应用FIR滤波器进行信号处理和滤波。
DSP的FIR设计低通滤波C语言编写
DSP的FIR设计低通滤波C语言编写FIR(有限脉冲响应)滤波器是一种常用的数字滤波器,用于数字信号处理中的滤波操作。
FIR滤波器的设计通常包括两个主要步骤:滤波器的规格化和滤波器系数的计算。
滤波器的规格化是指确定滤波器的采样频率,截止频率以及陷波增益等参数。
在设计低通FIR滤波器时,我们需要确定滤波器的截止频率。
假设我们希望设计一个截止频率为Fs/4的低通FIR滤波器,其中Fs是采样频率。
根据滤波器设计的基本原理,我们可以得到滤波器的频率响应公式为:H(k) = (2 * Fs/4 * sin(2 * pi * Fs/4 * k))/(pi * k)其中,k是从0到N-1的整数序列,N是滤波器的长度。
经过频域设计,我们可以通过计算滤波器的频率响应公式来获得滤波器的系数。
接下来,我们将使用C语言编写一个低通FIR滤波器的代码示例。
在这个示例中,我们将实现一个截止频率为Fs/4的低通FIR滤波器,采样频率为Fs。
代码如下:```c#include <stdio.h>#include <stdlib.h>#include <math.h>//定义滤波器的长度#define N 51//定义采样频率//定义滤波器的截止频率#define Fc (Fs/4)//计算滤波器的系数void calculateCoefficients(float* coefficients)float sum = 0;for (int k = 0; k < N; k++)if (k == N/2)coefficients[k] = 2 * Fc/Fs;} elsecoefficients[k] = (sin(2.0 * M_PI * Fc * (k - N/2) / Fs)) / (M_PI * (k - N/2));}sum += coefficients[k];}//归一化滤波器的系数for (int k = 0; k < N; k++)coefficients[k] /= sum;}//应用滤波器void applyFilter(float* input, float* output, float* coefficients, int length)for (int n = 0; n < length; n++)output[n] = 0;for (int k = 0; k < N; k++)if (n - k >= 0)output[n] += input[n - k] * coefficients[k];}}}int mai//定义输入信号和输出信号的长度int length = 100;//为输入信号和输出信号分配内存空间float* input = (float*)malloc(length*sizeof(float));float* output = (float*)malloc(length*sizeof(float));//为滤波器的系数分配内存空间float* coefficients = (float*)malloc(N*sizeof(float));//生成输入信号for (int n = 0; n < length; n++)input[n] = sin(2.0 * M_PI * 1000 * n / Fs);}//计算滤波器的系数calculateCoefficients(coefficients);//应用滤波器applyFilter(input, output, coefficients, length); //打印输出信号for (int n = 0; n < length; n++)printf("%f\n", output[n]);}//释放内存空间free(input);free(output);free(coefficients);return 0;```在上面的代码示例中,我们首先定义了滤波器的长度、采样频率以及截止频率。
dsp实验报告 fir实验报告
dsp实验报告 fir实验报告DSP实验报告:FIR实验报告引言:数字信号处理(Digital Signal Processing,DSP)是一门研究如何对数字信号进行处理和处理的学科。
其中,滤波器是数字信号处理中最常用的技术之一。
本实验报告旨在介绍FIR(Finite Impulse Response)滤波器的原理、设计和实现过程,并通过实验验证其性能。
一、FIR滤波器的原理FIR滤波器是一种线性时不变系统,其输出信号仅由输入信号的有限个历史样本决定。
其基本原理是将输入信号与滤波器的冲激响应进行卷积运算,以实现对输入信号的滤波处理。
二、FIR滤波器的设计方法1. 理想低通滤波器设计方法理想低通滤波器的频率响应在截止频率之前为1,在截止频率之后为0。
通过对理想低通滤波器的频率响应进行采样和离散化,可以得到FIR滤波器的系数序列。
2. 窗函数法设计FIR滤波器窗函数法是一种常用的FIR滤波器设计方法。
其基本思想是将理想低通滤波器的频率响应与一个窗函数进行乘积,从而得到实际可实现的FIR滤波器的系数序列。
常用的窗函数有矩形窗、汉宁窗、汉明窗等。
三、FIR滤波器的实现FIR滤波器可以通过直接形式和间接形式两种方式实现。
直接形式是按照滤波器的差分方程进行计算,而间接形式则是利用FFT(Fast Fourier Transform)算法将滤波器的系数序列转换为频域进行计算。
四、FIR滤波器的性能评估1. 幅频响应幅频响应是评估FIR滤波器性能的重要指标之一。
通过绘制滤波器的幅频响应曲线,可以直观地观察滤波器在不同频率下的衰减情况。
2. 相频响应相频响应是评估FIR滤波器性能的另一个重要指标。
相频响应描述了滤波器对输入信号的相位延迟情况,对于某些应用场景,相频响应的稳定性和线性性非常重要。
3. 稳态误差稳态误差是指FIR滤波器在达到稳态后输出信号与理想输出信号之间的差异。
通过对滤波器的输入信号进行模拟或实际测试,可以计算出滤波器的稳态误差,并评估其性能。
DSP的FIR设计C语言编写
DSP的FIR设计C语言编写FIR(Finite Impulse Response)滤波器是数字信号处理中常用的一种滤波器类型。
它具有有限的冲激响应,只对有限长度的输入信号做出响应。
低通滤波器是一种能够通过滤除高频分量而保留低频分量的滤波器。
FIR低通滤波器的设计可以通过数字滤波器设计方法来实现,其中一种常用的方法是窗函数法。
以下是一个用C语言编写的FIR低通滤波器设计实例:```c#include <stdio.h>#include <stdlib.h>#include <math.h>//FIR低通滤波器设计函数void fir_lowpass_filter_design(float *filter, int order, float cutoff_freq, float sampling_freq)int i;float omega_c = 2 * M_PI * cutoff_freq / sampling_freq;//计算滤波器系数for (i = 0; i <= order; i++)if (i == (order / 2))filter[i] = omega_c / M_PI;filter[i] = sin(omega_c * (i - (order / 2))) / (M_PI * (i - (order / 2)));}int mainint order = 51; // 滤波器阶数float cutoff_freq = 1000.0; // 截止频率float sampling_freq = 8000.0; // 采样频率float *filter = malloc((order + 1) * sizeof(float)); // 分配滤波器系数数组内存//调用FIR低通滤波器设计函数fir_lowpass_filter_design(filter, order, cutoff_freq, sampling_freq);//打印滤波器系数printf("Filter Coefficients:\n");for (int i = 0; i <= order; i++)printf("h[%d] = %f\n", i, filter[i]);}free(filter); // 释放滤波器系数数组内存return 0;上述代码中的`fir_lowpass_filter_design`函数用于计算滤波器系数,其参数`filter`是一个指向滤波器系数数组的指针,`order`是滤波器阶数,`cutoff_freq`是截止频率,`sampling_freq`是采样频率。
FIR低通滤波器设计
FIR低通滤波器设计一、FIR低通滤波器的设计原理FIR低通滤波器是通过截断滤波器的频率响应来实现的。
设计过程中,需要确定滤波器的截止频率和滤波器的阶数。
阶数越高,滤波器的性能越好,但需要更多的计算资源。
截止频率决定了滤波器的带宽,对应于滤波器的3dB截止频率。
低通滤波器将高频部分去除,只保留低频部分。
二、FIR低通滤波器的设计步骤1.确定滤波器的阶数N:根据滤波器的性能要求,确定阶数N,一般通过试验和优化得到。
2.确定滤波器的截止频率:根据所需的频率特性,确定滤波器的截止频率,可以根据设计要求选择合适的截止频率。
3. 建立理想的频率响应:根据滤波器的类型和截止频率,建立理想的频率响应,例如矩形窗、Hamming窗等。
4.通过傅里叶反变换得到滤波器的冲激响应:将建立的理想频率响应进行傅里叶反变换,得到滤波器的冲激响应。
5.通过采样和量化得到滤波器的离散系数:根据采样频率和滤波器的冲激响应,得到滤波器的离散系数。
6.实现滤波器:利用离散系数和输入信号进行卷积运算,得到滤波器的输出信号。
三、常用的FIR低通滤波器设计方法1.矩形窗设计法:矩形窗设计法是一种简单的设计方法,通过选择合适的滤波器阶数和截止频率,利用离散傅里叶变换求解滤波器的系数。
矩形窗设计法的优点是简单易用,但是频率响应的副瓣比较高。
2. Hamming窗设计法:Hamming窗设计法是一种常用的设计方法,通过选择合适的滤波器阶数和截止频率,利用离散傅里叶变换求解滤波器的系数。
Hamming窗设计法可以减小副瓣,同时保持主瓣较窄。
3. Parks-McClellan算法:Parks-McClellan算法是一种常用的优化设计方法,通过最小化滤波器的最大截止误差来得到滤波器的系数。
Parks-McClellan算法可以得到相对较好的频率响应,但是计算量较大。
四、总结FIR低通滤波器设计是数字信号处理中的关键任务之一、设计滤波器的阶数和截止频率是设计的关键步骤,采用不同的设计方法可以得到不同的滤波器性能。
FIR滤波器设计与实现实验报告
FIR滤波器设计与实现实验报告实验报告:FIR滤波器设计与实现一、实验目的本实验旨在通过设计和实现FIR滤波器来理解数字滤波器的原理和设计过程,并且掌握FIR滤波器的设计方法和实现技巧。
二、实验原理1.选择滤波器的类型和阶数根据滤波器的类型和阶数的不同,可以实现不同的滤波效果。
常见的滤波器类型有低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
选择适当的滤波器类型和阶数可以实现对不同频率分量的滤波。
2.确定滤波器的系数在设计FIR滤波器时,系数的选择对滤波器的性能有重要影响。
通常可以使用窗函数法、最小二乘法、频率采样法等方法来确定系数的值。
常见的窗函数有矩形窗、汉明窗和布莱克曼窗等。
三、实验步骤1.确定滤波器的类型和阶数根据实际需求和信号特点,选择合适的滤波器类型和阶数。
例如,如果需要设计一个低通滤波器,可以选择实验中使用的巴特沃斯低通滤波器。
2.确定滤波器的频率响应根据滤波器的类型和阶数,确定滤波器的频率响应。
可以通过matlab等软件来计算和绘制滤波器的频率响应曲线。
3.确定滤波器的系数根据频率响应的要求,选择合适的窗函数和窗长度来确定滤波器的系数。
可以使用matlab等软件来计算和绘制窗函数的形状和频率响应曲线。
4.实现滤波器的功能将滤波器的系数应用于输入信号,通过加权求和得到输出信号的采样点。
可以使用matlab等软件来模拟和验证滤波器的功能。
四、实验结果在实际实验中,我们选择了一个4阶低通滤波器进行设计和实现。
通过计算和绘制滤波器的频率响应曲线,确定了窗函数的形状和窗长度。
在实际实验中,我们通过实现一个滤波器功能的matlab程序来验证滤波器的性能。
通过输入不同频率和幅度的信号,观察滤波器对信号的影响,验证了设计的滤波器的功能有效性。
五、实验总结通过本实验,我们深入了解了FIR滤波器的设计原理和实现方法。
通过设计和实现一个具体的滤波器,我们掌握了滤波器类型和阶数的选择方法,以及系数的确定方法。
FIR滤波器设计与实现实验报告
FIR滤波器设计与实现实验报告目录一、实验概述 (2)1. 实验目的 (3)2. 实验原理 (3)3. 实验设备与工具 (4)4. 实验内容与步骤 (6)5. 实验数据与结果分析 (7)二、FIR滤波器设计 (8)1. 滤波器设计基本概念 (9)2. 系数求解方法 (10)频谱采样法 (11)最小均方误差法 (14)3. 常用FIR滤波器类型 (15)线性相位FIR滤波器 (16)非线性相位FIR滤波器 (18)4. 设计实例与比较 (19)三、FIR滤波器实现 (20)1. 硬件实现基础 (21)2. 软件实现方法 (22)3. 实现过程中的关键问题与解决方案 (23)4. 滤波器性能评估指标 (25)四、实验结果与分析 (26)1. 实验数据记录与处理 (27)2. 滤波器性能测试与分析 (29)通带波动 (30)虚部衰减 (31)相位失真 (32)3. 与其他设计方案的对比与讨论 (33)五、总结与展望 (34)1. 实验成果总结 (35)2. 存在问题与不足 (36)3. 未来发展方向与改进措施 (37)一、实验概述本次实验的主要目标是设计并实现一个有限脉冲响应(Finite Impulse Response,简称FIR)滤波器。
FIR滤波器是数字信号处理中常用的一种滤波器,具有线性相位响应和易于设计的优点。
本次实验旨在通过实践加深我们对FIR滤波器设计和实现过程的理解,提升我们的实践能力和问题解决能力。
在实验过程中,我们将首先理解FIR滤波器的基本原理和特性,包括其工作原理、设计方法和性能指标。
我们将选择合适的实验工具和环境,例如MATLAB或Python等编程环境,进行FIR滤波器的设计。
我们还将关注滤波器的实现过程,包括代码编写、性能测试和结果分析等步骤。
通过这次实验,我们期望能够深入理解FIR滤波器的设计和实现过程,并能够将理论知识应用到实践中,提高我们的工程实践能力。
本次实验报告将按照“设计原理设计方法实现过程实验结果与分析”的逻辑结构进行组织,让读者能够清晰地了解我们实验的全过程,以及我们从中获得的收获和启示。
fir数字滤波器设计实验报告
fir数字滤波器设计实验报告fir数字滤波器设计实验报告引言数字滤波器是一种常见的信号处理工具,用于去除信号中的噪声或者滤波信号以达到特定的目的。
其中,FIR(Finite Impulse Response)数字滤波器是一种常见且重要的数字滤波器,其特点是具有有限冲击响应。
本实验旨在设计并实现一个FIR数字滤波器,通过对滤波器的设计和性能评估,加深对数字滤波器的理解。
设计过程1. 确定滤波器的要求在设计FIR数字滤波器之前,首先需要明确滤波器的要求。
这包括滤波器类型(低通、高通、带通或带阻)、截止频率、滤波器阶数等。
在本实验中,我们选择设计一个低通滤波器,截止频率为1kHz,滤波器阶数为32。
2. 设计滤波器的传递函数根据滤波器的要求,我们可以利用Matlab等工具设计出滤波器的传递函数。
在本实验中,我们选择使用窗函数法设计滤波器。
通过选择合适的窗函数(如矩形窗、汉宁窗等),可以得到滤波器的传递函数。
3. 确定滤波器的系数根据滤波器的传递函数,我们可以通过离散化的方法得到滤波器的系数。
这些系数将决定滤波器对输入信号的响应。
在本实验中,我们使用了Matlab的fir1函数来计算滤波器的系数。
4. 实现滤波器在得到滤波器的系数之后,我们可以将其应用于输入信号,实现滤波器的功能。
这可以通过编程语言(如Matlab、Python等)来实现,或者使用专用的数字信号处理器(DSP)来进行硬件实现。
实验结果为了评估设计的FIR数字滤波器的性能,我们进行了一系列的实验。
首先,我们使用了一个具有噪声的输入信号,并将其输入到滤波器中。
通过比较滤波器输出信号和原始信号,我们可以评估滤波器对噪声的去除效果。
实验结果显示,设计的FIR数字滤波器能够有效地去除输入信号中的噪声。
滤波后的信号更加平滑,噪声成分明显减少。
此外,滤波器的截止频率也得到了有效控制,滤波器在截止频率之后的信号衰减明显。
讨论与总结通过本次实验,我们深入了解了FIR数字滤波器的设计和实现过程。
低通滤波器的设计
hd(n)
0.2
分贝
-100 25 30 35 40 45 50 55 60 -150
0
-0.2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
滤波器测试
2.5 2
信号波形
滤波后信号的时域波形
原是信号的时域波形
1 0.8 0.6
1.5 1
0.4 0.2
时域波形
0 0.1 0.2 0.3 0.4 0.5 0.6 时 间 ( S) 0.7 0.8 0.9 1
N 1 n 0
F1R滤波器实质是一个分节的延迟线,把每一节的 输出加权累加,得到滤波器的输出。FIR可以做到 线性不失真。但对于FIR滤波器的单位脉冲响应h(i} 只要满足以下2个条件之一,则为线性相位滤波器。
h( N 1 i )(奇对称) h(i) ) h( N 1 i(偶对称)
0.5
时域波形
0 -0.5 -1 -1.5
0 -0.2 -0.4 -0.6
-2
-0.8
-2.5
-1
0
0.1
0.2
0.3
0.4
0.5 0.6 时 间 (S)
0.7
0.8
0.9
1
滤波后的信号有一定的延迟,而且这个与截至幅 值有关,幅值大的时候延迟更多
滤波器测试——原是信号
60
信号幅度谱
原始信号
幅度谱
滤波后的信号
50
40
幅度
30
20
115 20 频 率 (Hz)
25
30
35
低通FIR数字滤波器设计
低通FIR数字滤波器设计(1)设计方案本设计利用窗函数法设计了一个低通FIR数字滤波器,利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图。
FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。
目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
由于窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的,本设计方案选用窗函数法基本思路:从时域出发设计 h(n)逼近理想 hd(n)。
设理想滤波器的单位响应在时域表达为hd(n),则hd(n) 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器单位抽样响应 h(n),最直接的方法是先将hd(n)往右平移,再进行截断,即截取为有限长因果序列:h(n)=hd(n)w(n),并用合适的窗函数进行加权作为 FIR 滤波器的单位脉冲响应。
按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,返个现象称为吉布斯(Gibbs)效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
MATLAB 设计 FIR 滤波器有多种方法和对应的函数。
从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
(2)MATLAB程序设计和仿真图MATLAB程序如下:f1=100;f2=200;%待滤波正弦信号频率fs=2000;%采样频率m=(0.3*f1)/(fs/2);%定义过度带宽M=round(8/m);%定义窗函数的长度N=M-1;%定义滤波器的阶数b=fir1(N,0.5*f2/(fs/2));%使用fir1函数设计滤波器%输入的参数分别是滤波器的阶数和截止频率figure(1)[h,f]=freqz(b,1,512);%滤波器的幅频特性图%[H,W]=freqz(B,A,N)当N是一个整数时函数返回N点的频率向量和幅频响应向量plot(f*fs/(2*pi),20*log10(abs(h)))%参数分别是频率与幅值xlabel('频率/赫兹');ylabel('增益/分贝');title('滤波器的增益响应');figure(2)subplot(211)t=0:1/fs:0.5;%定义时间范围和步长s=sin(2*pi*f1*t)+sin(2*pi*f2*t);%滤波前信号plot(t,s);%滤波前的信号图像xlabel('时间/秒');ylabel('幅度');title('信号滤波前时域图');subplot(212)Fs=fft(s,512);%将信号变换到频域AFs=abs(Fs);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFs(1:256));%滤波前的信号频域图xlabel('频率/赫兹');ylabel('幅度');title('信号滤波前频域图');figure(3)sf=filter(b,1,s);%使用filter函数对信号进行滤波%输入的参数分别为滤波器系统函数的分子和分母多项式系数向量和待滤波信号输入subplot(211)plot(t,sf)%滤波后的信号图像xlabel('时间/秒');ylabel('幅度');title('信号滤波后时域图');axis([0.2 0.5 -2 2]);%限定图像坐标范围subplot(212)Fsf=fft(sf,512);%滤波后的信号频域图AFsf=abs(Fsf);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFsf(1:256))%滤波后的信号频域图xlabel('频率/赫兹');ylabel('幅度');title('信号滤波后频域图');低通的FIR数字滤波器的仿真图如图8~图10所示:图8低通FIR滤波器的增益响应图9 滤波前的信号时域图和频域图图10 滤波后的信号时域图和频域图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息处理课程设计姓名班级学院学号目录一、前言二、FIR滤波器简介三、FIR低通滤波器的设计四、FIR数字滤波器程序设计与仿真五、小结六、参考文献一、前言数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
应用最广的是线性、时不变数字滤波器,以及FIR滤波器。
二、FIR滤波器简介FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
有限长单位冲激响应(FIR)滤波器有以下特点:(1) 系统的单位冲激响应h (n)在有限个n值处不为零;(2) 系统函数H(z)在|z|>0处收敛,极点全部在z = 0处(因果系统);(3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
目前,FIR 滤波器的硬件实现有以下几种方式: 1.数字集成电路FIR 滤波器一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。
虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。
2.DSP 芯片FIR 滤波器另一种是使用DSP 芯片。
DSP 芯片有专用的数字信号处理函数可调用,实现FIR 滤波器相对简单,但是由于程序顺序执行,速度受到限制。
而且,就是同一公司的不同系统的DSP 芯片,其编程指令也会有所不同,开发周期较长。
3.可编程FIR 滤波器还有一种是使用可编程逻辑器件,FPGA /CPLD 。
FPGA 有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR 滤波器的实现,相对于串行运算主导的通用DSP 芯片来说,并行性和可扩展性都更好。
三、FIR 低通滤波器的设计1. FIR 滤波器的窗函数设计法FIR 滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。
窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列。
FIR 滤波器的设计问题在于寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应)(ωj d e H ,其对应的单位脉冲响应)(n h d 。
设计思想:从时域从发,设计)(n h 逼近理想)(n h d 。
设理想滤波器)(ωj d e H 的单位脉冲响应为)(n h d 。
以低通线性相位FIR 数字滤波器为例。
⎰∑--∞-∞===ππωωωωωπd e e Hn h e n he H jn j dd jn n dj d )(21)()()()(n h d 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。
按照线性相位滤波器的要求,h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即⎩⎨⎧-==2/)1()()()(N a n w n h n h d 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs )效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
1.典型的窗函数(1)矩形窗(Rectangle Window))()(n R n w N = 其频率响应和幅度响应分别为:21)2/sin()2/sin()(--=N j j eN e W ωωωω,)2/sin()2/sin()(ωωωN W R =(2)三角形窗(Bartlett Window)⎪⎩⎪⎨⎧-≤<----≤≤-=121,122210,12)(N n N N n N n N n n w其频率响应为:212])2/sin()4/sin([2)(--=N j j eN N e W ωωωω(3)汉宁(Hanning)窗,又称升余弦窗)()]12cos(1[21)(n R N n n w N --=π其频率响应和幅度响应分别为:)]12()12([25.0)(5.0)()()]}12()12([25.0)(5.0{)()21(-++--+==-++--+=---N W N W W W e W eN W N W W e W R R R aj N j R R R j πωπωωωωπωπωωωωω(4)汉明(Hamming)窗,又称改进的升余弦窗)()]12cos(46.054.0[)(n R N n n w N --=π其幅度响应为:)]12()12([23.0)(54.0)(-++--+=N W N W W W R R R πωπωωω (5)布莱克曼(Blankman)窗,又称二阶升余弦窗)()]14cos(08.0)12cos(5.042.0[)(n R N n N n n w N -+--=ππ 其幅度响应为:)]14()14([04.0)]12()12([25.0)(42.0)(-++--+-++--+=N W N W N W N W W W R R R R R πωπωπωπωωω(6)凯泽(Kaiser)窗10,)())]1/(21[1()(020-≤≤---=N n I N n I n w ββ其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。
I 0(·)是第一类修正零阶贝塞尔函数。
若阻带最小衰减表示为s s A δ10log 20-=,β的确定可采用下述经验公式:⎪⎩⎪⎨⎧>-≤<-+-≤=50)7.8(1102.05021)21(07886.0)21(5842.0214.0s s s s s s A A A A A A β若滤波器通带和阻带波纹相等即δp=δs 时,滤波器节数可通过下式确定:136.1495.7+∆-=FA N s式中:πωωπω22ps F -=∆=∆ 2.利用窗函数设计FIR 滤波器的具体步骤如下:(1)按允许的过渡带宽度△ω及阻带衰减A S ,选择合适的窗函数,并估计节数N ,其中A 由窗函数的类型决定。
(2)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应)(n h d 。
(3)确定延时值(4)计算滤波器的单位取样响应)(n h ,)()()(n w n h n h d =。
(5)验算技术指标是否满足要求。
实际设计过程中,上述几种窗函数可以根据对滤波器的过渡带宽度和阻带衰减的要求i ,适当选取窗函数的类型和长度N ,以得到比较满意的设计效果。
如何根据滤波器长度N 的奇偶性,选择h(n)的奇偶对称性则是另外一个需要考虑的问题。
线性相位实系数FIR 滤波器按其N 值奇偶和h(n)的奇偶对称性,可以分为四种,它们具有不同的幅频和相位特性:1. h(n)为偶对称,N 为奇数:H(e ωj )=[h(21-N )+∑-=--+-2/)1(121]cos )21(2N n N j en n N h ωω它的幅度是关于ππω2,,0=点成偶对称。
2. h(n)偶对称,N 为偶数:H(eωj )=[h(21-N )+∑-=--+-2/)1(121]cos )21(2N n N j en n N h ωω它的幅度是关于πω=成奇对称,πω=处有零点,所以它不适合于作高通滤波器。
3. h(n)为奇对称,N 为奇数H(eωj )={∑-=---+-2/)1(121)]}2/1cos[)12(2N n N j en n Nh ωω(它的幅度是关于ππω2,,0=点成奇对称, H(e ωj )在ππω2,,0=处都有零点。
因此它不适合于低通和高通。
4. h(n)为奇对称,N 为偶对称H(eωj )={∑-=---+-2/)1(121)]}2/1cos[)12(2N n N j en n Nh ωω(+2π 它的幅度是关于ππω2,,0=点成奇对称。
h(e ωj )在ππω2,,0=处有零点。
因此它不适于低通。
在滤波器设计过程中,只有根据上述四种线性相位滤波器传递函数的性质,合理地选择应采用的种类,构造出h d (e ωj )的幅频特性和相位特性,才能求得所需要的,具有单位脉冲响应的线性相位FIR 滤波器传递函数。
窗函数法设计线性相位FIR 滤波器可以按如下步骤:1. 确定数字滤波器的性质要求,确定各临界频率{K ω}和滤波器单位脉冲响应长度N 。
2. 根据性能要求和N 值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应h d (e ωj )的幅频特性和相位特性。
3. 用傅里叶反变换公式,求得理想单位脉冲响应H d (n)。
4. 选择适当的窗函数W(n)根据式(4—3),求得所设计的FIR 滤波器单位脉冲响应。
5. 用傅里叶变换求得其频率响应H(e ωj ),分析他的频率特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述过程,直至得到满意结果。
注意:上述步骤(3)中,从H d (e ωj )到h d (n)的反变换要用的式(4--2)。
这里积分运算在计算机上可取数值解:h d (n)∑=≈1-M 022)(1k kn Mjk MjdeeHMππ其中01-≤≤N n ,而M N 8≥,这样,数值解才能较好地逼近解析解。
2.程序设计法MATLAB 信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。
3.FDATool 设计法FDATool(Filter Design & Analysis Tool)是MATLAB 信号处理工具箱专用的滤波器设计分析工具,操作简单、灵活,可以采用多种方法设计FIR 和IIR 滤波器。