当前位置:文档之家› 基于窗函数法的FIR带阻滤波器的软件实现

基于窗函数法的FIR带阻滤波器的软件实现

基于窗函数法的FIR带阻滤波器的软件实现
基于窗函数法的FIR带阻滤波器的软件实现

《数字信号处理》

课程设计任务书题目滤波器设计与实现

学生姓名学号专业班级

设计内容与要求

一、设计内容:

产生包含两个正弦成分(120hz,20hz)的信号,设计基于窗函数的FIR滤器去除高频部分,保留20信号。通带允许的最大衰减为0.25dB,阻带应达的最小衰减为75dB。滤波器的采样频率为500Hz。

二、设计要求

2 设计报告一律按照规定的格式,使用A4纸,格式、封面统一给出

模版。

3 报告内容

(1)设计题目及要求

(2)设计原理 (包括滤波器工作原理、涉及到的matlab函数的说

明)

(3)设计内容(设计思路,设计流程、仿真结果)

(4)设计总结(收获和体会)

(5)参考文献

(6)程序清单

起止时间2012年 12 月 3日至 2011年 12月11 日

指导教师签名

2011年 12月 2日

系(教研室)主任

签名

年月日

学生签名

年月日

目录

1课题描述 (1)

2 MATLAB简介 (2)

3 窗函数设计法原理 (2)

3.1线性相位 (5)

3.2 基本窗函数 (5)

3.2.1 矩形窗函数 (5)

3.2.2 三角窗函数 (6)

3.2.3汉宁窗函数 (7)

3.2.4 哈明窗函数 (7)

3.2.5 布莱克曼窗函数 (8)

3.2.6 凯塞窗 (8)

4 方案设计与分析 (10)

4.1方案设计程序 (10)

4.2分析 ..................................................................................... 错误!未定义书签。

5 总结与体会 (10)

6 参考文献 ........................................................................................ 错误!未定义书签。

1课题描述

现代图像、语声、数据通信对线性相位的要求是普遍的。正是此原因,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。

在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。

2 MATLAB简介

MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计,它使用方便,输入简捷,运算高效,内容丰富,因此很多专家在自己擅长的领域用它编写了许多专门的MATLAB工具包,由于MATLAB功能的不断扩展,所以是科学研究中最常用必不可少的工具。

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB 的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

3 窗函数设计法原理

数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(iir)滤波器和有限长冲激响应(fir)滤波器。iir数字滤波器具有无限宽

的冲激响应,与模拟滤波器相匹配。所以iir 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。fir 数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。

因此设计FIR 滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N 就是系统函数H(z)的阶数。只要N 足够长,截取的方法合理,总能满足频域的要求。一般这种时域设计、频域检验的方法要反复几个回合才能成功。要设计一个线性相位的FIR 数字滤波器,首先要求理想频率响应)

(jw

d e

H 。

)

(jw

d e

H 是w 的周期

函数,周期为π2,可以展开成傅氏级数:

)(jw

d e

H =

∑∞

-∞

=-n jwn

d

e

n h

)( (3-1)

其中

)

(n h d 是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIR DF

用的h(n),因为)

(n h d 一般都是无限长、非因果的,物理上无法实现。为了设计出频响类

似于理想频响的滤波器,可以考虑用h(n)来近似)

(n h d 。

窗函数的基本思想:先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR 滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器。

设x(n)是一个长序列,w(n)是长度为N 的窗函数,用w(n)截断x(n),得到N 点序列xn(n),即

x n (n ) = x (n ) w (n ) (3-2) 在频域上则有

()()(

)

()?--?=ππ

j j j d e π

21

e θθ

ωθ

ωW e

X X N (3-3)

由此可见,窗函数w(n)不仅仅会影响原信号x(n)在时域上的波形,而且也会影响到频域内的形状。

MATLAB 信号工具箱主要提供了以下几种窗函数,如表下所示:

表1 MATLAB 窗函数

窗 函 数

矩形窗 Boxcar 三角窗

Barlett 布莱克曼窗 Blackman 哈明窗 Hamming 汉宁窗 Hanning 凯塞窗

Kaiser 切比雪夫窗 Chebwin

加矩形窗后的频谱和理想频谱可得到以下结论:

加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。矩形窗情况下的过渡带宽是N /4π。N 越大,过渡带越窄、越陡;

过渡带两旁产生肩峰,肩峰的两侧形成起伏振荡。肩峰幅度取决于窗谱主瓣和旁瓣面积之比。矩形窗情况下是8.95%,与N 无关。工程上习惯用相对衰耗来描述滤波器,相对衰耗定义为

])0(/)(l g [20])(/)(lg[20)(0H w H e H e H w A j jw == (3-4)

这样两个肩峰点的相对衰耗分别是0.74dB 和-21dB 。其中(-0.0895)对应的点的值定义为阻带最小衰耗。

以上的分析可见,滤波器的各种重要指标都是由窗函数决定,因此改进滤波器的关键在于改进窗函数。

窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。旁瓣峰值衰耗定义为:

旁瓣峰值衰耗=20lg(第一旁瓣峰值/主瓣峰值) (3-5)

为了改善滤波器的性能,需使窗函数谱满足:

主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带;

第一副瓣面积相对主瓣面积尽可能小,即能量尽可能集中在主瓣,外泄少,使设计出来的滤波器的肩峰和余振小。

但上面两个条件是相互矛盾的,实际应用中,折衷处理,兼顾各项指标。

3.1线性相位

一个单一频率的正弦信号通过一个系统,假设它通过这个系统的时间需要t ,则这个信号的输出相位落后原来信号wt 的相位。从这边可以看出,一个正弦信号通过一个系统落后的相位等于它的w*t ;反过来说,如果一个频率为w 的正弦信号通过系统后,它的相位落后delta ,则该信号被延迟了delta/w 的时间。在实际系统中,一个输入信号可以分解为多个正弦信号的叠加,为了使得输出信号不会产生相位失真,必须要求它所包含的这些正弦信号通过系统的时间是一样的。因此每一个正弦信号的相位分别落后,w1*t ,w2*t ,w3*t 。因此,落后的相位正比于频率w ,如果超前,超前相位的大小也是正比于频率w 。从系统的频率响应来看,就是要求它的相频特性是一条直线。在FIR 滤波器的设计中,为了得到线性相位的性质,通常利用实偶对称序列的相频特性为常数0和实奇对称序列为相频特性为常数90度的特点。因此得到的是对称序列,不是因果序列,是不可实现系统,为了称为物理可实现系统,需要将它向右移动半个周期,这就造成了相移特性随时间的变化,同时也是线性变化。

单位脉冲响应h(n)(为实数)具有偶对称或奇对称性,则FIR 数字滤波器具有严格的线性相位特性。

数字滤波器中,IIR 数字滤波器方便简单,但它相位的非线性,要求采用全通网络进行相位校正,且稳定性难以保障。FIR 滤波器具有很好的线性相位特性,使得它越来越受到广泛的重视。

3.2 基本窗函数

数字信号处理领域中所用到的基本窗函数主要有:矩形窗函数、三角窗函数和汉宁窗函数,哈明窗函数布莱克窗函数,凯塞窗函数等。下面就对这些窗函数展开介绍。 3.2.1 矩形窗函数

矩形窗(Rectangular Window)函数的时域形式可以表示为:

?

?

?-≤≤==其他,01

0,1)()(N n n R n w N (3-2-1)

它的频域特性为

()??

? ????? ??=??

? ??--2s i n 2s i n e

e

21j j ωωωω

N W N R (3-2-2)

Boxcar 函数:生成矩形窗

调用方式w = boxcar (N):输入参数N 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。从功能上讲,该函数又等价于w = ones(n,1)。 3.2.2 三角窗函数

三角窗是最简单的频谱函数)

W(e j ω

为非负的一种窗函数。三角窗函数的时域形式可以

表示为:

当n 为奇数时

??

???≤≤+---+≤≤--=n

k n n k n k n k k w 21,1)1(22211,1

)

1(2)( (3-2-3)

当n 为偶数时

()?????≤≤--≤≤--=n

k n n k n n k n k k w 2,1

)(221,1

)

1(2 (3-2-4)

Bartlett 函数:生成巴特利特窗 调用方式w = bartlett(n): (1) 输入参数n 是窗函数的长度;

(2) 输出参数w 是由窗函数的值组成的n 阶向量。 (3) 三角窗也是两个矩形窗的卷积。

三角窗函数的首尾两个数值通常是不为零的。当n 是偶数时,三角窗的傅立叶变换总是非负数。

3.2.3汉宁窗函数

汉宁窗函数的时域形式可以表示为:

?

??? ?

???? ??

+-=1π2c o s 15.0)(n k k w

N

k ,,2,1 = (3-2-5)

它的频域特性为:

()()??

?

?

?--????

??????????? ??-++??? ??--+=21j e

1π21π225.05.0N R R R N W N W W W ωωωωω (3-2-6)

其中,)(ωR W 为矩形窗函数的幅度频率特性函数。

汉宁窗函数的最大旁瓣值比主瓣值低31dB ,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8π/N 。

hanning 函数:生成汉宁窗 调用方式

(1) w = hanning(n):输入参数n 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。

注意:此函数不返回是零点的窗函数的首尾两个元素。 (2) w = hanning(n,'symmetric'):与上面相类似。

(3) w = hanning(n,'periodic'):此函数返回包括为零点的窗函数的首尾两个元素。

3.2.4 哈明窗函数

海明窗函数的时域形式可以表示为

??? ?

?

--=1π2c o s 46.054.0)(N k k w

N

k ,,2,1 = (3-2-7)

它的频域特性为

?

????

???? ??

-++??? ??--+=1π21π223.0)(54.0)(N W N W W W R R R ωωωω (3-2-8)

其中,)

(ωR

W

为矩形窗函数的幅度频率特性函数。

海明窗函数的最大旁瓣值比主瓣值低41dB ,但它和汉宁窗函数的主瓣宽度是一样大

的。

Hamming 函数:生成海明窗 调用方式

(1) w = hamming(n):输入参数n 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。

(2) w = hamming(n,sflag):参数sflag 用来控制窗函数首尾的两个元素值;其取值为symmetric 或periodic ;默认值为symmetric 。 3.2.5 布莱克曼窗函数

布莱克曼窗函数的时域形式可以表示为

??

? ??

--+??? ??---=11π4c o s 08.011π2cos 5.042.0)(N k N k k w

N

k ,,2,1 = (3-2-9)

它的频域特性为

=)(ωW 42.0()ωR W +25.0+????

?

???? ??-++??? ?

?

--1212N W N W R R πωπ

ω????????? ??

-++??? ??--1π41π404.0N W N W R R ωω (3-2-10)

其中,)

(ωR

W

为矩形窗函数的幅度频率特性函数。

布莱克曼窗函数的最大旁瓣值比主瓣值低57dB ,但是主瓣宽度是矩形窗函数的主瓣宽度的3倍,为12π/N 。

Blackman 函数:生成海明窗 调用方式

(1) w = blackman (n):输入参数n 是窗函数的长度;输出参数w 是由窗函数的

值组成的n 阶向量。

(2) w = blackman (n,sflag):参数sflag 用来控制窗函数首尾的两个元素值;其取值为symmetric 或periodic ;默认值为symmetric 。 3.2.6 凯塞窗

上面所讨论的几种窗函数,在获得旁瓣抑制的同时却增加了主瓣的宽度。而凯塞窗定义了一组可调的窗函数,它是由零阶贝塞尔函数构成的,其主瓣能量和旁瓣能量的比例是近乎最大的。而且,这种窗函数可以在主瓣宽度和旁瓣高度之间自由选择它们的比重,使用户的设计变得非常灵活。

凯塞窗函数的时域形式可表示为

)

(1211)(020ββI N k I k w ??

?

?????

??? ?

?

---=

10-≤≤N k (3-2-11)

其中,)(0βI 是第1类变形零阶贝塞尔函数,β是窗函数的形状参数,由下式确定:

??

???<≤≤-+->-=21,050

21),21(07886.0)21(5482.050),

7.8(1102.04

.0ααααααβ (3-2-12)

其中,α为凯塞窗函数的主瓣值和旁瓣值之间的差值(dB)。改变β的取值,可以对主瓣宽度和旁瓣衰减进行自由选择。β的值越大,窗函数频谱的旁瓣值就越小,而其主瓣宽度就越宽。

Kaiser 函数:生成凯塞窗

调用方式w = kaiser(n,beta):输入参数n 是窗函数的长度;输入参数beta 用于控制旁瓣的高度;输出参数w 是由窗函数的值组成的n 阶向量。n 一定时,beta 越大,其频谱的旁瓣就越小,但主瓣宽度相应的增加;当beta 一定时,n 发生变化,其旁瓣高度不会发生变化。

4 方案设计

用窗函数法设计一个FIR 带阻滤波器。指示如下: 下通带截至频率 π2.0=ls w ; 上通带截止频率 π8.0=us w ; 阻带下限频率 π35.0=lp w ; 阻带上限频率 π65.0=up w 通带最大衰减 dB p 1=α 阻带最小衰减 S α=60dB

4.1方案设计程序

6中窗函数的基本参数如下

窗函数类型

旁瓣峰值 n α/dB

过渡带宽度

阻带最小衰减

s α/dB

近似值 精确值 矩形窗 -13 4π/N 1.8π/N -12 三角窗 -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 凯塞窗

-57

10π/N

-80

4.2设计内容

产生包含两个正弦成分(120hz,20hz )的信号,设计基于窗函数的FIR 滤波器去除高频部分,保留20信号。通带允许的最大衰减为0.25dB ,阻带应达到的最小衰减为75dB 。 滤波器的采样频率为500Hz 。

用MATLAB 编程实现

wp=0.4*pi;ws=0.16*pi; Bt=wp-ws;%计算过渡带宽度

N0=ceil(11*pi/Bt);%根据表计算所需h (n )长度N0,ceil (x )取大于等于x 的最小整数

N=N0+mod(N0+1,2);%确保h(n)长度N是基数

n=0:N-1;

wc=(wp+ws)/2/pi;%计算理想高通滤波器通带截止频率

hn=fir1(N-1,wc,'low',blackman(N));%调用firl计算高通FIR数字滤波器的h(n)

fs=500;%采样频率

f1=20;f2=120;%待滤波正弦信号频率

figure(1)

stem(hn)

title('hn波形')

[h,f]=freqz(hn,1,512);

figure(2)

plot(f*500/(2*pi),20*log10(abs(h)))

xlabel('频率/赫兹');

ylabel('增益/分贝');

title('滤波器的增益响应');

figure(3)

subplot(2,1,1)

t=0:1/fs:1;%定义时间范围和步长

sig=sin(2*pi*f1*t)+sin(2*pi*f2*t);%滤波前的信号

plot(t,sig)%滤波前的信号图像

xlabel('时间/秒');

ylabel('幅度');

title('信号滤波前时域图')

subplot(2,1,2)

Fs=fft(sig,512);%将信号变到频域

AFs=abs(Fs);%信号频域值的幅值

f=(0:255)*fs/512;%频率采样

plot(f,AFs(1:256));%滤波前的信号频谱图

xlabel('频率/赫兹');

ylabel('幅度');

title('信号滤波前频域图');

figure(4)

sf=filter(hn,1,sig);%使用fifter对信号进行滤波,输入参数分别为滤波器系统函数的分子和分母多项式系数向量和待滤信号输入

subplot(2,1,1)

plot(t,sf)%信号滤波后

title('信号滤波后的时域图');

axis([0.2 0.45 -2 2]);%定义图像坐标

subplot(2,1,2);

Fsf=fft(sf,512);%滤波后的信号频域图AFsf=abs(Fsf);%信号频域图的幅值

f=(0:255)*fs/512;%频率采样

plot(f,AFsf(1:256));%滤波后的信号频域图xlabel('频率/赫兹');

ylabel('幅度');

title('信号滤波后的频域图');

5 总结与体会

MATLAB系统的强大功能是由其核心内容(语言系统、开发环境、图形系统数学、函数库应用成语接口等)和辅助工具箱(符号计算、图像处理、优化、统计和控制等工具箱)两大部分组成。MATLAB即是一种直观、高效的计算机语言,同时又是一个科学的计算平台。他为数据分析和数据可视化、算法和应用程序开展了最核心的数学和高级图形工具。根据它提供的500多种数学和工程函数,工程技术人员和科学工作者可以在他的集成环境中交互和编程已完成各自的运算。

通过这次课程设计,我初步的掌握了一些MATLAB的实验的原理,从基本的不明白到掌握了一定的绘图设计函数等技巧,并且对课本知识有了进一步的理解,通过仿真对我的

专业课程有了更浓的兴趣。以后要进一步的深入,希望可以尽快掌握,对以后的学习有所帮助。

6 参考文献

[1]《数字信号处理》(第三版),丁玉美,高西全.西安电子科技大学出版社,2000.

[2]《MATLAB及在电子信息课程中的应用》,陈怀堔,吴大正,高西全.电子工业出版社,2006.

[3]《MATLAB 7.0从入门到精通》,求是科技.人民邮电出版社,2006.

[4]《数字信号处理(第三版)》学习指导,高西全,丁玉美.西安科技大学出版社,2001

实验六、用窗函数法设计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 ω ) = ∑-=-1 )(N n n j e n 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 来计算滤波器的频率响应函数。

MATLAB窗函数法实现FIR的高通,带通和低通滤波器的程序

MATLAB窗函数法实现FIR的高通,带通和低通滤波器的程序 MATLAB 学院:地球物理与石油资源学院班级:姓名:学号:班内编号:指导教师:完成日期:测井11001大牛啊啊啊陈义群2013年6月3日课程设计报告一、题目FIR滤波器的窗函数设计法及性能比较 1. FIR滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应滤波器和有限冲激响应滤波器。与IIR滤波器相比,FIR滤波器的主要特点为: a. 线性相位;b.非递归运算。 2. FIR 滤波器的设计FIR滤波器的设计方法主要有三种:a.窗函数设计法;b.频率

抽样发;c.最小平法抽样法;这里我主要讨论在MATLAB环境下通过调用信号分析与处理工具箱的几类窗函数来设计滤波器并分析与比较其性能。窗函数法设计FIR滤波器的一般步骤如下: a. 根据实际问题确定要设计的滤波器类型; b. 根据给定的技术指标,确定期望滤波器的理想频率特性;c. 求期望滤波器的单位脉冲响应;d. 求数字滤波器的单位脉冲响应; e. 应用。常用的窗函数有(1)Hanningwindoww(n)?[?((2)Hammingw indoww(n)?[?((3)Balckmanwindoww(n)?[ ?((4)KaiserwindowI0{?1?[2n/(N?1)]2}w(n )?RN(n)I0(?)式中I0(x)是零阶Bessel函数,可定义为()2?n4?n)?()]RN(n)N?1N?1()2?n)]RN(n)N ?1() ?nN?1)]RN(n)() (x/2)m2I0(x)?1??m!m?1? 当x?0时与矩形窗一致;当x?时与海明窗结果相同;当x?时与布莱克曼窗结果相同。3.窗函数的选择标准 1. 较低的旁瓣

窗函数设计FIR滤波器

1.课题描述......................................................... (1) 2.题目及要求......................................................... (1) 3.设计原理......................................................... (1) 3.1 滤波器的分类......................................................... (1) 3.2 数字滤波器工作原理 (1) 3.3 FIR滤波器的设计指 标 (3) 3.4窗函数设计FIR滤波器的设计原 理 (5) 3.5用窗函数设计滤波器的步 骤 (10) 3.6实验所用MATLAB函数说 数 (11)

4设计容......................................................... (12) 4.1用MATLAB编程实 现 (12) 4.2结果分析......................................................... (15) 5总结......................................................... (17) 6参考文献......................................................... (17)

1.课题描述 数字滤波器是指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。因此,数字滤波的概念和模拟滤波相同,只是信号的形成和实现滤波方法不同。正因为数字滤波通过数值运算实现滤波,所以数字滤波处理精度高、稳定、体积小、质量轻、灵活、不存在阻抗匹配问题,可以实验模拟滤波器无法实现的特殊滤波功能。本课题使用MATLAB信号处理箱和运用窗函数的FIR滤波器去除无用信号。2.题目及要求 产生包含三个正弦成分(120hz,80hz,20hz)的信号,设计基于窗函数的FIR滤波器去除120hz,20hz成分,保留80hz信号。通带允许的最大衰减为0.25dB,阻带应达到的最小衰减为20dB。滤波器的采样频率为500Hz。 3.设计原理 3.1滤波器的分类 从功能上可以分为:低通、高通、带通和带阻。 从处理信号分为:经典滤波器和现代滤波器。 从设计方法上分为:切比雪夫和巴特沃斯 从实现方法上分为:FIR和IIR 3.2数字滤波器的工作原理 数字滤波器是一个离散时间系统,输入x(n)是一个时间序列,输出y(n)也是一个时间序列。如数字滤波器的系统函数为H(Z),其脉

窗函数设计低通滤波器 电信课设

XXXX大学 课程设计报告 学生:xxx 学号:xxx 专业班级:电子信息工程 课程名称:数字信号处理课程设计 学年学期20XX——20XX 学年第X学期指导教师:xxx 2014年6月

课程设计成绩评定表

目录 1. 窗函数设计低通滤波器 1.1设计目的 (1) 1.2设计原理推导与计算 (1) 1.3设计容与要求 (2) 1.4设计源程序与运行结果 (3) 1.5思考题 (10) 2. 用哈明窗设计FIR带通数字滤波器 2.1设计要求 (14) 2.2设计原理和分析 (14) 2.3详细设计 (15) 2.4调试分析及运行结果 (15) 2.5心得体会 (17) 参考文献 (17)

1.窗函数设计低通滤波器 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 j d ,,e e H 0,其中21-=N α ()() ()[]() a n a n d e e d e e H n h c j j j j d d c c --= = = ??- -- πωωπ ωπ ωαωω ωαω π π ω sin 21 21 用有限长单位脉冲响应序列()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 为 ()()n j N n j e n h e H ωω ∑-==1 (4.3) 式中,N 为所选窗函数()n ω的长度。 用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取

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

实验四 用窗函数法设计FIR 数字滤波器 实验项目名称:用窗函数法设计FIR 数字滤波器 实验项目性质:验证性实验 所属课程名称:数字信号处理 实验计划学时:2 一. 实验目的 (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 j d ,,e e H 0 其中2 1 -= N α ()() ()[]() a n a n d e e d e e H n h c j j j j d d c c --= = = ??- -- πωωπ ωπ ωαωω ωαωπ π ωsin 2121

(3) 33=N ,4πω=c ,用四种窗函数设计线性相位低通滤波器,绘制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。 三. 实验主要仪器设备和材料 计算机,MATLAB6.5或以上版本 四. 实验方法、步骤及结果测试 如果所希望的滤波器的理想的频率响应函数为()ω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 为 ()()n j N n j e n h e H ωω ∑-==1 (4.3) 式中,N 为所选窗函数()n ω的长度。 我们知道,用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的

FIR滤波器窗函数设计

课题名称:FIR滤波器窗函数设计

FlR 滤波器窗函数设计 引言: 数字滤波器(DigitalFilter )是指输入、输出都是离散时间信号,通过一定运算 关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。 在许 多数字信号处理系统中,如图像信号处理等,有限冲激响应( FIR )滤波器是最 常用的组件之一,它完成信号预调、频带选择和滤波等功能。 FIR 滤波器虽然在 截止频率的边沿陡峭性能上不及无限冲激响应 (IIR )滤波器,但是却具有严格的 线性相位特性,稳定性好,能设计成多通带(或多阻带)滤波器组,所以能够在 数字信号处理领域得到广泛的应用。 数字滤波器的分类 1) 根据系统响应函数的时间特性分为两类 1. FIR (Finite ImPUISe Response 数字滤波器网络 M y[n] b k x[n k] k0 特点:不存在反馈支路,其单位 冲激响应为有限长 2. IIR ( Infinite ImPUISe Response 数字滤波器网络 特点:存在反馈支路,即信号流图中存在环路,其单位冲激响应为无限长 (2) FIR 数字滤波器IIR 数字滤波器的区别 1. 从性能上来说,IlR 滤波器传递函数包括零点和极点两组可调因素, 对极点的 惟一限制是在单位圆内。因此可用较低的阶数获得高的选择性,所用的存储 单元 少,计算量小,效率高。但是这个高效率是以相位的非线性为代价的。 选择性越好,则相位非线性越严重。FIR 滤波器传递函数的极点固定在原点, 是不能动的,它只能靠改变零点位置来改变它的性能。所以要达到高的选择 性,必须用较高的阶数;对于同样的滤波器设计指标, FIR 滤波器所要求的 阶数可能比IIR 滤波器高5-10倍,但是FIR 滤波器可以得到严格的线性相位。 2. 从结构上看,IIR 滤波器必须采用递归结构,极点位置必须在单位圆内,否则 系统将 不稳定。相反,FIR 滤波器只要采用非递归结构,不论在理论上还是 在实际的有限精度运算中都不存在稳定性问题, 因此造成的频率特性误差也 较小。此外FIR 滤波器可以采用快速傅里叶变换算法, 在相同阶数的条件下, 运算速度可以快得多。 3. 从设计工具看,IIR 滤波器可以借助于模拟滤波器的成果,因此一般都有有效 的圭寸闭形式的设计公式可供准确计算,计算工作量比较小,对计算工具的要 求不高。 hn b n , 0 n M 0, 其他 n y[n] b k x[n k] k0 a k y[n k1 k]

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

实验四 窗函数法设计FIR 数字滤波器 一、实验目的 1、掌握窗函数法设计FIR 数字滤波器的原理及具体方法。 2、掌握频率取样法设计FIR 数字滤波器的原理和基本方法。 3、学习利用窗函数法和频率取样法设计低通、带通、高通、带阻数字滤波器。 二、实验环境 计算机、MATLAB 软件 三、实验基础理论 窗函数设计FIR 滤波器 1.基本原理 窗函数设计法的基本思想为,首先选择一个适当的理想的滤波器()j d H e ω ,然后 用窗函数截取它的单位脉冲响应(n)d h ,得到线性相位和因果的FIR 滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。 2.设计步骤 (1)给定理想滤波器的频率响应()j d H e ω ,在通带上具有单位增益和线性相位, 在阻带上具有零响应。一个带宽为()c c ωωπ<的低通滤波器由下式给定: π ωωωωωωω≤<=≤=-||,0)(,||,)(c j d c ja j d e H e e H 其中α为采样延迟,其作用是为了得到一个因果系统。 (2)确定这个滤波器的单位脉冲响应 ) ()) (sin()(a n a n n h c d --= πω 为了得到一个(n)h 长度为N 的因果的线性相位FIR 滤波器,我们令 2 1 -= N a (3)用窗函数截取(n)d h 得到所设计FIR 数字滤波器:)()()(n R n h n h N d = 3.窗函数的选择 常用的窗函数有矩形(Rectangular )窗,汉宁(Hanning )窗,海明(Hamming )窗、布莱克曼(Blackman )窗、凯瑟(Kaiser )窗等 表4-1 MATLAB 中产生窗函数的命令

用窗函数设计FIR滤波器解读

实验四用窗函数设计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,按照公式求得理想单位脉冲响应

FIR滤波器的窗函数设计法及性能比较

MATLAB课程设计报告 学院:地球物理与石油资源学院 班级: 姓名: 学号: 班内编号: 指导教师: 完成日期: 2013年6月3日

一、 题目 FIR 滤波器的窗函数设计法及性能比较 1. FIR 滤波器简介 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR )滤波器和有限冲激响应(FIR )滤波器。与IIR 滤波器相比,FIR 滤波器的主要特点为: a. 线性相位;b.非递归运算。 2. FIR 滤波器的设计 FIR 滤波器的设计方法主要有三种:a.窗函数设计法;b.频率抽样发;c.最小平法抽样法; 这里我主要讨论在MA TLAB 环境下通过调用信号分析与处理工具箱的几类窗函数来设计滤波器并分析与比较其性能。窗函数法设计FIR 滤波器的一般步骤如下: a. 根据实际问题确定要设计的滤波器类型; b. 根据给定的技术指标,确定期望滤波器的理想频率特性; c. 求期望滤波器的单位脉冲响应; d. 求数字滤波器的单位脉冲响应; e. 应用。 常用的窗函数有 同。 时与布莱克曼窗结果相当时与海明窗结果相同; 时与矩形窗一致;当当885.84414.50]!)2/([1)(120===+=∑∞ =x x x m x x I m m 3.窗函数的选择标准 1. 较低的旁瓣幅度,尤其是第一旁瓣; 2. 旁瓣幅度要下降得快,以利于增加阻带衰减; 3. 主瓣宽度要窄,这样滤波器过渡带较窄。 函数,可定义为是零阶式中Bessel x I n R I N n I n w window Kaiser n R N n N n n w window Balckm an n R N n n w window Ham m ing n R N n n w window Hanning N N N N )()5.2.9()(]) (})]1/(2[1{[)()4()4.2.9()()]14cos(08.0)12cos( 5.042.0[)()3()3.2.9()()]12cos( 46.054.0[)()2() 2.2.9()()]1cos( 5.05.0[)()1(0020ββππππ--=-+--=--=--=

用窗函数法设计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 =∑-=-1 0)(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()(n N h n h --=一类,而不能选)1()(n N h n h ---=一类。 四、实验内容

实验六用窗函数设计FIR滤波器附思考题程序

实验六 用窗函数设计 F I R 滤波器 1.实验目的 (1) 熟悉FIR 滤波器设计的方法和原理 (2) 掌握用窗函数法设计FIR 滤波器的方法和原理,熟悉滤波器的特性 (3) 了解各种窗函数滤波器特性的影响 2.实验原理 FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。FIR 滤波器的设计是要寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应()j d H e ω,其对应的单位脉冲响应)(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 数字滤波器为例。 )(n h d 一般是无限长的、非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,(现象称为吉布斯(Gibbs )效应)。 (2)典型的窗函数 (a )矩形窗(Rectangle Window) 其频率响应和幅度响应分别为: 21)2/sin()2/sin()(--=N j j e N e W ωωωω,) 2/sin()2/sin()(ωωωN W R = 在matlab 中调用w=boxcar(N)函数,N 为窗函数的长度 (b )三角形窗(Bartlett Window) 其频率响应为:212])2/sin()4/sin([2)(--=N j j e N N e W ωω ωω 在matlab 中调用w=triang(N)函数,N 为窗函数的长度 (c )汉宁(Hanning)窗,又称升余弦窗 其频率响应和幅度响应分别为: 在matlab 中调用w=hanning(N)函数,N 为窗函数的长度 (d )汉明(Hamming)窗,又称改进的升余弦窗

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

数字信号处理实验报告 ---实验4窗函数法设计FIR数字滤波器 一、实验目的 1.了解常用的几种窗函数,能正确选择适当的窗函数进行滤波器设计; 2.掌握窗函数法设计数字低通滤波器。 二、实验原理 1.常用的窗函数: 矩形窗函数为boxcar和rectwin,调用格式: w= boxcar(N) w= rectwin(N) 其中N是窗函数的长度,返回值w是一个N阶的向量。 三角窗函数为triang,调用格式: w= triang(N) 汉宁窗函数为hann,调用格式: w= hann(N) 海明窗函数为hamming,调用格式: w= hamming(N) 2.各个窗函数的性能比较

三、实验内容 题一:生成四种窗函数:矩形窗、三角窗、汉宁窗、海明窗,并观察其频率响应。 题二:根据下列技术指标,设计一个FIR数字低通滤波器:wp=0.2π,ws=0.4π,ap=0.25dB, as=50dB,选择一个适当的窗函数,确定单位冲激响应,绘出所设计的滤波器的幅度响应。 四、上机程序及运行结果 题一: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);

实验六 用窗函数设计FIR滤波器(附思考题程序)

实验六 用窗函数设计FIR 滤波器 1.实验目的 (1) 熟悉FIR 滤波器设计的方法和原理 (2) 掌握用窗函数法设计FIR 滤波器的方法和原理,熟悉滤波器的特性 (3) 了解各种窗函数滤波器特性的影响 2.实验原理 FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。FIR 滤波器的设计是要寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应()j d H e ω,其对应的单位脉冲响应)(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 数字滤波器为 例。 )(n h d 一般是无限长的、非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,(现象称为吉布斯(Gibbs )效应)。 (2)典型的窗函数 (a )矩形窗(Rectangle Window) 其频率响应和幅度响应分别为: 21)2/sin()2/sin()(--=N j j e N e W ωωωω,) 2/sin()2/sin()(ωωωN W R = 在matlab 中调用w=boxcar(N)函数,N 为窗函数的长度 (b )三角形窗(Bartlett Window) 其频率响应为:212])2/sin()4/sin([2)(--=N j j e N N e W ωω ωω 在matlab 中调用w=triang(N)函数,N 为窗函数的长度 (c )汉宁(Hanning)窗,又称升余弦窗 其频率响应和幅度响应分别为:

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

数字信号处理实验报告---实验4窗函数法设计FIR数字滤波器

一、实验目的 1.掌握用窗函数法、频率采样法设计FIR数字滤波器的原理及方法,熟悉相应的计算机编程。 2.熟悉线性相位FIR数字滤波器的幅频特性和相频特性。 3.了解各种不同窗函数对滤波器性能的影响。 二、实验原理 1.常用的窗函数: 矩形窗函数为boxcar和rectwin,调用格式: w= boxcar(N)w= rectwin(N) 其中N是窗函数的长度,返回值w是一个N阶的向量。 三角窗函数为triang,调用格式: w= triang(N) 汉宁窗函数为hann,调用格式: w= hann(N) 汉明窗函数为hamming,调用格式: w= hamming(N) 三、设计指标 (1)矩形窗设计线性相位低通滤波器(参数自主设定)。 (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('汉明窗频响');

FIR数字低通滤波器的(汉宁)窗函数法设计

)(9cos 15.0)(12cos 15.0)(1919n R n n R N n n w ??? ?? ???? ??-=????????? ??--=ππ 2.3进行语音信号的采集 (1)按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开W indo ws系统中的录音机软件。如图1所示。 图1 wind ows 录音机 (2)用麦克风录入自己的声音信号并保存成wav 文件。如图2所示。 图2 保存文件 保存的文件按照要求如下: ① 音信号文件保存的文件名为“yuxue jiao .wav ”。 ②语音信号的属性为“8.000KHz,8位,单声道 7KB/秒” ,其它选项为默认。 2.4语音信号的分析 将“y ux uejia o.wav ”语音文件复制到计算机装有Matlab 软件的磁盘中相应

图3语音信号的截取处理图 在图3中,其中第一个图为原始语音信号; 第二个图是截短后的信号图。

图4频谱分析图 其中第二个图是信号的FFT 结果,其横坐标的具体值是X(k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循D FT 定义式和频率分辨率求得的: ∑-===1 0)()]([)(N n k N W n x n x DFT k X π 当k 等于0时, 020 j kn N j k kn N e e W ==?-=π ,从数字角频率上看,对应的正好是0=ω即 直流的位置,也就是说,在取滤波频段时,当将主要能量(即红色框的部分)保留,其余频段部分的信号滤除。 )]([)(n x DFT k X =相当于是信号)(n x 的实际频谱)]([)(n x DFT ej X w =采样,而)(n x 又 是连续时间语音信号)(t x 的采样。)(k X 的每两个相邻取值之间的频率间隔大小对应到语音信号)(n x 的频谱中去,其频率间隔大小正好是 采样结果的长度 采样速率 == =?L f f f s det f ?称频率分辨率,其中Hz f s 8000=,10000=L ,

实验六-用窗函数设计FIR滤波器(附思考题程序)

实验六 用窗函数设计FIR 滤波器 1.实验目的 (1) 熟悉FIR 滤波器设计的方法和原理 (2) 掌握用窗函数法设计FIR 滤波器的方法和原理,熟悉滤波器的特性 (3) 了解各种窗函数滤波器特性的影响 2.实验原理 FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。FIR 滤波器的设计是要寻求一系统函数)(z H ,使其频率响应)(ω j e H 逼近滤波器要求的理 想频率响应()j d H e ω ,其对应的单位脉冲响应)(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 d j 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 = 其频率响应和幅度响应分别为: 2 1) 2/sin()2/sin()(--=N j j e N e W ω ω ωω,) 2/sin() 2/sin()(ωωωN W R = 在matlab 中调用w=boxcar(N)函数,N 为窗函数的长度 (b )三角形窗(Bartlett Window) ???? ?-≤<----≤ ≤-=121 ,1 22210,12)(N n N N n N n N n n w 其频率响应为:21 2]) 2/sin()4/sin([2)(--=N j j e N N e W ωω ωω 在matlab 中调用w=triang(N)函数,N 为窗函数的长度 (c )汉宁(Hanning)窗,又称升余弦窗 )()]1 2cos(1[21)(n R N n n w 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[]0 k M k M w k π≤≤?=??其他 (5.22) 3) Hamming (汉明)窗 0.54-0.46cos(2/)0[]0 k 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 布莱克曼窗函数。 kaiser 凯泽窗函数。 kaiserord 凯泽窗函数设计法的阶数估计。 fir1 窗函数法FIR 数字滤波器设计:低通、高通、带通、带阻、多频率滤波。 fir2 频率抽样法FIR 数字滤波器设计:任意频率响应。 三、实验内容 1. 分别用矩形窗、hann 窗,hamming 窗设计一个阶数为9的FIR 低通数字滤波器,截止频率3c rad πΩ= 。 1) 画出各种方法设计的数字滤波器的单位脉冲响应。 2) 画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论? 3) 若当输入[]12cos( )cos()42x k k k ππ =++,计算各滤波器的输出并画出其波形。 程序过程: clc;clear all ; %阶数为M=9,数字截止频率为 pi/3;设计II 型低通线性相位滤波器 M=9;Wc=pi/3;k=0:M; hd=Wc*sinc(Wc*(k-0.5*M))/pi; xk=1+2*cos(pi*k/4)+cos(pi*k/2); figure(1); %以下是矩形窗截断 wk=ones(1,M+1); hk=hd.*wk;[H,w]=freqz(hk,1); subplot(311); stem(k,hk,'.'); title('矩形窗截断的单位脉冲响应'); %以下是hann 窗截断 wk=hanning(M+1); hk=hd.*wk';[H,w]=freqz(hk,1); subplot(312);stem(k,hk,'.'); title('hanniing 窗截断的单位脉冲响应'); %以下是hamming 窗截断 wk=hamming(M+1); hk=hd.*wk';[H,w]=freqz(hk,1); subplot(313);stem(k,hk,'.');

相关主题
文本预览
相关文档 最新文档