24小时热门版块排行榜    

查看: 795  |  回复: 5
当前主题已经存档。

zzbei

木虫 (正式写手)

[交流] 自适应matlab程序(LMS和RLS)

%lms算法源程序

clear all
close all
%channel system order
sysorder = 5 ;
% Number of system points
N=2000;
inp = randn(N,1);
n = randn(N,1);
[b,a] = butter(2,0.25);
Gz = tf(b,a,-1);
%This function is submitted to make inverse Z-transform (Matlab central file exchange)
%The first sysorder weight value
%h=ldiv(b,a,sysorder)';
% 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(Gz,inp);
%add some noise
n = n * std(y)/(10*std(n));
d = y + n;
totallength=size(d,1);
%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])

% RLS 算法
randn('seed', 0) ;
rand('seed', 0) ;

NoOfData = 8000 ;  % Set no of data points used for training
Order = 32 ;    % Set the adaptive filter order

Lambda = 0.98 ;    % Set the forgetting factor
Delta = 0.001 ;    % R initialized to Delta*I

x = randn(NoOfData, 1) ;% Input assumed to be white
h = rand(Order, 1) ;  % System picked randomly
d = filter(h, 1, x) ;  % Generate output (desired signal)

% Initialize RLS

P = Delta * eye ( Order, Order ) ;
w = zeros ( Order, 1 ) ;

% RLS Adaptation

for n = Order : NoOfData ;
   
  u = x(n:-1:n-Order+1) ;
  pi_ = u' * P ;
  k = Lambda + pi_ * u ;
  K = pi_'/k;
  e(n) = d(n) - w' * u ;
  w = w + K * e(n) ;
  PPrime = K * pi_ ;
  P = ( P - PPrime ) / Lambda ;
  w_err(n) = norm(h - w) ;

end ;

% Plot results

figure ;
plot(20*log10(abs(e))) ;
title('Learning Curve') ;
xlabel('Iteration Number') ;
ylabel('Output Estimation Error in dB') ;

figure ;
semilogy(w_err) ;
title('Weight Estimation Error') ;
xlabel('Iteration Number') ;
ylabel('Weight Error in dB') ;

[ Last edited by 幻影无痕 on 2006-10-26 at 07:47 ]
回复此楼
经历就是一种享受
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wwfjhx863

0.5

太好了
2楼2006-05-09 07:56:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0.5

3楼2006-05-09 17:21:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wanglong

铁杆木虫 (正式写手)

非常感谢!!!!老大,有啥好东东,多上穿一点
4楼2006-05-11 12:51:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wanglong

铁杆木虫 (正式写手)

0.5

非常感谢,刚才没评价,重来
5楼2006-05-11 12:52:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sanheiliu

木虫 (小有名气)

好用!谢谢!!!
6楼2006-05-16 23:02:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zzbei 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 初始合伙人来啦!(生物试剂耗材标准品) +4 欢快的小科研人 2024-06-15 9/450 2024-06-16 11:46 by 欢快的小科研人
[论文投稿] 二审返修送审10天了,原来一审的3个审稿人只有2个接受了审稿,会邀请新审稿人么? 50+3 huanpo116 2024-06-15 5/250 2024-06-16 10:27 by bobvan
[教师之家] 每次骚扰女学生的都是院系领导,而不是普通教师,小编们要注意措辞正确 +8 zju2000 2024-06-15 10/500 2024-06-16 09:22 by Quakerbird
[基金申请] 面青地会评时间 +5 tanjydd 2024-06-15 5/250 2024-06-15 23:08 by andywei1028
[教师之家] 关于2023的收入 +33 小龙虾2008 2024-06-10 34/1700 2024-06-15 23:01 by zeolitess
[文学芳草园] 累并快乐着 +13 MYHLD521 2024-06-14 13/650 2024-06-15 22:59 by zeolitess
[论文投稿] 审稿人含糊拒稿,还需要回复吗?如何回复? 20+3 BruceChum 2024-06-15 17/850 2024-06-15 20:19 by arthas_007
[教师之家] 饶议:什么制度能保障大学普通教师不用为领导拎包,不用看领导脸色 +8 zju2000 2024-06-12 14/700 2024-06-15 13:59 by chemhua
[论文投稿] 投稿时忘记修改一作 +7 gll123456 2024-06-13 11/550 2024-06-15 11:49 by gll123456
[基金申请] 有没有机械的前辈分享一下评上海优都是什么成果啊 +7 wulala800 2024-06-10 7/350 2024-06-15 09:33 by 晓目崇
[基金申请] 博后基金,以往的结果点不开,怎么回事呢?最后一次机会了,两次都没中前面。 +7 kyukitu 2024-06-14 13/650 2024-06-15 06:46 by 我是王小帅
[基金申请] 工材E口JQ有消息了吗 +4 babyduck 2024-06-11 4/200 2024-06-14 17:23 by firepick
[基金申请] E12面上申请 +4 汉风之遗 2024-06-13 4/200 2024-06-14 15:28 by 天外飞去来
[论文投稿] 投稿kbs被拒后,系统提供的推荐的其他期刊有用吗? +3 chenrui2015 2024-06-10 3/150 2024-06-14 10:30 by Tr.sjx1997
[基金申请] 工材E10口函评结束了吗 10+3 我1的飞翔 2024-06-13 5/250 2024-06-14 06:35 by nono2009
[论文投稿] 投稿后发现其他作者的邮箱填错了该怎么办呀 10+4 在飞的猪 2024-06-13 6/300 2024-06-14 04:45 by 小虫子咔咔
[基金申请] 连续两年医学口青年项目初审体会 +11 进击的荣耀 2024-06-09 18/900 2024-06-13 17:27 by 进击的荣耀
[硕博家园] 科研求助 +5 杲www 2024-06-12 6/300 2024-06-13 16:16 by 姓李名明
[基金申请] 博后特助这周出结果吗?往年都是啥时候啊? +13 jsqy 2024-06-12 17/850 2024-06-12 19:55 by Lynn212
[教师之家] 公办双非,学生论文升学就业都不行。一本大学的论文升学就业没问题吧? +5 河西夜郎 2024-06-09 5/250 2024-06-10 17:59 by yyallen2003
信息提示
请填处理意见