| 
 | 
 
如何将以下时域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 
 |   
 
 
 
 |