ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:322.50KB ,
资源ID:9871398      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9871398.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP课程设计自适应滤波器.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP课程设计自适应滤波器.docx

1、DSP课程设计自适应滤波器 数字信号处理课程设计_ 自适应滤波器设计与实现 系 别 计算机科学系 专 业 通信工程 班 级 学 号 组 次 姓 名 指导教师 评定成绩 起止日期 年 月 日 至 年 月 日 摘 要:自适应滤波器是统计信号处理的一个重要组成部分。在实际应用中,由于没有充足的信息来设计固定系数的数字滤波器,或者设计规则会在滤波器正常运行时改变,因此我们需要研究自适应滤波器。凡是需要处理未知统计环境下运算结果所产生的信号或需要处理非平稳信号时,自适应滤波器可以提供一种吸引人的解决方法,而且其性能通常远优于用常方法设计的固定滤波器。此外,自适应滤波器还能提供非自适应方法所不可能提供的新

2、的信号处理能力。本文从自适应滤波器研究的意义入手,介绍了自适应滤波器的基本理论思想,具体阐述了自适应滤波器的基本原理、算法及设计方法。自适应滤波器的算法是整个系统的核心。本文中,对两种最基本的自适应算法,即最小均方误差(LMS)算法和递归最小二乘(RLS)算法进行了详细的介绍和分析,并针对两种算法的优缺点进行了详细的比较。同时,分别对FIR结构和IIR结构自适应滤波器做了详细的介绍,比较了FIR结构和IIR结构自适应滤波器的优缺点。最终采用改进的LMS算法设计FIR结构自适应滤波器,并采用MATLAB进行仿真,最后用DSP实现了自适应滤波器。实验结果表明,该自适应滤波器滤波效果优越。第一章 课

3、程设计的目的和要求1.1目的对自适应滤波算法的研究是当今自适应信号处理中最为活跃的研究课题之一。Windrow等于1967年提出的自适应滤波系统的参数能自动的调整而达到最优状况,而且在设计时,只需要很少的或根本不需要任何关于信号与噪声的先验统计知识。自适应滤波器本身有一个重要的自适应算法,这个算法可以根据输入、输出及原参量信号按照一定准则修改滤波参量,以使它本身能有效的跟踪外部环境的变化。因此,自适应数字系统具有很强的自学习、自跟踪能力和算法的简单易实现性。自适应滤波技术的核心问题是自适应算法的性能问题,提出的自适应算法主要有最小均方(LMS)算法、递归最小二乘(RLS)算法及相应的改进算法如

4、:归一化(NLMS)算法、变步长(SVSLMS)算法、递归最小二乘方格形(RLSL)算法等。这些算法各有特点,适用于不同的场合。比如用于系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测、自适应天线阵等诸多领域。自适应滤波,对发展通信业务有着不可或缺的作用。所以是我们通信专业学习的重点。也是巩固数字信号处理知识的一个重要的实验。1.2要求本文设计自适应滤波要求使用DSP实现自适应滤波器,要求掌握自适应滤波器的原理和实现方法。因为自适应滤波器的设计用到了自适应算法和FIR滤波算法。而自适应滤波算法有LMS算法和RLS算法,本文只用LMS算法。LMS算法是通过对未知系统传递函数的建模

5、,识别该未知系统,并对该系统进行噪声滤波。自适应滤波器,其权系数可以根据自适应算法来不断修改,使得系统中的冲激响应满足给定的性能。例如语音信号的ADPCM编码,采用线性预测自适应就可以实现误差信号与输入信号的线性无关,并由此作为依据,不断调节滤波器的权系数,最终使得误差信号趋近于0,使得该滤波器完全适应该输入信号;同样,只要输入信号出现变换,自适应滤波器根据误差信号的变化再次调整其权系数,从而跟上信号的变化。自适应滤波器设计的算法采用的是自适应算法,即LMS算法。LMS算法是通过对未知系统传递函数的建模,识别该未知系统,并对该系统进行噪声滤波。第二章 自适应滤波器功能介绍及总体设计方案2.1功

6、能:自适应滤波器可以利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。2.2总体设计方案:自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。如下图所示:自适应滤波器的一般形式如图1所示I5,图中 输入信号 X(N)加权到数字滤波器产生输出信号Y (N),自适应算法调节滤波器权系数使输出Y(N)和滤波器期望的响应 F(n)之间的误差信号E(N)为最小。自适应滤波器的系数受误差信号的控制,根据E(N)的值 和自适应算法自动调整。一旦输入信号的统计规律发 生了变化,滤波器能够自动

7、跟踪输入信号的变化,自动调整滤波器的权系数,实现自适应过程,最终达到滤波效果。第三章 主要内容和步骤3.1自适应滤波原理自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。下图为自适应滤波器原理框图:图中,自适应滤波器有两个输入端:一个输入端的信号Z(n)含有所要提取的信号s(n),被淹没在噪声 d(n)中,s(n).d(n)两者不相关,z(n)=s(n)+d(n)。另一输入端信号为x(n),它是z(n)的一种度量,并以某种方式与噪声d(n)有关。x(n)被数字滤波器所处理得到噪声d(n)的估计值y(n),这样就可以从z(n)中减去y(n),得到所要提取的

8、信号s(n)的估计值e(n),表示为:e(n)=z(n)-y(n)=s(n)+d(n)-y(n)。显然,自适应滤波器就是一个噪声抵消器。如果得到对淹没信号的噪声的最佳估计,就能得到所要提取的信号的最佳估计。为了得到噪声的最佳估计y(n),可以经过适当的自适应算法,例如用LMS(最小均方)算法来反馈调整数字滤波器的系数,使得e(n)中的噪声最小。e(n)有两种作用:一是得到信号s(n)的最佳估计;二是用于调整滤波器系数的误差信号。 自适应滤波器中,数字滤波器的滤波系数是可调的,多数采用FIR型数字滤波器,设其单位脉冲响应为h(0), h(1), ,h(N-1),你们它在时刻n的输出便可写成如下的

9、卷积形式y(n)= h(k)x(n-k) 为方便起见,上式中的各h(k)亦被称为权值。根据要求,输出y(n)和目标号d(n)之间应满足最小均方误差条件,即 Ee2(n)=Ed(n)-y(n)2 (2-2)有最小值,其中e(n)表示误差。令 Ee2(n)/ h(k)=0 (2-3)并把式(22)代入,便得正交条件:Ee(n)x(n-k)=0 , 0kN-1 (2-4)如果令h=hT(0,1,2,.,N-1),x(n)=xT(n,n-1,.,n-N-1)那么式(2-1)便可被写成y(n)=xT(n)h=hTx(n) (2-5)而由式(2-4)给出的正交条件则变为:Ed(n)-y(n)x(n)=0把

10、式(2-5)代入上式后,有 Ed(n)x(n)= Ex(n)xT(n)h (2-6)如果令:r=Ed(n)x(n),xx= Ex(n)xT(n),那么最佳权向量 h*=xx -1r (2-7)第四章 详细设计过程4.1 LMS自适应算法自适应算法是根据某种判断来设计的。通常有两种判据条件:最小均方误差判据和最小二乘法判据。LMS 算法是以最小均方误差为判据的最典型的算法,也是应用最广泛的一种算法。最小均方误差(Least Mean Square,LMS)算法是一种易于实现、性能稳健、应用广泛的算法。所有的滤波器系数调整算法都是设法使Y(N)接近F(N),所不同的只是对于这种接近的评价标准不同。

11、LMS 算法的目标是通过调整系数,使输出误差序列的均方值最小化,并且根据这个判据来修改权系数,该算法因此而得名。误差序列的均方值又叫“均方误差”(Mean Sqluare Error,MSE)。理想信号 与滤波器输出之差的期望值最小,并且根据这个判据来修改权系数。由此产生的算法称为LMS。均方误差表示为: (2-3)对于横向结构的滤波器,代入 的表达式: (2-4)其中:为 的自相关矩阵,它是输入信号采样值间的相关性矩阵。 为互相关矢量,代表理想信号与输入矢量的相关性。在均方误差。达到最小时,得到最佳权系数: (2-5)它应满足下式: (2-6)这是一个线形方程组,如果矩阵为满秩的,存在,可得

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

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

14、如果用瞬时一2e(n)X(n)来代替上面对-2Ee(n)X(n)的估计运算,就产生了另一种算法随机梯度法,即Widrow-Hoft 的LMS 算法。此时迭代公式为: (2-13)滤波器结构为横向结构。对于对称横向型结构也可推出类似的迭代公式: 4.2 FIR 滤波器设计 设h(n),n=0,i2N-l为滤波器的冲激响应,输人信号为x(n),则FIR滤波器就是要实现下列差分方程: 式中,y(n)为输出信号,即经过滤波之后的信号;N为滤波器阶数。FIR滤波器的最主要特点是没有反馈回路,因此是无条件稳定系统,其单位脉冲响应h(n)是一个有限长序列。由式(1)可见,FIR滤波算法实际上是一种乘法累加运

15、算。不断地输入样本x(n),经延时(z-1)做乘法累加,再输出滤波结果Y(n)对式(1)进行z变换整理后可得FIR滤波器的传递函数为:。 FIR滤波器的一般结构如图l所示。 其中,X(n )=x(n),x(n-1),x(n-N+1) 为自适应滤波器的输入矢量;W( n)=w0(1 ),w1 (n ), ,wn-1(n )T 为系统的权系数矢量;为时间序列;N 为滤波器的阶数;T为矩转置符。由表达式可以看出 输出是两矢量的内积。4.3 自适应滤波器MATLAB实现4.3.1 FIR滤波算法 MATLAB仿真实现MATLAB信号处理工具箱提供了基于窗函数法的FIR滤波器的设计函数fir1。fir1

16、是采用经典窗函数法设计线性相位FIR数字滤波器,且具有标准低通、带通、高通和带阻等类型。语法格式:B=fir1(n,)B=fir1(n, ,ftype)B=fir1(n, ,window)B=fir1(n, ,ftype,window)其中,n为FIR滤波器的阶数,对于高通、带阻滤波器n取偶数。为滤波器截止频率,取值范围为01。对于带通、带阻滤波器,=,且。ftype为滤波器类型。缺省时为低通或带通滤波器,为high时是高通滤波器,为stop时是带阻滤波器。Window为窗函数,列向量,其长度为n+1;缺省时,自动取hamming窗。输出参数B为FIR滤波器系数向量,长度为n+1。4.3.2

17、自适应滤波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; % 设置初始化滤波器系数 mu=0.05; % 设置算法的步长s=inits

18、e(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.3.3 仿真结果 图4-1 原始信号时域图 图4-2滤波前和滤波后信号时域图4.4 自适应滤波器DSP设计实现4.4.1 DSP理论基础数字信号处理(DSP)是指人们利用计算机或专用处理设备,以数字的形式对信号进行采集,变换,滤波,估值,增强,压缩,识别等处理,以得到符合人们需要的信号形式。其框图如图3-1所示。图4-1 数字信号处理简

19、化框图这里我们用DSP来做自适应滤波器。为了提高LMS 算法的处理速度及减小系统的硬件规模, 在实现滤波器算法时, 采用了TMS320C54xx 作为核心芯片。由于该处理器采用改进型结构,具有高度并行性,同时拥有高度集成的指令系统,简化编程过程,模块化结构程序设计增强了程序的可移植性。利用TMS320C54xx实现LMS 自适应算法时,存储器中数据的存放形式对DSP 的有效运用有着特殊的意义,合理的存放形式,可以使算法实现起来更加快速和高效,为了实现算法中输入样值x(n) 和滤波器系数W(n) 的对应项相乘,他们在存储器中的存放形式如图4-2 所示。 图4-2 TMS320C54xx自适应滤波

20、器存储器组织形式根据算法在 CSS 软件中建立工程编写C语言程序代码。在CSS环境下编译和下载到DSP试验箱中。进行一些列相应的设置后实现自适应滤波。4.4.2程序设计实验中采用的自适应滤波器采用16阶FIR滤波器,采用相同的信号作为参考d(n)和输入信号x(n),并采用上一时刻的误差值来修正本时刻的滤波器系数,2取值0.0005,对滤波器输出除128进行幅度限制。实验流程图如下:程序设计的整个实现过程主要分为3个步:(1)滤波运算前的相关运算单元、寄存器以及变量的初始化;原始信号xxi=256*sin(i*2*PI/34); (2)根据输入的采样值计算滤波器的输出并求出误差; 这一步是最重要

21、的滤波计算,我们用FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber) 这个函数来实现。其完整代码是int FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber) int i,r; float fWork; r=0; for ( i=0;inCoeffNumber;i+ ) fWork=nxi*nError*fU; nhi+=fWork; r+=(nxi-i*nhi); r/=128; return r;收敛因子fU=0.0005。nError是上一次的误差值, fWork是当前的滤波器权

22、系数,输出值r。这里实现自适应算法中的公式。输出值y(n)等于输入值x(n-1)*w(i)的积分。 (3)根据LMS算法的迭代公式更新滤波器参数,有新的采样输入后转到第二步循环执行。把一信号进行采样。把采样点放在数字中。这里用到了输入信号数组xx,输出信号数组rr,误差数组wc,以及滤波器权系数h。通过for循环语句进行一个一个样点值滤波计算。得到想要的结果。for ( i=COEFFNUMBER+1;iGraph-Property.) 设置如下 图5-1 设置输入信号XX 图 5-2 设置输出信号rr 图5-3 设置误差wc7.观察结果8.退出CCS5.2 DSP实现结果观察得结果的波形如下

23、: 图5-4 输出信号原始波形 图5-5 滤波后输出信号的波形 图5-6自适应 误差e(n)波形第六章 结论与体会本课程设计的重点是自适应FIR滤波器的设计和DSP的实现。对线性自适应滤波器的算法作了大量调查和研究,详细比较了FIR结构滤波器和IIR结构滤波器,并结合硬件设计考虑,最终采用FIR横向结构滤波器。自适应滤波技术的核心问题是自适应算法的性能问题,研究自适应算法是自适应滤波器的一个关键内容,算法的特性直接影响滤波器的效果。介绍了两种基本的自适应算法:最小均方(LMS)算法及递归最小二乘(RLS)算法,在DSP上实现了对含噪信号的频率跟踪。在实际中,自适应滤波器的应用比较复杂,包括维纳

24、滤波和卡尔曼滤波都是基于改变参数的滤波方法,修改参数的原则一般采用均方最小原则,修改参数的目的就是使得误差信号尽量接近于0。传统的滤波方法总是设计较精确的参数,尽量精确地对信号进行处理,传统滤波方法适用于稳定的信号,而自适应滤波器可以根据信号随时修改滤波参数,达到动态跟踪的效果。通过本课程设计加深了对DSP原理的理解,初步掌握了DSP 芯片的开发应用,为接下来的深入学习打下了坚实的基础。但是同时还有很多的问题还有待于进一步深入研究,我将在今后的学习工作中,要加强学习,不断进取。 参考文献 1 西蒙赫金.自适应滤波器原理.北京:电子工业出版社,20032 陈怀琛,吴大正,高西全.MATLAB及在

25、电子信息课程中的应用(第2版)M.北京:电子工业出版社, 20043 高西全,丁玉美.数字信号处理(第三版)M.西安:西安电子科技大学出版社,20084 刘顺兰,吴 杰.数字信号处理(第二版)M.西安:西安电子科技大学出版社,20085 吴湘淇.信号、系统与信号处理(上、下)M.北京:电子工业出版社,20006 张志勇.精通MATLAB6.5M.北京:北京航空航天大学出版社,20037 门爱东,杨 波,全子一.数字信号处理M.北京:人民邮电出版社, 20038 吴湘淇.信号与系统(第3版)M.北京:电子工业出版社, 20099 吴湘淇,肖熙,郝晓莉.信号、系统与信号处理的软硬件实现M.北京:电

26、子工业出版社, 200210 万建伟,王 玲.信号处理仿真技术M.长沙:国防科技大学出版社, 200811 John G. Proakis,Dimitris G.Manolakis.数字信号处理M.方艳梅,刘永清译.北京:电子工业出版社,200712 Sanjit K Mitra. 数字信号处理实验指导书M.孙洪等译.北京:电子工业出版社,2006附件源程序清单:/*Main()主函数。 */ Example For ICETEK-VC5416-EDU / CTR Version : V4 / Filename: FirLms.c / Project : FirLms.pjt / Versio

27、n : 2.00 / Write by: Daniel Hawk / Company : Realtimedsp Co.Ltd. / / All Rights opened & no Onus 2005.06 /#includemath.h#define PI 3.1415926#define COEFFNUMBER 16#define INPUTNUMBER 1024int FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber);float hCOEFFNUMBER,fU;int xxINPUTNUMBER,rrINPUTNUMBER,wc

28、INPUTNUMBER;main() int i,nLastOutput; nLastOutput=0; fU=0.0005; for ( i=0;iCOEFFNUMBER;i+ ) hi=0; for ( i=0;iINPUTNUMBER;i+ ) xxi=256*sin(i*2*PI/34); rri=wci=0; for ( i=COEFFNUMBER+1;iINPUTNUMBER;i+ ) nLastOutput=FIRLMS(xx+i,h,nLastOutput-xxi-1,COEFFNUMBER); / break point rri=nLastOutput; wci=rri-xxi; exit(0);int FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber) int i,r; float fWork; r=0; for ( i=0;inCoeff

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1