?? 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 + -