📄 lms_adapter.m
字号:
u=0.00025;
%算法的收敛性由收敛因子u决定,只有u在理论要求的范围内时,算法才收敛,否则发散。
%在u值使算法收敛的范围内,u值越大,收敛速度越快,u值越小,收敛速度越慢。
N=200;fo=100;f=1000;fai=pi/6;C=10;noise=1*randn(1,N);
pow1=(noise.*noise); %pow1相当于randn(1,2*N)
power1=0;for k=1:N power1=power1+pow1(1,k);end
power1=power1/N;for k=1:N signal(k)=2*cos(2*pi*k*fo/f);end
power2=sqrt(2)/2*2; %有效值
INPUT_SNR=10*log(power2/power1) %信噪比
d=noise+signal; %合成信号
for k=1:N %参考信号
x1(k)=C*cos(2*pi*k*fo/f+fai);x2(k)=C*cos(2*pi*k*fo/f+fai+pi/2);
end
W1=0.5*ones(1,N+1);W2=0.5*ones(1,N+1);y=zeros(1,N);e=zeros(1,N);
for j=1:N %LMS(线形均方估计)算法,即最小均方估计
y(j)=W1(j)*x1(j)+W2(j)*x2(j);e(j)=d(j)-y(j);
W1(j+1)=W1(j)+2*u*e(j)*x1(j);W2(j+1)=W2(j)+2*u*e(j)*x2(j);
end
s1=0.0;s2=0.0;M=N-10;for k=M:N s1=s1+W1(k);s2=s2+W2(k);end
s1=s1/(N-M+1);s2=s2/(N-M+1);sa=num2str(s1);sb=num2str(s2);
%图象表示
figure(1);plot(W1);axis([0,N,-0.5,0.5]);grid on; %最佳权值W1
figure(2);plot(W2);axis([0,N,-0.5,0.5]);grid on; %最佳权值W2
figure(3);plot(noise);axis([0,N,-3,3]);grid on; %白噪声图象
figure(4);plot(d);axis([0,N,-5,5]);grid on; %信号与噪声的混合图象
figure(5);plot(signal);axis([0,N,-2.5,2.5]);grid on;%信号图象
figure(6);plot(y);axis([0,N,-2.5,2.5]);grid on; %经过滤波器后的输出图象
%重要参数
INPUT_SNR %信噪比
sa %W1权值末10位的均值
sb %W2权值末10位的均值
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -