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.

IWR1642BOOST: rangeResolution Calculation in dss_main.c in xwr16xx demo

Part Number: IWR1642BOOST

Hello there,

I am trying to understand how the rangeResolution is calculated in the dss_main.c. The given equation is shown below:

dataPathObj->rangeResolution = MMWDEMO_SPEED_OF_LIGHT_IN_METERS_PER_SEC *
                profileCfg.digOutSampleRate * 1e3 /
                (2 * profileCfg.freqSlopeConst * ((3.6*1e3*900) /
                 (1U << 26)) * 1e12 * dataPathObj->numRangeBins);

I followed this link (http://e2e.ti.com/support/sensors/f/1023/t/666937) so that I understand how T_c is derived. However, I still have the following questions:

  1. where does the term ((3.6*1e3*900) / (1U << 26)) come from?
  2. Why numRangeBins is used instead of numADCSamples? Even though they are the same when numADCSamples is the power of 2 (this does not hold in advanced subframe mode).

I also generated a cfg file from the web demo visualizer and plug in the value (digOutSampleRate = 5209 ksps, freqSlopeConst = 70 MHz/usec and numADCSamples = numRangeBins = 256). I believe the answer is 0.9 m instead of the 0.044 m shown on the slider.

  • Hi Jingning,

    1. Please refer to the mmWaveLink API documentation given in the SDK, which you can reach from the top level documentation page: file:///C:/ti/mmwave_sdk_02_01_00_04/docs/mmwave_sdk_module_documentation.html (mmWaveLink Framework). From this documentation, refer to the rlProfileCfg_t data structure given below:

    file:///C:/ti/mmwave_sdk_02_01_00_04/packages/ti/control/mmwavelink/docs/doxygen/html/structrl_profile_cfg__t.html

    where you will find the definition of the freqSlopeConst (and other definitions) including the required conversion factor to convert the value from MHz/usec to the register value. This conversion factor is needed for that.

    2. In this equation, the variable rangeResolution store the delta range (in meters) represented by each FFT bin. This should not be taken as the theoretical radar range resolution i.e. C/2B. Though, it actually coincides with the theoretical range resolution when the number of ADC samples is a power of 2. I agree that the name of this variable is confusing. It may be better to call it rangeIndexToMetres or rangeStepInMetres.

    Regards

    -Nitin

  • Thanks Nitin for the reply! That is super helpful!