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.

IWR6843ISK-ODS: How can RangeFFT in HWA produce integer result?

Part Number: IWR6843ISK-ODS
Other Parts Discussed in Thread: IWR6843

I'm reading ods demo and found that DSP gets rangeFFT performed data

And the type of rangeFFT outputs is cplx16_t of which imaginary part and real part are int16

I saw Radar Hardware documentation (https://www.ti.com/lit/ug/swru526b/swru526b.pdf?ts=1648299992038) and it also says rangeFFT outputs is 16bit for real, imag each

But, as the documentation and FFT equation says, the result should be float even if input of FFT is int. (exp(-j * 2 * pi / N) = cos (-2 * pi / N)  + j * sin (-2 * pi / N) - so called twiddle factor is float and each part's range is [-1,1])

Then how does HWA make the range FFT output be integer?

By rounding?? or what else method??

In fact, I want to create python or matlab code to perform FFT exactly same with the HWA in IWR6843.

Could you inform me python or matlab code snippet for this??

Thanks in advance

Jaeyoon

  • HI, Jaeyoon:

    Yes, there is some scale and rounding.   In MATLAB,  it can be represent as

    rangeFFTOut = round(fft(rawAdcData)*2^m)

    You can try m = 15, but m can be bigger than that depend on some scaling setting inside the target code.   We do not have a golden code to match the target code,  

    Best,

    Zigang