自适应滤波器的课程设计

上传人:飞*** 文档编号:7094508 上传时间:2017-09-16 格式:DOC 页数:21 大小:457KB
返回 下载 相关 举报
自适应滤波器的课程设计_第1页
第1页 / 共21页
自适应滤波器的课程设计_第2页
第2页 / 共21页
自适应滤波器的课程设计_第3页
第3页 / 共21页
自适应滤波器的课程设计_第4页
第4页 / 共21页
自适应滤波器的课程设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《自适应滤波器的课程设计》由会员分享,可在线阅读,更多相关《自适应滤波器的课程设计(21页珍藏版)》请在金锄头文库上搜索。

1、.目 录引言 .11 自适应滤波器简介 .22 自适应滤波原理 .23 自适应滤波算法 .44 自适应滤波算法的理论仿真与 DSP实现 .74.1 MATLAB 仿真 .74.2 DSP 的理论基础 .94.3 自适应滤波算法的 DSP 实现 .105 结语 .13参考文献 .14附录 自适应滤波子程序 .15.引言滤波是电子信息处理领域的一种最基本而又极其重要的技术。在有用信号的传输过程中,通常会受到噪声或干扰的污染。利用滤波技术可以从复杂的信号中提取所需要的信号,同时抑制噪声或干扰信号,以便更有效地利用原始信号。滤波器实际上是一种选频系统,它对某些频率的信号予以很小的衰减,让该部分信号顺利

2、通过;而对其他不需要的频率信号则予以很大的衰减,尽可能阻止这些信号通过。在电子系统中滤波器是一种基本的单元电路,使用很多,技术也较为复杂,有时滤波器的优劣直接决定产品的性能,所以很多国家非常重视滤波器的理论研究和产品开发。近年来,尤其数字滤波技术使用广泛,数字滤波理论的研究及其产品的开发一直受到很多国家的重视。从总的来说滤波可分为经典滤波和现代滤波。经典滤波要求已知信号和噪声的统计特性,如维纳滤波和卡尔曼滤波。现代滤波则不要求己知信号和噪声的统计特性,如自适应滤波。自适应滤波的原理就是利用前一时刻己获得的滤波参数等结果,自动地调节现时刻的滤波参数,从而达到最优化滤波。自适应滤波具有很强的自学习

3、、自跟踪能力,适用于平稳和非平稳随机信号的检测和估计。自适应滤波一般包括 3 个模块:滤波结构、性能判据和自适应算法。其中,自适应滤波算法一直是人们的研究热点,包括线性自适应算法和非线性自适应算法,非线性自适应算法具有更强的信号处理能力,但计算比较复杂,实际应用最多的仍然是线性自适应滤波算法。线性自适应滤波算法的种类很多,有 LMS 自适应滤波算法、 R 路自适应滤波算法、变换域自适应滤波算法、仿射投影算法、共扼梯度算法等 1。.1 自适应滤波器简介自适应滤波器属于现代滤波器的范畴,自适应滤波器是相对固定滤波器而言的,固定滤波器属于经典滤波器,它滤波的频率是固定的,自适应滤波器滤波的频率则是自

4、动适应输入信号而变化的,所以其适用范围更广。在没有任何关于信号和噪声的先验知识的条件下,自适应滤波器利用前一时刻已获得的滤波器参数来自动调节现时刻的滤波器参数,以适应信号和噪声未知或随机变化的统计特性,从而实现最优滤波。所谓自适应滤波,就是利用前一时刻已获得的滤波器参数等结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优化的维纳滤波器。2 自适应滤波原理所谓的自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从

5、而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优的维纳滤波器。自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理。由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用FIR和II种具有固定滤波系数的滤波器无法实现最优滤波。在这种情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。一般而言,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。自适应滤波器的结构采用FIR 或IIR 结构均可,由于 IIR 滤波器存在稳定性问题,因此一般采用FIR 滤波器作为

6、自适应滤波器的结构。图1 给出了自适应滤波器的一般结构。.图 2-1 自适应滤波器的一般结构图 1 为自适应滤波器结构的一般形式,图中x(n)为输入信号,通过参数可调的数字滤波器后产生输出信号y(n),将输出信号y(n)与标准信号(或者为期望信号)d(n) 进行比较,得到误差信号e(n)。e(n)和x(n)通过自适应算法对滤波器的参数进行调整,调整的目的使得误差信号e(n)最小。自适应滤波器设计中最常用的是 FIR 横向型结构。图2 是横向型滤波器的结构示意图。图 2-2 横向型滤波器的结构示意图其中:x(n)为自适应滤波器的输入;w(n) 为自适应滤波器的冲激响应:w(n)=w(O),w(1

7、),w(N-1);y(n) 为自适应.自适应滤波器的结构可以采用 FIR 或 IIR 滤波器存在稳定性问题,因此一般采用 FIR 滤波器作为自适应滤波器的结构。自适应 FIR 滤波器结构又可分为3 种结构类型:横向型结构(Transversal Structure) 、对称横向型结构(Symmetric Transversal Structure)以及格型结构(Lattice Struture) 。本文采用自适应滤波器设计中最常用的 FIR 横向型结构。3 自适应滤波算法自适应滤波器除了包括一个按照某种结构设计的滤波器,还有一套自适应的算法。自适应算法是根据某种判断来设计的。自适应滤波器的算法

8、主要是以各种判据条件作为推算基础的。通常有两种判据条件:最小均方误差判据和最小二乘法判据。LMS 算法是以最小均方误差为判据的最典型的算法,也是应用最广泛的一种算法。最小均方误差(Least Mean Square,LMS) 算法是一种易于实现、性能稳健、应用广泛的算法。所有的滤波器系数调整算法都是设法使y(n)接近d(n),所不同的只是对于这种接近的评价标准不同。LMS 算法的目标是通过调整系数,使输出误差序列e(n)=d(n)-y(n) 的均方值最小化,并且根据这个判据来修改权系数,该算法因此而得名。误差序列的均方值又叫“均方误差”(Mean Sqluare Error,MSE) 。理想信

9、号 d(n)与滤波器输出y(n)之差e(n)的期望值最小,并且根据这个判据来修改权系数wi(n)。由此产生的算法称为LMS 。均方误差表示为:对于横向结构的滤波器,代入 y(n)的表达式:.其中:R=EX(n)XT(n)为 NN 的自相关矩阵,它是输入信号采样值间的相关性矩阵。P=Ed(n)X(n)为N1 互相关矢量,代表理想信号 d(n)与输入矢量的相关性。在均方误差达到最小时,得到最佳权系数:它应满足下式:, ,这是一个线形方程组,如果R 矩阵为满秩的,R-1 存在,可得到权系数的最佳值满足:W*=R-1p。用完整的矩阵表示为:显然x(m)=Ex(n)x(n-m) 为x(n)的自相关值,x

10、d(R)=Ex(n)d(n 一k)为x(n)与d(n)互相关值。在有些应用中,把输入信号的采样值分成相同的一段(每段称为一帧),再求出R,P 的估计值得到每帧的最佳权系数。这种方法称为块对块自适应算法。如语音信号的线性预测编码LPC 就是把语音信号分成帧进行处理的。R , P 的计算,要求出期望值 E,在现实运算中不容易实现,为此可通过下式进行估计:.用以上方法获得最佳 W*的运算量很大,对于一些在线或实时应用的场合,无法满足其时间要求。大多数场合使用迭代算法,对每次采样值就求出较佳权系数,称为采样值对采样值迭代算法。迭代算法可以避免复杂的R-1 和P 的运算,又能实时求得近似解,因而切实可行

11、。LMS 算法是以最快下降法为原则的迭代算法,即W(n+1)矢量是W(n) 矢量按均方误差性能平面的负斜率大小调节相应一个增量:W(n+1)=W(n)-(n),这个“是由系统稳定性和迭代运算收敛速度决定的自适应步长。(n) 为n 次迭代的梯度。对于LMS 算法(n)为下式即 Ee2(n)的斜率:由上式产生了求解最佳权系数 W*的两种方法,一种是最陡梯度法。其思路为:设计初始权系数W(0) ,用W(n+1)=W(n) 一 (n)迭代公式计算,到W(n+1)与W(n)误差小于规定范围。其中 (n) 计算可用估计值表达式:上式 K 取值应足够大。如果用瞬时一2e(n)X(n)来代替上面对-2Ee(n

12、)X(n)的估计运算,就产生了另一种算法随机梯度法,即Widrow-Hoft 的LMS 算法。此时迭代公式为:W(n+1)=W(n)+2ue(n)X(n)以后讨论的 LMS 算法都是基于 WidrOW-Hoff 的LMS 算法。上式的迭代公式假定滤波器结构为横向结构。对于对称横向型结构也可推出类似的迭代公式:W(n+1)=W(n)+2ue(n)X(n)+X(n 一N+1).4 自适应滤波算法的理论仿真与 DSP 实现4.1 MATLAB 仿真4.1.1 MATLAB 程序仿真使用 MATLAB 编程,采用自适应滤波器技术实现语音去噪过程,程序如下:clear all;clf;pi=3.14;s

13、ignal=sin(2*pi*0.055*0:999); %产生输入信号noise=randn(1,1000); %产生随机噪声nfilt=fir1(11,0.4); %产生 11 阶低通滤波,截止频率为 0.4fnoise=filter(nfilt,1,noise); %噪声信号进行 FIR 滤波d=signal.+fnoise; %将噪声叠加到信号中w0=nfilt.-0.01; % 设置初始化滤波器系数 mu=0.05; % 设置算法的步长s=initse(w0,mu); %初始化自适应 FIR 结构滤波y,e,s=adaptse(noise,d,s); %进行自适应滤波t=1:200;

14、plot(t,signal(1:200)figure(2);plot(t,d(1:200),.-,t,y(1:200),-);4.1.2 仿真结果(1)为了确保噪声的相关性,首先让噪声通过一个 11 阶的低通 FIR 滤波器然后将滤波后的噪声加到信号中去;(2)对程序中所使用的一些函数的详细说明,请参考 MATLAB 的函数说明,这些函数包括:FIR 、 INITSE、FILTER、PLOT 、ADAPTSE 等。图 4-1 为.原始信号的信号图;图 4-2 为滤波前信号和滤波后信号时域图。比较图 4-1 和图 4-2 可以看出,采用自适应滤波后的滤波输出信号和原始信号基本相似,噪声完全滤除。0 20 40 60 80 100 120 140 160 180 200-1-0.8-0.6-0.4-0.200.20.40.60.81信信信信信信信信信信图 4-1 原始信号时域图0 20 40 60 80 100 120 140 160 180 200-2.5-2-1.5-1-0.500.511.52 信信信信信信信信信信信信信信信信信信信信信信信信信图 4-2 滤波前信号和滤波后信号时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号