This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR1443: Sensing Estimator SNR Calculation

Part Number: IWR1443

Hello everyone,

I looked into the Sensing Estimator Code, especially the caluclation based on SNR (Maximum Range for Typical Detactable Object).

The euqation in the code is:

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)))

If have two questions..

1.) I do not understand the factor 0.9 in the divisor. I thought that this might be connected to the fact, that just about 90% of the ADC samples are useable in complex 1x mode.

( Link: https://e2e.ti.com/support/sensor/mmwave_sensors/f/1023/t/595667  ) But I think, if this assumption is true, the factor should be in the dividend, because only 0.9*chirp_time should be usable.

Where am I missing something?

2.) Lambda in the mentioned equation is calculated based on the carrier frequency.

var lambda = function(lightSpeed, carrier_frequency) {
	    //K26 =(F46/K24)/1000000
	    return (lightSpeed/carrier_frequency)/1000000;
	};

The carrier frequency is calculated using this equation:

var carrier_frequency = function(starting_frequency, ramp_slope, adc_valid_start_time, number_of_samples_per_chirp, ramp_end_time) {
	    //K24 =(F58*1000+K17*F62+K20/(2*K23*1000))/1000
	    return (starting_frequency*1000+ramp_slope*adc_valid_start_time+number_of_samples_per_chirp/(2*ramp_end_time*1000))/1000;
	};

From my understanding, the carrier frequency used for SNR calulcations and others, should be the mean frequency at the chirp time, where the signal is actually sampled.

Therefore the first two summands make sense and I understand them. 

These two will give the frequency at that time, the actual sampling starts:

starting_frequency*1000+ramp_slope*adc_valid_start_time

I do not understand the third one:

number_of_samples_per_chirp/(2*ramp_end_time*1000)

I would think it should be something like:

chirp_time/2*ramp_slope

Ramp_end_time would be a longer period than chirp_time, including again adc_valid_start_time and excess_ramping_time.
Also: Shouldn't this perdiod be multiplied with the ramp_slope? That factor is missing completly.


Thank you very much,
Enric

  • Hellor Enric,

    We are still looking into this query and should have an answer for you tomorrow.


    Cheers,
    Akash
  • Hello Akash,

    do you have any update for me?

    Especially regarding the 0.9 faktor?

    Thanks,

    Enric

  • Hi Enric,

    Apologies for the delay, we are having discussions about it and should have an answer for you very soon.


    Cheers,
    Akash
  • The factor 0.9 is the approximate value of the anti-aliasing filter roll-off factor encountered in TI radar sensor chips. If a customer decides to use his own external anti-aliasing filters then this factor may differ from 0.9 value. In the process of the radar equation derivation this factor ends up in the divisor (denominator) in the expression for the achievable detection range based on the link budget. It stems from the well known radar range equation, which states that the signal power at the input to the receiver reflected from an object at distance R is given by:

    where:

    Pt is the transmit power, Gt and Gr transmit and receive antenna gain, respectively, σ is the target RCS (Radar Cross Section), λ is the signal wavelength and R is the distance of the target from the sensor. The SNR at the input to the radar receiver is given by:

    where Pn is overall noise power. Assuming thermal noise, Pn = kBT0Beff, where kB is the Boltzman constant, T0 absolute ambient temperature in degrees Kelvin and Beff is the effective bandwidth of the receive processing chain from the receiver input to the A/D converter. We represent the SNR loss through the receive processing chain by noise factor, NF, and the SNR at the input to the A/D converter is then given by:

    Assuming complex sampling (I/Q), according to the Nyquist sampling theorem the maximum effective bandwidth can be as high as the sampling rate, fs = 1/Ts. In reality, due to the anti-aliasing filter roll-off factor, the effective bandwidth is smaller than the fs: Beff = Fcutofffs = Fcutoff/Ts, where Fcutoff < 1, is the anti-aliasing filter roll-off factor. As mentioned before, in TI radar sensor chips Fcutoff ≈ 0.9. Combining the previously stated equations for Pr and SNR, we get:

    or

    Actual range is obtained by taking the fourth root of the above equation but the roll off factor (0.9) still stays in the denominator (divisor). The actual formula shown includes some other factors that relate to the practical system implementation. However, that does not change to position of the factor 0.9 in the equation.

  • Hello,

    In the previous message formulas didn't show up, hence converting the Text to image and posted here.

  • Hello Chethan,

    thank you for your detailed explaination! :)

    Enric