📄 lms.m
字号:
clear;
clc;
u=0.01;%步长因子
a=[-0.195,0.95];%AR模型系数
pin=10*log10(0.0965);%AR模型中输入白噪声的功率dB
K=100;%进行K次运算取平均
W=0;%累加器初值,把每一次运算得到的w向量进行累加,以便求平均(2×datanumber)
datanumber=1000;%仿真数据点数
for k=1:1:K
v=wgn(datanumber,1,pin,'real');%产生长为datanumber的实高斯白噪声列向量,噪声功率为pin dB
x(1)=v(1);
x(2)=v(2)-a(1)*x(1);
for n=3:1:datanumber
x(n)=v(n)-(a(1)*x(n-1)+a(2)*x(n-2));
end;%由AR模型产生要预测的信号序列x(n)
X(:,1)=[0;0];
X(:,2)=[x(1);0];
for n=3:1:datanumber
X(:,n)=[x(n-1);x(n-2)];
end;%构成输入信号向量
w(:,1)=[0;0];
for n=1:1:(datanumber-1)
y(n)=X(:,n)'*w(:,n);
e(n)=x(n)-y(n);
w(:,n+1)=w(:,n)+2*u*X(:,n)*e(n);
end;%通过迭代,计算权矢量
W=w+W;%将每一次的迭代结果累加到W中
end;
w=W/K;%求K次平均
N=1:1:datanumber;
plot(N,w(1,:),'-k',N ,w(2,:),'-k');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -