• 大小: 1KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Matlab
  • 标签: LMS算  

资源简介

采用LMS算法利用自适应滤波器进行系统辨识,输入信号为白噪声,滤波器阶数为50,收敛步长为0.01,通过比较未知系统和自使用滤波器的幅频响应来观察辨识的效果。

资源截图

代码片段和文件信息

%例2.3.3采用LMS算法利用自适应滤波器进行系统辨识,输入信号为白噪声,滤波器阶数为50,收敛步长为0.01
%参数设置
a=[1 -1.6 1.75 -1.43 0.6814 -0.1134 -0.0648];
b=[2 -3 -1 4 5 -8];
r=1000;L=50;mu=0.01;  
%建立输入和期望的输出
x=-1+2*rand(r1);d=filter(bax);
%......................................................................................................
N=length(x);w=zeros(L+11);theta=zeros(L+11);
e=zeros(size(x));q=x(:);
%寻找最佳权矢量
for k=1:N
    if k<(L+1)
        theta(1:k)=q(k:-1:1);
    else
        theta=q(k:-1:k-L);
    end
    e(k)=d(k)-w‘*theta;
    w=w+2*mu*e(k)*theta;
end
%绘制平方误

评论

共有 条评论