资源简介
基于RLS和LMS的自适应滤波器的MATLAB代码,带有中文注释
代码片段和文件信息
%lms 算法
clear all
close all
hold off%系统信道权数
sysorder = 5 ;%抽头数
N=1000;%总采样次数
inp = randn(N1);%产生高斯随机系列
n = randn(N1);
[ba] = butter(20.25);
Gz = tf(ba-1);%逆变换函数
h= [0.0976;0.2873;0.3360;0.2210;0.0964;];%信道特性向量
y = lsim(Gzinp);%加入噪声
n = n * std(y)/(10*std(n));%噪声信号
d = y + n;%期望输出信号
totallength=size(d1);%步长
N=60 ; %60节点作为训练序列
%算法的开始
w = zeros ( sysorder 1 ) ;%初始化
for n = sysorder : N
u = inp(n:-1:n-sysorder+1) ;% u的矩阵
y(n)= w‘ * u;%系统输出
e(n) = d(n) - y(n) ;%误差
if n < 20
mu=0.32;
else
mu=0.15;
end
w = w + mu * u * e(n) ;%迭代方程
end
%检验结果
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(‘系统输出‘) ;
xlabel(‘样本‘)
ylabel(‘实际输出‘)
figure
semilogy((abs(e))) ;% e的绝对值坐标
title(‘误差曲线‘) ;
xlabel(‘样本‘)
ylabel(‘误差矢量‘)
figure%作图
plot(h ‘k+‘)
hold on
plot(w ‘r*‘)
legend(‘实际权矢量‘‘估计权矢量‘)
title(‘比较实际和估计权矢量‘) ;
axis([0 6 0.05 0.35])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1068 2017-04-17 16:44 rls.m
文件 1210 2017-04-17 16:46 lsm.m
- 上一篇:混沌系统驱动响应同步代码
- 下一篇:基于MATLAB的滤波器 毕业设计
相关资源
- 基于MATLAB的滤波器 毕业设计
- 混沌系统驱动响应同步代码
- DMC动态矩阵控制MATLAB程序(简易
- 简单matlab车牌字符分割
- 交通仿真Matlab程序
- SOFC Matlab 仿真
- 信号调制识别matlab程序
- 用MATLAB编写的混沌序列图像加密程序
- T-S模糊系统结论参数的MATLAB仿真研究
- Matlab2012a破解i包全部资源
- matlab实现sift提取特征点
- 啁啾光纤光栅
- Tight Binding处理Graphene能带的Matlab程序
- nlms 回声消除
-
MATLAB SIMUli
nk通信系统建模仿真讲解 - 分支定界法Matlab程序实现与验证.pdf
- pro+sail的计算matlab版本
- matlab版本频率估计
- 打靶法MATLAB程序
- hopfield神经网络matlab实现
- 基于matlab矩形阵波束形成
- 数字水印 攻击 JPEG压缩 matlab代码
- 快衰落matlab代码
- 一个笑脸的matlab程序
- 卫星图像读取
- MatLab Web Server在交互式网络课件开发中
- ssim.m结构相似性代码matlab
- SUSAN边缘检测的实现代码MATLAB
- 克里金插值 matlab
- 基于高斯拉普拉斯的HDR合成matlab代码
评论
共有 条评论