|
发表于 2007-3-10 19:17:50| 字数 752| - 中国–陕西–西安 教育网/西安邮电学院教育网
|
显示全部楼层
Wiener,Kalman,LMS算法是机遇均方误差最小的,而RLS是基于误差平方和最小的.RLS还是Kalman的一个特例
维纳滤波是依据传递函数,卡尔曼是依据状态方程,LMS和RLS都是自适应算法,权值不断调整,以达到最优输出
lms,rls是求维纳解的简化过程,比维纳求解要简单很多,但是要求计算序列够长,而且会在最有解上下浮动,不是一个定值
[转帖]RLS算法程序
%RLS_S.m
%RLS algorithm
%static status
%synchronous CDMA
%channel: White Gaussis Noise
function [P1,P_i_n,y,correct,E_ex] = RLS_S(b,N,K,step,yN_step,S,SNR)
%multiuser detection
yyN_step=(yN_step);
delta=1e-2;
P=1/delta*eye(N);%P=1/R
lamda=0.997;
for i=1:step
KK=P*yyN_step(:,i)/(lamda+yyN_step(:,i)'*P*yyN_step(:,i));
P=1/lamda*(P-KK*yyN_step(:,i)'*P);
h=P*S(1, .';
c=h/(S(1, *h);
P1(i)=abs( (c.'*S(1, .')^2 );
P_i_n(i)=abs( ( c.'*(yyN_step(:,i)-b(1,i)*S(1, .') )^2 );
%SINR(i)=P1/P_i_n;
y(i)=sign(real(c.'*yyN_step(:,i)));
E=abs( (c.'*yyN_step(:,i))^2 );
E_min=1;
E_ex(i)=E-E_min;
end
correct=(y==b(1, );
%plot(SINR); |
|