自适应滤波器课程设计(共21页).doc
《自适应滤波器课程设计(共21页).doc》由会员分享,可在线阅读,更多相关《自适应滤波器课程设计(共21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目 录引言滤波是电子信息处理领域的一种最基本而又极其重要的技术。在有用信号的传输过程中,通常会受到噪声或干扰的污染。利用滤波技术可以从复杂的信号中提取所需要的信号,同时抑制噪声或干扰信号,以便更有效地利用原始信号。滤波器实际上是一种选频系统,它对某些频率的信号予以很小的衰减,让该部分信号顺利通过;而对其他不需要的频率信号则予以很大的衰减,尽可能阻止这些信号通过。在电子系统中滤波器是一种基本的单元电路,使用很多,技术也较为复杂,有时滤波器的优劣直接决定产品的性能,所以很多国家非常重视滤波器的理论研究和产品开发。近年来,尤其数字滤波技术使用广泛,数字滤波理论的研究及其产品
2、的开发一直受到很多国家的重视。从总的来说滤波可分为经典滤波和现代滤波。经典滤波要求已知信号和噪声的统计特性,如维纳滤波和卡尔曼滤波。现代滤波则不要求己知信号和噪声的统计特性,如自适应滤波。自适应滤波的原理就是利用前一时刻己获得的滤波参数等结果,自动地调节现时刻的滤波参数,从而达到最优化滤波。自适应滤波具有很强的自学习、自跟踪能力,适用于平稳和非平稳随机信号的检测和估计。自适应滤波一般包括3个模块:滤波结构、性能判据和自适应算法。其中,自适应滤波算法一直是人们的研究热点,包括线性自适应算法和非线性自适应算法,非线性自适应算法具有更强的信号处理能力,但计算比较复杂,实际应用最多的仍然是线性自适应滤
3、波算法。线性自适应滤波算法的种类很多,有LMS自适应滤波算法、R路自适应滤波算法、变换域自适应滤波算法、仿射投影算法、共扼梯度算法等1。专心-专注-专业1 自适应滤波器简介自适应滤波器属于现代滤波器的范畴,自适应滤波器是相对固定滤波器而言的,固定滤波器属于经典滤波器,它滤波的频率是固定的,自适应滤波器滤波的频率则是自动适应输入信号而变化的,所以其适用范围更广。在没有任何关于信号和噪声的先验知识的条件下,自适应滤波器利用前一时刻已获得的滤波器参数来自动调节现时刻的滤波器参数,以适应信号和噪声未知或随机变化的统计特性,从而实现最优滤波。所谓自适应滤波,就是利用前一时刻已获得的滤波器参数等结果,自动
4、地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优化的维纳滤波器。2 自适应滤波原理所谓的自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优的维纳滤波器。自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理。由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用FIR和II种具有固定滤波系数的滤波器无法实现最优滤波。在这种
5、情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。一般而言,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。自适应滤波器的结构采用FIR 或IIR 结构均可,由于IIR 滤波器存在稳定性问题,因此一般采用FIR 滤波器作为自适应滤波器的结构。图1 给出了自适应滤波器的一般结构。图2-1 自适应滤波器的一般结构图 1 为自适应滤波器结构的一般形式,图中x(n)为输入信号,通过参数可调的数字滤波器后产生输出信号y(n),将输出信号y(n)与标准信号(或者为期望信号)d(n)进行比较,得到误差信号e(n)。
6、e(n)和x(n)通过自适应算法对滤波器的参数进行调整,调整的目的使得误差信号e(n)最小。自适应滤波器设计中最常用的是 FIR 横向型结构。图2 是横向型滤波器的结构示意图。图2-2 横向型滤波器的结构示意图其中:x(n)为自适应滤波器的输入;w(n)为自适应滤波器的冲激响应:w(n)=w(O),w(1),w(N-1);y(n)为自适应自适应滤波器的结构可以采用FIR或IIR滤波器存在稳定性问题,因此一般采用FIR滤波器作为自适应滤波器的结构。自适应FIR滤波器结构又可分为3种结构类型:横向型结构(Transversal Structure)、对称横向型结构(Symmetric Transv
7、ersal Structure)以及格型结构(Lattice Struture)。本文采用自适应滤波器设计中最常用的FIR横向型结构。3 自适应滤波算法自适应滤波器除了包括一个按照某种结构设计的滤波器,还有一套自适应的算法。自适应算法是根据某种判断来设计的。自适应滤波器的算法主要是以各种判据条件作为推算基础的。通常有两种判据条件:最小均方误差判据和最小二乘法判据。LMS 算法是以最小均方误差为判据的最典型的算法,也是应用最广泛的一种算法。最小均方误差(Least Mean Square,LMS)算法是一种易于实现、性能稳健、应用广泛的算法。所有的滤波器系数调整算法都是设法使y(n)接近d(n)
8、,所不同的只是对于这种接近的评价标准不同。LMS 算法的目标是通过调整系数,使输出误差序列e(n)=d(n)-y(n)的均方值最小化,并且根据这个判据来修改权系数,该算法因此而得名。误差序列的均方值又叫“均方误差”(Mean Sqluare Error,MSE)。理想信号 d(n)与滤波器输出y(n)之差e(n)的期望值最小,并且根据这个判据来修改权系数wi(n)。由此产生的算法称为LMS。均方误差表示为:对于横向结构的滤波器,代入 y(n)的表达式:其中:R=EX(n)XT(n)为NN 的自相关矩阵,它是输入信号采样值间的相关性矩阵。P=Ed(n)X(n)为N1 互相关矢量,代表理想信号d(
9、n)与输入矢量的相关性。在均方误差达到最小时,得到最佳权系数:它应满足下式:,这是一个线形方程组,如果R 矩阵为满秩的,R-1 存在,可得到权系数的最佳值满足:W*=R-1p。用完整的矩阵表示为:显然x(m)=Ex(n)x(n-m)为x(n)的自相关值,xd(R)=Ex(n)d(n 一k)为x(n)与d(n)互相关值。在有些应用中,把输入信号的采样值分成相同的一段(每段称为一帧),再求出R,P 的估计值得到每帧的最佳权系数。这种方法称为块对块自适应算法。如语音信号的线性预测编码LPC 就是把语音信号分成帧进行处理的。R,P 的计算,要求出期望值E,在现实运算中不容易实现,为此可通过下式进行估计
10、:用以上方法获得最佳 W*的运算量很大,对于一些在线或实时应用的场合,无法满足其时间要求。大多数场合使用迭代算法,对每次采样值就求出较佳权系数,称为采样值对采样值迭代算法。迭代算法可以避免复杂的R-1 和P 的运算,又能实时求得近似解,因而切实可行。LMS 算法是以最快下降法为原则的迭代算法,即W(n+1)矢量是W(n)矢量按均方误差性能平面的负斜率大小调节相应一个增量:W(n+1)=W(n)-(n),这个“是由系统稳定性和迭代运算收敛速度决定的自适应步长。(n)为n 次迭代的梯度。对于LMS 算法(n)为下式即Ee2(n)的斜率:由上式产生了求解最佳权系数 W*的两种方法,一种是最陡梯度法。
11、其思路为:设计初始权系数W(0),用W(n+1)=W(n)一(n)迭代公式计算,到W(n+1)与W(n)误差小于规定范围。其中(n)计算可用估计值表达式:上式 K 取值应足够大。如果用瞬时一2e(n)X(n)来代替上面对-2Ee(n)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+
12、1)4 自适应滤波算法的理论仿真与DSP实现4.1 MATLAB仿真4.1.1 MATLAB程序仿真使用MATLAB编程,采用自适应滤波器技术实现语音去噪过程,程序如下:clear all;clf;pi=3.14;signal=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; % 设
13、置初始化滤波器系数 mu=0.05; % 设置算法的步长s=initse(w0,mu); %初始化自适应FIR结构滤波y,e,s=adaptse(noise,d,s); %进行自适应滤波t=1:200;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等
14、。图4-1为原始信号的信号图;图4-2为滤波前信号和滤波后信号时域图。比较图4-1和图4-2可以看出,采用自适应滤波后的滤波输出信号和原始信号基本相似,噪声完全滤除。图4-1 原始信号时域图图4-2 滤波前信号和滤波后信号时域图对比图4-2中滤波前和滤波后的信号可以看出,信号中的噪声完全滤除,信号完全恢复,通过Matlab仿真结果分析,自适应滤波器具有很好的性能。4.2 DSP的理论基础 数字信号处理(DSP)是指人们利用计算机或专用处理设备,以数字的形式对信号进行采集,变换,滤波,估值,增强,压缩,识别等处理,以得到符合人们需要的信号形式。其框图如图4-3所示。X(t)X(n)Y(n)Y(t
15、)前置滤波后置滤波A/D转换D/A转换DSP数字处理器图4-3 数字信号处理系统的简化框图DSP内部一般都包含多个处理单元,如算术逻辑运算单元,辅助寄存器运算单元,累加器等。另外DSP芯片也有很多种,这里着重介绍TMS320C5000系列。 目前TMS320C5000系列芯片包括了TMS320C54XX和TMS320C55XX两大类。这两类芯片的软件互相兼容。但是本文选择TMS320C55XX系列DSP芯片。1.结构特点比较(1) TMS320C54XX和TMS320C55XX均为16bit定点DSP(2) C55XX有双MAC单元;C54XX只有单MAC单元。(3) C55XX 的指令长度可
16、变,且没有排队的限制;C54X的指令长度固定。(4) C55XX有12组总线;C54XX只有8组总线。(5) C55XX提供了EMIF外部存储器扩展接口,可以直接使用SDRAM,而C54XX则不能直接使用。2.内部结构对比(1) C54XX关注于低功耗,而C55XX则将低功耗提高到一个新水平:300MHZ的C55XX和120MHZ的C54XX相比,性能提高了5倍,而功耗则降到1/6。(2) C55XX总线的宽度为32bit,而C54XX总线宽度为16 bit。C55XX有三组数据读总线和两组数据写总线,而C54XX有两组数据读总线和一组数据写总线。(3) C55XX包含一个40bit的ALU。
17、用户可以用ALU作32bit的运算。C54XX包含一个分开40bit的ALU。它的ALU可以做成两个16bit的配置。(4) C55XX可以执行可变长度的指令,这和C54XX有显著的不同。C54XX的指令长度为固定的16 bit,而C55XX的指令长度则为848 bit。3. 寻址模式对比C54XX支持单数据存储器操作数寻址和32 bit操作数寻址,还使用并行指令支持双数据存储器操作数寻址。它也提供立即数寻址,循环寻址和位倒序寻址。在C54XX的基础上,C55XX还支持绝对值寻址,寄存器间接寻址,直接寻址。C55XX的ADFU包括专门的寄存器,支持使用间接寻址指令的循环寻址。可以同时使用5个独
18、立的循环缓冲器和3个独立的缓冲器长度。这些循环缓冲器没有地址排队的限制。4.3 自适应滤波算法的DSP实现为了提高LMS 算法的处理速度及减小系统的硬件规模, 在实现滤波器算法时, 采用了TMS320C54xx 作为核心芯片。由于该处理器采用改进型结构,具有高度并行性,同时拥有高度集成的指令系统,简化编程过程,模块化结构程序设计增强了程序的可移植性。利用TMS320C54xx实现LMS 自适应算法时,存储器中数据的存放形式对DSP 的有效运用有着特殊的意义,合理的存放形式,可以使算法实现起来更加快速和高效,为了实现算法中输入样值x(n) 和滤波器系数W(n) 的对应项相乘,他们在存储器中的存放
19、形式如图4-4 所示。图4-4 TMS320C54xx自适应滤波器存储器组织形式根据算法和DSP汇编语言程序(见附录), 在CCS 环境下编译,连接生成公共目标代码文件,在线下载到DSP 中运行。为了能观察到相应的波形, 在CCS 环境下选择View Grap h Time Freqency 进入图形观察窗口,在“Graph Property Dialog”窗口中选定相应类型的值。将编译产生的可执行文件下载到DSP芯片中,经过运行得到图4-5为输入信号的时域图,由图可以看到,正弦信号中叠加了噪声,导致正弦信号出现了较大的畸变。通过对输入信号进行FFT变换,可以得到其频谱图如图4-6,由图4-6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自适应 滤波器 课程设计 21
限制150内