[25.08.17] Applying DOA logic : CBF

This commit is contained in:
2025-08-17 21:09:28 +09:00
parent 00859bdaaa
commit e64ea8a2e2
2 changed files with 18 additions and 17 deletions
+10 -9
View File
@@ -31,7 +31,7 @@ opt_window = 1;
flag_plot_physical_array = 0;
flag_plot_virtual_array = 0;
flag_plot_RVM = 1;
flag_plot_RVM = 0;
flag_plot_noise_esti = 0;
flag_plot_birdview = 1;
@@ -115,7 +115,7 @@ accR = [0 0 0].'; % radar acceleration
% 01. Target
tgt_rng = [100];
tgt_azi = [0];
tgt_azi = [10];
tgt_elv = [0];
tgt_pos = [tgt_rng.*cosd(tgt_azi).*cosd(tgt_elv) tgt_rng.*sind(tgt_azi).*cosd(tgt_elv) tgt_rng.*sind(tgt_elv)].';
@@ -608,9 +608,12 @@ az_array_pos = mimoarray(2, :) / u_azi;
elv_Unit = u_elv / lambda_c;
test_ang = -90 : 0.1 : 90;
svmat = exp(-1i * 2 * pi / lambda_c * az_array_pos.' * u_azi .* sind(test_ang));
test_ang_azi_deg = -90 : 0.1 : 90;
test_ang_elev_deg = 0;
array_struct.azi_eff_ch_loc = az_array_pos;
array_struct.elv_eff_ch_loc = 0;
array_struct.u_azi = u_azi;
array_struct.u_elv = 0;
det_jdx = 1;
for det_idx = 1 : size(snapshot_data, 2)
% DOA estimation
@@ -619,10 +622,8 @@ for det_idx = 1 : size(snapshot_data, 2)
temp_esti_elv_deg = asind(angle(elv_phase_diff)/2/pi/elv_Unit);
% Azi esti.
azi_spectrum = abs(svmat' * snapshot_data(:, det_idx)).^2;
[pks, esti_azi_deg] = findpeaks(azi_spectrum/max(azi_spectrum), test_ang, 'MinPeakHeight', 0.9);
figure
plot(test_ang, pow2db(azi_spectrum));
Ntarget = 1;
[esti_azi_deg, P_CBF(det_idx,:)] = df_cbf(snapshot_data(:,det_idx), test_ang_elev_deg, test_ang_azi_deg, lambda_c, array_struct, Ntarget);
esti_elv_deg = temp_esti_elv_deg * ones(1, length(esti_azi_deg));