当前位置:文档之家› 基于MATLAB 的数字滤波器的设计与仿真

基于MATLAB 的数字滤波器的设计与仿真

基于MATLAB 的数字滤波器的设计与仿真
基于MATLAB 的数字滤波器的设计与仿真

基于MATLAB的数字滤波器设计与仿真

摘要:数字滤波器的实现是数字信号处理中的重要组成部分,设计过程较复杂,牵涉到模型逼近,指标选择,计算机仿真,性能分析及可行性分析等一系列的工作,本文从设计原理以及数学软件MA TLAB出发阐述数字滤波器的设计原理与方法。

应用MA TLAB语言设计数字滤波器时采用直接程序设计法、FDATool以及SPTool信号处理工具箱的设计方法,通过实例,给出了FIR程序设计法和使用信号处理工具箱中SPTool进行设计的仿真图形,并在MATLAB的Simulink环境下,调用所设计的FDATool滤波器进行了仿真。

关键词:MA TLAB;数字滤波器;FDATool;SPTool;Simulink;IIR;FIR;

MATLAB-based Digital Filter Design and Simulation

Abstract: The digital filter is one of the most significant applications of DSP. The design process is very complex involving the model approximation, parameter selection, computer simulation and performance analysis, feasibility analysis and a series of work. This article try to solve the hard problem in another way, making the benefit of the advanced software MATLAB and gives some basic MA TLAB advice to readers to help them to learn the information of using MA TLAB as a tool to design different kinds of digital filters.

The design methods of direct programming, FDATool interface and SP Tool signal processing toolbox are introduced in designing digital filter with MATLAB in this article. The imulation figures are given by programming and SPTool signal processing toolbox. Further more, the designed FDA tool filter are called and simulated in SIMULINK

Key words: MATLAB; Digital filter; FDATool ; SPTool ; IIR;FIR;

1引言

1.1数字滤波器的研究背景与意义

当今,数字信号处理[1](DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科;它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们的普遍关注。

数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号、射电天文信号、控制信号、气象信号、遥感遥测信号,等等。上述信号大部分是模拟信号,也有小部分数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是用数字序列表示的信号,语音信号经采样和量化,得到的数字信号是一个一维离散的时间序列;而图像信号经采样和量化后,得到的数字信号是一个二维离散空间序列。数字信号处理,就是用数值计算的方法对数字序列进行各种处理,把信号变换成符合需要的某种形式。例如,对数字信号经过滤波以限制他的频带或滤除噪音和干扰,或将他们与其他信号进行分离;对信号进行频谱分析或功率谱分析以了解信号的频谱组成,进而对信号识别;对信号进行某种变换,使之更适合传输、存储和应用;对信号进行编码以达到数据压缩的目的,等等。

数字滤波技术是数字信号分析、处理技术的重要分支[2-4]。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了,数字滤波器的优劣直接决定产品的优劣。

1.2数字滤波器的应用现状与发展趋势

在信号处理过程中,所处理的信号往往混有噪声,从接收到的信号中消除或减弱噪音是信号处理和传输中十分重要的问题。根据有用信号和噪音的不同特性,提取有用信号的过程称为滤波,实现滤波的系统称为滤波器。在近代电信设备和各类控制系统中,数字滤波器的应用极为广泛,这里只列举部分应用最成功的领域。

(1)语音处理

语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。该领域主要包括5个方面的内容:第一,语音信号分析。即对语音信号的波形特征、统计特征、模型参数等进行分析计算;第二,语音合成。即利用专用数字硬件或在通用计算机上运行软件来产生语音;第三,语音识别。即用专用硬件或计算机识别人讲的话,或者识别说话的人;第四,语音增强。即从噪音或干扰中提取被掩盖的语音信号。第五,语音编码。主要用于语音数据压缩,目前已

经建立了一系列语音编码的国际标准,大量用于通信和语音处理。近年来,这5个方面都取得可不少的研究成果,并且,在市场上已出现了一些相关的软件和硬件产品。例如,盲人阅读器、哑人语音合成器、口授打印机、语音应答机,各种会说话的仪器和玩具,以及通信和视听产品大量使用的音频编码技术。

(2)图像处理

数字滤波技术以成功地应用于静态图像和活动图像的恢复和增强、数据压缩、去噪音和干扰、图像识别以及层析X射线摄影,还成功地应用于雷达、声纳、超声波和红外信号的可见图像成像。(3)通信

在通信技术领域内,几乎没有一个分支不受到数字滤波技术的影响。信源编码、信道编码、调制、多路复用、数据压缩以及自适应信道均衡等,都广泛应用数字滤波器,特别是在数字通信、网络通信、图像通信、多媒体通信等应用中,离开了数字滤波器,几乎寸步难行。其中,被认为是通信技术未来发展方向的软件无线电技术,更是以数字滤波器为基础。

(4)电视

数字电视取代模拟电视已是必然趋势。高清晰度电视的普及指日可待,与之配套的视频光盘技术已经形成具有巨大市场的产业;可视电话和会议电视产品不断更新换代。视频压缩和音频压缩技术所取得的成就和标准化工作,促成了电视领域产业的蓬勃发展,而数字滤波器及其相关技术是视频压缩和音频压缩技术的重要基础。

(5)雷达

雷达信号占有的频带非常宽,数据传输速率也非常高,因而压缩数据量好降低数据传输速率是雷达信号数字处理面临的首要问题。高速数字器件的出现促进了雷达信号处理技术的进步。在现代雷达系统中,数字信号处理部分是不可或缺的,因为从信号的产生、滤波、加工到目标参数的估计和目标成像显示都离不开数字滤波器技术。雷达信号的数字滤波器是当今十分活跃的研究领域之一。(6)生物医学信号处理

数字滤波器在医学中的应用日益广泛,如对脑电图和心电图的分析、层析X射线摄影的计算机辅助分析、胎儿心音的自适应检测等。

(7)其他领域[5]

数字滤波器的应用领域如此广泛,以至于想完全列举他们是根本不可能的,除了以上几个领域外,还有很多其他的应用领域。例如,在军事上被大量应用于导航、制导、电子对抗、战场侦测;在电力系统中被应用于能源分布规划和自动检测;在环境保护中被应用于对空气和噪声干扰的自动检测;在经济领域中被应用于股票市场预测和经济效益分析,等等。

1.3数字滤波器的实现方法分析

数字滤波器的实现[6],大体上有如下几种方法:

(1)在通用的微型机上用软件实现。

软件可以由使用者自己编写或使用现成的。自IEEE DSP Comm.于1979年推出第一个信号处理软件包以来,国外的研究机构、公司也陆续推出不同语言不同用途的信号处理软件包。这种实现方法速度较慢,多用于教学与科研。

(2)用单片机来实现

目前单片机的发展速度很快,功能也很强,依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制、医疗仪器等。

(3)利用专门用于信号处理的DSP片来实现。

DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器、累加器,采用流水线工作方式及并行结构,为信号处理技术应用于工程实际提供了可能。

1.4MATLAB软件介绍

MATLAB是由美国的MathWorks公司推出的一套高性能的数值计算和可视化软件,它是由Matrix(矩阵)和Laboratory(实验室)的前三个之母组成。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便友好的用户环境界面。在MATLAB内部配备了涉及到自动控制、信号处理和计算机仿真等种类繁多的工具箱,所以MATLAB的应用非常广泛,它可涉足于数值分析、控制、信号分析和通信等多种领域。

MATLAB不仅可完成基本代数运算操作,而且还可完成矩阵函数运算,提供丰富的实用函数命令。另外, MA TLAB最重要的特点就是易于扩展,允许用户自行构建指定功能的M文件,从而构成适合其他领域的工具箱,这大大扩展了MATLAB的适用范围。

1.5本章小结

数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备没有的许多优点,已广泛地应用于各个科学技术领域,例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题。例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,这些都在前面部分已经提到,这些都是模拟技术所不能及的,所以,采用数字滤波器对信号进行处理是目前的发展方向。

2数字滤波器概述

数字滤波器可以用差分方程、单位取样响应以及系统函数等表示。对于研究系统的实现方法,即它的运算结构来说,用框图表示最为直接。

一个给定的输入输出关系,可以用多种不同的数字网络来实现。在不考虑量化影响时,这些不同的实现方法是等效的;但是在考虑量化影响时,这些不同的实现方法性能上就有差异。因此,运算结构很重要,同一个系统函数)(z H ,运算结构的不同,将会影响系统的精度、误差、稳定性、经济性以及运算速度等许多重要性能。IIR 滤波器与FIR 滤波器在结构上有自己不同的特点,在设计时需要综合考虑。

2.1数字滤波器的基本结构

作为线性时不变系统的数字滤波器可以用系统函数来表示,而实现一个系统函数表示式所表示的系统可以有两种方法:一种方法是采用计算机软件实现;另一种方法是用加法器、乘法器、延迟器等元件设计出专用的数字硬件系统,即硬件实现。不论软件实现还是硬件实现,在滤波器的设计过程中,由同一个系统函数可以构造很多不同的运算结构。对应无限精度的系统和变量,不同的结构可能是等效的,与其输入输出特性无关;但是在系数和变量精度是有限的情况下,不同运算结构就有很大的差异。因此,有必要对离散时间系统的结构有一些基本的认识。

2.2.1 IIR 滤波器的基本结构

一个数字滤波器可以用系统函数表示为:

)

()(1)(1

z X z Y z a z b

z H N k k

k k

M

k k

=

-=

∑∑=--= (2-1) 由这样的系统函数可以得到表示输入输出关系的常系数线性差分方程为:

)()()(0

k n x b k n y a n y M

k k N i k -+-=∑∑== (2-2)

可见数字滤波器的功能就是把输入序列)(n x 通过一定的运算变换成输出序列)(n y 。不同的运算处理方法决定了滤波器实现结构的不同。无限冲激响应滤波器的单位抽样响应)(n h 是无限长的,其差分方程如(2-2)所示,是递归式的,即结构上存在这输出到输入的反馈,其系统函数具有(2-1)的形式,因此在z 平面的有限区间(0<|Z|<∞)有极点存在。

IIR 滤波器实现的基本结构有:

(1)IIR 滤波器的直接型结构(Ⅰ型、Ⅱ型): 优点:延迟线减少一半,可节省寄存器或存储单元;

缺点:通常在实际中很少采用上述两种结构实现高阶系统,而是把高阶变成一系列不同组合的低阶

系统(一、二阶)来实现。

(2)IIR滤波器的级联型结构:

特点:

①系统实现简单,只需一个二阶系统通过改变输入系数即可完成;

②极点位置可单独调整;

③运算速度块;

④各二阶网络的误差互不影响,总的误差小,对字长要求低。

缺点:

不能直接调整零点,因多个二阶节的零点并不是整个系统函数的零点,当需要准确的传输零点时,级联型最合适。

(3)IIR滤波器的并联型结构

优点:

①简化实现,用一个二阶节,通过变换系数就可实现整个系统;

②极、零点可单独控制、调整;

③各二阶零、极点的搭配可互换位置,优化组合以减少运算误差;

④可流水线操作。

缺点:二阶电平难控制,电平大易导致溢出,电平小则使信噪比减小。

a)、直接型 b)、并联型

C)、串联型

图2-1 IIR滤波器的基本结构

2.1.2FIR滤波器的基本结构

FIR滤波器的单位抽样响应应为有限长度,一般采用非递归形式实现。通常的FIR数字滤波器有直接型和级联型两种。

FIR 滤波器实现的基本结构有: (1)FIR 滤波器的直接型结构:

表示系统输入输出关系的差分方程可写作:

)()()(1

m n x m h n y N m -=∑-= (2-3)

直接由差分方程得出的实现结构如图2-2所示:

图2-2 直接型

若h(n)程对称特性,即此FIR 滤波器具有线性相位,则可以简化该直接型结构,下面分情况讨论:

图2-3 N 为奇数时线性相位FIR 图2-4 N 为偶数时线性相位FIR

(2)FIR 滤波器的级联型结构

将h(z)分解成实系数二阶因子的乘积形式:

Z

b Z b b Z

n h z H k k N k k N

N N 2

2112

/1

01

)

()

(--=--=++==∏∑ (2-4)

这时FIR 滤波器可用二阶节的级联型结构来实现,每个二阶节用直接型结构实现。如图所示:

图2-5 FIR 滤波器的级联结构

这种结构的没一节控制一对零点,因而在需要控制传输零点时可以采用这种结构。

2.2数字滤波器的设计原理

数字滤波器根据其冲激响应函数的时域特性,可分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。IIR 滤波器的特征是,具有无限持续时间冲激响应。这种滤波器一般需要用递归模型

来实现,因而有时也称为递归滤波器。FIR 滤波器的冲激响应智能持续一段时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器设计方法有多种,如双线性变换法、窗函数法、频率抽样法、Chebyshev 逼近法等等。随着MATLAB 软件尤其是MATLAB 的信号处理工具箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。

数字滤波器设计的基本步骤如下: (1)确定指标

在设计一个滤波器之前,必须首先确定一些技术指标。这些技术指标需要来制定。在很多实际应用中,例如语音或音频信号处理中,数字滤波器常用来实现选频操作。因此,指标的形式一般确定为频域中幅度和相位的响应。 (2)逼近

这是因为理想的频率响应是不可能实现的,由于它的幅度响应在频带之间是突变的,因而其单位抽样响应是非因果的、不可实现的,只能对其逼近。逼近所用的系统函数有无限长单位冲激响应(IIR )系统函数与有限长单位冲激响应(FIR )系统函数两种; (3)性能分析和计算机仿真

以上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。

2.2.1 滤波器的性能指标

我们在进行滤波器设计时,需要确定其性能指标。一般来说,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。以低通滤波器特性为例,频率响应有通带、过渡带、阻带三个范围。

在通带内: 1-Ap<=|)(jw e H |<=1 |w|<=Wc 在阻带内: |)(jw e H |<=Ast Wst<=|w|<=Wc

其中Wc 为通带截止频率,Wst 为阻带截止频率,Ap 为通带误差,Ast 为阻带误差。如图2-6所示:

图2-6 低通滤波器频率响应幅度特性的容限图

与模拟滤波器类似,数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等类型,由

于数字滤波器的频率响应是周期的,周期为2π。

各种数字滤波器的幅度频率响应如图所示:

图2-7 各种理想数字滤波器的幅度频率响应

2.2.2 IIR 数字滤波器的设计方法

目前,IIR 数字滤波器的设计最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询。因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大的方便,IIR 数字滤波器的设计步骤是: (1)按一定的规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标; (2)根据转换后的技术指标设计模拟低通滤波器)(s H ;

(3)利用频率转换函数将得到的模拟滤波器)(s H 转换为IIR 低通数字滤波器)(z H l ;

(4)利用域转换函数将IIR 低通滤波器)(z H l 转换为所需技术指标的低通、高通、带通或带阻数字滤波器)(z H ;

s-z 映射的设计方法为:冲激响应不变法、双线性变换法等。

双线性变换法是指首先把s 平面压缩变换到某一个中介平面s1的一条横带(宽度为2πT 即从-πT 到πT ),然后再利用T

s e

z 1=的关系把s1平面上的这条横带变换到整个z 平面。这样s 平面与z 平

面是一一对应关系,消除了多值变换性,也就消除了频谱混叠现象。 S 平面到z 平面的变换可采用:

)2

1tan(T Ω=Ω (2-5)

2

1212

12

1T j

T j T j

T j

e

e

e e j Ω-ΩΩ-Ω+-=

Ω (2-6)

令s j =Ω,11s j =Ω有:

T

s T

s T s T s T s T s e e e

e

e e s 112

12

1212111---

-+-=

+-=

(2-7) 从s1平面到z 平面的变换,即 T

s e

z 1= (2-8)

代入上式,得到: 1

111--+-=z

z s (2-9) 一般来说,为使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入待定常数c, )2

1tan(

T

c Ω=Ω (2-10) 则 1

1

11--+-=z z c s (2-11)

这种s 平面与z 平面间额映射关系就是双线性变换。

2.2.3 FIR 数字滤波器的设计方法

IIR 滤波器[7]的优点是可以利用模拟滤波器的设计结果,缺点是相位是非线性的,若需要线性相位,则要用全通网络进行校正。FIR 滤波器的优点是可方便的实现线性相位。

FIR 滤波器单位冲激响应h(n)的特点:

其单位冲激响应h(n)是有限长(1<=n<=N-1),系统函数为:

n N n z n h z H --=∑=1

)()( (2-12)

在有限z 平面有(N-1)个零点,而它的(N-1)个极点均位于原点z=0处。 FIR 滤波器线性相位的特点:

如果FIR 滤波器单位冲激响应)(n h 为实数,而且满足以下任一条件: 偶对称h(n)=h(N-n-1); 奇对称h(n)= -h(N-n-1);

其对称中心在n=(N-1)/2处,则滤波器具有准确的线性相位。

窗函数设计法[8]

一般是先给定所要求的理想滤波器的频率响应)(jw d e H ,有)(jw d e H 导出)(n h d ,我们知道理

想滤波器的冲击响应)(n h d 是无限长的非因果序列,而我们要设计的)(n h d 是有限长的FIR 滤波器,所以要用有限长序列)(n h d 来逼近无限长序列)(n h d ,设:

dw e e H

n h jnw jw d

d --

?=

)(21

)(π

ππ

(2-13)

常用的方法是用有限长度的函数w(n)来截取)(n h d 即:

)()()(n h n w n h d =

(2-14)

这里窗函数就是矩形序列R(n),加窗以后对理想低通滤波器的频率响应将产生什么样的影响呢?根据在时域是相乘关系,在频域则是卷积关系:

θπ

θπ

πd e w e H

e H w j r jw d

jw ][)(21)()(--

?=

(2-15) 其中,)(jw r e w 为矩形窗谱,)(jw e H 是FIR 滤波器频率响应。

通过频域卷积过程看)(jw e H 的幅度函数H(W)的起伏现象,可知,加窗处理后,对理想矩形的频率响应产生以下几点影响:

(1)使理想频率特性不连续点处边沿加宽,形成一个过渡带,其宽度等于窗的频率响应的主瓣宽度。 (2)在截止频率的两边即过渡带的两边,出现最大的肩峰值,肩峰的两侧形成起伏震荡,其震荡幅度取决于旁瓣的相对幅度,而震荡的多少,则取决于旁瓣的多少。

(3)改变N ,只能改变窗谱的主瓣宽度,改变W 的坐标比例以及其绝对值的大小,但不能改变主瓣与旁瓣的相对比例(此比例由窗函数的形状决定)。 (4)对窗函数的要求

a 、窗谱主瓣尽量窄,以获取较陡的过渡带;

b 、尽量减小窗谱的最大旁瓣的相对幅度;即能量集中于主瓣,使肩峰和波纹减小,增大阻带的衰减。

下表是各种窗函数的参数指标:

表2-1 各种窗函数的比较

频率采样法:

窗函数设计是从时域出发,把理想的)(n h d 用一定形状的窗函数截取形成有限长的)(n h d ,来近似理想的)(n h d ,这样得到的频率响应)(jw e H 逼近于所要求的理想的频率响应)(jw d e H 。

频率抽样法则是从频域出发,把给定的理想频率响应)(jw d e H 加以等间隔抽样得到Hd(k),然后以此Hd(k)作为实际FIR 滤波器的频率特性的抽样值H(k),即

K N

w e H k H jw d d π

2|)()(=

= (2-16) 知道H(k)后,由DFT 定义可唯一确定有限长序列h(n),利用这N 个频域抽样值H(k)同样利用频率内插公式可得FIR 滤波器的系数函数H(S),以及频率响应)(jw e H ,即 频率抽样法内插公式:

∑-=-----=

1

01

1)

(1)(N K k N N

z

w K H N

z z H (2-17) 频率抽样法小结:

优点:可以在频域直接设计,并且适合于最优化设计。

缺点:抽样频率只能等于2π/N 的整数倍,或等于2π/N 的整数倍加上π/N 。因而不能确保截止频率Wc 的只有取值,要实现自由地选择截止频率,必须增加抽样点数N ,但这又使计算量增大。

2.3 IIR 滤波器与FIR 滤波器的分析比较

前面已经介绍了IIR 和FIR 数字滤波器的设计方法,选择哪一种滤波器取决于每种类型滤波器的优点在设计中的重要性。为了能在实际工作中选用恰当合适的滤波器,现将两种滤波器特点比较

分析[9]

如下:

(1)选择数字滤波器是必须考虑经济问题,通常将硬件的复杂性、芯片的面积或计算速度作为衡量经济问题的因素。在相同的技术指标要求下,由于IIR 数字滤波器存在输出对输入的反馈,因此可以用较少的阶数来满足要求,所用的存储单元少,运算次数少,较为经济。例如,用频率抽样法设计一个阻带衰减为20分贝的FIR 数字滤波器,要33阶才能满足要求,而用双线性变换法只需4-5阶的切比雪夫IIR 滤波器就可达到同样的技术指标。说明FIR 滤波器的阶数要高5-10倍左右。

(2)在多数情况下,FIR 数字滤波器的线性相位与它的高阶数带来的额外成本相比是非常值得的。对于IIR 滤波器,选择性越好,其相位的非线性越严重。如果要使IIR 滤波器获得线性相位,又满足幅度的技术要求,必须加全通网络进行相位校正,这同样大大增加滤波器的阶数。就这点看,FIR 优于IIR 滤波器。

(3)FIR 滤波器主要采用非递归结构,因而是稳定的,有限精度运算误差也较小。IIR 滤波器采用递归结构,极点必须在z 平面单位圆内才能稳定。对于这种结构,运算中的舍入处理有时会引起寄生震荡。

(4)对于FIR 滤波器,由于冲激响应是有限长的,因此可以用快速傅立叶变换算法,这样运算速度可以快的多。IIR 滤波器不能这样运算。

(5)从设计上看,IIR 滤波器可以利用模拟滤波器设计的现成的闭合公式、数据和表格,可以

用完整的设计公式来设计各种选频滤波器。一旦选定了已知的一种逼近方法,就可以直接把技术指标带入一组设计方程计算出滤波器的阶数和系统函数的系数。FIR 滤波器一般没有现成的设计公式。窗函数法只给出了窗函数的计算公式,但计算通带和阻带衰减仍无显示表达式。一般FIR 滤波器设计仅有计算机程序可利用,因而需要借助于计算机。

FIR 、IIR 两种滤波器的特点比较如下表所示:

表2-2 两种滤波器特点比较分析

FIR 、IIR 两种滤波器设计的具体实例优缺点比较如下:

下图是在同一技术指标下,利用FDA Tool (下章将详细介绍)界面设计的低通数字滤波器的幅频特性。

其具体指标是:Fs=50Hz, fc=14.5Hz,该低通滤波器的阶次为50。分别采用FIR 、IIR 两种算法设计,其幅频特性如下:

图2-8 FIR 窗函数设计法

图2-9 IIR巴托沃斯设计法

由以上两图可以看出:同一技术指标下,采用不同的算法会得出截然不同的设计结果。采用FIR 窗函数法设计出来的滤波器具有较为理想的幅频特性,且能得到线性相位的相频特性如图2-8所示。而采用IIR巴托沃斯法设计的滤波器,其幅频特性不太理想,难以满足设计要求,且不具有线性相位如图2-9所示。

2.4 本章小结

本章主要介绍了IIR滤波器和FIR滤波器的性能指标、设计方法和各自的特点及优势。分析本次要讨论的问题,根据需要,从技术指标上来看两种均可实现;从设计方法上看,利用计算机辅助程序,可快速的实现FIR滤波器的设计,而且系统参数的变化可随时体现在计算机软件上,实现方

便、操作简单。因此,下文采用FIR算法来进行滤波器的设计。

3基于MATLAB的FIR滤波器的实现

传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。利用MA TLAB信号处理工具箱(Signal Processing Toolbox)[10]可以快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使MATLAB语言进行程序设计和利用信号处理工具箱的FDATool 工具进行界面设计的详细步骤。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器的设计最优化。

利用MATLAB信号处理工具箱进行FIR滤波器设计有三种方法:程序设计法、FDATool设计法和SPTool设计法。现针对一个混和正弦波信号,设计一个FIR低通滤波器,给出利用MATLAB 实现的三种方法:程序设计法、FDATool设计法和SPTool设计法,以验证滤波器的性能。

3.1直接程序设计法

利用MATLAB界面提供的命令窗口(Command Window)输入需要设计的滤波器源程序,确定后即可输出所要求的滤波器幅频特性曲线。也可以新建M文件,输入程序后保存,在命令窗口(Command Window)中直接输入M文件名,确定后即可。

以下以线性相位FIR低通滤波器的设计为例:

例1.设数字滤波器的性能指标如下,通带截止频率ωp = 0.5,阻带截止频率ωs = 0.66,实际通带波动不大于3dB,最小阻带衰减不小于 50dB。假设一个混频信号,其中f1=3Hz,f2=20Hz。信号采样频率为50Hz。现将原信号与通过滤波器的信号进行比较。

根据窗函数最小阻带衰减的特性表2-1,可采用汉宁窗提供大于30dB的衰减。

本例选择汉宁窗,其MA TLAB实现程序如下所示:

wp=0.5*pi;

ws=0.66*pi; %滤波器边界频率

wdelta=ws-wp; %过渡带宽

N=ceil(8*pi/wdelta) %根据过渡带,计算所用窗函数的最小长度

Nw=N;

wc=(wp+ws)/2; %截止频率在通带和阻带边界频率的中点

n=0:N-1;

alpha=(N-1)/2; %滤波器的相位延迟

m=n-alpha+eps; %eps为matlab系统精度

hd=sin(wc*m)./(pi*m); %理想滤波器脉冲响应

win=hanning(Nw); %采用汉宁窗

h=hd.*win'; %在时域乘积对应于频域的卷积

b=h;

figure(1)

[H ,f]=freqz(b,1,512,50); %采用50hz的采样频率绘出该滤波器的幅度和相频响应

subplot(2,2,1), plot(f,20*log10(abs(H)))

xlabel('频率/Hz');ylabel('振幅/dB');

grid on;

subplot(2,2,2) ,plot(f,180/pi*unwrap(angle(H)))

xlabel('频率/hz');ylabel('相位/^0');

grid on;

f1=3; f2=20;

dt=0.02;t=0:dt:3;

x=sin(2*pi*f1*t)+cos(2*pi*f2*t); %输入时域信号

y=fftfilt(b,x); %给出滤波器的输出

subplot(2,2,3),plot(t,x),title('输入信号') %绘输入信号

subplot(2,2,4),plot(t,y)

hold on; plot([1 1]*(N-1)/2*dt,ylim, 'r') %绘出延迟到的时刻

xlabel('时间/s'),title('输出信号')

程序运行结果如下图示:

图3-1 所设计滤波器的幅频、相频响应及滤波前后的时域波形

小结分析:

由以上两图可知,该例设计的滤波器通带边界频率wp=0.5,阻带边界频率ws=0.66,对应于50Hz 的采样频率通带边界频率为fp=Fs*wp/2=50*0.5/2=12.5Hz,fs=50*0.66/2=16.5Hz。其中,Fs为采样频率。

图3-1上面两图中在小于12.5Hz的频段上,几乎看不到下降且具有线性相位即满足通带纹波不大于3dB的要求。在大于16.5Hz的频带上,阻带衰减大于30dB,满足设计要求。

图3-1下面两图中给出输入混合信号(包含3Hz和20Hz的信号)以及滤波后的输出信号,通过滤波后只剩下3Hz的信号,20Hz的信号被衰减或滤除,从而实现滤波效果,满足设计要求。

由于FIR滤波器所需阶数较高,信号延迟较大,输出信号前面的一段直线就是延迟造成的。相位延迟时间为(N-1)/2*1/Fs=0.49s,程序运行后N取50。

3.2滤波器分析设计工具箱FDATool法

3.2.1 FDATool的介绍

FDATool(filter design & analysis tool)[11]是matlab信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。FDATool可以设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。

FDATool界面如下图3-2所示:

图3-2 FDATool界面

FDATool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数;另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。

Design Filter部分主要分为:filter type(滤波器类型)选项,包括lowpass(低通)、highpass (高通)、bandpass(带通)、bandstop(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、chebyshev type ii(切比雪夫ii型)法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window(窗函数)法。Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括specify order(指定阶数)和minimum order(最小阶数)。在specify order中填入所要设计的滤波器的阶数

(n阶滤波器,specify order=n+1),如果选择minimum order则matlab根据所选择的滤波器类型自动使用最小阶数。

Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filter type选项和design method选项决定,例如bandpass(带通)滤波器需要定义fstop1(下阻带截止频率)、fpass1(通带下限截止频率)、fpass2(通带上限截止频率)、fstop2(上阻带截止频率),而lowpass(低通)滤波器只需要定义fstop1、fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。

Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义wstop1(频率fstop1处的幅值衰减)、wpass(通带范围内的幅值衰减)、wstop2(频率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。

Window Specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。

3.2.2利用FDATool界面设计FIR数字滤波器方法

首先在命令窗口键入FDATool命令,调出FDATool界面;

Filter Type选项中选择Lowpass (低通);在Design Method中选择FIR滤波器;接着在FIR中选择Window (窗函数法);

在Filter Order中选择Specify Order,输入数据51 ;在Options 中选择Window: hanning.

在Frequency Specifications(频率设定)选项中选择Unit: Hz; Fs=50Hz; Fc=14.5Hz;

Magnitude Specifications选项中,由于窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义;

单击FDATool界面下的Design Filter 及Options 栏下面的View ,例1中的FIR数字低通滤波器冲激响应与幅度响应如下图3-3示;

图3-3 所设计滤波器的幅频响应(dB)

由上图可知,该线性相位FIR低通滤波器的通带截止频率为12.5Hz,阻带截止频率为16.5Hz。归一化通带截止频率0.5,阻带截止频率0.66。与图3-1中所示幅频特性相同,符合设计要求。3.3利用信号处理工具箱SPTool设计法

3.3.1 SPTool的简介

SPTool(Signal Processing Tool)[12]是MATLAB信号处理工具箱中进行数字信号处理的交互式图形用户界面环境。它包含了工具箱中许多重要的函数的功能,通过这个工具箱可以简便快捷的完成复杂信号处理任务,而又无需对工具箱中的函数十分熟悉,便于用户快速的掌握和应用。

SPTool提供了一个便于完成信号处理任务的G U I集成环境。利用它可以从MATLAB工作空间或从文件直接导入已经设计好的信号,滤波器频谱;可以分析、比较、聆听和输出时域信号;可以设计、分析和输出滤波器;可以完成对信号的滤波;可对输入输出信号进行各种谱分析并输出分析结果。

其界面如下图3-4所示:

图3-4 SPTool界面

3.3.2用SPTool设计滤波器,并实现简单滤波

下面是用SPTool工具设计的FIR滤波器对信号进行滤波。

SPTool使用步骤:导入信号、滤波器、频谱,设计滤波器,对信号滤波,分析输入输出信号的谱。

(1)导入信号

使用【File/Import】可以导入信号、滤波器和谱。信号的来源可以是MA TLAB工作空间变量或MAT数据文件,也可以在Data前面的文本框中直接输入信号的数据。这里信号源采用以下程序实现的混频信号,将信号x和采样频率fs=50 Hz导入并命名为sig1。

信号源产生程序:

fs=50;

t=0:0.02:3;

x=sin(2*pi*t*3)+cos(2*pi*t*20); %设置输入信号x

(2)FIR数字低通滤波器设计

所设滤波器的技术指标为:通带截止频率为12.5Hz,阻带截止频率为16.5 Hz,采样频率为50 Hz,最小阻带衰减不小于30 db,通带纹波不大于3 db。采用Equiripple FIR算法设计一个低通滤波器。如图3-5所示。

单击Filters栏中的New按钮打开滤波器设计工具。在界面的最上面指定滤波器的名字、采样频率和设计方法。这里命名滤波器名称为filt1,采样频率fs=50 Hz,采用Equiripple FIR算法,通带波纹Rp=3,阻带波纹Rs=30,通阻带截止频率f=[12.5 16.5]Hz。

利用SPTool界面设计的滤波器如下图示:

图3-5 利用sptool界面设计的滤波器

(3)对sig1和sig2进行频谱分析

将filt1应用到信号sig1,单击选择Signals栏的sig1和Filters栏的filt1,然后单击Filters栏的Apply按钮,在弹出的对话框中将输出信号命名为sig2,单击O k按钮。如图3-6可以看到滤波前(蓝)后(红)信号的波形。选择信号sig1,点击Spectra栏下Create按钮,在弹出的Spectrum Viewer界面中,选择Method为FFT,单击Apply按钮生成sig1的频谱spect1。同样步骤生成sig2的频谱spect2,如图3-7为滤波前(蓝)后(红)信号频谱。

简单低通滤波器设计及matlab仿真

东北大学 研究生考试试卷 考试科目: 课程编号: 阅卷人: 考试日期: 姓名:xl 学号: 注意事项 1.考前研究生将上述项目填写清楚. 2.字迹要清楚,保持卷面清洁. 3.交卷时请将本试卷和题签一起上交. 4.课程考试后二周内授课教师完成评卷工作,公共课成绩单与试卷交研究生院培养办公室, 专业课成绩单与试卷交各学院,各学院把成绩单交研究生院培养办公室. 东北大学研究生院培养办公室

数字滤波器设计 技术指标: 通带最大衰减: =3dB , 通带边界频率: =100Hz 阻带最小衰减: =20dB 阻带边界频率: =200Hz 采样频率:Fs=200Hz 目标: 1、根据性能指标设计一个巴特沃斯低通模拟滤波器。 2、通过双线性变换将该模拟滤波器转变为数字滤波器。 原理: 一、模拟滤波器设计 每一个滤波器的频率范围将直接取决于应用目的,因此必然是千差万别。为了使设计规范化,需要将滤波器的频率参数作归一化处理。设所给的实际频 率为Ω(或f ),归一化后的频率为λ,对低通模拟滤波器令λ=p ΩΩ/,则1 =p λ, p s s ΩΩ=/λ。令归一化复数变量为p ,λj p =,则p p s j j p Ω=ΩΩ==//λ。所以巴 特沃思模拟低通滤波器的设计可按以下三个步骤来进行。 (1)将实际频率Ω规一化 (2)求Ωc 和N 11010/2-=P C α s p s N λααlg 1 10 110lg 10 /10/--= 这样Ωc 和N 可求。 p x fp s x s f

根据滤波器设计要求=3dB ,则C =1,这样巴特沃思滤波器的设计就只剩一个参数N ,这时 N p N j G 222 )/(11 11)(ΩΩ+= += λλ (3)确定)(s G 因为λj p =,根据上面公式有 N N N p j p p G p G 22)1(11 )/(11)()(-+= += - 由 0)1(12=-+N N p 解得 )221 2exp(πN N k j p k -+=,k =1,2, (2) 这样可得 1 )21 2cos(21 ) )((1 )(21+-+-= --= -+πN N k p p p p p p p G k N k k 求得)(p G 后,用p s Ω/代替变量p ,即得实际需要得)(s G 。 二、双线性变换法 双线性变换法是将s 平面压缩变换到某一中介1s 平面的一条横带里,再通过标准变换关系)*1exp(T s z =将此带变换到整个z 平面上去,这样就使s 平面与z 平面之间建立一一对应的单值关系,消除了多值变换性。 为了将s 平面的Ωj 轴压缩到1s 平面的1Ωj 轴上的pi -到pi 一段上,可以通过以下的正切变换来实现: )21 tan(21T T Ω= Ω 这样当1Ω由T pi -经0变化到T pi 时,Ω由∞-经过0变化到∞+,也映射到了整个Ωj 轴。将这个关系延拓到整个s 平面和1s 平面,则可以得到

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个条件的映射关系,其变换公式为

滤波器设计MATLAB

数字信号处理

第一章概述 《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使我们对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解,巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。 其中,设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用

最广泛的是双线性变换法。 我们在课本中学到基本设计过程是: ①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ②设计过渡模拟滤波器; ③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。 而MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。 第二章总体方案设计 首先我将所给信号用MATLAB作图分析,然后通过观察st的幅频特性曲线,确定用高通滤波器作为处理信号的滤波器。选取滤波器的通带最大衰减为,阻带最小衰减为60dB为参数。 然后通过编程序调用MATLAB滤波器设计函数ellipord和ellip设计椭圆滤波器;通过编程序调用函数cheb1ord和cheby1设计切比雪夫滤波器,并绘图显示其幅频响应特性曲线。最后使用用滤波器实现函数filter,用两个滤波器分别对信号st进行滤波后绘图显示时域波形,观察滤波效果。 实验程序框图如图所示:

基于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

关于滤波器设计的matlab函数简表

关于滤波器设计、实现的Matlab函数分类函数名功能说明 滤波器分析 (求幅频、相频响应)abs求模值 angle求相角 freqs模拟滤波器的频率响应freqz数字滤波器的频率响应grpdelay群延迟 impz脉冲响应(离散的)zplane画出零极点图 fvtool滤波器可视化工具 滤波器实现(求输入信号通过滤波器的响应)conv/conv2卷积/二维卷积 filter求信号通过滤波器的响应 IIR滤波器阶数估算buttord巴特沃斯滤波器阶数估算 cheb1ord切比雪夫Ⅰ型滤波器阶数估算 cheb2ord切比雪夫Ⅱ型滤波器阶数估算 ellopord椭圆滤波器阶数估算 IIR数字滤波器设计(求系统函数H(z))butter cheby1 cheby2 ellip 模拟低通滤波器原型(归一化的)buttap模拟低通巴特沃斯滤波器原型cheb1ap模拟低通切比雪夫Ⅰ型滤波器原型cheb2ap模拟低通切比雪夫Ⅱ型滤波器原型ellipap模拟低通椭圆滤波器原型besselap模拟低通贝塞尔滤波器原型 模拟低通滤波器设计(求系统函数H(s))butter巴特沃斯滤波器设计cheby1切比雪夫Ⅰ型滤波器设计cheby2切比雪夫Ⅱ型滤波器设计ellip椭圆滤波器设计besself贝塞尔滤波器设计 模拟滤波器频带变换lp2bp低通→带通 lp2bs低通→带阻 lp2hp低通→高通 lp2lp低通→低通 滤波器离散化(由模拟滤波器得到数字滤波器)bilinear脉冲响应不变法impinvar双线性变换法 FIR滤波器设计fir1基于窗函数的FIR滤波器设计 fir2基于窗函数的任意响应FIR滤波器设 计 窗函数boxcar矩形窗 rectwin矩形窗 bartlett三角窗

数字滤波器的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)逼近

基于matlab的FIR数字滤波器设计(多通带,窗函数法)

数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪

一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。 三、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。 目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件,滤波器就具有准确的线性相位: 第一种:偶对称,h(n)=h(N-1-n),φ (ω)=-(N-1)ω/2 第二种:奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2+pi/2 对称中心在n=(N-1)/2处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能

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);

高级数字滤波器设计及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 ρ>,如果有再在该点附近找出局部极值点,并用该,点代替原来的

基于MATLAB的滤波器设计

基于MATLAB 的滤波器设计 摘 要:利用MA TLAB 设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。Matlab 因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。本文介绍了在MATLAB R2011a 环境下滤波器设计的方法和步骤。 关键词:滤波器,matlab ,FIR ,IIR Abstract :By using MATLAB , we can design filters and modify the filters’parameters conveniently according to our demands. This relieves greatly design work loads and makes for optimization of filter designing. Matlab can be widely used in engineering calculations because of its powerful functions of data processing. Its rich toolbox makes the calculations easy. With Matlab signal processing toolbox, various digital filters can be designed effectively in simple way. This article introduce the methods and processes in the circumstance of MATLAB R2011a. Keywords :filter ,matlab ,fdatool 1.滤波器的原理 凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器,相当于频率“筛子”。 滤波器的功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。 滤波器中,把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。 a .理想滤波器的频率特性 理想滤波器:使通带内信号的幅值和相位都不失真,阻喧内的频率成分都衰减为零的滤波器,其通带和阻带之间有明显的分界线。 如理想低通滤波器的频率响应函数为 0()()jw t C H jw A l W W Ω-=≤ 或 ()0()C H jw W W =>理想滤波器实际上并不存在。 b .实际滤波器 实际滤波器的特性需要以下参数描述: 1)恒部平均值A0:描述通带内的幅频特性;波纹幅度:d 。 2)上、下截止频率:以幅频特性值为A0/2时的相应频率值WC1,WC2作为带通滤波器的上、下截止频率。带宽21C C B W W =-。

基于MATLAB的数字滤波器设计

基于matlab的数字滤波器设计 摘要:本文介绍的是数字滤波器在MATLAB环境下的设计方法。数字滤波是数字信号处理的重要内容,在实际应用中有非常大的作用。我们研究的数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,然后再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。根据IIR 滤波器和FIR滤波器的特点,本文在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并让这两种滤波器对采集的语音信号进行分析和比较,经过分析,最后给出了IIR和FIR对语音滤波的效果,并总结这两种滤波器在MATLAB环境下设计方法的优缺点。 关键词:数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Abstract:This article describes a digital filter in the MATLAB environment design. Digital filtering is an important part of digital signal processing which is playing a very big role in practice .The digital filter we studied can be divided into two categories——IIR and FIR. For the IIR digital filter design, we will need the help of simulation prototype filter, analog filters and then converted it into digital filter For the IIR digital filter design .The design methods used in the text is the same impulse response method, bi-sexual transformation and full function design ;We can based on the frequency characteristics of the given direct design, design method used in the text is the window function for FIR digital filter design. Based on the characteristics of IIR filter and FIR filters ,the bad paper in the MATLAB environment under the bilinear transformation method were used to design IIR and FIR with window function digital filter design and filters to capture both the voice signal analysis and compare. Through analysis of IIR and FIR Finally, the effect of filtering on the speech, and concluded the advantages and disadvantages in the two filter design methods in the MATLAB environment. Key words: Digital Filter ;IIR;FIR;MATLAB

FIR数字滤波器设计及MATLAB使用要点

数字信号处理课程设计 《数字信号处理》 课程设计报告 FIR数字滤波器设计及MATLAB实现 专业:通信工程 班级:通信1101班 组次:第9组 姓名及学号: 姓名及学号:

目录 一、设计目的 (3) 二、设计任务 (3) 三、设计原理 (3) 3.1窗函数法 (3) 3.2频率采样法 (4) 3.3最优化设计 (5) 3.3.1等波纹切比雪夫逼近准则 (5) 3.3.2仿真函数 (6) 四、设计过程 (7) 五、收获与体会 (13) 参考文献 (13)

FIR数字滤波器设计及MATLAB实现 一、设计目的 FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基 本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性, 同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。滤波器设 计是根据给定滤波器的频率特性,求得满足该特性的传输函数。 二、设计任务 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 三、设计原理 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 3.1窗函数法 设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw H e,设计 d

用Matlab设计FIR滤波器的三种方法

用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法 摘要介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的性能。 关键词 MATLAB,数字滤波器,有限冲激响应,窗函数,仿真 1 前言 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。 2 FIR滤波器的窗函数设计法 FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为: (1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。 (2) 由性能指标确定窗函数W(n)和窗口长度N。 (3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR滤波器系数向量b(n)。 (4) 检验滤波器性能。 本文将针对一个含有5Hz、15Hz和30Hz的混和正弦波信号,设计一个FIR带通滤波器,给出利用MATLAB实现的三种方法:程序设计法、 FDATool设计法和SPTool设计法。参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10 Hz,通带上限截止频率 fc2=20 Hz,过渡带宽6 Hz,通阻带波动0.01,采用凯塞窗设计。 2 程序设计法 MATLAB信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。本文的带通滤波器设计及滤波程序如下: [n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100); %得出滤波器的阶数n=38,beta=3.4 w1=2*fc1/fs; w2=2*fc2/fs;%将模拟滤波器的技术指标转换为数字滤波器的技术指标 window=kaiser(n+1,beta);%使用kaiser窗函数

matlab设计滤波器程序

Fs=1000; t=0.1:1/Fs:0.3; A=1; B=fir1(100,[0.12 0.18],'bandpass');%fir1基于窗函数的有限脉冲响应滤波器 X=3*sin(2*pi*80*t)+sqrt(5)*randn(1,length(t)); subplot(2,2,1) plot(t,X) title('叠加白噪声的正弦信号') xlabel('time (seconds)') X1=3*sin(2*pi*80*t); subplot(2,2,2) plot(t,X1) title('正弦信号') xlabel('time (seconds)') Y=filter(B,A,X); subplot(2,2,3) plot(t,Y) title('Hamming窗滤波后的信号') xlabel('time (seconds)') B=fir1(100,[0.12 0.18],'bandpass',kaiser(101)); Y1=filter(B,A,X); subplot(2,2,4) plot(t,Y1) title('bartlett窗滤波后的信号') xlabel('time (seconds)') B=fir1(100,[0.12 0.18],'bandpass',barthannwin(101)); Y2=filter(B,A,X); subplot(2,2,4) plot(t,Y1) title('barthannwin窗滤波后的信号') xlabel('time (seconds)') figure(2) Xk=fft(X1); Mk=abs(Xk); subplot(2,2,1) stem(Mk)

基于MATLAB的数字滤波器设计(DOC)

目录 1 引言 (1) 2 设计任务 (2) 2.1设计内容 (2) 2.2设计要求 (2) 3 语音信号的采集及时频分析 (3) 3.1语音信号的采集 (3) 3.2语音信号的时频分析 (3) 4 基于MATLAB的数字滤波器的设计 (5) 4.1数字滤波器的设计 (5) 4.1.1数字滤波器的基本概念 (5) 4.1.2 IIR滤波器设计思想 (5) 4.2IIR数字滤波器设计 (5) 4.2.1 IIR低通滤波器设计 (5) 4.2.2 IIR带通滤波器设计 (7) 4.2.3 IIR带通滤波器设计 (9) 5 合成信号及其滤波 (12) 5.1合成信号 (12) 5.2合成信号滤波 (13) 6 设计系统界面 (15) 6.1系统界面设计工具—GUI概述 (15) 6.2界面设计及使用说明 (15) 7 心得体会 (18) 参考文献 (19) 附录 (20)

1 引言 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 MATALB 可以创建图形用户界面GUI (GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。 滤波器的设计可以通过软件或设计专用的硬件两种方式来实现。随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件。它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。

滤波器设计与信号处理的matlab实现(2014年12月)

滤波器设计与信号处理的MATLAB 实现 庞 勇 2014年12月 1. IIR 滤波器设计和MATLAB 实现 1.1 IIR 滤波器设计原理 对于IIR 滤波器设计,我们主要学习的是由模拟滤波器设计数字滤波器的方法,设计思路和流程如图: 目的满足 先设计 基于第3步由模拟滤波器向数字滤波器的转化方式,IIR 滤波器设计方法分为“脉冲响应不变法”和“双线性变换法”,由于“脉冲响应不变法”存在混叠误差的缺陷,因此一般我们多选“双线性变换法”,而对于第2步模拟滤波器的设计,我们主要学习的是巴特沃斯设计方法,因此这里以“巴特沃斯滤波器双线性变换”设计法为例来阐述IIR 滤波器的设计方法和matlab 实现。 “巴特沃斯滤波器双线性变换”设计法的设计流程: 终始DF 指标 DF () c H s () d H z 11 211z s T z ---= +

原理解释: δ1δ-1+δ 222p T tg 1-1+2 s T 2 2() c H j Ω2p T ω 2 δ1 1δ-1 1+δ2 s T ω(d p ωs ω0 δ1δ-1 1+π 其中巴特沃斯模拟滤波器设计流程为: 1+2 δ1δ-δH 得两点代入()j ΩN Ωj A 点代入 ()H Ω得c H(s)H(-s)极点分布:共2N 个共圆c Ω等角距N π 1.2 “巴特沃斯滤波器双线性变换”设计法的matlab 实现: 按照设计原理和流程,每一步都可以在matlab 里进行编程计算,因此完全可以编程实现从技术指标到系统函数的整个计算,并且matlab 的信号处理工具箱已经把这整个计算过程编成函数供人们直接调用,我们只要了解这个函数的使用方法就可以了。

matlab工具箱设计滤波器

MATLAB中用FDATool设计滤波器及使用 该文章讲述了MATLAB中用FDATool设计滤波器及使用. 1. 在Matlab中键入fdatool运行Filter Design and Analysis Tool。具体使用请参见Matlab Help中的Signal Processing Toolbox->FDATool。 2. 在fdatool工具中应该注意的几个问题:(a)Fstop(阻带截止频率)不能大于或等于采样频率Fs/2,这是由于数字滤波器设计的方式决定的。(b)将设计好的滤波器导出,可以采用两种方式Export the filter either as filter coefficients variables or as a dfilt or mfilt filter object variable。(详细说明参见Matlab Help中的Signal Processing Toolbox-> FDATool-> Exporting a Filter Design。 导出:File---Export弹出EXPORT对话框,选择“Export As”为“Objects”,“Varable Names”可以更改,默认为Hd。 3. (a)如果导出的是dfilt or mfilt filter object variable,则可以用[b, a] = tf(Hd)将dfilt filter object转换为传递函数形式,然后用d=filter(b,a,x); 使用这个滤波器。其中:filter是默认函数,b、a是刚刚设计的传递函数参数,x是原始采集信号,d为滤波后的信号。x=importdata('E:\matlab_work\xy\bb\O6.txt'); N=length(x); %取长度 fs=4000; %采样频率 t=(0:N-1)/fs; 输出Hd; [b,a]=tf(Hd);%得到传递函数 d=filter(b,a,x); subplot(311); plot(t,x); title('原始信号'); xlabel('t'); ylabel('y'); grid on; 基于fdatool工具的数字滤波器的matlab设计 数字滤波器的matlab设计 1.1 fdatool界面设计 1.1.1 fdatool的介绍 fdatool(filter design & analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。

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