Files

19 lines
672 B
Matlab

function [w_hybrid, F_RF] = algo_hybrid_dft(w_opt, A_dic, N_RF, a_target, R_in)
% algo_hybrid_dft: 基于最大相关性(DFT)选择 + 数字基带 MVDR 的基线算法
% 1. 找出与理想波束相关性最大的 N_RF 个原子
projection = A_dic' * w_opt;
[~, sort_idx] = sort(abs(projection), 'descend');
F_RF = A_dic(:, sort_idx(1:N_RF));
% 2. 同样使用数字基带 MVDR 压制干扰
a_eff = F_RF' * a_target;
R_eff = F_RF' * R_in * F_RF;
F_BB_mvdr = (inv(R_eff) * a_eff) / (a_eff' * inv(R_eff) * a_eff);
% 3. 合并
w_hybrid = F_RF * F_BB_mvdr;
w_hybrid = w_hybrid / norm(w_hybrid);
end