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

📄 run_lms_mvdr.m

📁 大名鼎鼎赫蒙.西金的经典著作《自适应信号处理》(第4版)对应的仿真实验程序和课后习题详细解答。适合研究生学习或工程技术人员参考!
💻 M
字号:
function run_lms_mvdr(rp)

% Computer Experiment
% Section 9.8, Adaptive Filter Theory, 3rd edition
% MVDR adaptive beamforming using the LMS algorithm

Ninit   = rp.p;
Ndata   = Ninit + rp.Nsnaps;
seed    = 1;

% A_i, phi_l are target signal amplitude/elec- angle
% A_2, phi_2 are interference signal amplitude/elec- angle
% s is steering vector along elec. angle of look direction of interest

A_1 = sqrt(rp.var_v) * 10^(rp.TNRdB/20);
phi_1 = pi * rp.sin_theta_1;
A_2 = sqrt(rp.var_v) * 10^(rp.INRdB/20);
phi_2 = pi * rp.sin_theta_2;

s = exp(-j*[0:(rp.p-1)]'*phi_1);
e = s(2:rp.p);

% setup input/output sequences

for i = 1:Ndata,
   % setup random disturbances
   randn('seed', i);
   vr = sqrt(rp.var_v/2) * randn(1, rp.p) + rp.mean_v;
   vi = sqrt(rp.var_v/2) * randn(1, rp.p) + rp.mean_v;
   v  = vr + j*vi;
   rand('seed', i);
   Psi = 2*pi*rand(1);
   Xi(i, :) = A_1*exp(j*[1:rp.p]*phi_1) + A_2*exp(j*[1:rp.p]*phi_2 + Psi) + v;
end;

% setup effective desired output and input vectors from
% original data
g = 1;

d = g * Xi(:, 1);
u = diag(Xi(:, 1)) * (ones(Ndata, 1) * e.') - Xi(:, 2:rp.p);
   
[W, xp] = lms(u, d, rp.mu, rp.decay, rp.verbose);
Wo      = g - W * conj(e);
W       = [Wo W];

eval(['save ' rp.name])

⌨️ 快捷键说明

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