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