%-----------LMS算法------------%
close all;
clear all;
clc;
p=9;
loop=5;
N=1500;
n=0:N-1;
x=sin(600.1*pi*n);
x1=0.8*sin(600.1*pi*n);
s=1/6*sin(2000.1*pi*n);
d=s+x1;
figure;
subplot(5,1,1);
plot(x); grid;
xlabel('样本n');
ylabel('幅值');
title('远端输入信号');
subplot(5,1,2);
plot(x1); grid;
xlabel('样本n');
ylabel('幅值');
title('回声信号');
subplot(5,1,3);
plot(s); grid;
xlabel('样本n');
ylabel('幅值');
title('近端语音信号');
subplot(5,1,4);
plot(d); grid;
xlabel('样本n');
ylabel('幅值');
title('期望信号');
y=zeros(size(n));
w=zeros(1,p+1);
e=zeros(size(n));
E=zeros(size(n));
u=0.001;
for q=1:loop
for i=1:N-p
y(i+p)=w*x(i:i+p)';
e(i+p)=d(i+p)-y(i+p);
w=w+2*u*e(i+p)*x(i:i+p);
end
E=E+e.^2;
end
E=E/loop;
subplot(5,1,5);
plot(y); grid;
xlabel('样本n');
ylabel('幅值');
title('自适应滤波输出信号');
figure;
plot(E); grid;
- 1
- 2
前往页