資源簡介
LMS的matlab代碼;LMS的matlab代碼

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?lmsalgo?:?LMS?algorithm?demo
%?Author?:?Tamer?abdelazim?Mellik
%?Contact?information?:?
%Department?of?Electrical?&?Computer?Engineering
%University?of?Calgary
%2500?University?Drive?N.W.?
%Calgary?AB?T2N?1N4?
%Canada?.
%?email?:abdelasi@enel.ucalgary.ca??
%?email?:?tabdelaz@ucalgary.ca
%?Webpage?:?http://www.enel.ucalgary.ca/~abdelasi/
%?Date????:?20-4-2003
%?Version?:?1.0.0
%?Reference?:?S.?Haykin?Adaptive?Filter?Theory.?3rd?edition?Upper?Saddle?River?NJ:?Prentice-Hall?1996.?
%?Note?:?The?author?doesn‘t?take?any?responsibility?for?any?harm?caused?by?the?use?of?this?file
clear?all
close?all
hold?off
%channel?system?order
sysorder?=?5?;
%?Number?of?system?points
N=2000;
inp?=?randn(N1);
n?=?randn(N1);
[ba]?=?butter(20.25);
Gz?=?tf(ba-1);
%This?function?is?submitted?to?make?inverse?Z-transform?(Matlab?central?file?exchange)
%The?first?sysorder?weight?value
%h=ldiv(basysorder)‘;
%?if?you?use?ldiv?this?will?give?h?:filter?weights?to?be
h=??[0.0976;
????0.2873;
????0.3360;
????0.2210;
????0.0964;];
y?=?lsim(Gzinp);
%add?some?noise
n?=?n?*?std(y)/(10*std(n));
d?=?y?+?n;
totallength=size(d1);
%Take?60?points?for?training
N=60?;
%begin?of?algorithm
w?=?zeros?(?sysorder???1?)?;
for?n?=?sysorder?:?N?
u?=?inp(n:-1:n-sysorder+1)?;
????y(n)=?w‘?*?u;
????e(n)?=?d(n)?-?y(n)?;
%?Start?with?big?mu?for?speeding?the?convergence?then?slow?down?to?reach?the?correct?weights
????if?n?20
????????mu=0.32;
????else
????????mu=0.15;
????end
w?=?w?+?mu?*?u?*?e(n)?;
end?
%check?of?results
for?n?=??N+1?:?totallength
u?=?inp(n:-1:n-sysorder+1)?;
????y(n)?=?w‘?*?u?;
????e(n)?=?d(n)?-?y(n)?;
end?
hold?on
plot(d)
plot(y‘r‘);
title(‘System?output‘)?;
xlabel(‘Samples‘)
ylabel(‘True?and?estimated?output‘)
figure
semilogy((abs(e)))?;
title(‘Error?curve‘)?;
xlabel(‘Samples‘)
ylabel(‘Error?value‘)
figure
plot(h?‘k+‘)
hold?on
plot(w?‘r*‘)
legend(‘Actual?weights‘‘Estimated?weights‘)
title(‘Comparison?of?the?actual?weights?and?the?estimated?weights‘)?;
axis([0?6?0.05?0.35])
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2072??2009-02-05?09:38??lms.m
-----------?---------??----------?-----??----
?????????????????2072????????????????????1
- 上一篇:simuli
nk建立卡爾曼濾波算法 - 下一篇:動作能量圖
評論
共有 條評論