当前位置:文档之家› 基于matlab的滤波器设计第三章讲解

基于matlab的滤波器设计第三章讲解

基于matlab的滤波器设计第三章讲解
基于matlab的滤波器设计第三章讲解

第三章 ECG 检测方法

本章将主要介绍本文所采用的ECG 信号的检测方法的基本原理。首先要对ECG 信号进行预处理:采用滤波技术消除各种噪声,采用Tompkins 算法检测出QRS 波的峰值,并对周期性的ECG 信号进行分割。然后介绍采用AR 建模技术提取ECG 信号的特征的基本原理,以及如何采用相关系数及信噪比两个指标来确定建模阶次P ,最后介绍本文采用的BP 神经网络分类法和基于二次判别函数分类方法的基本原理及相关的计算公式。

3.1信号的预处理

本文中所使用的ECG 信号取自MIT-BIH 数据库:NSR 信号取自“MIT-BIH

arrhythmia database ”,其采样频率是360Hz ;VT 信号和VF 信号取自“MIT-BIH Ventricular Arrhythmia database ”,其采样频率是250Hz 。信号的频率都统一转化为360Hz 。在提取信号特征之前,需要对ECG 信号进行预处理:采用滤波技术消除实时测量时可能存在的噪音,采用Tompkins 算法检测出QRS 波的峰值,并对周期性的ECG 信号进行分割,选取有效的窗口数据。

1.信号的滤波

在实时测量得到的ECG 信号通常带有噪音,噪声的来源是多种多样的,病人的呼吸 ,电极的移动,电源的工频干扰,肌肉收缩引起的高频噪音等,这些噪音和干扰会对ECG 信号检测准确性带来很大的影响。所以首先要消除这些噪音,才能进行进一步的分析。据有关资料显示,电源引起的噪音频率约(50-60Hz),呼吸引起的噪音频率约0.2Hz 左右,电极移动引起的低频噪音约0.3HZ 肌肉收缩引起的高频噪音。本文采用带通滤波器(BPF )(由一个低通滤波器和一个高通滤波器)组成 ,对ECG 信号进行滤波。其上下边带截止频率是1Hz 和50Hz ,能有效地消除各种噪音[24]。

低通滤波器(LFP )的系统函数如下:

2

11262121)(----+-+-=Z z Z z z L ( 3-1) 2. QRS 波峰值检测

本文中的ECG 信号QRS 波的检测算法最初由Pan Tompkins 提出,Hamilton 和Tompkins 对该算法进行了进一步的研究,QRS 波检测包括QRS 波峰值位置、宽度、面积的检测。在本文中,只须检测出QRS 波的峰值点位置,为下一步ECG 信号的分割作准备,QRS 波峰值检测的各个步骤的系统框图如下[24]:

图3-1 QRS 波检测系统框图

ECG 信号通过一个带通滤波器(由一个低通滤波器和一个高通滤波器串联组成)。再进行微(差)分、平方、滑动窗口平均、最后通过自适应阈值的检波方法,检测到QRS 波的峰值。采样的心电信号经过数字带通滤波器,将QRS 波与T 波、U 波等进行分离;微分后再平方,平方过程可突出微分后的频响曲线的斜率,并有助于减少由于T 波具有更多高频分量而引起的误差;再做移动窗口(150ms)积分,积分所得的结果既包含QRS 波群的斜率,又包含QRS 波群的宽度的信息,然后应用两种阈值进行检测,一是滤波后信号的阈值,另一是由窗口积分后的阈值。阈值的大小随信号的波动不断调整,这样可提高检测的可靠性,特别可以防止噪声引起的误差。

1)滤波

检测QRS 波的峰值之前首先要确定QRS 波的频率范围,QRS 复合波的频率一般在5-15 Hz ,所以我们用一带通滤波器(用一个上限频率为15 Hz 的低通滤波器与一个下限频率为5 Hz 的高通滤波器串联构成)将QRS 波与T 波、U 波等分离开来。

低通滤波器(LFP )的系统函数如下:

2

126z 1z 1z H )()()(----= (3-2) 低通滤波器的输入、输出关系还可以用差分方程表示为:

)12()6(2)()2()(2)(T nT x T nT x nT x T nT y T nT y nT y -+--+---= (3-3)

式中 x(nT) :是低通滤波器的输入信号, y(nT) 是低通滤波器的输出信号 一阶低通滤波器的传递函数由下式给出:

1

3211)()()(----==Z Z z X z Y z H lp (3-4) LPF 的差分方程表示为:

)32()()()(T nT x nT x T nT y nT y --+-= (3-5)

高通滤波器(HFP )的传递函数如下:

32)()()()(16Z H Z Z X Z P Z H lP H P -==- (3-6)

高通滤波器(HFP )的常系数线性差分方程表示为:

)]32()()()[32/1()16()(T nT x nT x T nT y T nT x nT p --+---=(3-7)

式中x(nT)是HPF 的输入信号,p(nT)是HPF 的输出信号,y(nT)是LPF 的输出。 2)求导数

经过滤波后,我们要开始检测QRS 波的峰值,首先对信号求导数,求导数的作用是求出波形各部分的斜率。

求导过程的传递函数如下:

)22(1.0)(421-----+=z z z z H (3-7)

求导运算也可由下面的公式得到:

)]4(2)2()()(2)[8/1()(T nT x T nT x T nT x nT x nT y -----+= (3-8) 式中x(nT)是求导函数的输入, y(nT)是求导函数的输出。

3)平方运算

求导后是进行平方运算,将求导的结果进行平方,使斜率的差值进一步扩大,便于找出峰值点。

2nT x nT y )]([)(= (3-8)

式中x(nT)是平方运算的输入,y(nT)是平方运算的输出。

4)峰值的检测

峰值的检测通过一个自适应的阈值,当信号在某一个固定时间间期内变化时,峰值是一个确定的值,通过下述算法,阈值不断调整以检测峰值,峰值检测到后,还要鉴定一下是信号峰值还是噪音的峰值。

移动窗口积分可用下式表示:

)](....))2(()1(([/1)(nT x T N nT x T N nT x N nT y ++--+--= (3-9)

式中:N 是窗口中的信号样本点数,x(nT) 是积分运算的输入,y(nT)是积分运算的输出。

窗口的大小以及N 的选择很关键,窗口选得太大,会将T 波也包含进来,窗口选得太小,就不能涵盖QRS 波的全部信息,可能会检测到多个峰值。 3.信号的分割

正常情况下,人类的心跳率大约是每分种60至100次。既RR 间期为0.6-1.0

秒,对于心律失常病症的诊断而言,最有参考价值的是QRS波,其次是P波和U 波,T波及它们之前的间期值,而在每个周期内心电信号的最前面一部分和最后一部分对诊断的价值不大,而且VT和VF的RR间期比NSR的RR间期更要短得多。因此每个ECG样本选取300个采样点,即数据窗口为0.9(信号频率为360Hz)秒,其中,100个采样点在ECG峰值R以前,200个采样点在ECG峰值R以后。已经包含了一个心率周期内所有有用的ECG信息。

3.2信号的特征提取

如上一章所述,ECG信号的特征提取有多种现存的方法。在本文中,用一个空间预测模型(AR)对ECG信号进行建模[25.26]。

AR模型的基本表达式为:

)(

)(

)

(t

e

t

Y

q

A=(3-10)AR建模的差分方程可表示为:

)

(

)

(

)1

(

..........

)2

(

)3(

)1

(

)2(

)

(n

e

p

n

y

p

a

n

y

a

n

y

a

n

y+

-

+

-

-

-

-

-

-

=(3-11)式中:y(n)是被测信号,a(i) AR模型的常系数,e(n)是高斯白噪声,p是AR模型的阶数。

因此,y(n)表示为t时刻以前的P阶输出的线性组合和误差的叠加。这意味着t时刻的输出依赖于以前信号的输入。现在问题是要在合适的P阶数下求出

a(i)。

1.建模阶次确定

在整个建模过程中,首先要确定模型阶次p,不同的阶次,有不同的a值。如何来衡量模型的阶次选择是否合适,而且如果模型阶次选得太小,建模误差会很大,如果模型阶次过大,会导致运算量过大,影响分类的时间。本文引用以下二个准则来确定模型阶次P[12]。

1)自相关系数ρ:

+ =

+

=

--

+

=

--

=

N

p

i

N

p

i

m

i

v

m

i

v

N

p

i

m

i

v

m

i

v

11

2

)

~

)

(

~

(

2

)

)

(

(

1

)

~

)

(

~

)(

)

(

(

ρ

(3-12)

其中,)

(i

v和)(~i

v分别为ECG信号i时刻的原始值和预测值;m和m~分别为ECG 信号原始值和预测值的均值;N为数据窗口长度;p为模型的阶数。

2) 信噪比

()()()()()∑∑==-=i N i i y i y i y SNR 1212~

log 10 (3-13)

因此,用上述方法确定阶次P 以后,就可以用下面的方法求出相应的AR 建模系数。

2.参数估计算法

给定N 个ECG 信号样本,进行AR 建模,求出合适的a(i),使建模误差最小,如何判断误差是否达到最小值,本文采用使误差平方和达到最小的方法。 对于有限的N 个样本,误差平方和E ,用下式表示:

21011

02))()(()(∑∑∑-==-=--==

N n p k k N n k n y a n y n e E (3-14)

E 的最小值出现对E 的导数为0的这一点。从上面方程式可以看出,对于每个不同的确定的a k .,E 的解是唯一的,但是太大的正或负的a k ,,值,E 可能会非常大,因此。ak

E ??应达到最小,因此上式可以变换为: ∑∑∑-==-=--=-1

0110)()()()(N n p k N n k j n y k n y a j n y n y (3-15)

用?j,k 组成协方差矩阵 ? 则:

∑-=--=10,)

()(N n k j k n y j n y φ (3-16)

上述等式可以表示为矩阵形式,如下所示:

???????

? ???????????? ??=?????????? ??p p p p p p p p p p a a a a .................................321,3,2,1,,33,32,31,3,23.22,21,2,12,12,11,10,0,30,20,1φφφφφφφφφφφφφφφφφφφφ (3-17) 参数矢量可由下式得到:

01φφ-=a (3-18)

以上过程,可以通过MATLAB 仿真实现。

3.3 信号的分类

本文中,心律失常的心电信号通过AR建模系数进行信号特征的提取,并以AR建模系数进行心律失常的分类,同样如上一章所述分类的方法有多种,本文主要采用BP神经网络(ANN)的分类方法,及基于线性分类器的分类法[23]。

1. BP 神经网络分类法

1)神经元及其特性

连接机制结构的基本处理单元与神经生理学类比往往称为神经元。每个构造起网络的神经元模型模拟一个生物神经元,人工神经网络由神经元模型构成;这种由许多神经元组成的信息处理网络具有并行分布结构。每个神经元具有单一输出,并且能够与其它神经元连接;存在许多(多重)输出连接方法,每种连接方法对应一个连接权系数。严格地说,人工神经网络是一种具有下列特性的有向图(如图3-2所示):(1)对于每个节点i存在一个状态变量x i;(2)从节点j至节点i,存

在一个连接权系统数w ij;(3)对于每个节点i,存在一个阈值

θ;(4)对于每个节点

i

i,定义一个换函数f i(x i,w ji,

θ);如图3-2所示。该神经元单元由多个输入,

i

i=1,2,...,n和一个输出y组成。中间状态由输入信号的权和表示,而输出可表示为:

(3-19)

图3-2 神经元模型

式(3-19)中,

θ为神经元单元的偏置(阈值),w ji为连接权系数(对于激发状态,j

w ji取正值,对于抑制状态,w ji取负值),n为输入信号数目,y j为神经元输出,t为时间,f(_)为输出变换函数,有时叫做激发或激励函数,往往采用0和1二值函数或S形函数,见图1.2,这三种函数都是连续和非线性的。一种二值函数如图3-3(a)所示。一种常规的S形函数见图3-3(b),常用双曲正切函数(见图3-3(c))来取代常规S形函数,因为S形函数的输出均为正值,而双曲正切函数的输出值可为正或负。双曲正切函数如下式所示:

(3-20)

图3-3 神经元中的某些变换(激发)函数

人工神经网络有两种基本结构:递归网络(如图3-4所示)和前馈网络(如图3-5所示)。递归网络又叫做反馈网络,在递归网络中,多个神经元互连以组织一个互连神经网络。有些神经元的输出被反馈至同层或前层神经元。因此,信号能够从正向和反向流通。Hopfield网络,Elmman网络和Jordan网络是递归网络有代表性的例子。前馈网络具有递阶分层结构,由一些同层神经元间不存在互连的层级组成。从输入层至输出层的信号通过单向连接流通;神经元从一层连接至下一层,不存在同层神经元间的连接,如图3-4所示。图中,实线指明实际信号流通而虚线表示反向传播。前馈网络的例子有多层感知器(MLP)、BP神经网络、学习矢量量化(LVQ)网络、小脑模型联接控制(CMAC)网络和数据处理方法(GMDH)网络等。

图3-4 递归(反馈)网络图3-5 前馈(多层)网络

图3-4中,v i表示节点的状态,x i为节点的输入(初始)值,x i为收敛后的输出值,i=1,2,...,n。

神经网络主要通过两种学习算法进行训练,即指导式(有导师)学习算法和非指导式(无导师)学习算法。此外,还存在第三种学习算法,即强化学习算法;可把它看做有师学习的一种特例。有导师学习、有导师学习算法能够根据期望的和实际的网络输出(对应于给定输入)间的差来调整神经元间连接的强度

或权。因此,有导师学习需要有个老师或导师来提供期望或目标输出信号。有导师学习算法的例子包括d 规则、误差反向传播(BP)算法以及LVQ算法等。

2)BP神经网络

在已出现的众多神经网络模型中,BP神经网络模型是最典型也是应用最为广泛和成功的网络之一。尤其是它在函数逼近、模式识别和故障诊断的应用中取得了巨大的成功。然而,尽管BP神经网络的研究取得了激动人心的成果,其应用也解决了一些实际问题,但还存在着不完善之处,如:初始权值的选择问题、

局部极小值问题、网络结构问题等等。其中,神经网络结构更是难点,众所周知,神经网络应用的前提就是要确定一个合适的网络结构模型,这对网络的性能(收敛性、推广能力等)有着重大的影响。典型的BP网络(如图2-1所示)是三层前向网络,由输入层、隐含层和输出层组成。

图3-6典型的BP网络结构图

一般情况下,神经网络的输入层和输出层的神经元数目由问题本身的性质决定,隐层的层数和各隐层的节点数由设计者根据问题的性质和对神经网络的性能要求来决定。

ⅰ输入层和输出层设计

输入层起缓冲存储器的作用,把数据源加到网络上。其节点数目取决于数据源的维数,即这些节点能够代表每个数据源,所以,最困难的设计判决是弄清楚正确的数据源。如果数据源中有大量的未经处理的或者虚假的信息数据,那必将会妨碍对网络的正确训练,所以要剔除那些无效的数据,确定出数据源的合适数目,大体上需要经过四步:

(a)确定与应用有关的数据;

(b)剔除那些在技术上和经济上不符合实际的数据源;

(c)剔除那些边沿的或者不可靠的数据源;

(d)开发一个能组合或预处理数据的方法,使这些数据更具有实用意义。

人工神经网络只能处理表示成数值的输入数据,所以经常需要将外部的信息变换或编码。

输入的神经单元可以根据需要求解的问题和数据表示的方式而定。如果输入的是模拟信号波形,那么输入层可以根据波形的采样点数决定输入单元的维数,也可以用一个单元输入,这时输入样本为采样的时间序列。如果输入为图像,则输入单元可以为图像的象素,也可以是经过处理后的图像特征。

输出层的维数根据使用者的要求来确定。如果BP网络用作分类器,其类别为m个,有两种方法确定输出神经元的个数:

(a)输出层有m个神经元,其训练样本集中1P x属于第j类,要求其输出为

T m j y )0,0,0,1,0,0,0( =

即第j 个神经元的输出为1,其余输出为0。

(b)输出神经元还可根据类别进行编码,即m 类的输出只要用m 2log 个输出单元即可。

ⅱ.隐含层数和层内节点数的选择

对于多层神经网络来说,首先要确定选用几层隐含层。对于如何确定隐含层数的问题,已有不少学者对此进行了理论上的研究。Lippmann 的研究指出,对于函数近似和数据分类问题,可能需要两个隐层来学习按段连续函数。Cybenko 证明了具有单隐层及任意固定的连续Sigmoid 非线性函数的反传MLP ,可以以任意精度逼近紧集上的任何连续函数。当被用作具有硬限位(阶跃)激励函数的二进制取值神经元网络时,具有两个隐层的反传MLP 可以形成任意复杂的决策区域以区分不同的类别。隐含层起抽象的作用,即它能从输入提取特征。增加隐含层可增加人工神经元网络的处理能力,但是必将使训练复杂化、训练样本数目增加和训练时间的增加。目前人们认为二进制分类或判决边界问题,一个隐含层就足够了。但是,如果要求输出是输入的任意连续函数,那就要用两个隐含层或者采用不同的激活函数。韦岗的研究成果表明,多层前向网络的函数逼近能力与隐层数目及隐层神经元特性函数的具体形式关系不大,而主要取决于网络的隐层神经元数目。所以,层内节点数需要进行恰当的选择。一般情况下,隐层节点数较多时,网络结构比较复杂,学习时间长,能够很好的学习训练样本,输出误差小,但推广能力差;隐层节点数较少时,网络结构比较简单,虽然有较好的泛化能力,但完成对训练样本的学习较为困难。因此存在一个最佳的隐单元数,许多学者对此进行了研究: Hecht-Nielsen 提出隐含层节点数目为12+N ,Lippmann 认为最大隐含层节点的数目为)1(1+N M ,Kuarycki 认为最大隐含层节点的数目为31?M ,A.J.Maren 等人认为,对小型网络来说,输入节点数大于输出节点数时,最佳隐含层节点数等于N M ?1

,其中N 为输入的节点数,1M 为输出层节点数。可供参考的估算公式还有:

(1)a m n J ++=。其中,m 为输出神经元数,n 为输入神经元数,a 为1—10之间的常数。

(2)n J 2log =,其中n 为输入神经元数。

近年来,许多学者提出了变结构动态调整隐含层神经元数目的方法,一种称为增长方法,即在开始时放入比较少的隐含单元,训练过程中,针对实际问题,根据网络性能要求逐步增加隐含单元个数,直到满足网络性能要求。另一种称为

修剪方法,即在开始时构造一个含有冗余节点的网络,然后在训练的过程中逐步删除那些不必要的节点和权值,一直减少到不可收缩为止。这种方法对于硬件完成的BP 多层网有一定的好处,但是,也存在着计算量大,效率低等缺点。

增加隐含层的节点数可以改善网络与训练组匹配的精度(该精度近似比例于隐含层节点数的平方)。然而,为了改善网络的概括推论能力,又要求适当减少隐含层的节点数。所以,对一特定的应用网络,其隐含层的节点数应该是按精确度和概括性综合统一考虑。

ⅲ.基本BP 算法

多层前向神经网络的学习采用误差反向传播算法(Back-Propagation

Algorithm )

,简称BP 算法。BP 算法是一种有导师的学习算法,其主要思想是把学习过程分为四个部分:一是输入模式从输入层经隐含层传向输出层的“模式顺传播”过程;二是网络的希望输出与实际输出之差的误差信号由输出层经隐含层向输入层逐层修正连接权的“误差逆传播”过程;三是由“模式顺传播”和“误差逆传播”的反复交替进行的网络“记忆训练”过程;四是网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。

对于图3-6所示的前向网络,设有P 个输入—输出对),,2,1)(,(P k T X k k =。其中,k X 为第k 个样本输入向量:),,,(21kM k k k x x x X =,M 为输入向量维数;

k T 为第k 个样本输出向量

(期望输出):),,,(21kN k k k t t t T =,N 为输出向量维数。网络的实际输出向量为:T kN k k k o o o O ),,,(21 =;ji ω为前一层第i 个神经单元到

后一层第j 个神经单元的权重。

由于BP 网络要求采用非线性的连续可导的激发函数,这里采用Sigmoid 函数作为激发函数。

x

e x

f -+=11)( (3-21)

当神经元为输入层单元时,k k X O =。

对于第k 个样本,第j 个神经单元的状态定义为:

∑=i

ki ji kj o Net ω。 (3-22)

则第j 个神经单元的输出为:

)(kj j kj Net f o =。 (3-23)

对于具有隐层的多层前向网络,当神经元激发函数采用Sigmoid 函数作为激发函数时,

)1()('kj kj kj kj kj j o o Net o Net f -=??=

(3-24)

故对输出层单元: )1()(kj kj kj kj kj o o o t -?-=δ (3-25)

对隐层单元:

∑-=m

mj km kj kj kj o o ωδδ)1( (3-26)

权值调节为:

ki kj ji o t ηδω=+?)1( (3-27)

在实际的学习过程中,学习速率η对学习过程的影响很大,η是按梯度搜索的步长。η越大,权值的变化越剧烈。为了使学习速度足够快而不易产生振荡,往往再加上一个‘势态项’,即:

)()1(t o t ji ki kj ji ωαηδω?+=+? (3-28)

式中,α是一个常数,它决定过去权重的变化对目前权值变化的影响。

BP 算法的具体步骤如下:

(1)置各权值或阈值的初始值:)0(),0(j ji θω为小的随机数值。

(2)提供训练样本:输入矢量k X ,P k ,,2,1 =;期望输出k T ,P k ,,2,1 =;

对每个输入样本进行下面(3)到(5)的迭代。

(3)计算网络的实际输出及因此单元的状态:

)(∑+=i

j ki ji j kj o f o θω (3-28)

(4)按式(3-25)、(3-26)计算输出层、隐层训练误差。

(5)按下式修正权值和阈值:

)]1()([)()1(--++=+t t o t t ji ji ki j ji ji ωωαηδωω (3-29)

)]1()([)()1(--++=+t t t t j j j j j θθαηδθθ (3-30)

(6)当k 每经历1至P 后,判断指标是否满足精度要求: ε≤E ; (ε:精度)

(7)结束。

BP 模型虽然具有很多优点,而且应用也很广泛,但它也存在一些不足,主要有:(1)从数学上看,它是一个非线性优化问题,不可避免地存在局部极小点;

(2)学习算法的收敛速度很慢; (3)网络隐含层节点数的选取带有很大的盲目性和经验性,尚无理论上的指导; (4)新加入的样本要影响已学完的样本。

BP 网络运用的误差反向传播算法要求学习率要充分小,这样才能使网络的误差代价函数收敛到全局极小点,然而较小的学习率使得BP 算法的学习速度很慢,网络的收敛时间大为增加,通常需要几千次或更多次数的迭代才能收敛到全局极小点;但是采用较大的学习率则会导致网络在学习过程中出现麻痹现象(这是由于在训练过程中,加权值调节得过大时可能迫使所有的或大部分的神经元节点的加权和输出较大,从而工作在Sigmoid 激发函数的饱和区,此时激发函数的导数)('net f 非常小,随之加权修正量也非常小,若当激发函数的导数0)('→net f 时,结果使得各层连接权的修正量趋于零,即0→?W ,这就相当于使调节过程几乎停顿下来)。从而使系统在局部极小点附近徘徊,无法收敛。

由于BP 算法自身存在的问题,不少学者进行了研究,提出了一些改进方法,这些方法大都集中在如何提高收敛速度和尽可能避免陷入局部极小。包括牛顿法、拟牛顿法、共轭梯度法、Levenberg —Manquardt 法等。这些方法的主要不同在于如何选择下次的下降方向,一旦确定了下降方向,所有算法只需沿相应直线朝极小点前进一步。牛顿法主要是在最优值附近产生一个理想的搜索方向。李歧强等由自适应BP 算法和牛顿算法导出了自适应步长和动量解耦的伪牛顿算法,徐嗣新等提出了前向网络的分段学习算法,该算法结合了BP 算法和牛顿算法,从而提高收敛速度。由于牛顿法用到了Hessian 矩阵,常常计算复杂性较大,这是其不足之处。Levenberg —Manquardt 法实际上是梯度下降法和牛顿法的结合。它的优点在于网络权值数目较少时收敛非常迅速。梯度下降法收敛较慢,拟牛顿法计算复杂,而共轭梯度法则力图避免两者的缺点。共轭梯度法的第一步是沿负梯度方向进行搜索,然后再沿当前搜索方向的共轭方向搜索,从而可以迅速达到最优值。Charalambous 提出了一种适合于BP 学习的共轭梯度法,将该方法与一种简单的不确定线性搜索相结合,可极大的提高收敛速度。

BP 神经网络用于信号分类的基本思想如下:

对于整个输入样本空间有M 个明显的分类,设想网络的训练目标是一个二值函数,则:

1=kj d 当输入样本x j 属于Фk 时

0=kj d 当输入样本 x j 不属于Фk 时

基于这种表示法,可用一个M 维的输出来表示类别Фk ,除了第K 个输出为1,其它输出均为0。

本文中,ECG 信号的分类只涉及3个信号,输出层采用三个神经元,并采用二进制目标编码的方式:“100” 为NSR 信号,“010”为VT 信号,“001”为 VF 信号。

采用随机抽取多组样本对BP 神经网络进行训练,然后固定权值,用新的样本进行测试。其判决规则是:在三个输出“XYZ ”中,如果“X ”为最大,则样本属于NSR, 如果“Y ”为最大,则样本属于VT, 如果“Z ”为最大,则样本属于VF 。

3.3.3基于线性分类器的分类方法

利用AR 建模系数,采用树状决策过程和线性分类器对ECG 信号进行分类。线性分类器的方程为[26]:

e

A Y +=β~ and E (e)=0 (3-31) 写成矩阵形式如下

???????? ??=n y y Y ~...1~~, ???????? ??=pn n n P A A A A A A A ...............2112111, ???????? ??=p βββ...1,???????? ??=n e e e ...1(3-32)

其中,y i 为某一ECG 样本特征向量的目标值 (成员关系);e i 为随机误差;A 为AR 建模系数构成的矩阵,?为P ×1的列矩阵。

基于最小二乘平方误差准则:

22~min ?~β

β

βA Y A Y -=- (3-33) β

? 是 β的最小平方估计值 设β

ββββS A Y Y A Y Q T T +-=-=~2~~)(22 (3-34) 上式中S=A T A. 则当0=??β

Q 时,22~min ?~β

ββA Y A Y -=-达到最小值。 故式(3-31)的解为:

Y A A A T T ~)(1-=β (3-35)

所以分类器的判别函数为:

βA Y = (3-36)

将各类ECG 的目标值y i 分别定义为某一整数,如1、-1等,假设所有ECG 样本数为D ,则可得到如下的方程:

????????????????????????+????????????????????????βββββ??????????????????????????????????????++++++++++++++++++=??????????????????????????????????????---)(...)3()2()1()0()(...)3()2()1()0(.))(1(...)(4)(3)(21................

........)2)(1(...)

2(4)2(3)2(21)1)(1(...)1(4)1(3)1(21)1( (4321)

................

........2)1(...42322211)1(...4131211.1...111...11p e e e e e p m n p a m n a m n a m n a n p a n a n a n a n p a n a n a n a n p a n a n a n a p a a a a p a a a a

式中T p ))(),...,3(),2(),1(),0((ββββββ=是估计系数, a(2), a(3) ,a(4) ,…a(p+1) 是信号的AR 建模系数, ? 为事先定义的目标值 1 或 -1, Y 是估计值, n 是?中等于“1”的个数, m 是? 中等于“-1” 的个数。 “1” 或 “-1” 对应不同的分类, 利用式(3-36)可解出相应的β值,然后固定β值,输入新的A ,则根据输出Y 值的不同,可确定信号的分类。

3.4本章小结

本章主要介绍了ECG 信号的检测方法的基本原理:滤波的原理,QRS 波峰值检测的原理,AR 建模的原理以及采用相关系数和信噪比两个指标确定建模系数的其本原理,最后还介绍了BP 神经网络和线性分类器用于ECG 信号分类的基本原理。上述原理的具体实现将在下一章进行阐述。

简单低通滤波器设计及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的各种设计方法。它操作简单,方便灵活。

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