Add Example
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
function [ echo_rd_mtx, target_list_RDA, sigma_n_rd ] =...
|
||||
echo_processing_MF( echo_mtx, PRF, fs, fc, B, D, d, sigma_n, P_fa )
|
||||
% This function processes echo data using matching filter method.
|
||||
%
|
||||
% Usage:
|
||||
% [echo_rd_mtx, target_list_RDA, sigma_n_rd] = echo_processing_MF(echo_mtx, PRF, fs, fc, B, D, d, sigma_n, P_fa)
|
||||
% Inputs:
|
||||
% echo_mtx: Matrix containing the echo data
|
||||
% PRF: Pulse Repetition Frequency
|
||||
% fs: Sampling frequency
|
||||
% fc: Carrier frequency
|
||||
% B: Bandwidth
|
||||
% D: Duty ratio
|
||||
% d: Antenna spacing
|
||||
% sigma_n: Input noise level of the echo data
|
||||
% P_fa: False alarm probability threshold
|
||||
%
|
||||
% Outputs:
|
||||
% echo_rd_mtx: Echo matrix after range-Doppler processing
|
||||
% target_list_RDA: List of detected targets
|
||||
% sigma_n_rd: Estimated noise level after range-Doppler processing
|
||||
|
||||
|
||||
% parameters
|
||||
c = 3e8;
|
||||
lambda = c / fc;
|
||||
[num_antenna, N, num_pluse] = size(echo_mtx);
|
||||
|
||||
|
||||
% data processing
|
||||
[distance_v, speed_v] = get_range_speed_val(PRF, fs, fc, num_pluse);
|
||||
|
||||
[echo_sFFT_mtx, angle_v] = spatial_FFT(echo_mtx, d, lambda);
|
||||
fprintf(' Spatial_FFT done.\n');
|
||||
|
||||
[A, signal_t] = generate_chirp_mtx(PRF, B, fs, D);
|
||||
fprintf(' Generate_chirp_mtx done.\n');
|
||||
|
||||
[echo_r_mtx, sigma_n_o] = range_process_MF(echo_sFFT_mtx, A, sigma_n);
|
||||
fprintf(' Range_processing done.\n');
|
||||
|
||||
[echo_rd_mtx, stat_RD, sigma_n_rd] = doppler_process_MF(echo_r_mtx, sigma_n_o);
|
||||
fprintf(' Doppler_processing done.\n');
|
||||
|
||||
[target_list_RDA_temp, target_map] = rda_detection(stat_RD, P_fa);
|
||||
fprintf(' Target_detection done.\n');
|
||||
|
||||
[target_list_RDA] = angle_estimation(target_list_RDA_temp, echo_mtx, A, d, lambda);
|
||||
fprintf(' Angle_estimation done.\n');
|
||||
target_list_RDA(:, 1) = distance_v(target_list_RDA(:, 1));
|
||||
target_list_RDA(:, 2) = speed_v(target_list_RDA(:, 2));
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user