在MATLAB中采用RLS算法实现FIR自适应滤波器 罗文超.pdf

在MATLAB中采用RLS算法实现FIR自适应滤波器 罗文超.pdf

ID:57637725

大小:69.88 KB

页数:2页

时间:2020-08-29

在MATLAB中采用RLS算法实现FIR自适应滤波器 罗文超.pdf_第1页
在MATLAB中采用RLS算法实现FIR自适应滤波器 罗文超.pdf_第2页
资源描述:

《在MATLAB中采用RLS算法实现FIR自适应滤波器 罗文超.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7卷第1期软件导刊Vol.7No.12008年1月SoftwareGuideJan.2008在MATLAB中采用RLS算法实现FIR自适应滤波器罗文超,张友纯(中国地质大学信息工程学院,湖北武汉430070)摘要:在自适应信号处理中,FIR滤波器被广泛使用。介绍了在MATLAB环境中采用RLS算法实现FLR自适应滤波器的方法。关键词:自适应;FIR;滤波器;MATLAB;RLS中图分类号:TP312文献标识码:A文章编号:1672-7800(2008)01-0107-02FIR自适应滤波器除了采用LMS算法外,还可以采有递归inp=randn(N,1);最小二乘方

2、(RLS)算法。该算法实际上是FIR维纳滤波器的一n=randn(N,1);种时间递归算法,它是严格以最小二乘法准则为依据的算法,[b,a]=butter(2,0.25);主要优点是收敛速度快。因此,其首先在快速信道均衡、实时系Gz=tf(b,a,-1);统辨识和时间序列分析中得到了广泛应用。%y(n)=b1*u(n)+b2*u(n-1)+b3*u(n-2)-a1*y(n-1)-a2*y(n-2)h=[b-a(2:length(a))];1递推最小二乘(RLS)算法%channelsystemorderfixedaswehave5elements(3inaand2i

3、nb)递推最小二乘(RLS)算法的递推公式如下:inporder=3;Tωm(n)=ωm(n-1)+gm(n)[d(n)-xm(n)ωm(n-1)](1)outorder=2;其中,n时刻的最佳ωm(n)可由(n-1)时刻的最佳值ωm(n)加一sysorder=inporder+outorder;修正量得到,修正量等于gTTm(n)[d(n)-xm(n)ωm(n-1)]。其中xm(n)ωmy=lsim(Gz,inp);(n-1)为根据(n-1)时刻的最佳加权和n时刻数据对d(n)的预测%addsomenoise值,因而d(n)-xTm(n)ωm(n-1)为预测误差。

4、gm(n)确定了根据预测误n=n*std(y)/(15*std(n));差进行修正时的比例系数,因而称之为增益系数。d=y+n;比较式(1)和LMS算法的递推公式totallength=size(d,1);Tω(n)=ω(n-1)+2μx(n)[d(n)-x(n)ωm(n-1)]%Takeonly50pointsfortraining(N-inporder47=50-可看出两者的差别仅在增益系数上:LMS算法简单利用输3)入矢量乘上常数μ作增益系数;而RLS算法则利用了复杂的增N=50;益系数gm(n)。%beginofthealgorithm2在MATLAB环境中

5、实现RLS算法%forgettingfactorlamda=0.999;代码如下:%initialPmatrix%FIR_rls:FIRRLSalgorithmdemodelta=1e2;clearallP=delta*eye(sysorder);closeallw=zeros(sysorder,1);holdoffforn=inporder:N%Numberofsystempoints%u(n),u(n-1),u(n-2)N=2000;u=inp(n:-1:n-inporder+1);作者简介:罗文超(1983-),男,山西太原人,中国地质大学(武汉)信息工程学院

6、硕士研究生,研究方向为数字信号处理;张友纯(1954-),男,湖北鄂州人,中国地质大学(武汉)信息工程学院硕士研究生导师、教授,研究方向为数字信号处理、计算机安全。·108·软件导刊2008年%d(n-1),d(n-2)outp=d(n-1:-1:n-outorder);3结果输出u=[u;outp];在MATLAB环境中采用RLS的输出结果如附图所示。phi=u'*P;k=phi'/(lamda+phi*u);y(n)=w'*u;e(n)=d(n)-y(n);w=w+k*e(n);P=(P-k*phi)/lamda;%JustforplottingRecorded

7、w(1:sysorder,n)=w;end%checkofresultsforn=N+1:totallength%u(n),u(n-1),u(n-2)u=inp(n:-1:n-inporder+1);%d(n-1),d(n-2)outp=d(n-1:-1:n-outorder);u=[u;outp];y(n)=w'*u;e(n)=d(n)-y(n);endholdonplot(d)plot(y,'r');title('系统输出');xlabel('抽样')ylabel('实际和估计输出')figuresemilogy((abs(e)));title('误差曲线'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。