LMS与RLS算法程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%LMS算法程序
clear
N=2000;Fs=500
n=0:N-1;t=n/Fs;
s=5*sin(2*pi*t);%标准正弦信号
xn=randn(1,length(t));%与时间t等长随机信号 x=s+xn;%加噪信号
w=[0,0];%初始2阶加权系数
u=0.00026;%最佳参数
for i=1:N-1;%自适应算法
y(i+1)=xn(i:i+1)*w';
e(i+1)=x(i+1)-y(i+1);
w=w+2*u*e(i+1)*xn(i:i+1);
end;
%画图程序
subplot(4,1,1)
plot(t,s);
title('输入周期信号');
xlabel('t');
ylabel('s(t)');
subplot(4,1,2)
plot(t,xn);
title('噪声信号');
xlabel('t');
ylabel('xn(t)');
subplot(4,1,3)
plot(t,x);
title('加噪信号');
xlabel('t');
ylabel('x(t)');
subplot(4,1,4)
plot(t,e);
title('自适应滤波器输出结果');
xlabel('t');
ylabel('e(t)');
%RLS算法程序
clear
N=2000;Fs=500;
n=0:N-1;t=n/Fs;
xs=( sin(2*pi*t))';
subplot(4,1,1);
plot(t,xs);grid;
ylabel('幅度');
title('\it{输入周期性信号}');
xn=( 0.6*randn(1,length(t)))'; subplot(4,1,2);
plot(t,xn);grid;
ylabel('幅度');
xlabel('时间');
title('\it{随机噪声信号}');
d=xs;
x=xs+xn;
M=32;
w=(zeros(1,M))';
p=0.001*eye(M,M);
a=0.98;
for n=M:N;
x1=x(n:-1:n-M+1);
pi_ = x1' * p ;%互相关函数
k = a + pi_ * x1 ;
K = pi_'/k;%增益矢量
e(n)=d(n)-w'*x1;
w=w+K*conj(e(n));
y(n)=w'*x1;
end
subplot(4,1,3);
plot(t,x);grid;
axis([0 4 -2 2]);
ylabel('幅度');
xlabel('时间');
title('\it{加入噪声信号}');
subplot(4,1,4);
plot(t,y);grid;
ylabel('幅度');
xlabel('时间');
axis([0 4 -1 1]);
title('\it{自适应滤波器输出信号}');