clc clear close all %% load echo data filename = 'Raw_Echo_60dB'; load(['./data/', filename, '.mat']); %% parameters % ladar PRF = 5000; B = 5e6; D = 0.1; Tp = 2e-5; fs = 5e6; fc = 1.25e9; % antenna num_antenna = 18; d = 0.12; % echo num_pulse = 64; sigma_n = 0.1; % detect P_fa = 1e-4; % algorithm gamma_r = 0.5; gamma_d = 0.5; %% data processing [distance_v, speed_v] = get_range_speed_val(PRF, fs, fc, num_pulse, gamma_r, gamma_d); [A, signal_t] = generate_chirp_mtx(PRF, B, fs, D); [echo_r_mtx_mf, sigma_n_o_mf] = range_process_MF(Raw_Echo, A, sigma_n); [echo_rd_mtx_mf, stat_RD_mf] = doppler_process_MF(echo_r_mtx_mf, sigma_n_o_mf, gamma_d); [target_list_RD_mf, target_map_mf] = rd_detection(stat_RD_mf, P_fa); [target_list_RDA, RA_map] = angle_est(echo_r_mtx_mf, target_list_RD_mf, d, fc); %% show result element = 1; list_r_idx = find(target_list_RDA(:, 1) == element); target_list_RDA(:, 2) = distance_v(target_list_RDA(:, 2)); target_list_RDA(:, 3) = speed_v(target_list_RDA(:, 3)); figure(1) scatter3(target_list_RDA(list_r_idx,2), target_list_RDA(list_r_idx,3),... target_list_RDA(list_r_idx,4), 'filled', 'o') % xlim([17000, 19000]) % ylim([80, 160]) % zlim([-90, 90]) %% save echo_rd_mtx = echo_rd_mtx_mf; save(['./output/', filename, '_mf.mat'],... 'target_list_RDA', 'echo_rd_mtx', 'RA_map', 'P_fa');