Add Radar simulation
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
function [range, range_idx] = get_range(s_T, s_R)
|
||||
global T_r delta_t len c r_0 range_t freqs;
|
||||
|
||||
range_N = T_r / delta_t;
|
||||
s_T_first = [s_T(1:range_N), zeros(1, len - range_N)];
|
||||
s_R_first = [s_R(1:range_N), zeros(1, len - range_N)];
|
||||
|
||||
figure(1);
|
||||
plot(range_t, s_T_first, color='red');
|
||||
hold on;
|
||||
plot(range_t, s_R_first, color='blue');
|
||||
|
||||
s_T_fft = fft(s_T_first, len);
|
||||
s_R_fft = fft(s_R_first, len);
|
||||
|
||||
figure(2);
|
||||
plot(freqs, s_T_fft, color='red');
|
||||
hold on;
|
||||
plot(freqs, s_R_fft, color='blue');
|
||||
|
||||
t = conj(s_T_fft);
|
||||
p = ifft(s_R_fft .* t);
|
||||
norm_p = real(p).^2 + imag(p).^2;
|
||||
% plot(range_t, norm_p);
|
||||
|
||||
[~, range_idx] = max(norm_p);
|
||||
range = range_t(range_idx) * c / 2;
|
||||
fprintf("range = %f, r_0 = %f\n", range, r_0);
|
||||
end
|
||||
Reference in New Issue
Block a user