当前位置:文档之家› 自适应滤波器设计及Matlab实现

自适应滤波器设计及Matlab实现

自适应滤波器设计及Matlab实现
自适应滤波器设计及Matlab实现

自适应滤波器:根据环境的改变,使用自适应算法来改变滤波器的参数和结构。这样的滤波器就称之为自适应滤波器。

数学原理编辑

以输入和输出信号的统计特性的估计为依据,采取特定算法自动地调整滤波器系数,使其达到最佳滤波特性的一种算法或装置。自适应滤波器可以是连续域的或是离散域的。离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的机构组成。附图表示一个离散域自适应滤波器用于模拟未知离散系统的信号流图。自适应滤波器对输入信号序列x(n)的每一个样值,按特定的算法,更新、调整加权系数,使输出信号序列y(n)与期望输出信号序列d(n)相比较的均方误差为最小,即输出信号序列y(n)逼近期望信号序列d(n)。

20世纪40年代初期,N.维纳首先应用最小均方准则设计最佳线性滤波器,用来消除噪声、预测或平滑平稳随机信号。60年代初期,R.E.卡尔曼等发展并导出处理非平稳随机信号的最佳时变线性滤波设计理论。维纳、卡尔曼-波色滤波器都是以预知信号和噪声的统计特征为基础,具有固定的滤波器系数。因此,仅当实际输入信号的统计特征与设计滤波器所依据的先验信息一致时,这类滤波器才是最佳的。否则,这类滤波器不能提供最佳性能。70年代中期,B.维德罗等人提出自适应滤波器及其算法,发展了最佳滤波设计理论。

以最小均方误差为准则设计的自适应滤波器的系数可以由维纳-霍甫夫方程解得

式中W(n)为离散域自适应滤波器的系数列矩阵(n)为输入信号序列x(n)的自相关矩阵的逆矩阵,Φdx(n)为期望输出信号序列与输入信号序列x(n)的互相关列矩阵。

B.维德罗提出的一种方法,能实时求解自适应滤波器系数,其结果接近维纳-霍甫夫方程近似解。这种算法称为最小均方算法或简称 LMS法。这一算法利用最陡下降法,由均方误差的梯度估计从现时刻滤波器系数向量迭代计算下一个时刻的系数向量

式中憕【ε2(n)】为均方误差梯度估计,

k s为一负数,它的取值决定算法的收敛性。要求,其中λ为输入信号序列x(n)的自相关矩阵最大特征值。

自适应 LMS算法的均方误差超过维纳最佳滤波的最小均方误差,超过量称超均方误差。通常用超均方误差与最小均方误差的比值(即失调)评价自适应滤波性能。

抽头延迟线的非递归型自适应滤波器算法的收敛速度,取决于输入信号自相关矩阵特征值的离散程度。当特征值离散较大时,自适应过程收敛速度较慢。格型结构的自适应算法得到广泛的注意和实际应用。与非递归型结构自适应算法相比,它具有收敛速度较快等优点。人们还研究将自适应算法推广到递归型结构;但由于递归型结构自适应算法的非线性,自适应过程收敛性质的严格分析尚待探讨,实际应用尚受到一定限制。

自适应滤波器

自适应滤波器

应用领域编辑

自适应滤波器应用于通信领域的自动均衡、回波消除、天线阵波束形成,以及其他有关领域信号处理的参数识别、噪声消除、谱估计等方面。对于不同的应用,只是所加输入信号和期望信号不

自适应滤波器

发展前景编辑

1、广泛用于系统模型识别

如系统建模:其中自适应滤波器作为估计未知系统特性的模型。

2、通信信道的自适应均衡

如:高速modem采用信道均衡器:用它补偿信道失真,modem必须通过具有不同频

响特性而产生不同失真的信道有效地传送数据,则要求信号均衡器具有可调系数,据信道特性对这些系数进行优化,以使信道失真的某些量度最小化。

又如:数字通信接收机:其中自适应滤波器用于信道识别并提供码间串扰的均衡器。

3、雷达与声纳的波束形成

如自适应天线系统,其中自适应滤波器用于波束方向控制,并可在波束方向图中提供一个零点以便消除不希望的干扰。

4、消除心电图中的电源干扰

如:自适应回波相消器,

自适应噪声对消器:其中自适应滤波器用于估计并对消预期信号中的噪声分量。

5、噪声中信号的滤波、跟踪、谱线增强以及线性预测等。

自适应滤波器设计及Matlab实现

摘要

本文从随机噪声的特性出发,分析了传统滤波和自适应滤波基本工作原理和性能,以及滤波技术的现状和发展前景。然后系统阐述了基本维纳滤波原理和自适应滤波器的基本结构模型,接着在此基础上结合最陡下降法引出LMS算法。在MSE准则下,设计了一个定长的自适应最小均方横向滤波器,并通过MATLAB 编程实现。接着用图像复原来验证该滤波器的性能,结果表明图像的质量在MSE 准则下得到了明显的改善。最后分析比较了自适应LMS滤波和频域维纳递归滤波之间的性能。本文还对MATLAB里面的自适应维纳滤波函数wiener2进行了简单分析。

关键字:退化图像维纳滤波自适应滤波最陡下降法LMS

Abstract

This paper analyses the basic work theory, performance of traditional filter and adaptive filter based on the property of random noise, and introduce the status quo and the foreground of filter technology. Then we explain basic theory of wiener filter and basic structure model of adaptive filter, and combine the method of steepest descent to deduce the LMS. Afterward according to the MSE rule, we design a limited length transversal filter, and implement by MATLAB. And then we validate performance of adaptive LMS filter by restoring images, Test result show that the quality of the degrade images were improved under the rule of MSE. Finally, we compare the performance of adaptive LMS filter and iterative wiener filter.

We also simply analyses the wiener2 () which is a adaptive filter in MATLAB.

Keywords: degrade image;wiener filter;adaptive filter;ADF;LMS algorithm

目录

1绪论 (1)

1. 1 引言 (1)

1. 2 研究目标及现状 (1)

1. 2 .1 图像复原技术的目标 (1)

1. 2 .2 图像复原技术的研究现状 (1)

2理论基础 (3)

2. 1 基本自适应滤波器的模块结构 (3)

2. 2 基本维纳滤波原理 (4)

3自适应滤波原理及算法 (6)

3.1 横向滤波结构的最陡下降算法 (7)

3.1.1 最陡下降算法的原理 (7)

3.1.2 最陡下降算法稳定性 (10)

3.2 LMS滤波原理及算法 (11)

3.2.1 从最陡下降算法导出LMS算法 (11)

3.2.2 基本LMS算法的实现步骤 (11)

3.2.3 基本LMS算法的实现流程图 (12)

3.2.4 LMS算法的Matlab实现 (12)

3.2.5 wiener2()的原理 (12)

3.2.6 LMS性能分析——自适应收敛性 (13)

4Matlab 实验结果 (14)

4.1.LMS滤波器的收敛性 (14)

4.2.LMS滤波器和频域迭代维纳滤波器的性能比较 (16)

5总结 (18)

致谢 (19)

参考文献 (20)

附录 A (21)

附录 B (22)

附录 C (27)

1 绪论

1.1引言

人类传递信息的主要媒介是语言和图像。据统计,在人类接受的信息中,听觉信息占20%,视觉信息占60%,其它如味觉、触觉、嗅觉总的加起来不过占20%,所以图像信息是十分重要的信息[1]。然而,在图像的获取和图像信号的传输过程中,图像信号中不可避免的混入各种各样的随机噪声,造成图像失真(图像退化)。造成人类所获取的信息和实际是有偏差的,成为人类从外界获取准确信息的障碍。因此,对图像信号中的随机噪声的抑制处理是图像处理中非常重要的一项工作。

在图像的获取和传输过程中所混入的噪声,主要来源于通信系统中的各种各样的噪声,根据通信原理及统计方面的知识,可以知道在通信系统中所遇到的信号和噪声,大多数均可视为平稳的随机过程[15]。又有“高斯过程又称正态随机过程,它是一种普遍存在和重要的随机过程,在通信信道中的噪声,通常是一种高斯过程,故又称高斯噪声。因此,在大多数的情况下,我们可以把造成图像失真的噪声可视为广义平稳高斯过程。

本文针对图像信号中混入的随机噪声,在怎样把现有的滤波算法应用到实际的图像复原中去的问题上提出了解决方法,并且应用Matlab 软件编程对图像进行处理。

1.2研究目标及现状

1.2.1图像复原技术的目标

为了从含有噪声的数据中提取我们所感兴趣的、接近规定质量的图像,我们需要设计一个系统满足:当信号与噪声同时输入时,在输出端能将信号尽可能精确地重现出来,而噪声却受到最大抑制,即最佳滤波器。

1.2.2图像复原技术的研究现状

目前的图像复原技术,即去噪的滤波技术可以分为两大类:传统滤波和现代滤波。传统滤波技术是建立在已知有用信号和干扰噪声的统计特性(自相关函数或功率谱)的基础上的噪声去除;现代滤波技术则是不需要知道图像的先验知识,只是根据观测数据,即可对噪声进行有效滤除。

早在20世纪40年代,就对平稳随机信号建立了维纳滤波理论。根据有用信

号和干扰噪声的统计特性(自相关函数或功率谱),以线性最小均方误差(MSE)估计准则所设计的最佳滤波器,称为维纳滤波器。这种滤波器能最大程度的滤除干扰噪声,提取有用信号。但是,当输入信号的统计特性偏离设计条件,则它就不再是最佳的了,这在实际应用中受到了限制。到60年代初,由于空间技术的发展,出现了卡尔曼滤波理论,即利用状态变量模型对非平稳、多输入多输出随机序列作最优估计。卡尔曼滤波器既可以对平稳的和平稳的随机信号作线性最佳滤波,也可以作为非线性滤波[2]。

然而只有在对信号和噪声的统计特性已知的情况下,这两种滤波器才能获得最优解。在实际的应用中,往往无法得到这些统计特性的先验知识,或者统计特性是随时间变化的,因此,这两种滤波器就实现不了真正的最佳滤波。

Widrow B.和Hoff于1967年提出的自适应滤波理论,可使在设计自适应滤波器时不需要事先知道关于输入信号和噪声的统计特性的知识,它能够在自己的工作过程中逐渐估计出所需的统计特性,并以此为依据自动调整自己的参数,以达到最佳滤波效果。一旦输入信号的统计特性发生变化,它又能够跟踪这种变化,自动调整参数,使滤波器性能重新达到最佳。

自适应滤波器自动调节参数可以通过各种不同的递推算法来实现,由于它采用的是逼近的算法,使得实际估计值和理论值之间必然存在差距,也就造成了自适应滤波问题没有唯一的解。依照各种递推算法的特点,我们把它应用于不同的场合。现在广为应用的自适应滤波方法主要是基于以下几种基本理论,再融合递推算法导出来的:

(1)基于维纳滤波理论的方法

维纳滤波是在最小均方误差准则下通过求解维纳—霍夫方程来解决线性最优滤波问题的。基于维纳滤波原理,我们利用相关的瞬时值通过在工作过程中的逐步调整参数逼近信号的统计特性,实现最优滤波。由此,我们得到一种最常用的算法——最小均方算法,简称LMS算法。

(2)基于卡尔曼滤波理论的方法

卡尔曼滤波是线性无偏最小方差滤波递推滤波,它能使滤波器工作在平稳的或非平稳的环境,得到最优解。利用卡尔曼滤波理论的递推求解法导出自适应滤波器更新权矢量得不同递推算法。比LMS算法有极快的收敛速率,可是计算复

杂度也增大了,它需要计算卡尔曼矩阵。

(3) 基于最小二乘准则的方法

维纳滤波和卡尔曼滤波推导的算法是基于统计概念的,而最小二乘估计算法是以最小误差平方和为优化目标的。根据滤波器的实现结构,有以下3种不同的最小二乘自适应滤波算法:自适应递归最小二乘法(RLS ),自适应最小二乘格型算法,QR 分解最小二乘算法。

(4) 基于神经网络理论的方法

神经网络是有大量的神经元相互连接而成的网络系统,实质上它是一个高度非线性的动力学网络系统,这个系统具有很强的自适应、自学习、自组织能力,以及巨量并行性、容错性和坚韧性,因而,它可以做很多传统的信号和信息处理技术所不能做的事情。因其超强的自动调节能力,使得它在自适应信号处理方面有着广阔的前景[2]。

在一系列的自适应算法中,虽然基于后面3种基本理论的方法在收敛速率和稳定、坚韧性方面有着更好的性能,但是, 基于维纳滤波理论的LMS 算法因其算法简单,而且能达到满意的性能,得到了青睐,成为了应用最广泛的自适应算法。

为此,本文主要研究LMS 自适应滤波器在图像去噪方面的应用。

2.理论基础

2.1基本自适应滤波器的模块结构

自适应滤波器通常由两部分构成,其一是滤波子系统,根据它所要处理的功能而往往有不同的结构形式。另一是自适应算法部分,用来调整滤波子系统结构的参数,或滤波系数。在自适应调整滤波系数的过程中,有不同的准则和算法。算法是指调整自适应滤波系数的步骤,以达到在所描述的准则下的误差最小化。自适应滤波器含有两个过程,即自适应过程和滤波过程。前一过程的基本目标是调节滤波系数

)(k w i ,使得有意义的目标函数或代价函数(.) 最小化,滤波器输

出信号)(k y 逐步逼近所期望的参考信号)(k d ,由两者之间的误差信号)(k e 驱动某种算法对滤波系数进行调整,使得滤波器处于最佳工作状态以实现滤波过程。所以自适应过程是一个闭合的反馈环,算法决定了这个闭合环路的自适应过程所需

要的时间。但是,由于目标函数(.)ε是输入信号)(k x ,参考信号)(k d 及输出信号

)(k y 的函数,即 y(k)]

d(k),[x(k),(.)εε=,因此目标函数必须具有以下两个性质: (1) 非负性

y(k)d(k),x(k),, 0 y(k)]d(k),[x(k),(.)?≥=εε ( 2.1 )

(2) 最佳性

d(k)y(k) , 0 y(k)]d(k),[x(k),(.)===when εε

( 2.2 )

在自适应过程中,自适应算法逐步使目标函数(.)ε最小化,最终使)(k y 逼近于)(k d ,滤波参数或权系数

)(k w i 收敛于opt w ,这里opt w 是自适应滤波系数的最优

解即维纳解。因此,自适应过程也是自适应滤波器的最佳线性估计的过程,既要估计滤波器能实现期望信号)(k d 的整个过程,又要估计滤波权系数以进行有利于主要目标方向的调整。这些估计过程是以连续的时变形式进行的,这就是自适应滤波器需要有的自适应收敛过程。如何缩短自适应收敛过程所需要的收敛时间,这个与算法和结构有关的问题时人们一直重视研究的问题之一[2]。

当然滤波子系统在整个自适应滤波器的设计中也占有很重要的地位,因为它对最终的滤波性能有很大的影响。本文要研究的是基于维纳滤波原理的LMS 算法,那么下面我们需要介绍一下基本维纳滤波原理。

2.2基本维纳滤波原理

基本维纳滤波就是用来解决从噪声中提取信号问题的一种过滤(或滤波)方法。它基于平稳随机过程模型,且假设退化模型为线性空间不变系统的。实际上这种线性滤波问题,可以看成是一种估计问题或一种线性估计问题。基本的维纳滤波是根据全部过去的和当前的观察数据来估计信号的当前值,它的解是以均方误差最小条件下所得到的系统的传递函数)(z H 或单位样本响应)(k h 的形式给出的,因此更常称这种系统为最佳线性过滤器或滤波器。设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位样本响应)(k h 或传递函数)(z H 的表达式,其实质是解维纳-霍夫(Wiener-Hopf)方程。

基本维纳滤波器是这样的,有两个信号x(k)和y(k)同时加在滤波器上。典型

地y(k)包含一个与x(k)相关地分量和另一个与x(k)不相关地分量。维纳滤波器则产生y(k)中与x(k)相关分量地最优估计,再从y(k)中减去它就得到e(k)。

假定一个N 个系数(权值)的FIR 滤波器的结构,维纳滤波和原始信号y(k)之间的差信号e(k)为:

∑-=-∧

-=-=-=1

)(N i i k k k T

k k k k x i w y x w y n y e ( 2.3 )

其中k x 和w 分别为输入信号矢量和权矢量,由下式确定:

?????????????

?=---)1(1N k k k k x x x x ??????

??????-=)1()1()0(N w w w w ( 2.4 ) 误差平方为:

w x x w w x y y e T

k k T T k k k k +-=222 ( 2.5 )

对(3)式两边取期望得到均方误差(MSE) ε,若输入x(k)与输出y(k)是联合平稳的,则:

Rw

w w P w x x w E w x y E y E e E T T T k k T T k k k k ++=+-==2][][2][][222

σε ( 2.6 )

其中[]E 代表期望,2

2][k y E =σ是)(k y 的方差,

][k k x y E P =是长度为N 地互相关矢量,

][T k k

x x E R =是N×N 的自相关矩阵。一个MSE 滤波系数的图形是碗

形地,且只有唯一地底部,这个图称为性能曲面,它是非负的。性能曲面地梯度可由下式给出:

Rw P dw

d 22+-==

( 2.7 )

每组系数w(i)(i=1,2,…N -1)对应曲面是一点,在曲面是地最小点梯度为0,滤波权矢量达到最优

opt

w ,

P R w opt 1

-= ( 2.8 )

即著名的维纳—霍夫方程的解。自适应滤波地任务是采用合适的算法来调节滤波权重1)-(N w ,(1),w (0),w i i i ?,从而找到性能曲面地最优点

opt

w 。

维纳滤波的实际用途有限,因为:

(1) 它需要已知自相关矩阵R 和互相关矢量P ,这两个量通常是未知的。 (2) 它包含了矩阵的求逆,非常的耗时。

(3) 若信号为非平稳的,则R 和P 是时变的,导致必需重复计算opt

w 。

对于实际的应用需要一种能够依次加入地抽样点而得到

opt

w 的算法。自适应

算法就就是用于达到这个目的,而且不需显式计算R 和P 或进行矩阵求逆[3]。

3 自适应滤波原理及算法

在实际应用中常常会遇到这样的情况:随机信号的统计特性是未知的,或者

信号的统计特性是缓慢的变化着的(非平稳信号),这就促使人们去研究一类特殊的滤波器,这类滤波器具有以下特点:当输入过程的统计特性未知时,或者输入过程的统计特性变化时,能够相应的调整自身的参数,以满足某种准则的要求,由于这类滤波器能变动自身的参数以“适应”输入过程统计特性的估计或变化,因此,就把这类滤波器称为自适应滤波器[4] 。在本文中我们研究的是退化图像复原的问题,由于图像自身的多样性和所混入的噪声的随机性和多样性,我们选择自适应滤波取出图像中混入的噪声。

3.1 横向滤波结构的最陡下降算法

3.1.1 最陡下降算法的原理

首先考虑如下图所示的横向FTR 自适应滤波器

它的输入序列以向量的形式记为:

[]T

M k x k x k x k X )1()1()()(+--=

( 3.1 )

假设)(k X 取自一均值为零,自相关矩阵为R 的广义平稳随机过程,而滤波器的系数矢量(加权矢量)为:

[]T

M k w k w k w k W )()()()(21 =

( 3.2 )

以上二式中括号内的k 为时间指数,因此,)(k X 和)(k W 分别表示时刻k 的滤波器输入序列和加权值,滤波器的输出)(k y 为:

∑=+-=M

i i i n x n w k y 1

)1()()(

( 3.3 )

式中M 为滤波器的长度。

图3.1 中的)(k d 称为“期望理想响应信号”,有时也可称为“训练信号”,它决定了设计最佳滤波器加权向量)(k W 的取值方向。在实际应用中,通常用一路参考信号来作为期望响应信号。)(k e 是滤波器输出)(k y 相对于)(k d 的误差,即

(3.4)

显然,自适应滤波控制机理是用误差序列)(k e 按照某种准则和算法对其系数

{}M i n wi ,,2,1,)) =进行调节的,最终使自适应滤波的目标(代价)函数最小化,

达到最佳滤波状态。

按照均方误差(MSE )准则所定义得目标函数是

)]

()()(2)([)]

([)(2

2

2k y k y k d k d E k e E k +-==ε ( 3.5 )

将式(3.4)代入式(3.5),目标函数可以化为

)]()()()([)]()()([2)]([)]

([)(2

2k W k X k X k W E k X k W k d E k d E k e E k T

T

T

+-==ε ( 3.6 )

当滤波系数固定时,目标函数又可以写为

)]()()(2)]([)(2k RW k W P k W k d k T T +-=ε

( 3.7 )

其中,][k k x y E P =是长度为N 的期望信号与输入信号的互相关矢量,

][T k k

x x E R =是N×N 的输入向量得自相关矩阵。

由式(3.7)可见,自适应滤波器的目标函数)(k ε是延迟线抽头系数(加权或滤波系数)的二次函数。当矩阵R 和矢量P 已知时,可以由权矢量)(k W 直接求其解。现在我们将式(3.7)对W 求倒数,并令其等于零,同时假设R 是非奇异的,由此可以得到目标函数最小的最佳滤波系数

opt

w 为

P R w opt 1-=

( 3.8 )

这个解就是维纳解,即最佳滤波系数值。因为均方误差函数是滤波系数)(k W 的二次方程,由此形成一个形如图(2.2)的超抛物面,当滤波器工作在平稳随机过程的环境下,这个误差性能曲面就具有固定边缘的恒定形状。自适应滤波系数的起始值{}M i w i ,,2,1),0( =是位于性能曲面上的某一点,结果自适应调节过程,使对应于滤波系数变化的点移动,朝碗底最小点方向移动,最终到达碗底的最小点,实现了最佳维纳滤波。

最陡下降法就是实现上述搜索最佳值的一种优化技术,它利用梯度信息分析自适应滤波性能和追踪最佳滤波状态。梯度矢量是由均方误差)(?ε的梯度来定义的,在多维超抛物面上任意一点的梯度矢量是对应于均方误差)(?ε对滤波系数

)(k w i 的一阶倒数,由起始点变化到下一点的滤波系数变化量正好是梯度矢量的负数。换句话说,自适应过程是在梯度矢量的负方向接连的校正滤波系数的,即在误差性能曲面的最陡下降方向移动和逐步校正滤波系数,最终到达均方误差为最小的碗底最小点,获得最佳滤波或准优工作状态。

令)(k ?代表k 时刻的1?M 维梯度矢量,这里M 等于滤波器滤波系数的数目,)(k w 为自适应滤波器在k 时刻的滤波系数和权矢量。按照最陡下降法调节滤波系数,则在k+1时刻的滤波系数或权矢量)1(+k w 可以用下列简单递归关系来计算:

)]([2

1

)()1(k k w k w -?+

=+μ

( 3.9 )

式中,μ为自适应收敛系数或步长,是一个正实常数。根据梯度矢量定义,

)(k ?可写成

)]()(2[])

()

()

(2[)()()()()()()()]

([)(212k x k e E k w k e k e E k w k k w k k w k k w k e E k M -=??=???

?

????????=??=

?ξξξ

( 3.10 )

当滤波系数为最佳值,即是维纳解时,梯度矢量)(k ?应等于零。将式(3.7)

代入(3.10)得到

)(22)(k Rw P k +-=?

( 3.11 )

因此,在最陡下降算法中,当相关矩阵R 和互相关矢量P 已知时,由滤波系数矢量)(k w 可以计算梯度矢量)(k ?,把式(3.11)代入(3.9)中,可以计算出滤波系数的更新值

M k k Rw P k w k w ,,2,1)],([)()1( =++=+μ

( 3.12 )

式(3.12)所描述的即是最陡下降算法自适应迭代的基本公式,且由该式我们可以不用再直接求R 的逆。(3.12)式所示的迭代算法是一个反馈模型,因此算法的收敛性(稳定性)就非常重要。下面我们简单讨论一下最陡下降法的收敛性。

3.1.2 最陡下降算法稳定性

首先我们定义k 时刻的加权误差矢量为

opt w k w k w -=?)()(

( 3.13 )

则最陡下降算法式(3.12)可以写成另一种形式

)

()()()())

(()()1(k w R I k w R k w k Rw P k w k w ?-=?-?=-+?=+?μμμ

( 3.14 )

这样,我们得到最陡下降法的稳定性取决于两个因素:自适应步长参数μ和输入信号矢量)(k X 的自相关矩阵R 。根据线性代数里的酉相似变换原理,用酉矩阵Q 将相关矩阵R 对角线化,即

DQ Q R H =

( 3.15 )

式中D 为对角线矩阵,它的元素是R 的特征值,矩阵Q 的列矢量是相关矩阵

R 的特征值对应的特征向量的正交集,H

Q 是Q 的共轭转置。酉矩阵的性质是

I QQ Q Q H H ==。把式(3.15)代入式(3.14),得到

)()()1(k w DQ Q I k w H ?-=+?μ

( 3.16 )

两边乘以H

Q 得到,

)()()1(k w Q DQ Q I k w Q H H H ?-=+?μ

(3.17a)

或写为

)()()1(k V D I k V μ-=+

(3.17b)

其中

)()(k w Q k V H

?=,为旋转参数矢量或旋转滤波系数矢量误差,)(k V 的起始值为

])1([)1(opt H w w Q V -=

( 3.18)

由(3.17b )式,可以推算出

)1()()1(V D I k V k μ-=+

( 3.19 )

把单位矩阵I 和对角线矩阵D 展开,上式可以写为

)1()10

00)10

0)1()1(21V k V k M k

k

???

???

????

??

?

?

?---=+μλμλμλ

( 3.20 )

上式表明,为了保证最陡下降算法的稳定性(收敛性),矩阵中的每一个元素M k k ,,2,1,1 =-μλ的绝对值必须小于1,由此可以得到算法稳定性的收敛条件为

max

2

0λμ<

< ( 3.21 )

式中max λ是相关矩阵R 的最大特征值。在此条件下,对角线矩阵中全部元素当∞→k 而趋近于零,结果使得0)1(→+k V 。当k 很大时,意味着自适应滤波系数矢量趋近于最佳维纳解。

3.2 LMS 滤波原理及算法

3.2.1 从最陡下降法导出LMS 算法

如上节所述,最陡下降算法不需要知道误差特性曲面的先验知识,其算法就可以收敛到最佳维纳解,且与起始条件无关。但是最陡下降算法的主要限制是它需要准确测得每次迭代的梯度矢量,这妨碍了它的应用。为了减少计算复杂度和

缩短自适应收敛时间,1960年,美国斯坦福大学的Widrow 等提出了最小均方(LMS )算法,这是一种用瞬时值估计梯度矢量的方法,即

)]

()(2[)()]

([)(2k x k e k w k e E k -=??=

?∧

( 3.22 )

可见,这种瞬时估计法是无偏的,因为它的期望值)]([k E ∧

?确实等于式(3.10)的梯度矢量)(k ?。所以,按照自适应滤波器滤波系数矢量的变化与梯度矢量估计的方向之间的关系,可以写出LMS 算法的公式如下:

)

()()()]

([21

)()1(k d k X k w k k w k w μμ+=?-+=+∧

∧∧

( 3.23 )

3.2.2 基本LMS 算法的实现步骤

(1) 初始化 令所有权重)(k w i 为任一固定值或为0,对每一个接下来地抽样时刻(k=1,2,…,N )执行(2)到(4)。

(2) 计算滤波输出

∑=+-=M

i i k x i w k y 1

)

1()()( ( 3.24 )

(3) 计算估计误差

)()()(k y k d k e -=

( 3.25 )

(4) 更新下一时刻的权

)()(2)()1(k x k e k w k w μ-=+ ( 3.26 )

从上面看出,LMS 算法具有简洁和易于实现地特点使它成为许多实时系统的首选算法,LMS 算法对每组输入和输出抽样大约需2N -1次乘法和2N -1次加法。太多数信号处理器陡适宜进行乘法和累加运算,使直接实现LMS 算法更具有吸引力。

3.2.3 基本LMS 算法的实现流程图

3.2.4 LMS 算法的Matlab 实现wiener2()的原理

LMS 算法实现的代码可见附录A 3.2.5 wiener2()的原理

我们下面介绍一下wiener2()的基本处理方法和过程:

根据图像的局部统计性质,一个像素与它周围的局部区域内的像素相关,因此去噪图像中某一点像素值可由退化图像中相应于该点的局部区域内的像素值予以恢复,我们做一个S×S (S=2×L+1,L 为窗口半宽)的矩形窗口,对退化图像中的每个像素在以该像素维中心的窗口内进行相应的滤波处理,可得去噪图像为:

∑∑-=-=++++++=

L L m L

L

n j n i m g L n L m w j i r ),()1,1(),(

( 3.27 )

式中),(n m w 为所要求的权值,),(j i g 为退化图像,写成矩阵形式有:

G w R T =

( 3.28 )

其中

?????????

???=),()2,1()1,1(s s w w w w , ????

?

???????+++----=),()1,(),(L j l i g L j L i g L j L i g G ( 3.29 )

于是问题转换成求),(n m w ,我们选取一块有较多信号的区域作为特征区域,令其为SA ,并对其做自适应滤波处理,以得到该区域的近似原始图像

SA j i j i I ∈),(),,(,称为理想图像,滤波步骤如下:

(1) 先求特征区域中的局部图像均值和方差

∑∑-=-=++=

L L m L

L

n j n i m g j i mean ),(),(

( 3.30 )

∑∑-=-=-++=

L

L m L

L

n j i mean n j m i g j i 2

)]

,(),([),var( ( 3.31 )

(2) 再根据加权最小二乘法,求得自适应滤波后的理想图像

)],(),()[,(),(),(j i mean j i g j i c j i mean j i I -+=

( 3.32 )

其中)

,var(),var(),(2

j i j i j i c n σ-=,这里2

n σ表示噪声方差。

Wiener2() 函数的解析可见附录B 3.2.6 LMS 性能分析——自适应收敛性

自适应滤波器系数矢量的起始值)1(w 是任意的常数,应用LMS 算法调节滤波系数具有随机性而是系数矢量)(k w 带来非平稳过程。通常为了简化LMS 算法的统计分析,往往假设算法连续迭代之间存在以下的充分条件:

(1) 每个输入信号样本矢量)(k x 与其过去全部样本矢量是统计独立的,不相关的。

(2) 每个输入信号样本矢量与全部过去的期望响应信号)(k d 也是统计独立的。

(3) 期望响应信号)(k d 依赖于输入样本矢量)(k x ,但全部过去的期望信号样本是统计独立的。

(4) 滤波器抽头输入信号矢量)(k x 于期望信号)(k d 包含着全部k 的共同的高斯分布随机变量。

通常将基于上述基本假设的LMS 算法的统计分析称为独立理论。我们发现(1)和(2)的观点,假设滤波系数矢量与输入信号矢量和期望信号的独立无关是很有用的。

但是,在实际中,许多问题对输入过程和期望信号并不满足上述基本假设。尽管如此,LMS 算法的实践经验证明,在有足够的关于自适应过程结构信息的条件下,基于这些假设所分析的结果仍可用作可靠的设计指导准则,即使某些问题带有依赖的数据样本。

经过推导,我们得到LMS 算法和它的基础——最陡下降算法有系统的精确数学表达形式。因此,可以得出它们的收敛条件也是一致的,即

max

2

0λμ<

< ( 3.33 )

当迭代次数k 趋近于无穷的时候,自适应滤波系数矢量近似等于最佳维纳解,但是事实上我们知道,LMS 算法的滤波系数总是在最佳维纳解附近波动,而不能精确等于最佳维纳解。

在满足收敛条件的情况下,自适应步长μ决定了收敛速率,当迭代次数一定时,μ的值越大,则收敛的越快,滤波器的均方误差(MSE )也越来越小;当自适应步长μ一定时,随着迭代次数的增大,滤波器的均方误差(MSE )越来越小。

4 Matlab 实验结果

4.1 LMS 滤波器的收敛性

下面我们通过实验来查看LMS 算法的滤波性能。在实验中我们通过改变自适应步长μ的值,来观测μ的变化对LMS 滤波器的性能的影响。以下为实验结果:

简单低通滤波器设计及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的程序

数字滤波器matlab的源代码 function lvbo(Ua,Ub,choise) %参考指令:lvbo(2*pi,10*pi,1/0/-1) U1=min(Ua,Ub); U2=max(Ua,Ub); Us=16*U2; T=2*pi/Us; T_sum=4*max(2*pi/Ua,2*pi/Ub); sum=T_sum/T; t=T:T:T_sum; x=sin(U1*t)+0.8*sin(U2*t); X=DFT(x); figure(1); subplot(221) U=Us/sum:Us/sum:Us; stem(U,abs(X));grid on axis([Us/sum,Us/2,0,1.2*max(abs(X))]) title('原模拟信号采样频谱图') Ucd=U1+(U2-U1)*1/5;Usd=U2-(U2-U1)*1/5; switch choise case 1 Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); case -1 Hz_ejw=IIR_DF_CF(Ucd,1,Usd,30,T,sum); case 0 Hz_ejw=FIR_DF_HM(U1,U2,T,sum); otherwise Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); end Y=X.*Hz_ejw; y=1/sum*conj(DFT(conj(Y))); figure(1); subplot(224) plot(t,real(y)); title('模拟信号滤波后');grid on axis([0,T_sum,-max(real(y))*1.5,max(real(y))*1.5]) subplot(222); plot(t,x); hold on

关于滤波器设计的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程序之——滤波器(带通-带阻)教学内容

m a t l a b程序之——滤波器(带通-带阻)

matlab程序之——滤波器(带通,带阻) 以下两个滤波器都是切比雪夫I型数字滤波器,不是巴特沃尔滤波器,请使用者注意! 1.带通滤波器 function y=bandp(x,f1,f3,fsl,fsh,rp,rs,Fs) %带通滤波 %使用注意事项:通带或阻带的截止频率与采样率的选取范围是不能超过采样率的一半 %即,f1,f3,fs1,fsh,的值小于 Fs/2 %x:需要带通滤波的序列 % f 1:通带左边界 % f 3:通带右边界 % fs1:衰减截止左边界 % fsh:衰变截止右边界 %rp:边带区衰减DB数设置 %rs:截止区衰减DB数设置 %FS:序列x的采样频率 % f1=300;f3=500;%通带截止频率上下限 % fsl=200;fsh=600;%阻带截止频率上下限 % rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值 % Fs=2000;%采样率 % wp1=2*pi*f1/Fs; wp3=2*pi*f3/Fs; wsl=2*pi*fsl/Fs; wsh=2*pi*fsh/Fs; wp=[wp1 wp3]; ws=[wsl wsh]; % % 设计切比雪夫滤波器; [n,wn]=cheb1ord(ws/pi,wp/pi,rp,rs); [bz1,az1]=cheby1(n,rp,wp/pi); %查看设计滤波器的曲线 [h,w]=freqz(bz1,az1,256,Fs); h=20*log10(abs(h));

figure;plot(w,h);title('所设计滤波器的通带曲线');grid on; y=filter(bz1,az1,x); end 带通滤波器使用例子 %-------------- %带通滤波器测试程序 fs=2000; t=(1:fs)/fs; ff1=100; ff2=400; ff3=700; x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t)+sin(2*pi*ff3*t); figure; subplot(211);plot(t,x); subplot(212);hua_fft(x,fs,1); % y=filter(bz1,az1,x); y=bandp(x,300,500,200,600,0.1,30,fs); figure; subplot(211);plot(t,y); subplot(212);hua_fft(y,fs,1); %调用到的hua_fft()函数代码如下 function hua_fft(y,fs,style,varargin) %当style=1,画幅值谱;当style=2,画功率谱;当style=其他的,那么花幅值谱和功率谱 %当style=1时,还可以多输入2个可选参数 %可选输入参数是用来控制需要查看的频率段的 %第一个是需要查看的频率段起点 %第二个是需要查看的频率段的终点 %其他style不具备可选输入参数,如果输入发生位置错误 nfft= 2^nextpow2(length(y));%找出大于y的个数的最大的2的指数值(自动进算最佳FFT步长nfft) %nfft=1024;%人为设置FFT的步长nfft y=y-mean(y);%去除直流分量 y_ft=fft(y,nfft);%对y信号进行DFT,得到频率的幅值分布 y_p=y_ft.*conj(y_ft)/nfft;%conj()函数是求y函数的共轭复数,实数的共轭复数是他本身。

数字滤波器的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源程序学术2009-11-20 20:31:58 阅读308 评论0 字号:大中小 完整的维纳滤波器Matlab源程序 clear;clc; %输入信号 A=1; %信号的幅值 f=1000; %信号的频率 fs=10^5; %采样频率 t=(0:999); %采样点 Mlag=100; %相关函数长度变量 x=A*cos(2*pi*f*t/fs); %输入正弦波信号 xmean=mean(x); %正弦波信号均值 xvar=var(x,1); %正弦波信号方差 xn=awgn(x,5); %给正弦波信号加入信噪比为20dB的高斯白噪声 figure(1) plot(t,xn) %绘制输入信号图像 title('输入信号图像') xlabel('x轴单位:t/s','color','b') ylabel('y轴单位:f/HZ','color','b') xnmean=mean(xn) %计算输入信号均值xnms=mean(xn.^2) %计算输入信号均方值xnvar=var(xn,1) %计算输入信号方差 Rxn=xcorr(xn,Mlag,'biased'); %计算输入信号自相关函数figure(2) subplot(221) plot((-Mlag:Mlag),Rxn) %绘制自相关函数图像 title('输入信号自相关函数图像') [f,xi]=ksdensity(xn); %计算输入信号的概率密度,f 为样本点xi处的概率密度 subplot(222) plot(xi,f) %绘制概率密度图像 title('输入信号概率密度图像') X=fft(xn); %计算输入信号序列的快速离散傅里叶变换 Px=X.*conj(X)/600; %计算信号频谱 subplot(223) semilogy(t,Px) %绘制在半对数坐标系下频

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

设计数字低通滤波器(用matlab实现)

DSP 设计滤波器报告 姓名:张胜男 班级:07级电信(1)班 学号:078319120 一·低通滤波器的设计 (一)实验目的:掌握IIR 数字低通滤波器的设计方法。 (二)实验原理: 1、滤波器的分类 滤波器分两大类:经典滤波器和现代滤波器。 经典滤波器是假定输入信号)(n x 中的有用成分和希望取出的成分各自占有不同的频带。这样,当)(n x 通过一个线性系统(即滤波器)后可讲欲去除的成分有效的去除。 现代滤波器理论研究的主要内容是从含有噪声的数据记录(又称时间序列)中估计出信号的某些特征或信号本身。 经典滤波器分为低通、高通、带通、带阻滤波器。每一种又有模拟滤波器(AF )和数字滤波器(DF )。对数字滤波器,又有IIR 滤波器和FIR 滤波器。 IIR DF 的转移函数是: ∑∑=-=-+==N k k k M r r r z a z b z X z Y z H 10 1)()()( FIR DF 的转移函数是: ∑-=-=10)()(N n n z n h z H FIR 滤波器可以对给定的频率特性直接进行设计,而IIR 滤波器目前最通用的方法是利用已经很成熟的模拟滤波器的设计方法进行设计。 2、滤波器的技术要求 低通滤波器: p ω:通带截止频率(又称通带上限频率) s ω:阻带下限截止频率 p α:通带允许的最大衰减 s α:阻带允许的最小衰减 (p α,s α的单位dB ) p Ω:通带上限角频率 s Ω:阻带下限角频率 (s p p T ω=Ω,s s s T ω=Ω)即 C p p F ωπ2=Ω C s s F ωπ2=Ω 3、IIR 数字滤波器的设计步骤:

高级数字滤波器设计及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大作业 院(系):信息工程学院 专业:09通信工程 班级:通信一班 学生:钟锦慧 学号:20090610080118 指导教师:邹丹 2011年12月18日

MATLAB在滤波器设计中的应用 1. 绪论 从20世纪初至今,在通信与电子系统中,滤波器的研究和应用经历了漫长、艰辛而曲折的道路,滤波器在信号传输与信号处理中的重要地位和作用已经非常明显,所以滤波器的分析与设计更是应该重点研究的问题。滤波器,顾名思义,是对波进行过滤的器件。“波”是一个非常广泛的物理概念,在电子技术领域,“波”被狭义地局限于特指描述各种物理量的取值随时间起伏变化的过程。该过程通过各类传感器的作用,被转换为电压或电流的时间函数,称之为各种物理量的时间波形,或者称之为信号。因为自变量时间是连续取值的,所以称之为连续时间信号,又习惯地称之为模拟信号(Analog Signal)。随着数字式电子计算机(一般简称计算机)技术的产生和飞速发展,为了便于计算机对信号进行处理,产生了在抽样定理指导下将连续时间信号变换成离散时间信号的完整的理论和方法。也就是说,可以只用原模拟信号在一系列离散时间坐标点上的样本值表达原始信号而不丢失任何信息,波、波形、信号这些概念既然表达的是客观世界中各种物理量的变化,自然就是现代社会赖以生存的各种信息的载体。信息需要传播,靠的就是波形信号的传递。信号在它的产生、转换、传输的每一个环节都可能由于环境和干扰的存在而畸变,有时,甚至是在相当多的情况下,这种畸变还很严重,以致于信号及其所携带的信息被深深地埋在噪声当中了[。 2. MATLAB简介 2.1 MATLAB的概述 20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MA TLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MA TLAB推向市场。到20世纪90年代,MA TLAB已成为国际控制界的标准计算软件。 MA TLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MA TLAB和Simulink两大部分。 MA TLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测

用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程序代码

%高斯低通滤波器 RGB=imread('132.jpg'); I0=rgb2gray(RGB); subplot(2,3,1),imshow(I0);title('原图'); I1=imnoise(I0,'gaussian');%对原图像加噪声 subplot(2,3,2),imshow(I1);title('加入噪声后') %将灰度图像的二维不连续Fourier变换的零频率成分移到频谱的中心 s=fftshift(fft2(I1)); subplot(2,3,3),imshow(log(1+abs(s)),[]);title('fftshift'); [M,N]=size(s);%分别返回s的行数到M中,列数到N中 %GLPF滤波 d0=50;%初始化d0 n1=floor(M/2);%对M/2进行取整 n2=floor(N/2);%对N/2进行取整 for i=1:M for j=1:N d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离 h(i,j)=1*exp(-1/2*(d^2/d0^2));%GLPF滤波函数

s(i,j)=h(i,j)*s(i,j);%GLPF滤波后的频域表示 end end s=ifftshift(s);%对s进行反FFT移动 %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数 s=uint8(real(ifft2(s))); subplot(2,3,4),imshow(h);title('传递函数');%显示GHPF滤波器的传递函数 subplot(2,3,5),imshow(s);title('GLPF滤波(d0=50)');%显示GLPF滤波处理后的图像

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)

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