Dear TI Team
I need to calculate the maximum range for 4 cascaded AWR1243 and a defined rcs. Your estimator tool can’t do the job, because it supports only one module. The equation 2 in SWRA553 can’t really help either, because I don’t know the chirp time and number of chirps for a cascaded version.
When evaluating the equation in the java code (see below) I realised, that this differs from the range equation in SWRA553. The java code makes total sense, apart from num_virt_rx and min_num_of_chirp_loops.
var max_range_for_typical_detectable_object = function(rcs_value, combined_factor_linear,
lambda, num_virtual_rx, chirp_time, min_num_of_chirp_loops, cube_4pi, kB, ambient_temperature) {
// K8 =SQRT(SQRT((0.001*F80*F83*K26*K26*F77*K14*K30)/(0.9*F48*F47*F75*1000000*1000000)))
return Math.sqrt(Math.sqrt((0.001*rcs_value*combined_factor_linear*Math.pow(lambda,2)*num_virtual_rx*chirp_time*min_num_of_chirp_loops)/(0.9*cube_4pi*kB*ambient_temperature*1e12)))
};
Is the num of loops the same as the number of chirps? Or is this the number of repetitions of all chirps? (See SWRA574a, page 12, table 6 –“Number of loops” vs. SWRA553, page 7 table 1, “number of chirps”)
Why is the number of virtual antenna part of this equation? I guess this is related with the following question:
What if I don’t want to apply only TDM but also BPM in combination, like you do for two modules in SWRA574a, table 5? In which manner does this change the value of chirp time, number of chirp, multiplication with number of virtual antennas or non-coherent combining loss?
Is it possible to calculate the non-coherent combining loss, which is included in the combined_factor_linear with the following formula: log2(num_virtual_rx) ? I know from some other thread (https://e2e.ti.com/support/sensors/f/1023/t/706506), that this is empiric data and therefore don’t know whether it is possible to extrapolate for more than 12 (>50) virtual antenna.
var non_coherent_combining_loss = function(num_virtual_rx) {
//F78 =IF(F77=8;3;IF(F77=4;2;(IF(F77=2;1;0))))
// Math.log2(x)
if (num_virtual_rx == 8) {
return 3;
} else if (num_virtual_rx == 4) {
return 2;
} else if (num_virtual_rx == 2) {
return 1;
} else {
return 0;
}
Please see the following Matlab code and tell me, whether you think the value for the max range does make any sense.
clc
clear
% Input parameters
rcs_value = 1; % in m^2
num_of_modules = 4;
num_tx = 2*num_of_modules;
num_rx = 4*num_of_modules;
ambient_temperature = 20+273.15; % in Kelvin
tx_power = 12; % in dB
tx_gain = 9; % in dB
rx_gain = 9; % in dB
detection_loss = 1; % in dB
system_loss = 2; % in dB
implementation_margin = 1; % in dB
detection_SNR = 12; % in dB
noise_figure = 15; % in dB
min_num_of_chirp_loops = 2;
chirp_time = 30e-6;
carrier_frequency =77e9;
% Constants
cube_4pi = (4*pi)^3;
kB = 1.38064852e-23;
lightSpeed = 3e8;
num_virtual_rx = num_rx*num_tx;
non_coherent_combining_loss = log2(num_virtual_rx);
combined_factor_in_dB = tx_power+tx_gain+rx_gain-non_coherent_combining_loss-detection_loss-system_loss-implementation_margin-detection_SNR-noise_figure;
combined_factor_linear = 10^(combined_factor_in_dB/10);
lambda = (lightSpeed/carrier_frequency);
max_range_for_typical_detectable_object = nthroot((rcs_value*combined_factor_linear*(lambda^2)*num_virtual_rx*chirp_time*min_num_of_chirp_loops)/(0.9*cube_4pi*kB*ambient_temperature),4)
max_range_for_typical_detectable_object =
224.8507
Thank you very much for answering my questions, our team really appreciates your great work and will be very happy to use AWR1243 in out applications.
Best, Marcel Friesch