52matlab技术网站,matlab教程,matlab安装教程,matlab下载

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 25811|回复: 0

RLS算法的改进

[复制链接]

1

主题

1

帖子

25

积分

新手上路

Rank: 1

积分
25
发表于 2021-4-16 01:30:06 | 显示全部楼层 |阅读模式
如何将以下时域RLS均衡算法换成频域RLS算法呢?
%     xn        输入的信号序列      (列向量)
%     dn        所期望的响应序列    (列向量)
%     M         滤波器的阶数        (标量)
%     L         遗忘因子            (标量)
% Return:
%     y         实际输出序列        (列向量)
%output h: 估计的fir滤波器系数
%output y: 滤波后输出信号
% function yn=RLS(xn,dn,M,L)
function [en,yn] = RLS(xn,dn,M,L)
iter = length(xn);              % 迭代次数
sigma = 0.001;
P = sigma * eye(M,M);
W = zeros(M,1);                 % 行为权重,列为迭代次数
xn = xn.';                      % 转置方便计算

for i = M:iter
    u = xn(i:-1:i-M+1);         % 滤波器M个抽头输入
    pi_ = u.'*P;
    k = L + pi_*u;
    K = pi_.'/ k;
    yn(i) = W.'*u;              % 滤波器输出
    en(i) = dn(i)-yn(i);        % 迭代误差
    W = W + K * en(i);          % 滤波器权重向量
end
end
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|52matlab技术网站 ( 粤ICP备14005920号-5 )

GMT+8, 2024-4-18 13:22 , Processed in 0.085548 second(s), 20 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表