资源简介
本例为基本RLS算法的matlab的实现程序,并比较了该算法中不同参数对其的影响,适合初学者!
代码片段和文件信息
%本例比较了在四种特征值扩散度不同的情况下RLS算法的学习曲线
clear all
close all
sigma = 0.001; %噪声功率
NR = 11; %抽头数
N = 300; %采样次数
wn=[3.5 3.3 3.1 2.9]; %设置四种特征值扩散度
E=zeros(N-NR+14); %误差矩阵的初始化
for t = 1:4
W = wn(t);
%独立的200次实验
for j=1:200
%加入信道的随机序列
X = binornd(1 0.5 N 1)*2 - ones(N 1);
%信道冲激响应
n=1:3;
Hn = 1/2 * (1+ cos(2 * pi / W * (n-2)));
C = conv(X Hn);
%信道噪声为加性高斯白噪声
B = normrnd(0 sqrt(sigma) length(C) 1);
C = B + C;
%算法的初如化设置
delta = 0.004;
lambda = 1.0;
Mn = zeros( NR 1);
Pn = 1/delta * eye(NR);
for i =1: N-NR+1
Xn = C(i:i+NR-11);
Pin = Pn * Xn;
Kn = Pin./(lambda + Xn‘ * Pin);
Y(i) = Mn‘ * Xn;
e(i) = X(i+7) - Y(i);
Mn = Mn + Kn * e(i);
Pn = 1/lambda * Pn-1/lambda * Kn * Xn‘ * Pn;
E(it) = E(it)+e(i)^2; %每种特征值下的集平均误差
end
end
end
semilogy(E/200);legend(‘W=3.5‘‘W=3.3‘‘W=3.1‘‘W=2.9‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1296 2009-04-19 10:25 RLSXXX.m
----------- --------- ---------- ----- ----
1296 1
- 上一篇:基于matlab的信号频域的相干分析
- 下一篇:MATLAB数据分析与挖掘实战
评论
共有 条评论