基于矩形窗设计FIR数字滤波器

合集下载

数字信号处理实验——用窗函数设计FIR滤波器

数字信号处理实验——用窗函数设计FIR滤波器

实验四 用窗函数设计FIR 滤波器一、 实验目的1、熟悉FIR 滤波器设计的基本方法。

2、掌握用窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。

3、熟悉线性相位FIR 滤波器的幅频特性和相位特性。

4、了解各种不同窗函数对滤波器性能的响应。

二、 实验原理和方法窗函数法设计的任务在于寻找一个可实现有限长单位脉冲响应的传递函数H(e jw )=∑-=10N n h(n)e -jwn 去逼近h d (n)=1/2π⎰π20H d (e jw )e jwn dw即h(n)=h d (n)w (n ) (一)几种常用的窗函数1、矩形窗 w(n)=R N (n)2、Hanning 窗 w(n)=0.5[1-cos(2πn /N-1)]R N (n)3、Hamming 窗 w(n)=[0.54-0.46cos(2πn /N-1)]R N (n)4、Blackman 窗 w(n)=[0.42-0.5 cos(2πn /N-1)+0.08 cos(4πn /N-1)] R N (n)5、Kaiser 窗 w(n)=I 0(β(1-[(2n /(N-1))-1]2)½)/I 0(β)(二)窗函数法设计线性相位FIR 滤波器的步骤1、确定数字滤波器的性能要求。

确定各临界频率{w k }和滤波器单位脉冲响应长度N 。

2、根据性能要求和N 值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应h d (e jw)的幅频特性和相位特性。

3、用傅里叶反变换公式求得理想单位脉冲响应h d (n)。

4、选择适当的窗函数W (n ),求得所设计的FIR 滤波器单位脉冲响应。

5、用傅里叶变换求得其频率响应H (e jw),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N ,重复上述过程,直至得到满意的结果。

三、实验内容和步骤1、分别用矩形窗、Hanning 窗、Hamming 窗、Blackman 窗、Kaiser 窗(β=8.5)设计一个长度N=8的线性相位FIR 滤波器。

基于矩形窗设计FIR数字滤波器

基于矩形窗设计FIR数字滤波器

郑州航空工业管理学院《电子信息系统仿真》课程设计14级专业班级题目基于矩形窗设计FIR数字滤波器姓名学号二О一六年十一月二十五日第一章 FIR 滤波器的设计原理及方法FIR 滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR 滤波器。

我们用Hd (e^jw )表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc<pi 的低通滤波器由下式给定:⎩⎨⎧=<-⋅<==<=wc w jaw e w wc jw e Hd ||),(^1||,0)^(π为了从hd(n)得到一个FIR 滤波器,必须同时在两边截取hd (n )。

而要得到一个因果的线性相位滤波器,它的h(n)长度为N ,必须有:⎩⎨⎧-<=<==其他,010),()(N n n hd n h 2/)1(-=N α这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w (n )的乘积: h(n)=hd(n)w(n) 其中⎩⎨⎧-≤≤=,其他对称,关于01n 0)(N n w α根据w (n )的不同定义,可以得到不同的窗结构。

在频域中,因果FIR 滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即⎰--=⊗=ππλλωπd j e W jw e W jw e Hd jw e H )(^(2/1)^()^()^(常用的窗函数有矩形窗、巴特利特(BARTLETT)窗、汉宁(HANNING)窗、海明(HAMMING)窗、布莱克曼(BLACKMAN)窗、凯泽(KAISER)窗等。

FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

信号实验三 用窗函数设计FIR滤波器

信号实验三 用窗函数设计FIR滤波器

实验三用窗函数设计FIR滤波器一、实验目的1.熟悉FIR滤波器设计的基本方法。

2.掌握用窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。

3.熟悉线性相位FIR滤波器的幅频特性和相位特性。

4.了解各种不同窗函数对滤波器性能的响应。

二、实验内容1、以下是几种常用的窗函数:1.矩形窗:2.Hanning(汉宁)窗:3.Hamming(海明)窗:4.Blackman窗:5.Kaiser窗:窗函数法设计线性相位FIR滤波器可以按如下步骤进行:1.确定数字滤波器的性能要求。

确定各临界频率{错误!未找到引用源。

}和滤波器单位脉冲响应长度N。

2.根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应H d(Ω)的幅频特性和相位特性。

3.用傅里叶反变换公式,求得理想单位脉冲响应h d(n)。

4.选择适当的窗函数W(n)根据式h(n)=h d(n)w(n)求得所设计的FIR滤波器单位脉冲响应。

5.用傅理叶变换求得其频率响应H(Ω),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述过程,直至得到满意的结果。

2. 生成四种窗函数:矩形窗、三角窗、汉宁窗、海明窗,并观察其频率响应。

n=30;%矩形窗及其频响window1=rectwin(n);[h1,w1]=freqz(window1,1);subplot(4,2,1);stem(window1);title('矩形窗');subplot(4,2,2);plot(w1/pi,20*log(abs(h1))/abs(h1(1)));title('矩形窗频响');%三角窗及其频响window2=triang(n);[h2,w2]=freqz(window2,1);subplot(4,2,3);stem(window2);title('三角窗');subplot(4,2,4);plot(w2/pi,20*log(abs(h2))/abs(h2(1)));title('三角窗频响');%汉宁窗及其频响window3=hann(n);[h3,w3]=freqz(window3,1);subplot(4,2,5);stem(window3);title('汉宁窗');subplot(4,2,6);plot(w3/pi,20*log(abs(h3))/abs(h3(1)));title('汉宁窗频响');%汉明窗频响window4=hamming(n);[h4,w4]=freqz(window4,1);subplot(4,2,7);stem(window4);title('汉明窗');subplot(4,2,8);plot(w4/pi,20*log(abs(h4))/abs(h4(1)));title('汉明窗频响');3、(1)用Hanning窗设计一个线性相位带通滤波器,其长度N=15,上下边带宽截止频率分别为ω=0.3π错误!未找到引用源。

用窗口法设计FIR数字滤波器

用窗口法设计FIR数字滤波器

信号、系统与信号办理实验Ⅱ实验报告实验名称:用窗口法设计FIR数字滤波器一、实验目的认识一个实质滤波器的设计过程,加深掌握用窗口法设计FIR数字滤波器的原理和窗函数对数字滤波器性能的影响二、实验内容与要求1.编写用改良的升余弦窗设计FIR线性相应低通数字滤波器的程序,已知wc=,N=21。

这里wc为低通滤波器的截止频次,N为滤波器的长度,滤波器的阶数为N-1。

2.调试运转程序,要求在屏幕上显示出单位脉冲响应h(n)的数值。

画出其幅度响应|H(ejw)|及20log10|H(ejw)|的曲线。

3.画出窗函数w(n)及其频谱|W(ejw)|和20log10|W(ejw)|的曲线。

三、实验程序与结果clear all;N=21;wc=*pi;b=fir1(N-1,wc/pi,hamming(N))freqz(b,1,512);h(n)的数值即b:b=Columns1through11Columns12through21 clear all;N=21;wc=*pi;r=(N-1)/2;n=0:N-1;hdn=sin(wc*(n-r))/pi./(n-r);if rem(N,2)~=0hdn(r+1)=wc/pi;endwn=hamming(N);h=hdn.*wn';H=fft(h,512);W=fft(wn,512);w=2*[0:511]/512;figure;subplot(3,1,1);plot(wn);subplot(3,1,2);plot(w,abs(W));ylabel('|W(eiw)|') subplot(3,1,3);plot(w,20*log10(abs(W))); ylabel('20lg|W(eiw)|'); figure;subplot(2,1,1);plot(w,abs(H));ylabel('|H(eiw)|') subplot(2,1,2);plot(w,20*log10(abs(H))); ylabel('20lg|H(eiw)|');四、仿真结果剖析图一是FIR低通滤波器的幅频和相频特征图图二是滤波器设计过以后的幅度特征图三是窗函数的幅度特征FIR滤波器的设计过程在于运用海明窗口进行设计,依据定义h(n)=hd(n)*w(n)出发来求出w(n)的值。

用窗口法设计FIR数字滤波器

用窗口法设计FIR数字滤波器

实验8用窗口法设计FIR 数字滤波器8.1实验目的了解一个实际滤波器设计过程,加深掌握用窗口法设计FIR 数字滤波器的原理和窗函数对数字滤波器性能的影响。

8.2基本原理设所希望得到的滤波器的理想频率响应为H d (e jw )。

那FI 滤波器的设计就在于寻找一个频率响应为()()∑=--=N n jwn jwH 0e n h e 去逼近H d (e jw )。

在这种逼近中最直接的一种方法是从单位冲激响应序列h(n)着手,使h(n)逼近理想的单位冲激响应h d (n)。

我们知道h d (n)可以从理想频率响应H d (e jw )通过傅里叶反变换得到,即: ()()∑∞∞=-=n jwn jwH e n h e dd ()⎰-=ππωπd H jwn jw de )(e 21n h d但是一般来说,这样得到的单位冲激响应h d (n)往往都是无限长序列,而且是非因果的。

我们以一个截止频率为ωC 的线性相位理想低通滤波器为例来说明。

设低边滤波器的时延为ɑ,即()πωωωωα≤≤≤⎩⎨⎧-cc jw jw H 0e ed (8-2) 则 ()()[]()απαωωπωωα--==⎰--n n d c jwn jw sin e e 21n h c c d 这是一个以ɑ为中心的偶对称的无限长非因果序列。

这样一个无限长的序列怎样用一个有限长主序列去近似呢?最简单的办法就是直接截取它的一段来代替它。

例如n=0到n=N —1的一段截取来作为h(n),但是为了保证所得到的是线性相位滤波器,必须满足h(n)的对称性,所以时延ɑ应该取h(n)长度的一半,即ɑ=(N —1)/2。

()()n100h n h d 其他-≤≤⎩⎨⎧N n n (8-3) 这种直接截取的办法可以形象地想象为,h(n)好比是通过一个窗口所看到的一段h d (n)。

h(n)为h d (n)和一个"窗口函数"的乘积。

在这里,窗口函数就是矩形序列R N (n),即h(n)=h d (n)·R N (n) (8-4)但是一般来说,窗口函数并不一定是矩形序列,可以在矩形以内对h d (n)作一定的加权处理,因此,一般可以表示为h(n)=h d (n)·ω(n) (8-5)这里ω(n)就是窗口函数。

fir滤波器窗函数设计法

fir滤波器窗函数设计法

fir滤波器窗函数设计法
FIR (Finite Impulse Response)滤波器的窗函数设计法是一种经典的数字滤波器设计方法。

它通过选择一个合适的窗函数来对滤波器的频率响应进行加权,从而实现对信号的滤波。

窗函数设计法的基本步骤如下:
1. 确定滤波器的设计规格:包括截止频率、通带和阻带的幅频响应要求等。

2. 根据设计规格,计算出滤波器的理想频率响应:可以使用理想滤波器的频率响应作为目标。

3. 选择一个合适的窗函数:常用的窗函数有矩形窗、汉宁窗、汉明窗等。

选择窗函数的关键是考虑到主瓣宽度和副瓣衰减的平衡。

4. 将选择的窗函数应用于理想频率响应上,得到加权后的频率响应。

5. 对加权后的频率响应进行反变换,得到滤波器的时域响应。

6. 根据需要,对时域响应进行截断或零增益处理,以满足设计规格。

7. 最后,根据计算得到的滤波器系数,可以通过巴特沃斯频率抽样公式将其转换为巴特沃斯直接型或传输函数型,以便在数字系统中实现滤波。

需要注意的是,FIR滤波器的窗函数设计法是一种近似方法,设计的滤波器无法完全符合理想要求。

设计过程中需要权衡主瓣宽度和副瓣衰减等因素,以及选择合适的截断或零增益处理方式,以获得满
足实际需求的滤波器性能。

实验六 用窗函数法设计FIR数字滤波器

实验六 用窗函数法设计FIR数字滤波器

实验六 用窗函数法设计FIR 数字滤波器一,实验目的1.掌握窗函数法设计FIR 数字滤波器的原理及具体方法;2.深入理解吉布斯现象,理解不同窗函数的特点。

二,实验内容例6.1 利用fir1函数和矩形窗设计一个N=51,截止频率ωc =0.5π的低通滤波器,画出幅频特性。

MATLAB 程序: clearN=51;wc=0.5;h=fir1(50,wc,boxcar(N)) [H,W]=freqz(h,1) plot(W/pi,abs(H));title(‘矩形窗振幅特性/dB ’);xlabel(‘相对频率’);ylabel(‘H(w)’)00.10.20.30.40.50.60.70.80.910.20.40.60.811.21.4矩形窗振幅特性/dB相对频率H (w )例6.2 利用fir1函数和布莱克曼窗设计一个N=51,截止频率为1p ω=0.3π,2p ω=0.4π的带通滤波器。

MATLAB 程序:clearN=51;wc=[0.3,0.4];h=fir1(50,wc,'bandpass',blackman(N)) [H,W]=freqz(h,1) plot(W/pi,abs(H));title('布莱克曼窗带通振幅特性/dB'); xlabel('相对频率');ylabel('H(w)')0.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91布莱克曼窗带通振幅特性/dB相对频率H (w )6.3.1窗函数法设计低通数字滤波器,{πωπωπωω4.0||0,||4.0,02/)(≤≤≤<-=N j e j d eH(1)N=26,分别利用矩形窗,汉宁窗和布莱克曼窗设计该滤波器,且滤波器具有线性相位。

绘出脉冲响应()n h 及滤波器的频率响应; (2)增加N ,观察过渡带和最大肩峰值的变化。

窗函数设计fir滤波器的原理

窗函数设计fir滤波器的原理

窗函数设计fir滤波器的原理
FIR滤波器是数字信号处理中常用的一种滤波器,其特点是具有线性相位和稳定性。

在FIR滤波器中,窗函数是一种常用的设计方法,它可以用来控制滤波器的频率响应和滤波器的截止频率等参数。

窗函数的设计原理是基于信号的截断和补零,即将信号限制在一个有限的时间段内,并在信号的两端补零,使得信号在有限时间内变得平滑。

这样做的目的是为了避免信号在频域上出现不必要的波动,从而影响滤波器的性能。

在FIR滤波器中,窗函数的设计可以分为两个步骤:首先选择一个合适的窗函数,然后将该窗函数与理想滤波器的频率响应相乘,得到实际滤波器的频率响应。

常用的窗函数包括矩形窗、汉明窗、汉宁窗、布莱克曼窗等。

其中,矩形窗是最简单的窗函数,其频率响应为常数,但其截止频率较高,不适合用于滤波器的设计。

汉明窗和汉宁窗的频率响应较为平滑,但其截止频率较低,适合用于低通滤波器的设计。

布莱克曼窗的频率响应最为平滑,但其计算较为复杂,适合用于高精度的滤波器设计。

在选择窗函数后,需要将其与理想滤波器的频率响应相乘,得到实际
滤波器的频率响应。

理想滤波器的频率响应可以通过傅里叶变换得到,其截止频率和通带宽度可以根据滤波器的设计要求进行调整。

将窗函
数与理想滤波器的频率响应相乘后,得到的实际滤波器的频率响应可
以通过傅里叶反变换得到时域响应,从而得到滤波器的系数。

总之,窗函数是一种常用的FIR滤波器设计方法,其原理是通过信号
的截断和补零来控制滤波器的频率响应和截止频率等参数。

在设计过
程中,需要选择合适的窗函数,并将其与理想滤波器的频率响应相乘,得到实际滤波器的频率响应,从而得到滤波器的系数。

基于Hamming窗的FIR数字滤波器设计资料

基于Hamming窗的FIR数字滤波器设计资料

郑州航空工业管理学院《电子信息系统仿真》课程设计2014 级电子信息工程专业班级题目基于Hamming窗的FIR数字滤波器设计姓名学号二О一六年十一月二十五日一、MATLAB软件简介MATLAB是矩阵实验室(Matrix Laboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB 来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。

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

语言特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。

MATLAB 最突出的特点就是简洁。

MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。

MATLAB给用户带来的是最直观,最简洁的程序开发环境。

二、理论分析1.FIR数字滤波器结构特征FIR 数字滤波器的冲激响应只能延续一定的时间,N 阶因果有限冲激响应滤波器的差分方程表达式为:∑=-=Mikxihkyk) ()()(。

其卷积和是一个有限和,可以直接计算)(ky,所以其涉及的基本操作就是简单的乘和加,其计算仅需要所给出的初始样本值及所要求的相关样本值。

用窗函数法设计FIR数字低通滤波器要点

用窗函数法设计FIR数字低通滤波器要点

河北科技大学课程设计报告学生姓名: 学号:专业班级:课程名称:学年学期指导教师:20年月课程设计成绩评定表目录1. 窗函数设计低通滤波器1.1设计目的 (1)1.2设计原理推导与计算 (1)1.3设计内容与要求 (2)1.4设计源程序与运行结果 (3)1.5思考题……………………………………………………………………101.6心得体会 (14)参考文献……………………………………………………………………… 151.窗函数设计低通滤波器1.1设计目的1. 熟悉设计线性相位数字滤波器的一般步骤。

2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。

3. 熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。

4. 学会根据指标要求选择合适的窗函数。

1.2设计原理推导与计算如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21 (4.1)窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数()ωj e H ,即()⎪⎩⎪⎨⎧≤<≤=-πωωωωωαωc c j jd ,,e e H 0,其中21-=N α()()()[]()a n a n d e e d e eH n h c j j j j d d cc--===⎰⎰---πωωπωπωαωωωαωππωsin 2121用有限长单位脉冲响应序列()n h 逼近()n h d 。

由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:()()()n n h n h d ω=(4.2)()n h 就作为实际设计的FI R数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1ﻩ ﻩ(4.3)式中,N 为所选窗函数()n ω的长度。

用窗函数法设计FIR数字滤波器

用窗函数法设计FIR数字滤波器

实验五用窗函数法设计FIR 数字滤波器一、实验目的:1.掌握用窗函数法设计FIR 数字滤波器的原理和方法 2.熟悉线性相位FIR 数字滤波器特性。

3.了解各种窗函数对滤波特性的影响。

二、实验原理线性相位特点在实际应用中非常重要,如在数据通信、图像处理、语音信号处理等领域,往往要求系统具有线性相位特性,因而常采用容易设计成线性相位的有限冲激响应FIR 数字滤波器来实现。

1. 常用窗函数:1) 矩形窗10[]0k M w k ≤≤⎧=⎨⎩其他〔5.21〕 2) Hann 〔汉纳〕窗0.5-0.5cos(2/)0[]0k M k M w k π≤≤⎧=⎨⎩其他〔5.22〕3) Hamming 〔汉明〕窗 0.54-0.46cos(2/)0[]0k M k M w k π≤≤⎧=⎨⎩其他〔5.23〕4) Blackman 〔布莱克曼〕窗 0.42-0.5cos(2/)0.08cos(4/)0[]0k M k M k M w k ππ+≤≤⎧=⎨⎩其他〔5.24〕 5) Kaiser 〔凯泽〕窗0[]0w k k M =≤≤〔5.25〕 其中2201(/2)()1!n x I x n ∞=⎡⎤=+⎢⎥⎣⎦∑ 下面介绍用窗函数设计FIR 滤波器的步骤:a) 根据技术要求确定待求滤波器的单位取样响应[]d h k 。

b) 根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗函数长度/N A w ≈∆,A 决定于窗口的形式,w ∆表示滤波器的过渡带。

c) 利用选好的窗函数计算滤波器的单位取样响应[][][]d h k h k w k =。

d) 验算技术指标是否满足要求。

设计出来的滤波器的频率响应用10()[]N j j n n H e h k e -Ω-Ω==∑来计算。

2. Matlab 数字信号处理工具箱中常用的FIR 数字滤波器设计函数hanning 汉纳窗函数。

hamming 汉明窗函数。

blackman 布莱克曼窗函数。

窗函数设计FIR数字滤波器

窗函数设计FIR数字滤波器

目录1. 滤波简介 (1)1.1 数字滤波技术 (1)1.2 FIR滤波器 (1)1.3 设计方法 (2)1.3.1 MATLAB结合窗函数设计方法 (2)1.3.2 设计函数的选取 (2)1.3.3 窗函数的构造 (3)1.3.4 窗函数的设计条件 (3)2. 基本窗函数 (5)2.1 矩形窗 (5)2.2 三角形窗 (5)2.3 汉宁窗(升余弦窗) (5)3. 各类窗函数比较 (7)3.1 窗函数绘图比较 (7)3.2 窗函数法设计步骤 (7)3.3 窗函数法设计比较 (8)4. 具体设计内容 (13)4.1 矩形窗设计 (13)4.2 三角窗设计 (14)4.3 布莱克曼窗设计 (16)4.4 结果分析 (18)5. 课设心得 (19)参考文献 (20)本科生课程设计成绩评定表 (21)1. 滤波简介1.1 数字滤波技术数字滤波,就是通过一定的计算或判断程序减少干扰信号在有用信号中的比例,所以实质上是一种程序滤波。

与此对应的就是模拟滤波,模拟滤波主要无源滤波(由电阻、电容、电感等不外接电源的元件组成)与有源滤波(由运算放大器等需要外接电源的元件组成),其目的是将信号中的噪音和干扰信号滤去或者将希望得到的频率信号滤出为我所用。

数字滤波的出现克服了模拟滤波的很多不足,具有以下优点:1.是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。

2.可以对频率很低的信号实现滤波,克服了模拟滤波的缺陷。

3.可以根据不同信号采用不同的滤波方法或参数,具有灵活、方便、功能强的特点。

1.2 FIR滤波器FIR滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,是稳定的系统。

FIR滤波器具有以下主要优点:1.FIR滤波器具有严格的线性相位;2.FIR滤波器永远稳定;3.FIR滤波器设计方法一般是线性的;4.FIR滤波器在硬件上具有更高的运行效率;5.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数字滤波器的设计和实现过程。

fir数字滤波器设计实验报告

fir数字滤波器设计实验报告

fir数字滤波器设计实验报告fir数字滤波器设计实验报告引言:数字滤波器是一种广泛应用于信号处理和通信系统中的重要工具。

其中,有一类常见的数字滤波器是FIR(Finite Impulse Response)数字滤波器。

FIR数字滤波器具有线性相位特性、稳定性好、易于设计和实现等优点,被广泛用于音频处理、图像处理、通信系统等领域。

本实验旨在通过设计一个FIR数字滤波器,探索其设计原理和实际应用。

一、实验目的本实验的目的是通过设计一个FIR数字滤波器,实现对特定信号的滤波处理。

具体来说,我们将学习以下几个方面的内容:1. FIR数字滤波器的基本原理和特点;2. FIR数字滤波器的设计方法和流程;3. 使用MATLAB软件进行FIR数字滤波器的设计和仿真。

二、实验原理1. FIR数字滤波器的基本原理FIR数字滤波器是一种线性时不变系统,其输出仅与当前输入和过去若干个输入有关,没有反馈回路。

这种特性使得FIR数字滤波器具有线性相位特性,适用于对信号的频率响应要求较高的应用场景。

FIR数字滤波器的输出可以通过卷积运算来计算,即将输入信号与滤波器的冲激响应进行卷积运算。

2. FIR数字滤波器的设计方法FIR数字滤波器的设计方法有很多种,常见的包括窗函数法、频率采样法和最优化方法等。

在本实验中,我们将使用窗函数法进行FIR数字滤波器的设计。

窗函数法的基本思想是将理想滤波器的频率响应与一个窗函数相乘,从而得到实际可实现的滤波器。

三、实验步骤1. 确定滤波器的设计要求在设计FIR数字滤波器之前,我们首先需要明确滤波器的设计要求。

包括滤波器的通带、阻带、过渡带的频率范围和响应要求等。

2. 选择窗函数和滤波器的阶数根据设计要求,选择合适的窗函数和滤波器的阶数。

常见的窗函数有矩形窗、汉宁窗、汉明窗等。

不同的窗函数对滤波器的性能有一定影响,需要根据实际情况进行选择。

3. 计算滤波器的冲激响应利用所选窗函数和滤波器的阶数,计算滤波器的冲激响应。

fir滤波器系数生成

fir滤波器系数生成

fir滤波器系数生成
生成FIR滤波器系数是数字信号处理中的重要任务。

FIR滤波
器是一种常见的数字滤波器,它具有线性相位特性和稳定的性能。

生成FIR滤波器系数的常见方法包括窗函数法、频率采样法和最优
化法。

窗函数法是最简单的生成FIR滤波器系数的方法之一。

它通过
选择一个窗函数(如矩形窗、汉宁窗、汉明窗等)来设计频率响应,并将其与理想的频率响应进行卷积,从而得到滤波器的系数。

常见
的窗函数包括Hamming窗、Hanning窗、Blackman窗等。

选择不同
的窗函数会影响滤波器的性能,需要根据具体的需求进行选择。

频率采样法是另一种常见的生成FIR滤波器系数的方法。

它通
过对所需的频率响应进行采样,然后利用反离散傅立叶变换(IDFT)来得到时域的滤波器系数。

这种方法能够直接控制滤波器的频率响应,但在实际应用中需要注意采样频率和滤波器长度的选择,以避
免频率混叠和计算复杂度过高的问题。

最优化法是一种基于数学优化理论的生成FIR滤波器系数的方法。

它通过最小化滤波器的误差函数来得到最优的系数。

常见的最
优化方法包括最小均方误差法(LMS)、最小最大法(Parks-McClellan算法)等。

这种方法能够得到在一定意义下的最优滤波
器性能,但计算复杂度较高。

除了上述方法外,还有一些其他方法用于生成FIR滤波器系数,如频率转换法、窗函数最小化法等。

每种方法都有其适用的场景和
局限性,需要根据具体的应用需求进行选择。

在实际应用中,通常
会结合多种方法来对FIR滤波器进行设计,以达到更好的性能和效果。

武汉理工大学 基于矩形窗、三角窗、海明窗、汉宁窗、布拉克曼窗的FIR数字滤波器设计

武汉理工大学  基于矩形窗、三角窗、海明窗、汉宁窗、布拉克曼窗的FIR数字滤波器设计

1.基于矩形窗的FIR数字低通滤波器设计参数如下:主程序:% 基于矩形窗的FIR数字低通滤波器设计wp=2*pi*1.75/15;ws=2*pi*3.25/15w=(wp+ws)/2;N=ceil(4*pi/(ws-wp));n=0:1:(N-1);alpha=(N-1)/2;m=n-alpha+eps;hd=sin(w*m)./(pi*m); %得到理想低通滤波器 B=boxcar(N);string=['Boxcar,N=',num2str(N)];h=hd.*(B)'; %得到FIR数字滤波器[H,w]=freqz(h,[1],1024); %求其频率响应db=20*log10(abs(H)+eps); %得到幅值pha=angle(H); %得到相位figure(1);subplot(2,2,1);stem(n,h,'r');axis([0,N-1,-0.1,0.35]);xlabel('n');ylabel('h(n)');title('实际低通滤波器的h(n)');text((0.3*N),0.275,string);subplot(2,2,2);plot(w/pi,db,'r');axis([0,1,-100,5]);xlabel('w/pi');ylabel('dB');title('衰减特性(dB)');grid;subplot(2,2,3);plot(w,pha);hold on;plot(0:4,zeros(5),'k');title('相频特性');xlabel('频率(rad)');ylabel('相位(rad)');axis([0,3.2,-4,4]);subplot(2,2,4);plot(w,abs(H));title('频率特性');xlabel('频率W(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.3,string);2.基于矩形窗的带通滤波器的设计参数如下:子程序:function hd=ideal_bs(Wcl,Wch,N)alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=[sin(Wch*m)-sin(Wcl*m)]./(pi*m);function hd=ideal_bs(Wcl,Wch,N)alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=[sin(Wch*m)-sin(Wcl*m)]./(pi*m);主程序:clear all;Wph=2*pi*4.75/15;Wpl=2*pi*2.5/15;Wsl=2*pi/15;Wsh=2*pi*6.25/15;tr_width=min((Wpl-Wsl),(Wsh-Wph)); %过渡带宽度N=ceil(4*pi/tr_width); %滤波器长度n=0:1:N-1;Wcl=(Wsl+Wpl)/2; %理想滤波器的截止频率Wch=(Wsh+Wph)/2;hd=ideal_bs(Wcl,Wch,N); %理想滤波器的单位冲击响应w_ham=(boxcar(N))';string=['矩形窗','N=',num2str(N)];h=hd.*w_ham; %截取取得实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]); %计算实际滤波器的幅度响应subplot(3,2,1);stem(n,hd);title('理想脉冲响应hd(n)')axis([-1,N,-0.5,0.8]);xlabel('n');ylabel('hd(n)');subplot(3,2,2);stem(n,w_ham);axis([-1,N,0,1.1]);xlabel('n');ylabel('w(n)');text(1.5,1.3,string);subplot(3,2,3);stem(n,h);title('实际脉冲响应h(n)');axis([0,N,-1.4,1.4]);xlabel('n');ylabel('h(n)');subplot(3,2,4);plot(w,pha);title('相频特性');axis([0,3.15,-4,4]);xlabel('频率(rad)');ylabel('相位(?)');subplot(3,2,5);plot(w/pi,db);title('幅度特性(dB)');axis([0,1,-80,10]);xlabel('频率(pi)');ylabel('分贝数');subplot(3,2,6);plot(w,mag);title('频率特性')axis([0,3.15,0,1.5]);xlabel('频率(rad)');ylabel('幅值');fs=15000;t=(0:100)/fs;x=sin(2*pi*t*750)+sin(2*pi*t*5000)+sin(2*pi*t*6100); q=filter(h,1,x);[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度')subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度')3.基于矩形窗的FIR数字带阻滤波器设计参数:主程序:clear all;Wph=2*pi*6.25/15;Wpl=2*pi/15;Wsl=2*pi*2.5/15;Wsh=2*pi*4.75/15;tr_width=min((Wsl-Wpl),(Wph-Wsh));%过渡带宽度N=ceil(4*pi/tr_width);%滤波器长度n=0:1:N-1;Wcl=(Wsl+Wpl)/2;%理想滤波器的截止频率Wch=(Wsh+Wph)/2;hd=ideal_bs(Wcl,Wch,N);%理想滤波器的单位冲击响应w_ham=(boxcar(N))';string=['矩形窗','N=',num2str(N)];h=hd.*w_ham;%截取取得实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);%计算实际滤波器的幅度响应delta_w=2*pi/1000;subplot(3,2,1);stem(n,hd);title('理想脉冲响应hd(n)')axis([-1,N,-0.5,0.8]);xlabel('n');ylabel('hd(n)');subplot(3,2,2);stem(n,w_ham);axis([-1,N,0,1.1]);xlabel('n');ylabel('w(n)');text(1.5,1.3,string);subplot(3,2,3);stem(n,h);title('实际脉冲响应h(n)');axis([0,N,-1.4,1.4]);xlabel('n');ylabel('h(n)');subplot(3,2,4);plot(w,pha);title('相频特性');axis([0,3.15,-4,4]);xlabel('频率(rad)');ylabel('相位(Φ)'); subplot(3,2,5);plot(w/pi,db);title('幅度特性(dB)');axis([0,1,-80,10]);xlabel('频率(pi)');ylabel('分贝数'); subplot(3,2,6);plot(w,mag);title('频率特性')axis([0,3,0,2]);xlabel('频率(rad)');ylabel('幅值');fs=15000;t=(0:100)/fs;x=sin(2*pi*t*750)+sin(2*pi*t*3000)+sin(2*pi*t*6100);q=filter(h,1,x);[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度')subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度');调用程序1:function hd=ideal_bs(Wcl,Wch,m);alpha=(m-1)/2;n=[0:1:(m-1)];m=n-alpha+eps;hd=[sin(m*pi)+sin(Wcl*m)-sin(Wch*m)]./(pi*m)调用程序2:function[db,mag,pha,w]=freqz_m2(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501))'; w=(w(1:1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);4.基于三角窗的FIR数字高通滤波器设计参数:子程序:function hd=ideal_hp1(Wc,N)alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;%hd=[sin(pi*m)-sin(Wc*m)]/(pi*m);hd=[sin(pi*m)-sin(Wc*m)]./(pi*m);function[db,mag,pha,w]=freqz_m2(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501))';w=(w(1:1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);主程序:clear all; Ws=6.5/15*piWp=3.5/15*pitr_width=Ws-Wp;%过渡带宽度N=ceil(8*pi/tr_width);%滤波器长度n=0:1:N-1;Wc=(Ws+Wp)/2;%理想滤波器的截止频率hd=ideal_hp1(Wc,N);%理想滤波器的单位冲击响应w_ham=(triang(N))'; string=['三角窗','N=',num2str(N)];h=hd.*w_ham;%截取得到的实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);%计算实际滤波器的幅度响应delta_w=2*pi/1000;Ap=-(min(db(Ws/delta_w+1:1:501)));%实际通带波纹As=-round(max(db(1:1:Wp/delta_w+1)));%实际阻带波纹subplot(3,2,1);stem(n,hd);title('理想脉冲响应hd(n)');axis([0,N-1,-0.5,0.5]);xlabel('n');ylabel('hd(n)'); subplot(3,2,2);stem(n,w_ham);axis([0,N-1,0,1.1]);xlabel('n');ylabel('w(n)');text(1.5,1.3,string);subplot(3,2,3);stem(n,h);title('实际脉冲响应hd(n)');axis([0,N,-1.4,1.4]);xlabel('n');ylabel('hd(n)');subplot(3,2,4);plot(w,pha);title('想频特性');axis([0,3.15,-4,4]);xlabel('频率(pi)');ylabel('相位(o)'); subplot(3,2,5);plot(w/pi,db);title('幅度特性(dB)');axis([0,1,-100,10]);xlabel('频率(pi)');ylabel('(分贝数)'); subplot(3,2,6);plot(w,mag);title('频率特性');axis([0,2.95,0,1.5]);xlabel('频率(rad)');ylabel('幅值');fs=12000;t=(0:100)/fs;x=sin(2*pi*t*750)+sin(2*pi*t*1500)+sin(2*pi*t*3000);q=filter(h,1,x);[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度')subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度')检验程序:用含多种频率成份离散时间信号作输入信号,得到通过滤波器后与输出信号的对比结果fs=20000;t=(0:100)/fs;x=sin(2*pi*t*1500)+sin(2*pi*t*4000)+sin(2*pi*t*8000);%输入信号 q=filter(h,1,x);%滤波处理,得到输出信号[a,f1]=freqz(x);f1=f1/pi*fs/2;[b,f2]=freqz(q);f2=f2/pi*fs/2;figure(2);subplot(2,1,1);plot(f1,abs(a));title('输入波形频谱图');xlabel('频率');ylabel('幅度');subplot(2,1,2);plot(f2,abs(b));title('输出波形频谱图');xlabel('频率');ylabel('幅度')图形示例:低通部分检验图形:低通部分。

第五组基于矩形窗的FIR滤波器设计

第五组基于矩形窗的FIR滤波器设计

《数字信号处理》课程设计报告设计课题: 基于矩形窗函数的FIR 滤波器设计专业班级 08电气信1班 姓 名 陈根深 陈继摄 高志凯 学 号 080705102 080705104 080705110指导老师 廖天发日 期 2011年11月14日星期一惠州学院HUIZHOU UNIVERSITY目录第1章 FIR滤波器设计原理.............................................. - 3 - 1.1FIR滤波器. (3)1.2窗函数 (4)1.3矩形窗 (4)第2章仿真设计与结果分析.............................................. - 6 - 2.1设计流程图 (6)2.2产生原始信号并分析频谱 (7)2.3使用矩形窗设计低通的数字滤波器 (9)2.4信号滤波处理 (10)2.5结果分析 (13)第3章总结........................................................... - 15 - 参考文献............................................................... - 15 - MATLAB程序............................................................ - 15 -摘要本文主要基于MATLAB平台,实现信号分析与滤波器的设计。

并改变滤波器参数或特性(低通、高通、带通或带阻),实现不同的滤波要求。

本设计产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,使用矩形窗设计不同特性的数字滤波器对信号进行滤波处理,分析所设计滤波器(画出了频率特性曲线),并对信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。

矩形窗设计FIR滤波器

矩形窗设计FIR滤波器

基于MATLAB的声音信号的分析与处理设计一、设计内容1.录制2 秒自己的声音,如发音“河南科技大学”等简短的语句,抽样率是7000Hz,共得14000 个数据。

2.抽取7000 个数据进行频谱分析,得到幅度谱。

3.取这14000 个数据进行频谱分析,得到幅度谱。

比较二者异同并分析原因。

4.分析人声的频率范围,根据所录制的声音信号的频谱特性,选择合适的滤波器参数,选择矩形窗用窗函数法设计一个FIR低通滤波器;要求输出所设计的滤波器的阶次,画出滤波器的单位抽样响应,分析其对称性;画出滤波器的频率响应(幅频响应和相频响应)曲线,根据相频曲线判断滤波器是否为线性相位滤波器;5.用滤波器对信号进行滤波,画出滤波以后信号的时域波形和频谱,与原信号进行时域和频域的对比。

6.再把处理后的所有数据储存为声音文件,与原始声音进行比较。

二、程序%录制声音并保存fs=7000;channel=1;time=2;fprintf('按任意键后开始录音。

');pause;fprintf('\n正在录音。

');x=wavrecord(time*fs,fs,channel,'double');fprintf('\n录音完成');wavwrite(x,fs,'wa.wav');%原始语音信号x=wavread('wa.wav');Fs=7000;n1=[0:(length(x)-1)]/length(x)*2;sound(x);pause(2);figure(1)plot(n1,x);xlabel('时间/s');title('原始语音信号的图形');%频谱分析X=fft(x,14000);n2=[0:(length(X)-1)]/length(X)*7000;X1=fft(x,7000);n3=[0:(length(X1)-1)]/length(X1)*7000;figure(2)subplot(2,1,1);plot(n2,abs(X));title('14000点的幅度谱');xlabel('频率/Hz');ylabel('幅度'); subplot(2,1,2);plot(n3,abs(X1));ylabel('幅度');xlabel('频率/Hz');title('7000点的幅度谱');%用矩形窗设计FIR低通滤波器fp=2000;fs=2200;wp=fp*2*pi/Fs;ws=fs*2*pi/Fs;wdelta=ws-wp;N=ceil(4*pi/wdelta); %滤波器长度if rem(N,2)==0N=N+1;endNw=Nwc=(ws+wp)/2;n=0:N-1;alpha=(N-1)/2;m=n-alpha+0.00001;%matlab系统的精度hd=sin(wc*m)./(pi*m);%理性滤波器脉冲响应win=boxcar(Nw);h=hd.*win';%时域乘积对应频域卷积b=h;figure(3)stem(h);xlabel('n');ylabel('h(n)');title('滤波器的单位抽样响应h(n)'); figure(4)freqz(b,1,14000);%用滤波器滤波y1=conv(h,x);n5=[0:(length(y1)-1)]/length(y1)*2;figure(5)subplot(2,1,1);plot(n1,x);xlabel('时间/s');title('滤波前的语音信号的图形');subplot(2,1,2);plot(n5,y1);title('滤波后的语音信号的图形');xlabel('时间/s');X2=fft(y1,14000);n4=[0:(length(X2)-1)]/length(X2)*7000; figure(6)subplot(2,1,1);plot(n2,abs(X));title('滤波前语音信号的频谱');xlabel('频率/Hz');ylabel('幅度'); subplot(2,1,2);plot (n4,abs(X2));title('滤波后语音信号的频谱');xlabel('频率/Hz');ylabel('幅度');%将滤波后的数据转化成声音文件 wavwrite(y1,'wavsound'); sound(y1);三、图形00.20.40.60.81 1.2 1.4 1.6 1.82-0.2-0.15-0.1-0.050.050.10.15时间/s原始语音信号的图形1000200030004000500060007000010203014000点的幅度谱频率/Hz 幅度01000200030004000500060007000102030幅度频率/Hz7000点的幅度谱1020304050607080nh (n )滤波器的单位抽样响应h(n)00.10.20.30.40.50.60.70.80.91-6000-4000-2000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.10.20.30.40.50.60.70.80.91-150-100-50050Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )00.20.40.60.81 1.2 1.4 1.6 1.82-0.2-0.100.10.2时间/s滤波前的语音信号的图形0.20.40.60.81 1.21.41.61.82-0.2-0.100.10.2滤波后的语音信号的图形时间/s10002000300040005000600070000102030滤波前语音信号的频谱频率/Hz幅度01000200030004000500060007000102030滤波后语音信号的频谱频率/Hz幅度。

基于矩形窗设计FIR数字滤波器.doc

基于矩形窗设计FIR数字滤波器.doc

基于矩形窗设计FIR数字滤波器. .郑州航空工业管理学院《电子信息系统仿真》课程设计14 级专业班级题目基于矩形窗设计FIR数字滤波器姓名学号二О一六年十一月二十五日第一章FIR滤波器的设计原理及方法FIR滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。

我们用Hd(e…w)表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc为了从hd(n)得到一个fir滤波器,必须同时在两边截取hd(n)。

而要得到一个因果的线性相位滤波器,它的h(n)长度为n,必须有:这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w(n)的乘积:h(n)="hd(n)w(n)其中根据w(n)的不同定义,可以得到不同的窗结构。

" 在频域中,因果fir滤波器响应h(e…w)由hd(e…w)和窗响应w(e…w)的周期卷积得到,即常用的窗函数有矩形窗、巴特利特(bartlett)窗、汉宁(hanning)窗、海明(hamming)窗、布莱克曼(blackman)窗、凯泽(kaiser)窗等。

fir滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

(2) 由性能指标确定窗函数w(n)和窗口长度n。

(3) 求得实际滤波器的单位脉冲响应h(n),h(n)即为所设计fir滤波器系数向量b(n)。

第二章窗函数:。

1 矩形窗矩形窗属于时间变量的零次幂窗。

矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。

这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

郑州航空工业管理学院《电子信息系统仿真》课程设计14级专业班级题目基于矩形窗设计FIR数字滤波器姓名学号二О一六年十一月二十五日第一章 FIR 滤波器的设计原理及方法FIR 滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR 滤波器。

我们用Hd (e^jw )表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc<pi 的低通滤波器由下式给定:⎩⎨⎧=<-⋅<==<=wc w jaw e w wc jw e Hd ||),(^1||,0)^(π为了从hd(n)得到一个FIR 滤波器,必须同时在两边截取hd (n )。

而要得到一个因果的线性相位滤波器,它的h(n)长度为N ,必须有:⎩⎨⎧-<=<==其他,010),()(N n n hd n h 2/)1(-=N α这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w (n )的乘积:h(n)=hd(n)w(n) 其中⎩⎨⎧-≤≤=,其他对称,关于01n 0)(N n w α根据w (n )的不同定义,可以得到不同的窗结构。

在频域中,因果FIR 滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即⎰--=⊗=ππλλωπd j e W jw e W jw e Hd jw e H )(^(2/1)^()^()^(常用的窗函数有矩形窗、巴特利特(BARTLETT )窗、汉宁(HANNING )窗、海明(HAMMING )窗、布莱克曼(BLACKMAN )窗、凯泽(KAISER )窗等。

FIR 滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

(2) 由性能指标确定窗函数W(n)和窗口长度N 。

(3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR 滤波器系数向量b(n)。

第二章窗函数:。

1矩形窗矩形窗属于时间变量的零次幂窗。

矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。

这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。

2 三角窗三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式。

与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。

3 汉宁(Hanning)窗汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sine(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。

可以看出,汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。

4 海明(Hamming)窗海明窗也是余弦窗的一种,又称改进的升余弦窗。

海明窗与汉宁窗都是余弦窗,只是加权系数不同。

海明窗加权的系数能使旁瓣达到更小。

分析表明,海明窗的第一旁瓣衰减为一42dB.海明窗的频谱也是由3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。

海明窗与汉宁窗都是很有用的窗函数。

5 高斯窗高斯窗是一种指数窗。

高斯窗谱无负的旁瓣,第一旁瓣衰减达一55dB。

高斯富谱的主瓣较宽,故而频率分辨力低.高斯窗函数常被用来截断一些非周期信号,如指数衰减信号等。

对于窗函数的选择,应考虑被分析信号的性质与处理要求。

如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。

不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。

信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。

(矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高)第三章课程程序1. %程序功能:产生一个包含低频、中频、高频的连续信号进行取样并画出其时域图。

Fs=200;t=(1:100)/Fss1=sin(2*pi*t*5)s2=sin(2*pi*t*15)s3=sin(2*pi*t*30);s=s1+s2+s3;plot(t,s); % 画出信号的时域波形xlabel('Time(seconds)')ylabel('Time waveform')title('原始信号的时域波形')2. %程序功能:画出信号的频谱图。

S=fft(s,1024) % 对s进行快速傅立叶变换w=(0:255)/256*(Fs/2)plot(w,abs(S(1:256))) % 画出信号的幅度图xlabel('Frequency (Hz)')ylabel('幅度')title('幅度谱')axis([0 35 0 60]);gridplot(w,angle(S(1:256))) % 画出信号的相位图xlabel('Frequency (Hz)')ylabel('相位')title('相位谱')3.% 程序功能:设计低通滤波器并画出其频谱图:fb=10; fc=13 % 设置滤波器截止频率fs=100; wb=2*pi*fb/fsws=2*pi*fc/fs; wc=0.5*(wb+ws)tr_width=ws-wb % 过渡带宽M=ceil(1.8*pi/tr_width)n=0:M;r=M/2;hn=fir1(M,wc/pi,boxcar(M+1)); % 矩形窗加窗法figure(1);freqz(hn,1,100) %矩形窗FIR的频响曲线figure(2);subplot(1,2,1);stem(n,hn,'k.') %显示矩形窗FIR的系数title('矩形窗FIR')4.% 程序功能:画出滤波后信号的时域波形和频谱sf=filter(hn,[1],s) % sf为滤滤波后的信号plot(t,sf) % 画出滤波后信号的时域波形xlabel('Time(seconds)')ylabel('Time waveform')axis([0 1 -1 1])title('滤波后信号的时域波形')SF=fft(sf,512) % 对sf进行快速傅里叶变换w=(0:255)/256*(Fs/2);plot(w,abs(SF(1:256))) % 画出滤波后信号的幅度图xlabel('Frequency (Hz)')ylabel('幅度谱')title('滤波后信号的幅度谱'); gridplot(w,angle(SF(1:256))) % 画出滤波后信号的相位图xlabel('Frequency (Hz)')ylabel('相位谱')title('滤波后信号的相位谱')4.% 程序功能:对滤波前后信号进行比较plot(w,abs([S(1:256)' SF(1:256)'])) % 将滤波前后信号的幅度谱画在一起xlabel('Frequency (Hz)')ylabel('Mag.of Fourier transform')grid;legend({'before','after'}) %对两个曲线进行区分命名title('滤波前后信号对比')第四章仿真结果分析4.1产生原始信号并分析频谱产生原始信号,用plot函数画出其时域波形如图4.1所示:图4.1原始信号时域波形图用fft函数进行傅里叶变换后,如图4.2所示:图4.24.2将不同特性的数字滤波器用矩形窗表现出来在低通滤波器中,低频,中频,高频是信号含有的三个频率分量。

步骤如下: (1)取通带截止频率为fb=40Hz ,阻带截止频率为fs=46Hz ; (2)取样频率为fs=200Hz ,由wb=2*pi*fb/fs 、ws=2*pi*fc/fs ; (3)过渡带宽:s w —p w =1.8M,得出M ; (4)取一理想低通脉冲响应hd=ideal_lp(wc,M),其中wc=0.5*(wb+ws);(5)由于矩形窗用函数w_box=(boxcar(M))',于是对hd 加矩形窗w_box ,得到一长度为M 的因果且线性相位FIR 滤波器h=hd.*w_box ;(6)用函数[db,mag,pha,grd,w]=freqz_m(h,[1])得出其频谱特性。

(7)画出理想脉冲响应hd 、矩形窗w_boxcar 、实际脉冲响应h 和滤波器的幅度响应(dB),如图4.3所示。

图4.3滤波器的相关图4.3滤波后的信号处理用函数sf=filter(h,[1],s)分别得出滤波后的信号,其中h对应不同滤波器而不同,通过带通滤波器后的的信号时域波形和频谱图如图4.4(a)、4.4(b)、4.4(c)所示。

图4.4(a)滤波后信号的时域波形图图4.4(b)滤波后信号的幅度谱共享知识分享快乐卑微如蝼蚁、坚强似大象图4.4(c)滤波后信号的相位谱4.4 结果分析函数plot(w,abs([S(1:256)' SF(1:256)']))和legend({'before','after'})后,可在一张图中清晰的看出滤波前后的不同:第5章课程总结通过本次实验我掌握了MATLAB工具软件在工程设计中的使用并掌握窗函数法设计线性相位型FIR滤波器的方法。

同时也知道了不同窗函数对所设计数字滤波器性能的影响,可以清楚的对滤波输出结果作出分析,此次试验也让我认识到了我自己在设计滤波器这方面存在的不足,我会努力学习,在设计实验这方面多努力,这次实验对我今后的学习有很大帮助,也让我找到了今后学习的方向及目标。

相关文档
最新文档