📄 lms_a.m
字号:
%――对正弦波和三角波分别均匀采样64点
a=linspace(2*pi/64,2*pi,64);
X1=sin(a); %正弦波
b1=[1:15]/16;
b2=[16:-1:-16]/16;
b3=[-15:0]/16;
X2=[b1 b2 b3]; %三角波
Z=[X1;X2]';
plot(Z,'b');
figure(1);
title('正弦信号与三角波信号');
u=rand(1,64);
v=-rand(1,64);
W=u+v;
c=input('请输入初始步长: ')
X=X2;
y=W*X';
d=1;
e=d-y;
n=1;
err = e^2;
b=c;
yuchansx=input('请输入误差上限: ');
fangcha=input('请输入加入噪声方差:');
while (err(n)>yuchansx)
step=n
W=W+b*(e*X);
if X==X1
X=X2;
noi= fangcha^(1/2)*randn(1,64); %加入正态噪声后的状态
X=X1+noi; %加入正态噪声后的状态
y=W*X';
d=0;
e=d-y;
else X==X2
X=X1;
noi=fangcha^(1/2) *randn(1,64); %加入正态噪声后的状态
X=X1+noi; %加入正态噪声后的状态
y=W*X';
d=1;
e=d-y;
end;
n=n+1
err(n)=e^2;
end;
W
y1=W*(X1+noi)'
y2=W*(X2+noi)'
plot(noi); % 加入正态噪声后的状态
%plot(err,'r');
xlabel('n');
ylabel('err');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -