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.

IWR6843AOPEVM: Curious regarding description of quantization of measurements

Part Number: IWR6843AOPEVM
Other Parts Discussed in Thread: IWR6843AOP

Tool/software: Out of Box Demo

Asking a follow-up question as the original was never entirely answered.

The overarching question is to be informed on how the measurements output from the sensor are quantized, the answer to which I believe is rooted in the FFT size for position/velocity, and potentially the same for azimuth/elevation with some doubt.

I was at first under the impression that the range FFT size is the number of samples and the doppler FFT size is the number of chirps per frame, but analyzing some data returned by the sensor, this seem to perhaps not be the case. The TI sensing estimator on this chirp reports

  • Maximum velocity 3.995
  • Number of chirp loops 60
  • velocity resolution 0.133

From this, if the doppler FFT has 60 bins I would expect the output to be quantized by 2 * 3.995 / 60 = 0.133, but in reality seems to be 0.124919, corresponding better to 64 FFT bins. Same comparison for range

  • Maximum range 15.999
  • Number of samples 255
  • Range resolution 0.078

same calculation as before resulting in quantization interval of 15.999 / 255 = 0.0627 when data shows something more like 0.078. Furthermore, I was under the impressions that the angle-FFT is locked at 64 bins for each azimuth and elevation, given a reported max FOV +-60 (which should be +-90 in reality I think?) results in 1.875 degrees. Data shows differences as low as 0.01 for azimuth and 1.79 for elevation

Of course the calculation for resolution of range, doppler, angle is covered elsewhere, I have not found much regarding the implementation of the calculation. Can anyone shed some light on the details of the calculation, e.g. how FFT sizes are calculated and what steps are applied post FFT? If you can refer me to the correct place in the implementation, this is perfectly fine as well.

  • Hi Morten,

    The maximum range is smaller than you would expect because as you approach the final range bin, you become at risk for aliasing, so there is a filter than disallows detections beyond 80-90% of the theoretical maximum range from the FMCW scheme.

    For the doppler FFT - All FFTs on the device have sizes that are a power of 2. If you set a non-power of 2 for your chirp loops, then the doppler FFT will simply get rounded up to the next power of 2.

    For the angle FFT - If you consult the fundamentals white paper, you'll see that the angle estimation is a function of the arcsin() of the incoming phase. Since we take an FFT on the phase of the signal for the angle FFT, equal spacing between phase provided by the angle FFT does NOT correspond to equal spacing between angles. A size N angle FFT has candidate angles of asin((-N/2 : N/2-1) / N)

    Best,

    Nate 

  • Hi Nathan,

    Thank you regarding range and doppler FFT. Is this written somewhere in the documentation? I must've missed it.

    Follow-up question to the angle FFT. What is the FFT size for the angle FFT then? As far as I know there is no parameter for this. Furthermore, the candidate calculation doesn't seem to fit for sensors with total 120deg FOV (plus/minus 60), calculating instead what looks like 60deg (plus/minus 30). Is this calculated the same for both azimuth and elevation?

  • Hi Morten,

    In aoaprochwa.h it shows 64 bins. See C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\datapath\dpc\dpu\aoaproc\aoaprochwa.h. You will also see that the elevation FFT and azimuth FFT are the same size from line 1107 of C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\datapath\dpc\dpu\aoaproc\src\aoaprochwa.c

                hwaParamCfg.accelModeArgs.fftMode.fftSize = mathUtils_ceilLog2(numAzimuthBins);//assumes power of 2;

    Best,

    Nate

  • This doesn't really seem to correspond well with the analyzed data then.

    For one, considering asin((-N/2 : N/2-1) / N) where N == 64, the resolution in the lower ranges and max values do not correspond well to +-60deg FoV and the low azimuth intervals observed.

  • Hi again,

    I was curious if you had any comment about the previous. In addition I notice your first comment addressing max range and not the same FFT-precision topic. Doppler can make some sense, however the range still does not seem to correspond. Furthermore the tiny differences between azimuth, and the discrepancy between smallest azimuth vs elevation is not clear to me

    Morten

  • For one, considering asin((-N/2 : N/2-1) / N) where N == 64, the resolution in the lower ranges and max values do not correspond well to +-60deg FoV and the low azimuth intervals observed.

    In the aoaprochwa.c code, I see that the azimuth FFT is performed on the incoming signals, then they are converted to x/y/z coordinates. Perhaps there are some precision variations that cause deviation of 0.1 degrees. You could plot the point detected for a single range bin too to see how they are distributed.

    Best,

    Nate

  • Hi again Nate,


    I had a couple of follow-up questions, looking into file:///ti/mmwave_sdk_03_05_00_04/packages/ti/datapath/dpc/dpu/cfarcaproc/docs/doxygen/html/index.html, specifically in the section titled " Data Path - Direction of Arrival Estimation (x,y,z)".

    Please correct me if I'm wrong. w_x is the phase difference between consecutive azimuth antennas resulting from the FFT idx k_MAX ([-32, 31]) following

    As a result w_x goes from [-180, 174.375] degrees. The resulting angle for azimuth can be calculated following

    Such that the azimuth angle is from [-90, 75.64] degrees, including 0. Given that the IWR6843AOP is mirrored azimuth/elevation (in terms of number of antennas and FFT bins) this results also holds true for elevation

    Is my understanding/conclusion wrt to this correct?

    Morten

  • Hi Morten,

    This appears accurate to me.

    Best,

    Nate

  • From the same document I just realized the relationship between phase difference and azimuth actually depends on elevation as well

    So in the end slightly more complicated actually, at least for azimuth

  • That's accurate as well yes, it does depend on elevation too.

    Best,

    Nate