Add Example

This commit is contained in:
Ksyer
2024-11-11 16:32:53 +08:00
parent a2cb6d1825
commit 29ae9585f9
56 changed files with 4029 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
function [ target_list_RDA, target_map ] = rda_detection(stat_RD, P_fa)
% Target detection, estimating distance, velocity, and angle intervals
%
% Usage:
% [target_list_RDA, target_map] = rda_detection(stat_RD, P_fa)
%
% Inputs:
% stat_RD: Range-Doppler statistics
% P_fa: Probability of false alarm
%
% Outputs:
% target_list_RDA: Target list include range, doppler and angle information
% target_map: Show targets in RD map
% parameters
[lenA, lenR, lenP] = size(stat_RD);
target_map = zeros(lenR, lenP);
% detection threshold
d_thd = chi2inv(1 - P_fa, 2) / 2;
% find target
target_list_RD = [];
for i = 1: lenA
RD_map = squeeze(stat_RD(i, :, :));
detect_map = zeros(size(RD_map));
detect_map(RD_map > d_thd) = 1;
% target_map(i, :, :) = detect_map;
[r, c] = find(detect_map);
temp_node = [r, c];
target_list_RD = [target_list_RD; temp_node];
end
target_list_RD_new = unique(target_list_RD, 'rows');
% estimate target angle interval
target_list_angle = [];
for i = 1: size(target_list_RD_new, 1)
tgt = target_list_RD_new(i, :);
stat_vct = stat_RD(:, tgt(1), tgt(2));
[v, idx] = max(stat_vct);
target_map(tgt(1), tgt(2)) = idx;
target_list_angle = [target_list_angle; idx];
end
target_list_RDA = [target_list_RD_new, target_list_angle];
end