⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculate_rls_mvdr.m

📁 implement basic routines in Matlab and Octave (currently using Matlab R13) for simulating adaptive b
💻 M
字号:
% RLS Algorithm - From P.756 of Optimum Array Processing

function [w_rls, R_inv] = calculate_rls_mvdr(s, r, eta)

numIterations = size(r, 2);
N = size(r,1);

w_rls = zeros(N, numIterations);
w_rls(:,1) = s/(norm(s)^2);

R_inv = eye(N) / eta;
R_inv_last = R_inv;
Lambda = 1/(s'*R_inv*s);
Lambda_last = 1/(s'*R_inv*s);

mu = 1;

for i = 2:numIterations
    R_inv = R_inv_last - (R_inv_last*r(:, i)*r(:, i)'*R_inv_last)/(1+r(:, i)'*R_inv_last*r(:, i));
    Lambda = 1/(s'*R_inv*s);
    G = (R_inv_last*r(:, i))/(1+r(:, i)'*R_inv_last*r(:, i));
    Y = w_rls(:,i-1)'*r(:, i);

    w_rls(:,i) = (Lambda/Lambda_last)*(w_rls(:,i-1)-G*Y');

    Lambda_last = Lambda;
    R_inv_last = R_inv;        
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -