数字信号处理---窗函数法设计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 滤波器。
实验3 用MATLAB窗函数法设计FIR滤波器

实验10 用MATLAB 窗函数法设计FIR 滤波器一、实验目的㈠、学习用MA TLAB 语言窗函数法编写简单的FIR 数字滤波器设计程序。
㈡、实现设计的FIR 数字滤波器,对信号进行实时处理。
二、实验原理㈠、运用窗函数法设计FIR 数字滤波器与IIR 滤波器相比,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。
设FIR 滤波器单位脉冲响应)(n h 长度为N ,其系统函数)(z H 为∑-=-=10)()(N n n zn h z H)(z H 是1-z 的)1(-N 次多项式,它在z 平面上有)1(-N 个零点,原点0=z 是)1(-N 阶重极点。
因此,)(z H 永远是稳定的。
稳定和线性相位特性是FIR 滤波器突出的优点。
FIR 滤波器的设计任务是选择有限长度的)(n h ,使传输函数)(ωj e H 满足技术要求。
主要设计方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。
本实验主要介绍用窗函数法设计FIR 数字滤波器。
图7-10-1 例1 带通FIR 滤波器特性㈡、 用MATLAB 语言设计FIR 数字滤波器例1:设计一个24阶FIR 带通滤波器,通带为0.35<ω<0.65。
其程序如下b=fir1(48,[0.35 0.65]);freqz(b,1,512)可得到如图7-10-1 所示的带通FIR滤波器特性。
由程序可知,该滤波器采用了缺省的Hamming窗。
例2:设计一个34阶的高通FIR滤波器,截止频率为0.48,并使用具有30dB波纹的Chebyshev窗。
其程序如下Window=chebwin(35,30);b=fir1(34,0.48,'high',Window);freqz(b,1,512)可得到如图7-10-2 所示的高通FIR滤波器特性。
图7-10-2 例2 高通FIR滤波器特性例3:设计一个30阶的低通FIR滤波器,使之与期望频率特性相近,其程序如下 f=[0 0.6 0.6 1];m=[1 1 0 0];b=fir2(30,f,m);[h,w]=freqz(b,1,128);plot(f,m,w/pi,abs(h))结果如图7-10-3所示。
FIR滤波器窗函数设计.

课题名称:FIR滤波器窗函数设计FIR 滤波器窗函数设计引言:数字滤波器(Digital Filter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。
在许多数字信号处理系统中,如图像信号处理等,有限冲激响应(FIR )滤波器是最常用的组件之一,它完成信号预调、频带选择和滤波等功能。
FIR 滤波器虽然在截止频率的边沿陡峭性能上不及无限冲激响应(IIR )滤波器,但是却具有严格的线性相位特性,稳定性好,能设计成多通带(或多阻带)滤波器组,所以能够在数字信号处理领域得到广泛的应用。
一、 数字滤波器的分类(1) 根据系统响应函数的时间特性分为两类1. FIR (Finite Impulse Response )数字滤波器网络()0,0[][]0,Mn k k b n M y n b x n k h n n =≤≤⎧=-⇔⎨⎩∑ 其他 特点:不存在反馈支路,其单位冲激响应为有限长。
2. IIR (Infinite Impulse Response )数字滤波器网络01[][][]M Nk k k k y n b x n k a y n k ===---∑∑ 特点:存在反馈支路,即信号流图中存在环路,其单位冲激响应为无限长。
(2) FIR 数字滤波器IIR 数字滤波器的区别1. 从性能上来说,IIR 滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内。
因此可用较低的阶数获得高的选择性,所用的存储单元少,计算量小,效率高。
但是这个高效率是以相位的非线性为代价的。
选择性越好,则相位非线性越严重。
FIR 滤波器传递函数的极点固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能。
所以要达到高的选择性,必须用较高的阶数;对于同样的滤波器设计指标,FIR 滤波器所要求的阶数可能比IIR 滤波器高5-10倍,但是 FIR 滤波器可以得到严格的线性相位。
数字信号管理方案计划实验报告实验五

物理与电子信息工程学院实验报告实验课程名称:数字信号处理实验名称:FIR数字滤波器设计与软件实现班级:1012341姓名:严娅学号:101234153成绩:_______实验时间:2012年12月20 日一、实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2)掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。
(3)掌握FIR 滤波器的快速卷积实现原理。
(4)学会调用MATLAB 函数设计与实现FIR 滤波器。
二、实验原理1、用窗函数法设计FIR 数字滤波器的原理和方法。
如果所希望的滤波器的理想频率响应函数为 )(ω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 =∑-=-1)(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 。
用窗函数法设计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(Finite Impulse Response)滤波器设计的一种方法。
FIR滤波器是一种非递归滤波器,可以实现信号的滤波,特定频率的增强或抑制,抗混叠等功能。
FIR滤波器设计过程可以分为两个步骤:确定滤波器的理论参数和设计窗函数。
第一步,确定滤波器的理论参数。
这些参数包括滤波器的采样频率,截止频率,通带和阻带的衰减要求等。
一般情况下,FIR滤波器的理论参数由滤波器的应用需求决定。
第二步,设计窗函数。
窗函数是用来限制FIR滤波器的单位冲激响应的长度的。
它决定了滤波器的频率响应特性和频率选择性。
窗函数可以通过Fourier级数展开来实现。
常用的窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
例如,以汉宁窗为例,下面是使用窗函数法设计FIR滤波器的具体步骤:1. 确定滤波器的理论参数。
如采样频率为fs,截止频率为fc,通带衰减要求为d1,阻带衰减要求为d22.将截止频率转化为数字频率。
由于数字信号是离散的,需要将模拟信号的截止频率转化为数字频率。
数字频率的单位为π。
3.根据截止频率和采样频率计算滤波器的长度N。
通常情况下,滤波器的长度N取一个奇数值,以确保能满足线性相位要求。
4.根据窗函数的性质确定窗函数的参数。
汉宁窗的参数为α=0.55.根据窗函数的长度N和参数α计算窗函数的系数。
例如,对于汉宁窗,窗函数的系数可通过下式计算得到:w(n) = 0.5 - 0.5 * cos(2πn/N) ,其中0≤ n ≤ N-16.根据窗函数的系数计算滤波器的单位冲激响应h(n)。
滤波器的单位冲激响应即为窗函数系数的离散时间傅里叶变换(DTFT),用于表示滤波器的频率响应特性。
7.根据滤波器的单位冲激响应h(n)可以计算出滤波器的频率响应H(f)。
频率响应可以通过滤波器的单位冲激响应h(n)的离散时间傅里叶变换(DTFT)计算得到。
8.根据设计要求来检验滤波器的频率响应特性是否满足要求。
数字信号处理---窗函数法设计FIR滤波器,窗函数选取原则

6 LogoBiblioteka 窗函数介绍矩形窗7 Logo
窗函数介绍
矩形窗
主瓣宽度 B m 4 / 23 0.5461 -13dB
旁瓣峰值衰减
精确过渡带 Bt 1.8 / 23 0.2457 阻带最小衰减 21dB
8 Logo
窗函数介绍
三角窗
三角窗(Bartlett Window)
2n N 1, wB ( n ) 2 2n , N 1 0 n N 1 2 N 1 2 n N 1
精确过渡带 Bt 6.6 / 23 0.9010 阻带最小衰减 53dB
17 Logo
布莱克曼窗
窗函数介绍
布莱克曼窗(Blankman Window) ,又
称二阶升余弦窗。
w Bl ( n ) [0.42 0.5 cos( 2 n N 1 ) 0.08 cos(
j
4 n N 1
figure; plot(w/pi,20*log10(abs(h2)/abs(h2(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('矩形窗低滤波器的频谱');
4
window2=bartlett(N); [h2,w]=freqz(window2,1); figure; stem(window2); xlabel('n'); title('三角窗函数'); figure; plot(w/pi,20*log10(abs(h2)/abs(h2(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('三角窗的频谱'); window3=hann(N); [h3,w]=freqz(window3,1); figure;
用窗函数法设计FIR数字滤波器

用窗函数法设计FIR 数字滤波器一、实验目的1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解2、学习用MATLAB 语言的窗函数法编写设计FIR 数字滤波器的程序3、了解MATLAB 有关窗函数法设计的常用子函数二、实验涉及的MATLAB 子函数1、boxcar :矩形窗2、triang :三角窗3、bartlett :巴特利特窗4、hamming :哈明窗5、hanning :汉宁窗6、blackman :布莱克曼窗7、chebwin :切比雪夫窗8、kaiser :凯瑟窗9、firl :基于窗函数的FIR 数字滤波器设计——标准频率响应,以经典方法实现加窗线性相位FIR 滤波器设计,可设计出标准的低通、带通、高通和带阻滤波器。
三、实验原理1、运用窗函数法设计FIR 数字滤波器 FIR 数字滤波器的系统函数为ωN-1-n n=0H(z)=h(n)z ∑N-1-n n=0H(z)=h(n)z ∑这个公式也可以看成是离散LSI 系统的系统函数M-m-1-2-m mm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其余a k 全都为0时的一个特例。
由于极点全部集中在零点,稳定和线性相位特性是FIR 滤波器的突出优点,因此在实际中广泛使用。
FIR 滤波器的设计任务是选择有限长度的h(n),使传输函数H(e jw )满足技术要求。
用窗函数法设计FIR 数字滤波器的基本步骤是:1)根据过渡带和阻带衰减设计指标选择窗函数类型,估算滤波器的阶数N ; 2)由数字滤波器的理想频率响应H(e jw )求出其单位冲击响应h d (n)。
2、各种窗函数特性的比较窗函数 旁瓣峰值/dB 近似过渡带宽 精确过渡带宽阻带最小衰减/dB矩形窗 -13 4/N π 1.8/N π 21 三角形窗 -25 8/N π 6.1/N π 25 汉宁窗 -31 8/N π 6.2/N π 44 哈明窗 -41 8/N π 6.6/N π 53 布莱克曼窗 -57 12/N π11/N π 74 凯塞窗-5710/N π803、用窗函数设计FIR 数字低通滤波器4、用窗函数法设计FIR 数字高通滤波器5、用窗函数法设计FIR 数字带通滤波器6、用窗函数法设计FIR 数字带阻滤波器四、实验内容选择合适的窗函数设计FIR 数字低通滤波器,要求:通带ωp =0.2π,Rp=0.05dB ;阻带ωs =0.3π,As=40dB 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主瓣宽度 B m 12 / 23 1.638 -57dB
旁瓣峰值衰减
精确过渡带 Bt 11 / 23 1.502 阻带最小衰减 74dB
20
窗函数介绍
凯塞窗
凯塞窗(Kaiser Window)
wK (n ) I 0 ( 1 [1 2 n / ( N 1)] )
) W R (e
)]
2 N 1 ) W R ( 2 N 1 )]
W Bl ( ) 0.42W R ( ) 0.25[W R ( 0.04[W R ( 4 N 1 ) W R ( 4 N 1
)]
布莱克曼窗
窗函数介绍
19
布莱克曼窗
窗函数介绍
j (
)] R N ( n )
2 )
频率响应 幅频响应
18
W Bl ( e
j
) 0.42W R ( e
j ( 4 N 1 )
) 0.25[W R ( e
j ( 4 N 1 )
N 1
) W R (e
j (
2 N 1
)
)]
0.04[W R ( e
2 N 1
)
)]}e
12 Logo
请加入标题 窗函数介绍
汉宁窗
13
请加入标题 窗函数介绍
汉宁窗
主瓣宽度 B m 8 / 23 1.092 -31dB
旁瓣峰值衰减
精确过渡带 Bt 6.2 / 23 0.8464 阻带最小衰减 44dB
14
请加入标题 窗函数介绍
汉明窗
汉明窗(Hanming Window),又称改进的升余弦窗。
2
27
2
28
同一窗函数设计 时阶数的选择
>>>>>
同一窗函数设计时阶数的选择 问题
用同一窗函数设计的FIR数字滤波器的阶数N不同, 所得到的滤波器的过渡带会不一样,N越大,过渡 带越窄。 下面是当汉明窗的长度分别为N=23,N=33, N=43,N=53时的幅频响应:
29
程序
N1=23; wd=0.3*pi; window1=hamming(N1); [h1,w]=freqz(window1,1); figure; stem(window1); xlabel('n'); title('汉明窗函数'); figure; plot(w/pi,20*log10(abs(h1)/abs(h1(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('汉明窗的频谱'); hn=fir1(N1-1,wd/pi,hamming(N1)); [h2,w]=freqz(hn,1); figure; stem(hn); xlabel('n'); ylabel('h(n)'); title('汉明窗的单位脉冲响应'); grid; figure; plot(w/pi,20*log10(abs(h2)/abs(h2(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('汉明窗低滤波器的频谱');
各种窗函数性能比较
窗类型
矩形窗 三角窗
主瓣宽度
精确过
渡带 B t
1.8π/N 6.1π/N
旁瓣峰值
衰减/dB
-13 -25
阻带最小
衰减/dB
21 25
Bm
4π/N 8π/N
汉宁窗
汉明窗 布莱克曼窗
8π/N
8π/N 12π/N
6.2π/N
6.6π/N 11π/N 10π/N
-31
-41 -57 -57
figure; plot(w/pi,20*log10(abs(h2)/abs(h2(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('矩形窗低滤波器的频谱');
4
window2=bartlett(N); [h2,w]=freqz(window2,1); figure; stem(window2); xlabel('n'); title('三角窗函数'); figure; plot(w/pi,20*log10(abs(h2)/abs(h2(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('三角窗的频谱'); window3=hann(N); [h3,w]=freqz(window3,1); figure;
N 1 其频率响应和幅频响应分别为:
j j
w Hm ( n ) [0.54 0.46 cos(
2 n
)] R N ( n )
j ( 2 N 1 j ( 2 N 1
W Hm ( e ) 0.54W R ( e ) 0.23[W R ( e
)
) W R (e
2 n N 1
)] R N ( n )
其频率响应和幅度响应分别为:
W Hn ( e ) {0.5W R ( ) 0.25[W R ( W R ( 2 N 1
j( N 1 2 ) j
2 N 1
)
W Hn ( ) 0.5W R ( ) 0.25[W R ( W R ( 2 N 1 )]
其频率响应和幅频响应分别为:
2 sin( N / 4) 2 j ( N 1) / 2 2 sin( N / 4) 2 W B (e ) [ ] e W B ( ) [ ] N sin( / 2) N sin( / 2)
j
9 Logo
窗函数介绍
三角窗
10 Logo
窗函数介绍
6 Logo
窗函数介绍
矩形窗
7 Logo
窗函数介绍
矩形窗
主瓣宽度 B m 4 / 23 0.5461 -13dB
旁瓣峰值衰减
精确过渡带 Bt 1.8 / 23 0.2457 阻带最小衰减 21dB
8 Logo
窗函数介绍
三角窗
三角窗(Bartlett Window)
2n N 1, wB ( n ) 2 2n , N 1 0 n N 1 2 N 1 2 n N 1
数字信号处理
第十六题
举例说明窗化法设计FIR滤波器时,各种 窗函数的选取原则
by:
wang
1
03
目 录
Contents
窗函数及其性 能比较
28
1
同一窗函数设计 时阶数的选择
38
2 3
举例说明窗函数 选取原则
45
2
总结
Page
1
矩形窗
窗函数及其 性能比较
>>>>>
三角窗
汉宁窗
汉明窗
布莱克曼窗
凯塞窗
窗函数介绍
矩形窗
矩形窗(Rectangle Window)
w R ( n ) R N ( n ), 0 N 1
其频率响应和幅频响应分别为:
W R (e )
j
sin( N / 2) sin( / 2)
e
j ( N 1) / 2
W R ( )
sin( N / 2) sin( / 2)
5
figure; stem(window5); xlabel('n'); title('布莱克曼窗函数'); figure; plot(w/pi,20*log10(abs(h5)/abs(h5(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('布莱克曼窗的频谱'); beta=8; window6=kaiser(N,beta); [h6,w]=freqz(window6,1); figure; stem(window6); xlabel('n'); title('凯塞窗函数'); figure; plot(w/pi,20*log10(abs(h6)/abs(h6(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('凯塞窗的频谱');
30 Logo
23点
主瓣宽度 B m 8 / 23 1.092 -41dB
3
N=23; n=0:N-1; 请加入标题 wd=0.3*pi; window1=rectwin(N); [h1,w]=freqz(window1,1); figure; stem(window1); xlabel('n'); title('矩形窗函数'); figure; plot(w/pi,20*log10(abs(h1)/abs(h1(1)))); grid; xlabel('w/pi'); ylabel('幅度(dB)'); title('矩形窗的频谱'); hn=fir1(N-1,wd/pi,rectwin(N)); [h2,w]=freqz(hn,1); figure; stem(n,hn); xlabel('n'); ylabel('h(n)'); Logo title('矩形窗的单位脉冲响应'); grid;