35 lines
950 B
Matlab
35 lines
950 B
Matlab
function [distance_v, speed_v] = get_range_speed_val(PRF, fs, fc, numP, gamma_r, gamma_d)
|
|
% Calculates range and speed values for node index
|
|
%
|
|
% Usage:
|
|
% [distance_v, speed_v] = get_range_speed_val(PRF, fs, fc, numP, gamma_r, gamma_d)
|
|
%
|
|
% Inputs:
|
|
% PRF: Pulse Repetition frequency
|
|
% fs: Sampling frequency
|
|
% fc: Carrier frequency
|
|
% numP: Number of pulses
|
|
% gamma_r: Range compression ratio(0.5)
|
|
% gamma_d: Doppler compression ratio(0.5)
|
|
%
|
|
% Outputs:
|
|
% distance_v: Real distance value
|
|
% speed_v: Real speed value
|
|
|
|
|
|
% parameters
|
|
if nargin < 6
|
|
gamma_d = 0.5;
|
|
end
|
|
if nargin < 5
|
|
gamma_r = 0.5;
|
|
end
|
|
c = 3e8;
|
|
Tr = 1 / PRF;
|
|
lambda = c / fc;
|
|
|
|
% calculate
|
|
distance_v = 0: (c / fs / 2 * gamma_r) : (Tr * c / 2 - c / fs / 2 * gamma_r);
|
|
speed_v = -(-PRF / 2: PRF / numP * gamma_d: PRF / 2 - PRF / numP * gamma_d) * lambda / 2 ;
|
|
|
|
end |