资源简介
自适应的最小均方(LMS)算法:只要自适应线性组合器每次迭代运算时都知道输入信号和参考响应,选用LMS算法很合适。
代码片段和文件信息
function [ynWen]=LMS(xndnMmuitr)
% LMS(Least Mean Squre)算法
% 输入参数:
% xn 输入的信号序列 (列向量)
% dn 所期望的响应序列 (列向量)
% M 滤波器的阶数 (标量)
% mu 收敛因子(步长) (标量) 要求大于0小于xn的相关矩阵最大特征值的倒数
% itr 迭代次数 (标量) 默认为xn的长度M % 输出参数:
% W 滤波器的权值矩阵 (矩阵)
% 大小为M x itr
% en 误差序列(itr x 1) (列向量)
% yn 实际输出序列 (列向量)
% 参数个数必须为4个或5个
if nargin == 4 % 4个时递归迭代的次数为xn的长度
itr = length(xn);
elseif nargin == 5 % 5个时满足M if itr>length(xn) | itr error(‘迭代次数过大或过小!‘);
end
else
error(‘请检查输入参数的个数!‘);
end
% 初始化参数
en = zeros(itr1); % 误差序列en(k)表示第k次迭代时预期输出与实际输入的误差
W = zeros(Mitr); % 每一行代表一个加权参量每一列代表-次迭代初始为0
% 迭代计算
for k = M:itr % 第k次迭代
x = xn(k:-1:k-M+1); % 滤波器M个抽头的输入
y = W(:k-1).‘ * x; % 滤波器的输出
en(k) = dn(k) - y ; % 第k次迭代的误差
% 滤波器权值计算的迭代式
W(:k) = W(:k-1) + 2*mu*en(k)*x;
end
% 求最优时滤波器的输出序列
yn = inf * ones(size(xn));
for k = M:length(xn)
x = xn(k:-1:k-M+1);
yn(k) = W(:end).‘* x;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1461 2009-10-11 16:17 LMS.m
文件 16384 2009-10-11 16:18 一个实例.doc
- 上一篇:语音信号的线性预测编码MATLAB程序
- 下一篇:KNN算法的Matlab实现
相关资源
- KNN算法的Matlab实现
- 语音信号的线性预测编码MATLAB程序
- 投影寻踪算法的matlab代码
- 信噪比SNR MATLAB程序
- PCM的matlab实现
- 水准网条件平差matlab编程的m文件
- raw图像数据读取matlab程序
- matlab程序:用提升小波变换进行信号
- 小子域滤波代码 用MATLAB实现
- Matlab分块Otsu阈值分割
- Matlab二维Otsu阈值分割
- MATLAB2011a激活失败后永久破解的办法
- fir滤波器matlab仿真代码
- ekf的滤波程序,以及在组合导航中的
- QPSK的MATLAB仿真73281
- matlab边缘跟踪
- 新快速加权中值滤波比普通快2/3以上
- 雷达辐射源在线核聚类分选matlab代码
- 多相滤波MATLAB程序
- BP神经网络预测matlaB实现
- 模糊聚类算法matlab
- 密度聚类dbscan算法——matlab编程
- 单缝衍射菲涅尔衍射 弗朗禾费衍射
-
倒立摆simuli
nk仿真+文献 - 各向异性扩散滤波算法(matlab)
- matlab实现文件导入和导出操作
- matlab多变量控制工具箱
- 《MATLAB优化算法 张岩 吴水根著》源码
- f2812做的超声波流量计 matlab仿真部分
- matlab 2014B
评论
共有 条评论