Add Example
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
% echo_r_mtx: range processing echo data
|
||||
% target_list_RD: target list include range and doppler information
|
||||
% d: antenna spacing
|
||||
% fc: carrier frequency
|
||||
% acc: angle estimation accuracy
|
||||
|
||||
% target_list_RDA: target list include range, doppler and angle information
|
||||
% RA_map: range-angle map
|
||||
% THETA: scale of angle
|
||||
|
||||
|
||||
function [ target_list_RDA, RA_map, THETA ] = angle_est(echo_r_mtx, target_list_RD, d, fc, acc)
|
||||
|
||||
% parameters
|
||||
if nargin < 5
|
||||
acc = 181;
|
||||
end
|
||||
[lenA, lenR, lenP] = size(echo_r_mtx);
|
||||
c = 3e8;
|
||||
lambda = c / fc;
|
||||
|
||||
% initialization
|
||||
echo_mtx = squeeze(echo_r_mtx(:, :, 1));
|
||||
|
||||
% CBF
|
||||
THETA = linspace(-90, 90, round(acc));
|
||||
RA_map = zeros(length(THETA), lenR);
|
||||
for i = 1: length(THETA)
|
||||
a = exp((0: lenA - 1)' * -1j * 2 * pi / lambda * d * sin(THETA(i) / 180 * pi));
|
||||
RA_map(i, :) = a'* echo_mtx;
|
||||
end
|
||||
RA_map = transpose(RA_map);
|
||||
|
||||
% calculate angle
|
||||
range_angle = zeros(1, lenR);
|
||||
for j = 1: lenR
|
||||
[v, num] = max(abs(RA_map(j, :)));
|
||||
range_angle(j) = THETA(num);
|
||||
end
|
||||
targets_angle = range_angle(target_list_RD(:, 2));
|
||||
target_list_RDA = [target_list_RD, transpose(targets_angle)];
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user