搜档网
当前位置:搜档网 › Matlab结合窗函数法设计数字带通FIR滤波器

Matlab结合窗函数法设计数字带通FIR滤波器

Matlab结合窗函数法设计数字带通FIR滤波器
Matlab结合窗函数法设计数字带通FIR滤波器

课程设计任务书

学生姓名:专业班级:通信工程

指导教师:工作单位:信息工程学院题目:利用Matlab仿真软件系统结合窗函数法设计一个数字带通FIR滤波器初始条件: 1.《数字信号处理》基本理论知识

2.《信号与系统》基本理论知识

3.MATLAB编程基础知识

4.装有MATLAB的PC机

要求完成的主要任务:

利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器

时间安排:

第20周理论设计、实验室安装调试,地点:鉴主15楼通信实验室一

指导教师签名:年月日系主任(或责任教师)签名:年月日

目录

目录......................................................................... 中文摘要.. (1)

Abstract (2)

1 MATLAB的概况 (3)

2 MATLAB结合窗函数设计法原理 (4)

3 各类窗函数简介 (7)

3.1 基本窗函数 (7)

3.1.1 矩形窗函数 (7)

3.1.2三角窗 (7)

3.2 广义余弦窗 (8)

3.2.1汉宁窗(升余弦窗) (9)

4 方案设计与论证 (10)

4.1 程序设计法 (11)

5 窗函数仿真结果分析 (13)

5.1 汉宁窗函数仿真结果 (13)

5.2汉宁窗函数仿真结果分析 (15)

6总结与体会 (16)

7参考文献 (17)

中文摘要

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

在实际进行数字信号处理时,往往需要把信号的观察时间限制在一定的时间间隔内,只需要选择一段时间信号对其进行分析。这样,取用有限个数据,即将信号数据截断的过程,就等于将信号进行加窗函数操作。而这样操作以后,常常会发生频谱分量从其正常频谱扩展开来的现象,即所谓的“频谱泄漏”。当进行离散傅立叶变换时,时域中的截断是必需的,因此泄漏效应也是离散傅立叶变换所固有的,必须进行抑制。而要对频谱泄漏进行抑制,可以通过窗函数加权抑制DFT的等效滤波器的振幅特性的副瓣,或用窗函数加权使有限长度的输入信号周期延拓后在边界上尽量减少不连续程度的方法实现。而在后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。另外,在功率谱估计中也要遇到窗函数加权问题。由此可见,窗函数加权技术在数字信号处理中的重要地位。传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。本文给出了使用MATLAB语言进行程序设计和利用信号处理工具箱的FDA Tool工具进行界面设计的方法。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。

Abstract

A modern image, V oice and data communications to the linear phase requirement is universal. It is for this reason, making a linear phase FIR digital filters are to develop and widely used.

In practice, digital signal processing, they often need to observe the time limit for the signal in a certain time interval, only need to select a period of time to analyze the signals. In this way, access to a finite number of data about the process of signal data truncation is equivalent to the signal, the additional window function operation. And this after the operation, often occur from the normal component of the spectrum spread spectrum open to the phenomenon of so-called "spectral leakage." When it comes to discrete Fourier transform, the time domain truncation is necessary, therefore, leakage effects are also inherent in discrete Fourier transform, and must be inhibited. But would like to suppress the spectral leakage can be inhibited by the weighted window function equivalent DFT filter amplitude characteristics of side-lobe, or the weighted window function so that the limited length of the extension of the input signal cycle, after the border to minimize the degree of discontinuity The method of implementation. In the back of the FIR filter design, in order to obtain finite sampling units to respond to the need to truncate the infinite length window function with unit sampling response sequence. In addition, power spectrum estimation problem also encountered in the weighted window function. Thus, the weighted windows function in digital signal processing in an important position.Conventional digital filter design process is complex, computing workload, difficulties in adjustment of filter characteristics, affecting its application. This paper introduces a MATLAB Signal Processing Toolbox (Signal Processing Toolbox) quickly and efficiently design formed by the software of conventional digital filter design methods. This article presents use MATLAB language for programming and utilization of signal processing Toolbox FDA Tool for interface design. A filter was designed using MATLAB. Y ou can always compare the design requirements and adjust the parameters of filter characteristics, visual simple and greatly reduced the workload will help filter design optimized.

1 MATLAB的概况

MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

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

应用MATLAB这一软件来设计滤波器,与传统的设计思路相比是非常的简便的.具体来说主要有以下几点:

1) MATLAB的GUID可以提供给使用者一个进行人机交换的环境,在此环境中,使用者没有必要了解程序内部具体的编写情况,在这个界面上他只要输入他所期望的滤波器的性能指标就可以了。

2) 利用MATLAB可以进行系统仿真,也就是说,使用者可以通过计算机进行对数字滤波器的频率响应图据的处理和波形的检测,不像以前必须借助一定的实验器材才可以得到。

3) MATLAB内部有丰富的函数可供调用,使用者只需要根据自己的需要查到所需要的函数名,那就可以直接调用使用了.不需要自己把函数详细的编写出来.使编写内部程序变的简单。 MATLAB包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.

开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.

2 MATLAB 结合窗函数设计法原理

数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR 数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是和重要的。目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。

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

要设计一个线性相位的FIR 数字滤波器,首先要求理想频率响应)(jw

d e

H 。

)(jw

d e

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

-∞

=-=

n jwn

d jw

d e

n h e

H )()( (公式2-1)

使用上述的传递函数去逼近)(jw

d e H ,一个理想的频率响应)(jw

d

e

H

的傅立叶

反变换:

ωπ

ωπ

d d

e

H

n h n

j jw

d

d )(21)(20

?

=

(公式2-2)

其中)(n h d 是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIR DF 用的h(n),因为)(n h d 一般都是无限长、非因果的,物理上无法实现。为了设计出频响类似于理想频响的滤波器,可以考虑用)(n h 来近似)(n h d 。

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

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

)()()(n w n x n x n = (公式2-3)

在频域上则有

()(

)(

)

()?--?=

ππ

j j j d e π

21

e θ

θ

ωθ

ω

W e

X X

N

(公式2-4)

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

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

表1-1 MATLAB 窗函数

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

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

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

])0(/)(l g [20])(/)(lg[20)(0

H w H e

H e

H w A j jw

== (公式2-5)

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

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

窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。旁瓣峰值衰耗定义为: 旁瓣峰值衰耗=20lg(第一旁瓣峰值/主瓣峰值) (公式2-6) 为了改善滤波器的性能,需使窗函数谱满足:

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

(2)尽量减少最大旁瓣的相对幅度,也就是能量集中于主瓣,以减小带内、带外波动的最大幅度,增大阻带衰减。

一般来说,以上两点很难同时满足。当选取主瓣宽度很窄时,旁瓣的分量势必增加,从而带内、带外的波动也增加了;当选取最小的旁瓣幅度时,降低了带内、带外的波动,但是过渡带的陡度减小了。所以实际采用的窗函数其特性往往是它们的折中,在保证主瓣宽度达到一定要求的前提下,适当牺牲主瓣宽度来换取旁瓣波动的减小。

3 各类窗函数简介

数字信号处理领域中所用到的窗函数主要分为两大类,分别是:基本窗函数与广义窗函数。

3.1 基本窗函数

基本窗函数包括以下三类,主要有:矩形窗函数、三角窗函数和巴特利特窗函数。下面就对这些窗函数展开介绍。

3.1.1 矩形窗函数

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

??

?-≤≤==其他

,

01

0,

1)()(N n n R n w N (公式3-1)

它的频域特性为

(

)?

?

? ???

?

?

??=??

? ??--2sin 2sin e

e

21j j ωωω

ω

N W N R (公式3-2)

Boxcar 函数:生成矩形窗

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

3.1.2三角窗

三角窗(Bartlett Window )函数时域形式可表示为:

??

??

?---≤

≤-=-<<-1

)1(2

1,

122)

1(2

101

2)(N n N N n

N n N n n w R B (公式3-3)

窗谱为: ()

ωωωωωωω??

? ??--???

??--?????? ?????

????? ??≈??????

? ?

????

??????????? ??--=212

212

2s i n 4s i n 22s i n 41s i n 12N j N j j e N N e N N e W (公式3-4)

式中,当N 远大于1时,此时,窗谱主瓣宽度为8π/N 。

3.2 广义余弦窗

汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为改进的升余弦窗,而布莱克曼窗又被称为二阶升余弦窗。采用这些窗可以有效地降低旁瓣的高度,但是同时会增加主瓣的宽度。

这些窗都是频率为0、2π/(N –1)和4π/(N –1)的余弦曲线的合成,其中N 为窗的长度。通常采用下面的命令来生成这些窗:

()()1N π21N :0Ind '

-**-= (公式3-5)

ind)*cos(2C cos(ind)B A Window *+*-= (公式3-6)

其中,A 、B 、C 适用于自己定义的常数。根据它们取值的不同,可以形成不同的窗函数,分别是:

汉宁窗 A=0.5,B=0.5,C=0; 海明窗 A=0.54,B=0.54,C=0; 布莱克曼窗 A=0.5,B=0.5,C=0.08;

3.2.1汉宁窗(升余弦窗)

汉宁窗(Hanning )函数时域形式可表示为: ())(12cos 121n R N n n W N ??

?

?

????? ??--=

π (公式3-7) 利用傅利叶变换的调制特性,由上式可得汉宁窗的平谱函数为: ()

()ωω

πωπωω??

?

?

?--????

??????????? ??-++??? ??--+=21121225.05.0N j R R R j e

N W N W W e

W

()ωω??

?

??--=21N j e W (公式3-8)

式中, ()()ωωω??

?

??--=21N j R j R e

W e W (公式3-9)

当N 远大于1时,上式可近似表示为: ()()??

? ??

++?????

?

??? ??

-

+≈N W N W W W R R R πωπωωω2225.05.0

(公式3-10)

这三部分之和使旁瓣互相抵消,能量更集中在主瓣,汉宁窗函数的最大旁瓣值比主瓣值低31dB ,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8π/N 。

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

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

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

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

4 方案设计与论证

用窗函数法设计一个FIR带通滤波器。指示如下:

低端阻带截止频率 wls = 0.2*pi;

低端通带截止频率 wlp = 0.35*pi;

高端通带截止频率 whp = 0.65*pi;

高端阻带截止频率 whs = 0.8*pi;

六种窗函数的基本参数如表1-2:

表1-2 窗函数基本参数

以上表格里的参数设置是最佳窗函数设计,根据设计方案的要求,选择一个合适的窗函数进行滤波器的设计,从上表可以看出:最小带阻衰减仅有窗函数决定,不受N的影响,而过渡带的宽度则随窗函数的增加而减小。

4.1 程序设计法

程序法只以hamming窗为示例,其他窗函数的程序大体相同,只是在window= hanning(N)和hn = fir1(N-1,wc, hanning (N))处要调自己的窗函数即可。

hanning 窗设计程序示例:

wls = 0.2*pi;

wlp = 0.35*pi;

whp = 0.65*pi;

wc = [wlp/pi,whp/pi];

B = wlp-wls;

N = ceil(8/0.15);

n=0:N-1;

window= hanning(N);

[h1,w]=freqz(window,1);

figure(1);

stem(window);

axis([0 60 0 1.2]);

grid;

xlabel('n');

title('Hanning窗函数');

figure(2);

plot(w/pi,20*log(abs(h1)/abs(h1(1))));

axis([0 1 -350 0]);

grid;

xlabel('w/pi');

ylabel('幅度(dB)');

title('Hanning窗函数的频谱');

hn = fir1(N-1,wc, hanning (N));

[h2,w]=freqz(hn,1,512);

figure(3);

stem(n,hn);

axis([0 60 -0.25 0.25]);

grid;

xlabel('n');

ylabel('h(n)');

title(‘Hanning窗函数的单位脉冲响应’); figure(4);

plot(w/pi,20*log(abs(h2)/abs(h2(1)))); grid;

xlabel('w/pi');

ylabel('幅度(dB)');

5 窗函数仿真结果分析

5.1 汉宁窗函数仿真结果

图5-1 汉宁窗函数波形图

图5-2 汉宁窗函数频谱图

图5-3 汉宁窗设计带通滤波器的冲击响应图

图5-4汉宁窗设计带通滤波器的幅频响应图

5.2汉宁窗函数仿真结果分析

由仿真波形图可以得出以下几个方面的分析结果:

由图5-3可以看出,汉宁窗设计的带通滤波器的单位冲击响应为偶对称,也就是说当N为偶数时,单位冲击响应序列为偶函数,这说明FIR带通滤波器相位是严格的线性关系。

由图5-2可以看出,汉宁窗函数的阻带衰减大约在-70dB到-300dB,也就是说旁瓣幅度远小于主瓣幅度,能量全部集中在主瓣,主瓣宽度也有所增加,效果比较明显。

由图5-1可以看出,汉宁窗是典型的升余弦窗,基本符合汉宁窗函数的时域表达式,所加的窗口是余弦函数(类似类似余弦函数)。

由图5-4可以看出,汉宁窗设计的带通滤波器带通下限截止频率大约为0.35π,带通上线截止频率大约为0.65π,在通带频率之外的频率的信号的幅度将受到很大的衰减,以致信号不能通过滤波器。

根据以上的结果分析可以得到:本次设计结果符合设计要求。

6总结与体会

这一次的课程设计时间比较紧,任务重,最主要的是我们通信专业还没有开设这门课,这就要求我们大家有足够的自学能力。虽然以前接触过Matlab这个软件,但是还是第一次使用这个软件对于电路进行数学建模,为了这次课程设计,自己自学了数字信号处理领域中窗函数的有关知识。我发现MATLAB的功能非常强大,以前怎么也想不明白MATLAB怎么能和我们专业联系起来,现在才渐渐明白MATLAB在我们专业中占据着如此重要的地位。这次课程设计确实是比较基础的东西,也不是很难,可能以后会面临更多、更难的关于MATLAB的问题,但我认为只要有耐心,一般的问题都还是可以一步一步的解决的。网上资源比较丰富,要好好利用互联网这个平台,把自己解决问题的能力提高,学到东西才最关键。

通过这次学习,我不但掌握了FIR数字滤波器窗函数的基本知识及其实际应用的技巧了,而且还学会了一些Matlab编程语言,对这款软件也有了更深刻的认识,我觉得最重要的是我又一次提高了自己还提高了自己写报告的能力,有很大的收获。最后,我认为学校开设这门课设对我们来说是很有用的,能够提高我们独立去做一个工程的能力,体会将来我们要面对的实际问题,这对日后我们走进社会了,参加工作非常重要的。

7参考文献

【1】陈怀琛《MATLAB及在电子信息课程中的应用》电子工业出版社2006 【2】刘泉《数字信号处理原理与实现》电子工业出版社 2005

【3】刘泉《信号与系统》高等教育出版社 2006

【4】徐以涛《数字信号处理》西安电子科技大学出版社 2009

实验六、用窗函数法设计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),其脉

matlab滤波器设计

长安大学 数字信号处理综合设 计 专业_______电子信息工程_______ 班级__24030602___________ 姓名_______张舒_______ 学号2403060203 指导教师陈玲 日期_______2008-12-27________

一、课程设计目的: 1. 进一步理解数字信号处理的基本概念、基本理论和基本方法; 2.熟悉在Windows环境下语音信号采集的方法; 3.学会用MATLAB软件对信号进行分析和处理; 4.综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法; 5. 提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。 二、课程设计内容: 1.语音信号的采集 利用windows下的录音机录制一段自己的话音,时间控制在1秒左右;并对语音信号进行采样,理解采样频率、采样位数等概念。 2.语音信号的频谱分析 利用函数fft对采样后语音信号进行快速傅里叶变换,得到信号的频谱特性。 3.设计数字滤波器 采用窗函数法和双线性变换法设计下列要求的三种滤波器,根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800Hz,fp=5000Hz ,As=100dB,Ap=1dB; 3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。 4.对语音信号进行滤波 比较用两种方法设计的各滤波器的性能,然后用性能好的滤波器分别对采集的语音信号进行滤波;并比较滤波前后语音信号的波形及频谱,分析信号的变化。 5.回放语音信号,感觉滤波前后的声音变化。 三、实验原理 (一)基于双线性Z变换法的IIR数字滤波器设计 由于的频率映射关系是根据推导的,所以使jΩ轴每隔2π/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: 1) s平面的整个jΩ轴仅映射为z平面单位圆上的一周; 2) 若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; 3) 这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); 4) 如果G(j0)=1,那么。 双线性Z变换满足以上4个条件的映射关系,其变换公式为

实验四 用窗函数法设计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 的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的

基于matlab的数字滤波器设计

淮北煤炭师范学院 2009届学士学位论文 基于MA TLAB的数字滤波器设计 学院、专业物理与电子信息学院 电子信息科学与技术 研究方向基于MATLAB的数字滤波器设计 学生姓名耿博 学号200513432024 指导教师姓名邹锋 指导教师职称讲师 2009 年4 月18

基于MATLAB的数字滤波器设计 耿博 (淮北煤炭师范学院物理与电子信息学院235000) 摘要随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。本文根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。 关键词数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Geng Bo School of Physics and Electronics Information, Huaibei Coal Industry Teachers? College, 235000 ABSTRACT Along with the information age and the digital world arrival, the digital signal processing has become a now extremely important discipline and the area of technology.The digital signal processing in the correspondence, the multitudinous domains the pronunciation such as the image, the automatic control, the radar, the military, the aerospace, the medical service and the domestic electric appliances and so on have obtained the widespread application.In the digital signal processing application, the digital filter are extremely important and have obtained the widespread application. The digital filter are the digital signal processing important content, the digital filter may divide into IIR and the FIR two main kinds. As for the IIR digital filter design, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method and full function design; as for the FIR filter, we can design it directly based on the giving frequency, in the paper it uses the design of the window function.This article according to the IIR filter and the FIR filter characteristic, uses the bilinearity method of transformation under the MATLAB bad boundary to design IIR and to design the FIR numeral filter separately with the window box number, and carries on the analysis to the gathering pronunciation signal, and finally gives IIR and FIR to the pronunciation filter effect. Keywords Digtial Filter;IIR;FIR;MATLAB

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 中产生窗函数的命令

数字滤波器的MATLAB设计与DSP上的实现

数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应

用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近

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

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 2121 用有限长单位脉冲响应序列()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 ωω ∑-==10 (4.3) 式中,N 为所选窗函数()n ω的长度。

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)窗,又称改进的升余弦窗

matlab数字滤波器设计程序

%要求设计一butterworth低通数字滤波器,wp=30hz,ws=40hz,rp=0.5,rs=40,fs=100hz。>>wp=30;ws=40;rp=0.5;rs=40;fs=100; >>wp=30*2*pi;ws=40*2*pi; >> [n,wn]=buttord(wp,ws,rp,rs,'s'); >> [z,p,k]=buttap(n); >> [num,den]=zp2tf(z,p,k); >> [num1,den1]=impinvar(num,den); Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s). > In impinvar at 124 >> [num2,den2]=bilinear(num,den,100); >> [h,w]=freqz(num1,den1); >> [h1,w1]=freqz(num2,den2); >>subplot(1,2,1); >>plot(w*fs/(2*pi),abs(h)); >>subplot(1,2,2); >>plot(w1*fs/(2*pi),abs(h1)); >>figure(1); >>subplot(1,2,1); >>zplane(num1,den1); >>subplot(1,2,2); >>zplane(num2,den2);

窗函数法设计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)窗,又称升余弦窗 其频率响应和幅度响应分别为:

高级数字滤波器设计及Matlab实现

高级数字滤波器设计及Matlab 实现 利用Parks-McClellan 算法设计线性相位FIR 滤波器 一、 算法原理 长度为2n+1的线性相位数字滤波器的传输函数为:20 ()n k k k G z h Z -== ∑。当 Z=exp(j T ω)=exp(2j F π)时,可得到频率响应: ()exp(2)cos 2n k k G F j nF d k F ππ==-∑ exp(2)()j F H F π=- 其中2n k k d h -=,k=0,……,n-1,0n d h = max ()()()W F D F H F - 对于一个理想的低通滤波器上式中的H(F)可以表示为: 误差加权函数: 允许设计者自己给定通带和阻带内的误差范围。令p s B B A = ,设计长度为2n+1的线性相位低通滤波器只要找到k d 并使得m a x ()()()W F D F H F -最小。 设空间A 是[0,1/2]的封闭子空间,为了使0 ()cos 2n k k H F d kF π== ∑是D(F) 在A 上唯一的最佳逼近,加权误差方程()()[()()]E F W F D F H F =-在A 上至少要有n+2个交错点。因此1()()i i E F E F E -=-=±,011,n i F F F F A +<∈ ,

max ()E E F =。算法的流程如图1所示。 对于给定的n+2个频率点,需要计算n+2个方程: ()(()())(1)k k k k W F H F D F ρ-=-- 写成矩阵的形式就是: 图 1.

0000001 1 1 1 1011 1 1 1 11 1cos 2cos 4cos 2()()11cos 2cos 4cos 2()()()(1)1cos 2cos 4cos 2()n n n n n n n F F nF W F d D F d F F nF D F W F d D F F F nF W F ππππππρπππ++++++?? ???? ?? ?? ??-????????????=??????????????????-?? ????? ? 通过该方程组可得: 其中: 利用拉格朗日插值公式可得: 这里 利用求得的H(F)求出误差函数E(F)。如果对所有的频率都有()E F ρ≤,说明ρ是纹波极值,交错频率点121,n F F F + 是交错频率点。若存在某些频率使得()E F ρ>,说明初始交错点组中的某些点需要交换。 对于上次确定的121,n F F F + 中每一点,都检查其附近是否存在某一频率 ()E F ρ>,如果有再在该点附近找出局部极值点,并用该,点代替原来的

相关主题