用窗函数设计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数字滤波器

h(n) hd (n) w(n)
h(n) 就作为实际设计的FIR数字滤波器的单
位脉冲响应序列,其频率响应函数H (e
H (e ) h(n)e jwn
jw n 0 N 1
jw
)
为
式中,N为所选窗函数 w(n) 的长度(阶数)。
如果要求线性相位特性,则h(n) 还必须满足:
p
s s
调用格式: w=boxcar(n),根据长度 n 产生一个矩形窗 w。 (2)三角窗(Triangular Window) 调用格式: w=triang(n),根据长度 n 产生一个三角窗 w。 (3)汉宁窗(Hanning Window) 调用格式: w=hanning(n),根据长度 n 产生一个汉宁窗 w。 (4)海明窗(Hamming Window) 调用格式: w=hamming(n),根据长度 n 产生一个海明窗 w。 (5)布拉克曼窗(Blackman Window) 调用格式: w=blackman(n),根据长度 n 产生一个布拉克曼窗 w。 (6)恺撒窗(Kaiser Window) 调用格式: w=kaiser(n,beta),根据长度 n 和影响窗函数旁瓣的β参数产 生一个恺撒窗w。
例2、 设计线性相位带通滤波器,其长度 N=15,上下边带截止频率分别为W1= 0.3π, W2=0.5π
Window=blackman(16); b=fir1(15,[0.3 0.5],Window); freqz(b,1)
例3 、用窗函数法设计一FIR带通滤波 器:
阻带下截止频率: ls 0.2
[h,w] = freqz(hd,n):离散系统频响特 性
abs(X) :绝对值(复数的幅值) P = angle(Z) :相位角 text(x,y,‘s’):在图面(x,y)位置 处书写字符注释。
用窗函数设计FIR滤波器

实验六 用窗函数设计FIR 滤波器1.实验目的(1) 熟悉FIR 滤波器设计的方法和原理(2) 掌握用窗函数法设计FIR 滤波器的方法和原理,熟悉滤波器的特性 (3) 了解各种窗函数滤波器特性的影响2.实验原理FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。
FIR 滤波器的设计是要寻求一系统函数)(z H ,使其频率响应)(ωj eH 逼近滤波器要求的理想频率响应,其对应的单位脉冲响应)(n h d 。
(1)用窗函数设计FIR 滤波器的基本方法在时域用一个窗函数截取理想的)(n h d 得到)(n h ,以有限长序列)(n h 近似逼近理想的)(n h d ;在频域用理想的)(ωj d e H 在单位圆上等角度取样得到h(k),根据h(k)得到H(z)将逼近理想的Hd(z)。
设理想滤波器)(ωj d e H 的单位脉冲响应为)(n h d 。
以低通线性相位FIR 数字滤波器为例。
⎰∑--∞-∞===ππωωωωωπd e e H n h e n h e H jn j d d 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 )效应)。
(2)典型的窗函数(a )矩形窗(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 =在matlab 中调用w=boxcar(N)函数,N 为窗函数的长度 (b )三角形窗(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 e N N e W ωωωω在matlab 中调用w=triang(N)函数,N 为窗函数的长度(c )汉宁(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 πωπωωωωπωπωωωωω在matlab 中调用w=hanning(N)函数,N 为窗函数的长度 (d )汉明(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 πωπωωω 在matlab 中调用w=hamming(N)函数,N 为窗函数的长度(e )布莱克曼(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 πωπωπωπωωω在matlab 中调用w=blackman(N)函数,N 为窗函数的长度(f )凯泽(Kaiser)窗10,)())]1/(21[1()(020-≤≤---=N n I N n I n w ββ其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。
用窗口法设计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 滤波器(一)实验目的1. 掌握窗函数法设计FIR 滤波器的原理和方法,观察用几种常用窗函数设计的FIR 数字滤波器技术指标;2. 掌握FIR 滤波器的线性相位特性;3. 了解各种窗函数对滤波特性的影响。
(二)实验原理如果所希望的滤波器的理想频率响应函数为Hd(e jω),则其对应的单位脉冲响应为ωπωππωd e e H n h n j j d ⎰-=)(21)(,用窗函数wN(n)将hd(n)截断,并进行加权处理,得到实际滤波器的单位脉冲响应h(n)=hd(n)wN(n),其频率响应函数为n j N n j e n h e H ωω--=∑=10)()(。
如果要求线性相位特性,则h(n)还必须满足)1()(n N h n h --±=。
可根据具体情况选择h(n)的长度及对称性。
(三)实验内容1、生成四种窗函数:矩形窗、三角窗、汉宁窗、海明窗,并观察其频率响应。
实验代码以及运行结果%矩形窗及其频响n=15;window1=rectwin(n);[h1,w1]=freqz(window1,1);subplot(2,1,1);stem(window1);title('矩形窗');subplot(2,1,2);plot(w1/pi,20*log(abs(h1))/abs(h1(1)));title('矩形窗频响');%三角窗及其频响n=15;window2=triang(n);[h2,w2]=freqz(window2,1);subplot(2,1,1);stem(window2);title('三角窗');subplot(2,1,2);plot(w2/pi,20*log(abs(h2))/abs(h2(1)));title('三角窗频响');%汉宁窗及其频响n=15;window3=hann(n);window3=hann(n);[h3,w3]=freqz(window3,1);subplot(2,1,1);stem(window3);title('汉宁窗');subplot(2,1,2); plot(w3/pi,20*log(abs(h3))/abs(h3(1)));title('汉宁窗频响');%海明窗频响n=15;window4=hamming(n);[h4,w4]=freqz(window4,1); subplot(2,1,1);stem(window4);title('海明窗');subplot(2,1,2); plot(w4/pi,20*log(abs(h4))/abs(h4(1)));title('海明窗频响'); 运行结果:2、根据下列技术指标,设计一个FIR数字低通滤波器:wp=0.2π,ws=0.4π,ap=0.25dB,as=50dB,选择一个适当的窗函数,确定单位冲激响应,绘出所设计的滤波器的幅度响应。
实验六用窗函数法设计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.熟悉线性相位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滤波器一.实验目的1、 熟悉FIR滤波器设计的基本方法。
2、 掌握用户窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3、 熟悉线性相位FIR滤波器的幅频特性和相位特性。
4、 了解各种不同窗函数对滤波器性能的响应。
二 。
实验原理和方法(1) FIR滤波器的设计FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。
目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取一个理想的得到h(n),以有限长序列h(n)近似理想的:如果从频域出发,用理想的在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的这就是频率取样法。
(2) 窗函数设计法同其它的的数字滤波器设计的方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应,使所设计的FIR滤波器的频率响应去逼近所要求的理想的滤波器的响应窗函数设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
去逼近。
我们知道,一个理想的频率响应的傅里叶变换所得到的理想的单位脉冲响应往往是一个无限长序列,对经过适当的加权、截取处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
即由此可见,窗函数的性质就决定了滤波器的品质。
例如:窗函数的主瓣宽度决定了滤波器的过渡带宽;窗函数的旁瓣代销决定了滤波器的阻带衰减。
以下是几种常见的窗函数:1、 矩形窗2、 Hanning窗3、 Hamming窗4、 Blackman窗5、 Kaiser窗其中是零阶贝塞尔函数。
Kaiser窗可以通过改变参数,改变其主瓣宽度和旁瓣大小。
实验三 用窗函数设计FIR滤波器

实验三 用窗函数设计FIR 滤波器一、实验目的1.熟悉FIR 滤波器设计的基本方法。
2.掌握用窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3.熟悉线性相位FIR 滤波器的幅频特性和相位特性。
4.了解各种不同窗函数对滤波器性能的响应。
二、实验原理与方法(一)FIR 滤波器的设计目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取理想的h d (n)得到h(n),以有限长序列h(n)近似理想的h d (n);如果从频域出发,用理想的H d (Ω)在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的H d (Z ),这就是频率取样法。
(二)窗函数设计法同其它的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应H d (Ω),使所设计的FIR 滤波器的频率响应H(Ω)去逼近所要求的理想的滤波器的相应H d (Ω)。
窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数去逼近H d (Ω)。
11()()N j n n H h n e --Ω=Ω=∑我们知道,一个理想的频率响应H d (Ω)的傅理叶变换1()()2j n d d h n H e d πππΩ-=ΩΩ⎰所得到的理想单位脉冲响应h d (n)往往是一个无限长序列。
对h d (n)经过适当的加权、截断处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
即h (n)=h d (n)w (n),由此可见,窗函数的性质就决定了滤波器的品质。
数字信号处理实验——用窗函数设计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 滤波器一、实验目的(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 来计算滤波器的频率响应函数。
窗函数法设计FIR滤波器

窗函数法设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,通过一系列有限长度的输入信号进行系统响应的采样,使用窗函数法设计FIR滤波器是一种常用且有效的方法。
设计FIR滤波器的第一步是确定滤波器的阶数。
阶数是指滤波器的长度,通常表示为N。
设计FIR滤波器的第二步是选择滤波器的截止频率。
截止频率决定滤波器的频率响应。
设计FIR滤波器的第三步是选择窗函数。
窗函数是一种平滑函数,用于调整滤波器的频率响应。
常见的窗函数有矩形窗、汉明窗、海明窗等。
矩形窗是最简单的窗函数,没有频率响应调整的效果。
汉明窗是常用的窗函数之一,它可以提供较好的频率响应特性。
海明窗是一种能够提供更优秀频率响应的窗函数。
设计FIR滤波器的第四步是确定窗函数的参数。
这些参数包括主瓣宽度、动态范围、副瓣能量等。
设计FIR滤波器的最后一步是计算滤波器的系数。
滤波器的系数是由输入信号进行线性组合得到的。
通常采用离散频率域设计方法计算FIR滤波器的系数。
该方法通过将滤波器的频率响应与目标响应之间的差异最小化来寻找最佳系数。
具体计算过程包括以下几个步骤:1.设计一个无限长的理想低通滤波器,其频率响应与所需滤波器接近。
2. 使用离散Fourier变换将无限长的理想滤波器转换为有限长的频率响应。
3.选择适当的窗函数,根据窗函数的参数修改频率响应。
4.反变换回时间域,得到FIR滤波器的系数。
设计完滤波器后,可以通过将输入信号与滤波器系数进行卷积运算来获得滤波后的信号。
滤波器系数的选择决定了滤波器的性能。
通常可以通过频率响应、滤波器特性等指标来评估滤波器的性能。
使用窗函数法设计FIR滤波器可以得到满足特定要求的滤波器,其设计过程相对简单,易于实现。
但需要注意的是,窗函数法设计的FIR滤波器在频率响应的过渡区域可能会有较大的波动,需要根据具体应用场景对滤波器参数进行调整。
总之,窗函数法是一种常见且有效的设计FIR滤波器的方法,通过选择合适的窗函数和调整参数,可以得到满足特定要求的滤波器。
用窗函数法设计FIR滤波器

c
W R (
- )
c
=
c
c
-
W R (
2π N
- )
=
c
W R (
- )
=
c
+
2π N
0 .0 8 9 5
0 .0 4 6 8
0 .5
-
c 0 .0 8
95
0 .0 4 6 8
-
2π N
c
+
2π N
WR(ω)主瓣宽度为4π/N, 主瓣为原点两边第一个过零点间的区域
将理想低通的频率响应也写成
Hd(ej)Hd( )ejN21
c+
2π N
0 .0 8 9 5
0 .5
0 .0 4 6 8
c - 0 .0 8 9 5
0 .0 4 6 8
2π N
WR(ω-θ)右旁瓣进入Hd(θ)通带,使H(ω)围绕H(0)值而波动
11
第15讲 有限长单位脉冲响应
▪ 复卷积过程 H ()2 1 H d()W R()d
5)ω=ωc+2π/N时的响应H(ωc+2π/N)
= c
W R ( - )
c-
2π N
= c -
2π N
W R ( - )
= c+
c+
2π N
0 .0 8 9 5
0 .5
0 .0 4 6 8
c
- 0 .0 8 9 5
0 .0 4 6 8
H d ( )
2π N
(a ) (b ) (c ) (d )
-
- c
o
-
2 / N
o H d ( )
2)ω=ωc时的响应H(ωc)
实验六指导书 用窗函数法设计FIR数字滤波器

实验六 用窗函数法设计FIR 数字滤波器1、实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2)熟悉线性相位FIR 数字滤波器特性。
(3)了解各种窗函数对滤波特性的影响。
2、实验原理如果所希望的滤波器的理想频率响应函数为)(jw d e H ,则其对应的单位脉冲响应为:⎰-=πππdw e e H n h jwn jw d d )(21)(窗函数设计法的基本原理是用有限长单位脉冲响应h(n)逼近h d (n)。
由于h d (n)往往是无限长序列,且是非因果的,所以用窗函数ω(n)将h d (n)截断,并进行加权处理,得到:)()()(n w n h n h d ⋅=h(n)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数H(e jω)为:∑-=-=10)()(N n jwn jwe n h e H 式中,N 为所选窗函数ω(n)的长度。
这种对理想单位取样响应的加窗处理对滤波器的频率响应会产生以下三点影响:(1)使理想特性不连续的边沿加宽,形成一个过渡带,过渡带的宽度取决于窗函数频谱的主瓣宽度。
(2)在过渡带两旁产生肩峰和余振,它们取决于窗函数频谱的旁瓣;旁瓣越多,余振也越多;旁瓣相对值越大,肩峰则越强。
(3)增加截断长度N ,只能缩小窗函数频谱的主瓣宽度而不能改变旁瓣的相对值;旁瓣与主瓣的相对关系只决定于窗函数的形状。
因此增加N ,只能相对应减小过渡带宽。
而不能改变肩峰值。
肩峰值的大小直接决定通带内的平稳和阻带的衰减,对滤波器性能有很大关系。
例如矩形窗的情况下,肩峰达8.95%,致使阻带最小衰减只有21分贝,这在工程上往往是不够的。
怎样才能改善阻带的衰减特性呢?只能从改善窗函数的形状上找出路,所以希望的窗函数频谱中应该减少旁瓣,使能量集中在主瓣,这样可以减少肩峰和余振,提高阻带衰减。
而且要求主瓣宽度尽量窄,以获得较陡的过渡带,然而这两个要求总不能同时兼得,往往需要用增加主瓣宽度带换取较大的阻带衰急,于是提出了海明窗、汉宁窗、布莱克曼窗、凯塞窗、切比雪夫窗等窗函数。
实验7-窗函数法设计FIR滤波器

实验7-窗函数法设计FIR滤波器实验7 窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计FIR数字滤波器的原理及具体方法。
二、实验设备与环境计算机、MATLAB软件环境。
三、实验基础理论1、基本原理窗函数设计法的基本思想为,首先选择一个适当的理想的滤H d(e jω),然后用窗函数截取它的单位脉冲响应h d(n),得到线性相位和因果的FIR滤波器。
这种方法的重点是选择一个合适的窗函数和理想的滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。
2、设计步骤(1) 给定理想滤波器的频率响应H d(e jω),在通带上具有单位增益和线性相位,在阻带上具有零响应。
一个带宽为ωc (ωc<π)的低通滤波器由下式给定H d(e jω)={ 1∙e−jαω |ω|≤ωc0 ωc<|ω|≤π (7-1)其中α为采样延迟,其作用是为了得到因果的系统。
(2)确定这个滤波器的单位脉冲响应h d(n)=sin[ωc(n−α)]π(n−α)(7-2)为了得到一个h(n)长度为N的因果的线性相位FIR滤波器,我们令(7-3)α=N−12(3)用窗函数截取h d(n)得到所设计FIR数字滤波器h(n)h(n)=h d(n)w(n) (7-4)3.窗函数的选择常用的窗函数有矩形(Rectangular)窗、汉宁(Hanning)窗、海明(Hamming)窗、布莱克曼(Blackman)窗、凯瑟(Kaiser)窗。
MATLAB提供了一些函数用于产生窗函数。
如表7-1所示。
表7-1 MATLAB中产生窗函数的命令MATLAB函数窗函数 MATLAB函数窗函数boxcar 矩形窗函数 blackman 布莱克曼窗函数hanning 汉宁窗函数 kaiser 凯瑟窗函数hannming 海明窗函数在设计过程中我们需要根据给定的滤波器技术指标,选择滤波器长度N和窗函数ω(n)。
表7-2列出了常用窗函数的一些特性,可供设计时参考。
用窗函数法设计FIR数字滤波器

用窗函数法设计FIR 数字滤波器一、实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2.熟悉线性相位FIR 数字滤波器特征。
3.了解各种窗函数对滤波特性的影响。
二、实验仪器微型计算机 matlab 软件三、实验原理和方法如果所希望的滤波器的理想频率响应函数为 )(ωj d e H ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e H j j d )(⎰- (2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。
由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2) )(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为: )(ωj d e H =∑-=-10)(N n j e n h ω (2-3)式中,N 为所选窗函数)(n ω的长度。
由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。
这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。
)(ωj e H 是否满足要求,要进行验算。
一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。
如果要观察细节,补零点数增多即可。
如果)(ωj e H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。
如果要求线性相位特性,则)(n h 还必须满足)1()(n N h n h --±= (2-4)根据上式中的正负号和长度N 的奇偶性又将线性相位FIR 滤波器分成四类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四用窗函数设计FIR滤波器
一、实验目的
1.熟悉FIR滤波器设计的基本方法。
2.掌握用窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3.熟悉线性相位FIR滤波器的幅频特性和相位特性。
4.了解各种不同窗函数对滤波器性能的响应。
二、实验原理与方法
(一)FIR滤波器的设计
目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函
数截取理想的得到h(n),以有限长序列h(n)近似理想的;如果从频域出发,用理想的在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的,这就是频率取样法。
(二)窗函数设计法
同其它的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对
滤波器提出性能指标。
一般是给定一个理想的频率响应,使所设计的FIR滤波器的频率响应去逼近所要求的理想的滤波器的相应。
窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
去逼近。
我们知道,一个理想的频率响应的傅理叶变换
所得到的理想单位脉冲响应往往是一个无限长序列。
对经过适
当的加权、截断处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响
应和窗函数的乘积。
即,由此可见,窗函数的性质就决定了滤波器的品质。
以下是几种常用的窗函数:
1.矩形窗:
2.Hanning窗:
3.Hamming窗:
4.Blackman窗:
5.Kaiser窗:
窗函数法设计线性相位FIR滤波器可以按如下步骤进行:
1.确定数字滤波器的性能要求。
确定各临界频率{}和滤波器单位脉冲响
应长度N。
2.根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应的幅频特性和相位特性。
3.用傅里叶反变换公式,求得理想单位脉冲响应。
4.选择适当的窗函数W(n)根据式求得所设计的FIR滤波器单位脉冲响应。
5.用傅理叶变换求得其频率响应,分析它的幅频特性,若不满足要
求,可适当改变窗函数形式或长度N,重复上述过程,直至得到满意的结果。
三、实验内容及步骤
(一) 编制实验用主程序及相应子程序
1.在实验编程之前,认真复习有关FIR滤波器设计的有关知识,尤其是窗函数法的有关内容,阅读本实验原理与方法,熟悉窗函数及四种线性相位FIR 滤波器的特性,掌握窗函数设计滤波器的具体步骤。
2.编制窗函数设计FIR滤波器的主程序及相应子程序
(1)傅里叶反变换数值计算子程序,用于计算设计步骤(3)中的傅里叶反变换,给定,K=0,1…M-1,按照公式求得理想单位脉冲响应
,n=0….N-1。
(2)窗函数产生子程序,用于产生几种常见的窗函数序列。
本实验中要求产生的窗函数序列有:矩形窗、Hanning窗、Hamming窗、Blackman窗、Kaiser 窗。
根据给定的长度N,按照公式生成相应的窗函数序列。
(3)主程序,在上述子程序的基础上,设计主程序完成线性相位FIR滤波器的窗函数法设计。
其中理想滤波器幅频特性的一半(从到)区间频率点上的值||,K=0,…,(M/2-1)以及滤波器的长度N可以从数据
文件或其他形式输入。
||的另外一半(从到区间)
的幅频特性和全部相位特性在程序中根据N的奇偶性和幅频特性的要求,在四中滤波器中选择一种,自动产生。
(二) 上机实验内容
(1)用Hanning窗设计一个线性相位带通滤波器,其长度N=15,上下边带宽
截止频率分别为,,求h(n),绘制它的幅频和相位
特性曲线,观察它的实际3dB和3dB带宽。
如果N=45,重复这个设计,观察幅频和相位特性的变化,注意长度N变化对结果的影响。
>> window=hanning(16);
>> b=fir1(15,[0.3 0.5],window);freqz(b,1);
改变N=45:
>> window=hanning(46);
>> b=fir1(45,[0.3 0.5],window);freqz(b,1);
(2)改用矩形窗和Blackman窗,设计步骤(1)中的带通滤波器,观察并记录窗函数对滤波器幅频和相位特性的影响,比较这三种窗函数的特点。
矩形窗:
>> window=boxcar(16);
>> b=fir1(15,[0.3 0.5],window);freqz(b,1);
改变N=45:
>> window=boxcar(46);
>> b=fir1(45,[0.3 0.5],window);freqz(b,1);
Blackman窗:
>> window=blackman(16);
>> b=fir1(15,[0.3 0.5],window);freqz(b,1);
改变N=45:
>> window=blackman(46);
>> b=fir1(45,[0.3 0.5],window);freqz(b,1);
(3)用Kaiser窗设计一个专用的线性相位滤波器。
N=40,当值分别为4,6,8时,设计相应的滤波器,比较它们的幅频和相位特性,观察并分析值不
同的时候对结果有什么影响。
>> window=kaiser(41,4);
>> b=fir1(40,[0.2 0.4],window);freqz(b,1);
>> window=kaiser(41,6);
>> b=fir1(40,[0.2 0.4],window);freqz(b,1);
>> window=kaiser(41,8);
>> b=fir1(40,[0.2 0.4],window);freqz(b,1);
四、思考题
1.定性的说明用本实验程序设计的FIR滤波器的3dB截止频率在什么位置?它等于理想频率响应的截止频率吗?
答:在0.3-0.5之间,等于理想频率响应的截止频率
2.如果没有给定h(n)长度N,而是给定了通带边缘截止频率,阻带临界频率,以及相应的衰减,你能根据这些条件用窗函数法设计线性相位FIR低
通滤波器吗?
答:能,可以根据通带边缘截止频率ω_s和阻带临界频率ω_c与所选用的窗函数来大致判断长度N
3.频率取样方法和窗函数法各有什么特点?简单说明?
答:频率采样法的优点是可以从频域直接处理,并且适合于最优化设计,它的缺点是频率控制点的位置受限于频率周上的N个采样点,因此滤波器的截止频率不易随意控制。
窗口法设计的主要优点是简单,使用起来方便。
窗口函数大多都有封闭的公式可循,性能、参数都已有表格、资料可供参考,计算程序简便,所以很实用。