?? matlablms.txt
字號:
% 該程序實現(xiàn)時域LMS算法,并用統(tǒng)計的方法仿真得出不同步長下的收斂曲線
clear % 清空變量空間
g=100; % 統(tǒng)計仿真次數(shù)為g
N=1024; % 輸入信號抽樣點數(shù)N
k=128; % 時域抽頭LMS算法濾波器階數(shù)
pp=zeros(g,N-k); % 將每次獨立循環(huán)的誤差結果存于矩陣pp中,以便后
% 面對其平均
u=0.001; % 收斂因子
for q=1g
t=1N;
a=1;
s=asin(0.5pit); % 輸入單頻信號s
figure(1);
plot(t,real(s)); % 信號s時域波形
title('信號s時域波形');
xlabel('n');
ylabel('s');
axis([0,N,-a-1,a+1]);
xn=awgn(s,3); % 加入均值為零的高斯白噪聲,信噪比為3dB
% 設置初值
y=zeros(1,N); % 輸出信號y
y(1k)=xn(1k); % 將輸入信號xn的前k個值作為輸出y的前k個值
w=zeros(1,k); % 設置抽頭加權初值
e=zeros(1,N); % 誤差信號
% 用LMS算法迭代濾波
for i=(k+1)N
XN=xn((i-k+1)(i));
y(i)=wXN';
e(i)=s(i)-y(i);
w=w+ue(i)XN;
end
pp(q,)=(e(k+1N)).^2;
end
for b=1N-k
bi(b)=sum(pp(,b))g; % 求誤差的統(tǒng)計平均
end
figure(2); % 算法收斂曲線
t=1N-k;
plot(t,bi);
hold off % 將每次循環(huán)的圖形顯示結果保存下來
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -