实验六、用窗函数法设计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 数字滤波器的设计方法IIR 数字滤波器最大缺点:不易做成线性相位,而现代图像、语声、数据通信对线性相位的要求是普遍的。
正是此原因,使得具有线性相位的FIR 数字滤波器得到大力发展和广泛应用。
1. 线性相位FIR 数字滤波器的特点FIR DF 的系统函数无分母,为∑∑-=--=-==11)()(N n n N i ii z n h zb z H ,系统频率响应可写成:∑-=-=10)()(N n jwn jwe n h e H ,令)(jw e H =)()(w j e w H Φ,H(w)称为幅度函数,)(w Φ称为相位函数。
这与模和幅角的表示法有所不同,H(w)为可正可负的实数,这是为了表达上的方便。
如某系统频率响应)(jw e H =wj we34sin -,如果采用模和幅角的表示法,w 4sin 的变号相当于在相位上加上)1(ππj e =-因,从而造成相位曲线的不连贯和表达不方便,而用)()(w j e w H Φ这种方式则连贯而方便。
线性相位的FIR 滤波器是指其相位函数)(w Φ满足线性方程:)(w Φ=βα+-w (βα,是常数)根据群时延的定义,式中α表示系统群时延,β表示附加相移。
线性相位的FIR 系统都具有恒群时延特性,因为α为常数,但只有β=0的FIR 系统采具有恒相时延特性。
问题:并非所有的FIR 系统都是线性相位的,只有当它满足一定条件时才具有线性相位。
那么应满足什么样的条件?从例题入手。
例题:令h(n)为FIR 数字滤波器的单位抽样相应。
N n n ≥<或0时h(n)=0,并假设h(n)为实数。
(a ) 这个滤波器的频率响应可表示为)()()(w j jwew H e H Φ=(这是按幅度函数和相位函数来表示的,不是用模和相角的形式),)(w H 为实数。
(N 要分奇偶来讨论) (1) 当h(n)满足条件)1()(n N h n h --=时,求)(w H 和)(w Φ(π≤≤w 0) (2) 当h(n)满足条件)1()(n N h n h ---=时,求)(w H 和)(w Φ(π≤≤w 0)(b ) 用)(k H 表示h(n)的N 点DFT(1) 若h(n)满足)1()(n N h n h ---=,证明H(0)=0; (2) 若N 为偶数,证明当)1()(n N h n h --=时,H(N/2)=0。
实验六FIR滤波器的设计

实验六、用窗函数法设计FIR 数字滤波器一、实验目的:(1)熟悉基本的窗函数,及其特点。
(2)掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(3)熟悉线性相位FIR 数字滤波器特性。
二.实验原理(一)FIR 滤波器的设计FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。
目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取一个理想的)(n h d 得到h(n),以有限长序列h(n)近似理想的)(n h d :如果从频域出发,用理想的)(jw d e h 在单位圆上等角度取样得到H (k ),根据h(k)得到H(z)将逼近理想的)(z H d 这就是频率取样法。
(二)窗函数设计法同其它的的数字滤波器设计的方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应)(jw d e h ,使所设计的FIR 滤波器的频率响应)(jw e h 去逼近所要求的理想的滤波器的响应)(jw d e h 窗函数设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
∑-=-=1)()(N n jw jwn e n h e H去逼近)(jw d e h 。
我们知道,一个理想的频率响应)(jw d e h 的傅里叶变换⎰=ππ20)(21)(dw e e H n h jwnjw d d 所得到的理想的单位脉冲响应)(n h d 往往是一个无限长序列,对)(n h d 经过适当的加权、截取处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
即:)()()(n w n h n h d =由此可见,窗函数的性质就决定了滤波器的品质。
用窗口法设计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 (Finite Impulse Response)滤波器的窗函数设计法是一种经典的数字滤波器设计方法。
它通过选择一个合适的窗函数来对滤波器的频率响应进行加权,从而实现对信号的滤波。
窗函数设计法的基本步骤如下:
1. 确定滤波器的设计规格:包括截止频率、通带和阻带的幅频响应要求等。
2. 根据设计规格,计算出滤波器的理想频率响应:可以使用理想滤波器的频率响应作为目标。
3. 选择一个合适的窗函数:常用的窗函数有矩形窗、汉宁窗、汉明窗等。
选择窗函数的关键是考虑到主瓣宽度和副瓣衰减的平衡。
4. 将选择的窗函数应用于理想频率响应上,得到加权后的频率响应。
5. 对加权后的频率响应进行反变换,得到滤波器的时域响应。
6. 根据需要,对时域响应进行截断或零增益处理,以满足设计规格。
7. 最后,根据计算得到的滤波器系数,可以通过巴特沃斯频率抽样公式将其转换为巴特沃斯直接型或传输函数型,以便在数字系统中实现滤波。
需要注意的是,FIR滤波器的窗函数设计法是一种近似方法,设计的滤波器无法完全符合理想要求。
设计过程中需要权衡主瓣宽度和副瓣衰减等因素,以及选择合适的截断或零增益处理方式,以获得满
足实际需求的滤波器性能。
实验六用窗函数法设计FIR滤波器分析解析

实验六用窗函数法设计FIR滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。
滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。
有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。
本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。
二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
实验六 用窗函数法设计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滤波器设计方法。
其基本思想是通过选取合适的窗函数来对滤波器的频率响应进行近似,从而实现对信号的滤波。
在设计过程中,需要明确以下几个基本概念:1.1 FIR滤波器FIR滤波器(Finite Impulse Response Filter)是一种无穷冲激响应的滤波器,其输出序列只与输入序列的有限个值有关。
FIR滤波器由一组滤波器系数决定,称为滤波器的冲激响应。
常见的FIR滤波器类型有低通滤波器、高通滤波器、带通滤波器等。
1.2 窗函数窗函数(Window Function)是信号处理中常用的一种数学函数,用于将信号在时域或频域上进行截断、平滑或加权。
在归纳窗函数法中,利用窗函数对滤波器的频率响应进行调整。
常见的窗函数有矩形窗、汉宁窗、汉明窗等。
二、设计过程下面将详细介绍归纳窗函数法设计FIR滤波器的设计过程。
2.1 确定滤波器的规格首先,需要明确滤波器的规格,包括滤波器的类型(低通、高通、带通等)、截止频率、通带和阻带的衰减要求等。
2.2 确定滤波器的阶数根据滤波器的规格,可以确定滤波器的阶数。
阶数决定了滤波器的复杂度和滤波器系数的数量,一般通过经验公式进行估算。
2.3 选择窗函数根据滤波器的阶数和设计要求,选择合适的窗函数。
不同的窗函数具有不同的频域特性,适用于不同的应用场合。
一般而言,矩形窗适用于近似理想滤波器,汉宁窗适用于要求较窄过渡带的滤波器,汉明窗适用于要求极窄过渡带的滤波器。
2.4 确定窗函数的参数根据滤波器的阶数和设计要求,确定窗函数的参数。
实验六FIR数字滤波器的设计

实验六FIR数字滤波器的设计实验六FIR数字滤波器的设计⼀、实验⽬的(1)掌握⽤窗函数法设计FIR数字滤波器的原理和⽅法。
(2)掌握⽤等波纹最佳逼近法设计FIR数字滤波器的原理和⽅法。
(3)掌握⽤海明窗设计FIR数字滤波器的原理和⽅法。
(4)学会调⽤MATLAB函数设计与实现FIR滤波器。
⼆、实验内容及步骤(1)掌握⽤窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调⽤信号产⽣函数xtg产⽣具有加性噪声的信号xt,并⾃动显⽰xt及其频谱;图1 具有加性噪声的信号x(t)及其频谱(3)请设计低通滤波器,从⾼频噪声中提取xt中的单频调幅信号,要求信号幅频失真⼩于0.1dB,将噪声频谱衰减60dB。
先观察xt的频谱,确定滤波器指标参数。
(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调⽤MATLAB函数fir1设计⼀个FIR低通滤波器。
并编写程序,调⽤MATLAB快速卷积函数fftfilt实现对xt的滤波。
绘图显⽰滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。
(5)重复(3),滤波器指标不变,但改⽤等波纹最佳逼近法,调⽤MATLAB函数remezord和remez设计FIR数字滤波器。
并⽐较两种设计⽅法设计的滤波器阶数。
(6)⽤海明窗设计⼀个阶数为48,通带范围为0.35pi≤w≤0.65pi 的带通线性相位滤波器。
提⽰:1.采样频率Fs=1000Hz,采样周期T=1/Fs;2.可选择滤波器指标参数:通带截⽌频率fp=120Hz,阻带截⾄频率fs=150Hz,换算成数字频率,通带截⽌频率p 20.24pfωπ=T=π,通带最⼤衰为0.1dB,阻带截⾄频率s 20.3sfωπ=T=π,阻带最⼩衰为60dB。
3.实验程序框图:图2 实验程序框图附件:(1)信号产⽣函数xtg程序清单:function xt=xtg(N)%实验五信号x(t)产⽣,并显⽰信号的幅频特性曲线%xt=xtg(N) 产⽣⼀个长度为N,有加性⾼频噪声的单频调幅信号xt,采样频率Fs=1000Hz%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz. N=2000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;mt=cos(2*pi*f0*t); %产⽣单频正弦波调制信号mt,频率为f0ct=cos(2*pi*fc*t); %产⽣载波正弦波信号ct,频率为fcxt=mt.*ct; %相乘产⽣单频调制信号xtnt=2*rand(1,N)-1; %产⽣随机噪声nt%=======设计⾼通滤波器hn,⽤于滤除噪声nt中的低频成分,⽣成⾼通噪声=======fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,devdev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(n,fo,mo,W); % 调⽤remez函数进⾏设计,⽤于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,⽣成⾼通噪声yt%============================================ ====================xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形') subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪声的频谱')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')(2)⽤窗函数法设计FIR滤波器% FIR数字滤波器设计及软件实现clear all;close all;%==调⽤xtg产⽣信号xt, xt长度N=1000,并显⽰xt及其频谱,=========N=1000;xt=xtg(N);fp=120; fs=150;Rp=0.2;As=60;Fs=1000; T=1/Fs; % 输⼊给定指标% (1) ⽤窗函数法设计滤波器wc=(fp+fs)/Fs; %理想低通滤波器截⽌频率(关于pi归⼀化)B=2*pi*(fs-fp)/Fs; %过渡带宽度指标Nb=ceil(11*pi/B); %blackman窗的长度Nhn=fir1(Nb-1,wc,blackman(Nb));Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性ywt=fftfilt(hn,xt,N); %调⽤函数fftfilt对xt滤波figure(2);subplot(3,1,1);myplot(hn,xt); %调⽤绘图函数myplot绘制损耗函数曲线y1t='y_w(t)';subplot(3,1,2);tplot(ywt,T,y1t);(3) % ⽤等波纹最佳逼近法设计滤波器fb=[fp,fs];m=[1,0]; % 确定remezord函数所需参数f,m,devdev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)]; [Ne,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(Ne,fo,mo,W); % 调⽤remez函数进⾏设计Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性yet=fftfilt(hn,xt,N); % 调⽤函数fftfilt对xt滤波figure(3);subplot(3,1,1);myplot(hn,xt); %调⽤绘图函数myplot绘制损耗函数曲线y2t='y_e(t)';subplot(3,1,2);tplot(yet,T,y2t)(4) 上⾯代码调⽤的⼦函数:(4-1) myplot:计算时域离散系统损耗函数并绘制曲线图。
窗函数法设计fir滤波器步骤

窗函数法设计fir滤波器步骤
设计FIR滤波器的窗函数法步骤如下:
1. 确定滤波器的理想频率响应:根据滤波器的要求和设计目标,确定滤波器的理想频率响应。
例如,低通滤波器的理想频率响应为在截止频率以下通过全部信号,而在截止频率以上完全阻断信号。
2. 确定滤波器的截止频率:根据滤波器的要求,确定滤波器的截止频率,即理想频率响应中的-3dB截止点。
3. 计算滤波器的长度:根据滤波器的设计要求和所选窗函数的性能,计算滤波器的长度。
滤波器的长度通常与截止频率、过渡带宽和窗函数的主瓣宽度相关。
4. 选择合适的窗函数:根据滤波器的设计要求和性能需求,选择合适的窗函数。
常用的窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
5. 生成滤波器的理想冲激响应:根据滤波器的理想频率响应和截止频率,生成滤波器的理想冲激响应。
可以使用理想低通滤波器或频域采样方法生成。
6. 应用窗函数:将生成的理想冲激响应与所选的窗函数进行乘积,得到窗函数法设计的FIR滤波器的冲激响应。
7. 可选的调整和优化:根据需要,对生成的滤波器进行进一步的调整和优化,以满足特定的性能需求。
例如,可以通过改变窗函数的参数或使用多个窗函数的组合来调整主瓣宽度、副瓣抑制等。
8. 可选的滤波器实现:将得到的滤波器冲激响应进行频域或时域的变换,得到FIR滤波器的差分方程或频域表达式,然后进行滤波器的实现。
9. 滤波器性能评估:对设计的滤波器进行性能评估,包括频率响应、幅频特性、相位响应、群延迟等。
10. 如有需要,对滤波器的设计进行调整和优化,直至满足设计要求。
实验六 有限冲激响应(FIR)数字滤波器的设计

实验报告一、实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理与方法;2.熟悉线性相位FIR 数字滤波器特性;3.了解各种窗函数对滤波特性的影响。
4.加深对数字滤波器的常用指标和设计过程的理解。
二、实验原理低通滤波器的常用指标:P P P for H Ω≤Ω+≤Ω≤-,1)(1δδπδ≤Ω≤Ω≤ΩS S for H ,)(通带边缘频率P Ω,阻带边缘频率S Ω ,通带起伏P δ,通带峰值起伏])[1(log 2010dB p p δα--=,阻带起伏s δ,最小阻带衰减])[(log 2010dB s S δα-=。
数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。
在Matlab 中,可以用b=fir1(N,Wn,’ftype’,taper) 等函数辅助设计FIR 数字滤波器。
N 代表滤波器阶数;Wn 代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn 为双元素相量;ftype 代表滤波器类型,如’high ’高通,’stop ’带阻等;taper 为窗函数类型,默认为海明窗,窗系数需要实现用窗函数blackman, hamming,hanning chebwin, kaiser 产生。
三、实验设备微型计算机、Matlab7.0教学版。
S PP SPassband StopbandTransition bandFig 1 Typical magnitudespecification for a digital LPF四、实验内容1.编制能产生矩形窗、海明窗的窗函数子程序;2.编写主程序,用不同窗设计线性相位低通FIR数字滤波器;3.对结果进行分析。
五、实验数据1.用Matlab软件编写的实验程序1(采用矩形窗)为:图1 用Matlab软件编写的实验程序1(采用矩形窗)实验结果:①. 振幅、相位:图2 振幅、相位波形图(采用矩形窗)②. 输入、输出信号:图3 输入、输出信号波形图(采用矩形窗)2.用Matlab软件编写的实验程序2(采用海明窗)为:图4 用Matlab软件编写的实验程序2(采用海明窗)说明:程序中第11行程序右边的注释应为“%采用海明窗”。
用窗函数设计FIR滤波器实验报告

实验 用窗函数设计FIR 滤波器一、实验目的1、熟悉FIR 滤波器设计的基本方法。
2、熟悉线性相位FIR 滤波器的幅频特性和相位特性。
3、掌握用窗函数设计FIR 数字滤波器的原理及方法,了解各种不同窗函数对滤波器性能的影响。
二、实验原理1、FIR 滤波器的设计 在前面的实验中,我们介绍了IIR 滤波器的设计方法并实践了其中的双线性变换法,IIR 具有许多诱人的特性;但与此同时,也具有一些缺点。
例如:若想利用快速傅立叶变换技术进行快速卷积实现滤波器,则要求单位脉冲响应是有限长的。
此外,IIR 滤波器的优异幅度响应,一般是以相位的非线性为代价的,非线性相位会引起频率色散。
FIR 滤波器具有严格的相位特性,这对于许多信号的处理和数据传输是很重要的。
目前FIR 滤波器的设计方法主要有三种:窗函数法、频率采样法和切比雪夫等波纹逼近的最优化设计方法。
窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取理想的[]d h n 得到[]h n ,以有限长序列[]h n 近似理想的[]d h n ;如果从频域出发,用理想的[]j d h e ω在单位圆上等角度取样得到[]H k ,根据[]H k 得到[]H z 将逼近理想的[]d h z ,这就是频率采样法。
2 、窗函数设计法同其他的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应[]j d H e ω,使所设计的FIR 滤波器的频率响应[]j H e ω去逼近所要求的理性的滤波器的响应[]j d H e ω。
窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数1()[]N j j nn H e h n e ωω--==∑ (4.1)去逼近[]j d H e ω。
我们知道,一个理想的频率响应[]j d H e ω的傅立叶反变换201[]()2j j n d d h n H e e d πωωωπ=⎰(4.2)所得到的理想单位脉冲响应[]d h n 往往是一个无限长序列。
用窗函数法设计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 数字滤波器 6.1 实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理及具体方法;2.深入理解吉布斯现象,理解不同窗函数的特点。
6.2实验原理例6.1 利用firl 函数和矩形窗设计一个N=51,截止频率wc=0.5pi 的低通滤波器,画出幅频特性。
解: 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)')0.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.4矩形窗振幅特性/dB相对频率H (w )说明:用fir1函数设计FIR 滤波器,h=fir1(M,wc,‘ftype ’,Window):h 为FIR 数字滤波器的系数构成的矩阵;M 为FIR 数字滤波器的阶数;Wc 是滤波器的截止频率,ftype 指定滤波器类型,默认情况下为低通,而带通、带阻分别用‘bandpass ’、‘stop ’表示;Window 指定窗函数,若不指定,默认为汉明窗。
[H,W]=freqz(h,1)表示数字滤波器频谱数据。
boxcar(N)表示N 点矩形窗函数。
例6.2 利用firl 函数和布莱克曼窗设计一个N=51,截止频率wp1=0.3pi wp2=0.4pi 的带通滤波器。
解: 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)')00.10.20.30.40.50.60.70.80.910.10.20.30.40.50.60.70.80.91布莱克曼窗振幅特性/dB相对频率H (w )说明:用fir1函数设计FIR 滤波器,h=fir1(50,wc,'bandpass',blackman(N)):h 为FIR 数字滤波器的系数构成的矩阵;50+1为FIR 数字滤波器的阶数;Wc 是滤波器的截止频率,‘bandpass ’表示带通,blackman(N):表示N 点布莱克曼窗函数。
用窗函数法设计FIR数字滤波器

%实验,用窗函数法设计FIR数字滤波器close all;b=1;i=0;while(b);N=inputdlg('输入窗函数长度N');%输入函数N=str2num(N{1});%将字符串转化为数值w=inputdlg('输入逼近理想低通滤波器截止频率Wc');w=str2num(w{1});alpha=(N-1)/2;n=[0:(N-1)];m=n-alpha+eps;% eps是双精度存储下最小的比1.0大的数与1.0的差值hd= sin(w*m)./(pi*m); %得到理想低通滤波器k=menu('请选择窗口类型:','boxcar矩形窗','hamming哈明窗','hanning汉宁窗','blackman 不莱克曼窗','triang三角形窗');if k==1B=boxcar(N);string=['Boxcar矩形窗','N=',num2str(N)];else if k==2B=hamming(N); %窗函数调用string=['Hamming哈明窗','N=',num2str(N)];else if k==3B=hanning(N);string=['Hanning汉宁窗','N=',num2str(N)];else if k==4B=blackman(N);string=['Blackman不莱克曼窗','N=',num2str(N)];else if k==5B =triang(N);string=['triang三角形窗','N=',num2str(N)];endendendendendh=hd.*(B)'; %得到FIR数字滤波器[H,m]=freqz(h,[1],1024,'whole'); %求其频率响应,函数给出了滤波器的双边频率特性,是N点的mag=abs(H); %得到幅值,将变量H的绝对值(模)赋值给变量magdb=20*log10((mag+eps)/max(mag));pha=angle(H); %得到相位i=i+1;figure(i)subplot(2,2,1);n=0:N-1;stem(n,h,'.');axis([0,N-1,-0.1,0.3]);hold on;% 启动图形保持功能,此后绘制的图形将添加到当前的图形窗口中,并自动调整坐标轴的范围;n=0:N-1;x=zeros(N);plot(n,x,'-'); %-实线xlabel('n');ylabel('h(n)');title('实际低通滤波器的h(n)');text((0.3*N),0.27,string);hold off;% 关闭图形保持功能,新绘制图形将覆盖原图形subplot(2,2,2); %第二个子图plot(m/pi,db);axis([0,1,-100,0]);% 控制坐标轴的特征x y轴上下限xlabel('w/pi');%x轴标注ylabel('dB');title('衰减特性(dB)');%图形顶部标注grid;%图形网格切换subplot(2,2,3);plot(m,pha);hold on;n=0:7;x=zeros(8);plot(n,x,'-');title('相频特性');xlabel('频率(rad)');ylabel('相位(rad)');axis([0,3.15,-4,4]);subplot(2,2,4);plot(m,mag);title('幅频特性');xlabel('频率W(rad)');ylabel('幅值');axis([0,3.15,0,1.5]);text(0.9,1.2,string); %给定标注文本在图中添加的位置b=menu('Do You want To Continue ?','Yes','No');if b==2b=0;endendtemp=menu('Close All Figure ?','Yes','No');if temp==1close allend。
实验六-用窗函数设计FIR滤波器(附思考题程序)

实验六用窗函数设计FIR滤波器1.实验目的(1)熟悉FIR滤波器设计的方法和原理(2)掌握用窗函数法设计FIR滤波器的方法和原理,熟悉滤波器的特性(3)了解各种窗函数滤波器特性的影响2.实验原理FIR滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。
FIR滤波器的设计是要寻求一系统函数H(Z),使其频率响应H (e「)逼近滤波器要求的理想频率响应Hd(e J ),其对应的单位脉冲响应hd(n)。
(1)用窗函数设计FIR滤波器的基本方法在时域用一个窗函数截取理想的hd (n)得到h (n),以有限长序列h (n)近似逼近理想的hd (n);在频域用理想的H a (e J)在单位圆上等角度取样得到h(k),根据h(k)得到H(z)将逼近理想的Hd(z)o设理想滤波器Hd(e J)的单位脉冲响应为hd (n) o以低通线性相位FIR数字滤波器为例。
Hd(e: ) hd (n) e1ha(n) 一Hd(e J ) e jn dhd(n)—般是无限长的、非因果的,不能直接作为FIR滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断h(n) h d(n) w(n),即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。
按照线性相位滤波器的要求,h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即h(n) ha( n) w( n)a (N 1)/2用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,(现彖称为吉布斯(Gibbs )效应)。
(2 )典型的窗函数(a)矩形窗(Rectangle Window)w(n) R N ( n)其频率响应和幅度响应分别为:W j) sin(x 2) e J〒,W R() siiT22)sin( /2) sin( /2)在mat lab 中调用w=boxcar(N)函数,N为窗函数的长度(b )三角形窗(Bartlett Window)w(n) 2n2nN 1N 1其频率响应为:w j) WN /4)『e」TN sin( /2)在mat lab中调用w=triang(N) 函数,N为窗函数的长度(c)汉宁(Hanning)窗,又称升余弦窗w(n) [1 cos( 2nN严)其频率响应和幅度响应分別为:w(n) [0. 54 0. 46C0S (" ) ]R N (n)N 1其幅度响应为:W( ) 0. 54W R ( ) 0. 23[W R (在 mat lab 中调用 w=hamming (N)N 1 W( )e Ja2 N” RW( ) 0. 5W R ( )0. 25[W R (在mat lab 屮调用 w=ha nnin 函数,N 为窗函数的长度(d)汉明(Hamming)替“又称改进的升余弦窗W(e J){0. 5W R ( ) 0・25[W R ()W R (函数,N 为窗函数的长度(e )布莱克曼(Blankman)窗,又称二阶升余弦窗w (n) [0. 42W() 其幅度响应为:2 n 4: n0. 5cos( ---- ) 0. 08cos( ------ )]Rx( n)N 1 N 10. 25[W R(2 0.42W R()W R(N 10. 04[W R()W R(在mat lab 中调用w=blackman (N)(f)凯泽(Kaiser)窗w (n)皿/ [1 2n/(N1)1 )。
数字信号处理实验报告——用窗函数法设计-FIR数字滤波器

实验四 用窗函数法设计 FIR 数字滤波器一、 实验目的(1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2) 熟悉线性相位FIR 数字滤波器特性。
(3) 了解各种窗函数对滤波特性的影响。
二、 实验原理、滤波器的理想频率响应函数为H d (e j ω),则其对应的单位脉冲响应为h d (n) =⎰-ππωωωπd e e H n j j d)(21 窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼h d (n)。
由于h d (n)往往是无限长序列,且是非因果的,所以用窗函数。
w(n)将h d (n)截断,并进行加权处理:h(n) = h d (n) w(n)h(n)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数H(e j ω)为H(e j ω) =∑-=-10)(N n n j en h ω用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
三、 实验内容1.MATALAB 程序任务一N1=15;N2=33;b1=fir1(14,1/4,hanning(15));b2=fir1(32,1/4,hanning(33));[H1,W]=freqz(b1,1);H1_db=20*log10(abs(H1));magH1=abs(H1);phaH1=angle(H1);[H2,W]=freqz(b2,1);H2_db=20*log10(abs(H2));magH2=abs(H2);phaH2=angle(H2);figure(1);subplot(2,1,1);stem(b1);title('N=15时,汉宁窗得到的FIR滤波器脉冲响应'); subplot(2,1,2);stem(b2);title('N=33时,汉宁窗得到的FIR滤波器脉冲响应');figure(2);subplot(3,1,1);plot(W/pi,magH1);title('N=15时汉宁窗得到的FIR滤波器的幅频特性') subplot(3,1,2);plot(W/pi,H1_db);title('N=15时汉宁窗得到的FIR滤波器的对数幅频特性') subplot(3,1,3);plot(W/pi,phaH1);title('N=15时汉宁窗得到的FIR滤波器的相频特性')figure(3);subplot(3,1,1);plot(W/pi,magH2);title('N=33时汉宁窗得到的FIR滤波器的幅频特性') subplot(3,1,2);plot(W/pi,H2_db);title('N=33时汉宁窗得到的FIR滤波器的对数幅频特性') subplot(3,1,3);plot(W/pi,phaH2);title('N=33时汉宁窗得到的FIR滤波器的相频特性')任务二N=33;b1=fir1(32,1/4,boxcar(33));b2=fir1(32,1/4,hanning(33));b3=fir1(32,1/4,bartlett(33));b4=fir1(32,1/4,blackman(33));[H1,W]=freqz(b1,1);H1_db=20*log10(abs(H1));magH1=abs(H1);phaH1=angle(H1);[H2,W]=freqz(b2,1);H2_db=20*log10(abs(H2));magH2=abs(H2);phaH2=angle(H2);[H3,W]=freqz(b3,1);H3_db=20*log10(abs(H3));magH3=abs(H3);phaH3=angle(H3);[H4,W]=freqz(b4,1);H4_db=20*log10(abs(H4));magH4=abs(H4);phaH4=angle(H4);figure(1);subplot(2,2,1);stem(b1);title('矩形窗得到的FIR滤波器脉冲响应') subplot(2,2,2);stem(b2);title('汉宁窗得到的FIR滤波器脉冲响应') subplot(2,2,3);stem(b3);title('三角窗得到的FIR滤波器脉冲响应') subplot(2,2,4);stem(b4);title('布拉克曼窗得到的FIR滤波器脉冲响应') figure(2);subplot(2,2,1);plot(W/pi,magH1);title('矩形窗得到的FIR滤波器幅频特性')title('汉宁窗得到的FIR滤波器幅频特性') subplot(2,2,3);plot(W/pi,magH3);title('三角窗得到的FIR滤波器幅频特性') subplot(2,2,4);plot(W/pi,magH4);title('布拉克曼窗得到的FIR滤波器幅频特性') figure(3);subplot(2,2,1);plot(W/pi,H1_db);title('矩形窗得到的FIR滤波器相频特性') subplot(2,2,2);plot(W/pi,H2_db);title('汉宁得到的FIR滤波器相频特性') subplot(2,2,3);plot(W/pi,H3_db);title('三角窗得到的FIR滤波器相频特性') subplot(2,2,4);plot(W/pi,H4_db);title('布拉克曼得到的FIR滤波器相频特性') figure(4);subplot(2,2,1);plot(W/pi,phaH1);title('矩形窗得到的FIR滤波器相频特性') subplot(2,2,2);plot(W/pi,phaH2);title('汉宁窗得到的FIR滤波器相频特性') subplot(2,2,3);plot(W/pi,phaH3);title('三角窗得到的FIR滤波器相频特性')title('布拉克曼窗得到的FIR滤波器相频特性') 2.实验波形图任务一任务二四、 实验结论1.N 的大小决定了窗谱的主瓣宽度,N 越大,窗谱的主瓣宽度越大2.最小阻带衰减只有窗行决定,不受N 的影响,过渡带宽度与N 和窗形都有关,N 越大,过渡带宽越小3.由实验可知滤波特性:布拉克曼窗>汉宁窗>三角窗>矩形窗五、 思考题(1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。
窗函数法设计滤波器

实验六 用窗函数法设计FIR 数字滤波器一. 实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理与方法。
(2)熟悉线性相位FIR 数字滤波器的特性。
(3)了解各种窗函数对滤波特性的影响。
二. 实验内容和要求(1) 复习用窗函数法设计FIR 数字滤波器一节内容,阅读本实验原理,掌握设计步骤。
(2) 用升余弦窗设计一线性相位低通FIR 数字滤波器,截止频率rad c 4πω=。
窗口长度N=15,33。
要求在两种窗口长度情况下,分别求出()n h ,打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和20dB 带宽。
总结窗口长度N 对滤波器特性的影响。
设计低通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(3) 33=N ,4πω=c ,用四种窗函数设计线性相位低通滤波器,绘制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。
三. 实验方法、步骤及结果测试如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21 (4.1)窗函数设计法的基本原理是用有限长单位脉冲响应序列()n h 逼近()n h d 。
由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到:()()()n n h n h d ω=(4.2)()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1(4.3)式中,N 为所选窗函数()n ω的长度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六 用窗函数法设计 FIR 滤波器一、实验目的(1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2) 熟悉线性相位FIR 数字滤波器特性。
(3) 了解各种窗函数对滤波特性的影响。
二、实验原理滤波器的理想频率响应函数为H d (e j ω),则其对应的单位脉冲响应为:h d (n) =⎰-ππωωωπd e e H nj j d )(21窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼h d (n)。
由于h d (n)往往是无限长序列,且是非因果的,所以用窗函数。
w(n)将h d (n)截断,并进行加权处理:h(n) = h d (n) w(n)h(n)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数H(e j ω)为:H(e j ω) =∑-=-1)(N n nj en h ω如果要求线性相位特性,则h (n )还必须满足:)1()(n N h n h --±=可根据具体情况选择h(n)的长度及对称性。
用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
三、实验步骤1. 写出理想低通滤波器的传输函数和单位脉冲响应。
2. 写出用四种窗函数设计的滤波器的单位脉冲响应。
3. 用窗函数法设计一个线性相位FIR 低通滤波器,用理想低通滤波器作为逼近滤波器,截止频率ωc =π/4 rad ,选择窗函数的长度N =15,33两种情况。
要求在两种窗口长度下,分别求出h(n),打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和阻带衰减; 4 用其它窗函数(汉宁窗(升余弦窗)、哈明窗(改进的升余弦窗)、布莱克曼窗) 设计该滤波器,要求同1;比较四种窗函数对滤波器特性的影响。
四、实验用MATLAB 函数可以调用MATLAB 工具箱函数fir1实现本实验所要求的线性相位FIR-DF 的设计,调用一维快速傅立叶变换函数fft 来计算滤波器的频率响应函数。
fir1是用窗函数法设计线性相位FIRDF 的工具箱函数,调用格式如下:hn=fir1(N, wc, ‘ftype ’, window)fir1实现线性相位FIR 滤波器的标准窗函数法设计。
hn=fir1(N,wc)可得到6 dB 截止频率为wc 的N 阶(单位脉冲响应h(n)长度为N+1)FIR 低通滤波器,默认(缺省参数windows)选用hammiing 窗。
其单位脉冲响应h(n)满足线性相位条件:h(n)=h(N-1-n)其中wc 为对π归一化的数字频率,0≤wc ≤1。
当wc=[wc1, wc2]时,得到的是带通滤波器。
hn=fir1(N,wc,’ftype ’)可设计高通和带阻滤波器。
当ftype=high 时,设计高通FIR 滤波器; 当ftype=stop 时,设计带阻FIR 滤波器。
应当注意,在设计高通和带阻滤波器时,阶数N 只能取偶数(h(n)长度N+1为奇数)。
不过,当用户将N 设置为奇数时,fir1会自动对N 加1。
hn=fir1(N,wc,window)可以指定窗函数向量window 。
如果缺省window 参数,则fir1默认为hamming 窗。
可用的其他窗函数有Boxcar, Hanning, Bartlett, Blackman, Kaiser 和Chebwin 窗。
例如: hn=fir1(N,wc,bartlett(N+1))使用Bartlett 窗设计;hn=fir1(N,wc,chebwin(N+1,R))使用Chebyshev 窗设计。
hn=fir1(N,wc,’ftype ’,window)通过选择wc 、 ftype 和window 参数(含义同上),可以设计各种加窗滤波器。
五、实验内容<1>理想低通滤波器传输函数:H(e j ω)=⎩⎨⎧≤<≤-πωωωωωα||,0||,c cj e α=(N-1)/2单位脉冲响应:h d (n)=ωπωππωd ee H nj j d ⎰-)(21=ωπωωωωαd e e n j j cc⎰--21 =)()(sin απαω--n n c<2>四种窗函数的设计滤波器的单位脉冲响应:(1)矩形窗: ωR (n)=R N (n) h(n)=h d (n)R N (n)(2)汉宁窗:ωHn (n)=0.5[1-)12cos(-Nnπ]RN(n)h(n)=hd (n)·0.5[1-)12cos(-Nnπ]RN(n)(3)哈明窗:ωHm (n)=[0.54-0.46)12cos(-Nnπ]RN(n)h(n)=hd (n)[0.54-0.46)12cos(-Nnπ]RN(n)(4)布莱克曼窗:ωBl (n)=[0.42-0.5)12cos(-Nnπ+0.08)14cos(-Nnπ]RN(n)h(n)=hd (n)[0.42-0.5)12cos(-Nnπ+0.08)14cos(-Nnπ]RN(n)<3>MATALAB程序设计实验程序1:N=15、33,即N变化时,对滤波器特性的影响:MATLAB程序:clear all;N1=15;N2=33;Wc=pi/4;wc=Wc/pi;%频率归一化b1=fir1(N1-1,wc,boxcar(N1));b2=fir1(N2-1,wc,boxcar(N2));[H1,W]=freqz(b1,1);H1_db=20*log10(abs(H1));magH1=abs(H1);phaH1=angle(H1);[H2,W]=freqz(b2,1);H2_db=20*log10(abs(H2));magH2=abs(H2);phaH2=angle(H2);subplot(2,4,1);stem(b1);title('N=15时,实际低通滤波器的h(n)') subplot(2,4,2);plot(W/pi,H1_db);title('副频衰减特性')subplot(2,4,3);plot(W/pi,phaH1);title('相频特性')subplot(2,4,4);plot(W/pi,magH1);title('副频特性')subplot(2,4,5);stem(b2);title('N=33时,实际低通滤波器的h(n)') subplot(2,4,6);plot(W/pi,H2_db);title('副频衰减特性')subplot(2,4,7);plot(W/pi,phaH2);title('相频特性')subplot(2,4,8);plot(W/pi,magH2);title('副频特性')实验波形截图:实验程序2:N=15,即N固定不变时,不同类型的窗函数对滤波器特性的影响:MATLAB程序:clear all;N=15;Wc=pi/4;wc=Wc/pi;%频率归一化b1=fir1(N-1,wc,boxcar(N));b2=fir1(N-1,wc,hanning(N));b3=fir1(N-1,wc,bartlett(N));b4=fir1(N-1,wc,blackman(N));[H1,W]=freqz(b1,1);H1_db=20*log10(abs(H1));magH1=abs(H1);phaH1=angle(H1);[H2,W]=freqz(b2,1);H2_db=20*log10(abs(H2));magH2=abs(H2);phaH2=angle(H2);[H3,W]=freqz(b3,1);H3_db=20*log10(abs(H3));magH3=abs(H3);phaH3=angle(H3);[H4,W]=freqz(b4,1);H4_db=20*log10(abs(H4));magH4=abs(H4);phaH4=angle(H4);subplot(4,4,1);stem(b1);title('矩形窗:实际低通滤波器的h(n)') subplot(4,4,2);plot(W/pi,H1_db);title('副频衰减特性')subplot(4,4,3);plot(W/pi,phaH1);title('相频特性')subplot(4,4,4);plot(W/pi,magH1);title('副频特性')subplot(4,4,5);stem(b2);title('汉宁窗:实际低通滤波器的h(n)') subplot(4,4,6);plot(W/pi,H2_db);title('副频衰减特性')subplot(4,4,7);plot(W/pi,phaH2);title('相频特性')subplot(4,4,8);plot(W/pi,magH2);title('副频特性')subplot(4,4,9);stem(b1);title('三角窗:实际低通滤波器的h(n)') subplot(4,4,10);plot(W/pi,H1_db);title('副频衰减特性')subplot(4,4,11);plot(W/pi,phaH1);title('相频特性')subplot(4,4,12);plot(W/pi,magH1);title('副频特性')subplot(4,4,13);stem(b1);title('布拉克曼窗:实际低通滤波器的h(n)') subplot(4,4,14);plot(W/pi,H1_db);title('副频衰减特性')subplot(4,4,15);plot(W/pi,phaH1);title('相频特性')subplot(4,4,16);plot(W/pi,magH1);title('副频特性')实验波形截图:六、实验结论1.N 的大小决定了窗谱的主瓣宽度,N 越大,窗谱的主瓣宽度越大。
2.最小阻带衰减只有窗行决定,不受N 的影响,过渡带宽度与N 和窗形都有关,N 越大,过渡带宽越小。
3.由实验可知滤波特性:布拉克曼窗>汉宁窗>三角窗>矩形窗。
七、思考题(1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。