Other Parts Discussed in Thread: IWR1443
trying to get the heatmap data from the IWR1443Boost demo board. Is the FFT bin number by default 256? Any way to change it to 512 or 1024?
Henry
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.
trying to get the heatmap data from the IWR1443Boost demo board. Is the FFT bin number by default 256? Any way to change it to 512 or 1024?
Henry
Hi Henry,
Are you working with the standard Out of Box Demo or a different software set?
We'll need a few days to respond to the rest of your question.
Regards,
AG
Hi AG,
I am using the default, preloaded software of the demo board and I am using Python to get data from the comm port using the CLI commands.
Thanks a lot,
Henry
Hi, Henry:
Which SDK version you are using? And are you talking about range-Doppler heatmap? If so, the range-Doppler heatmap size is determined by the number of ADC samples (range FFT size) per chirp and the number of chirps (Doppler FFT size) in one frame.
You can search for profileCfg and frameCfg inside the SDK users guide to understand how to change them in CLI control interface. The SDK users guide is located at: C:\ti\mmwave_sdk_xx_xx_xx_xx\docs\mmwave_sdk_user_guide.pdf.
The range of ADC samples is below 1024, which can be found below:
The range of number of loops is below 255 , which can be found below:
In addition there is limitation of the max value of (range FFT size * Doppler FFT size * number of antenna pair), which is below 96K complex samples per frame for IWR1443.
In addition, you may limited by UART speed, so please adjust the frame periodicity accordingly.
Best,
Zigang
Hi Zigang,
It is MMWAVE SDK 2.1.0.4 and I am doing the Azimuth heatmap.
Thanks a lot,
Henry
Hi, Henry:
The Range-Azimuth heatmap is generated from the zero Doppler bins. The zero Doppler bins is calculated inside radar sensor and with size (number of range FFT * number of visual antenna), then the actual heatmap is calculated inside the visualizer instead of the radar sensor.
I will reach out to find out the size of this heatmap in angle domian and get back to you.
Best,
Zigang
HI, Henry:
Range FFT information can be configured through profileCfg as number of ADC samples. You can search for profileCfg inside the SDK users guide to understand how to change them in CLI control interface. The SDK users guide is located at this relative directory: C:\ti\mmwave_sdk_xx_xx_xx_xx\docs\mmwave_sdk_user_guide.pdf.
The maximum number of ADC samples is below 1024.
In addition there is limitation of the max value of (range FFT size * Doppler FFT size * number of antenna pair), which is below 96K complex samples per frame for IWR1443.
Best,
Zigang
Hi Zigang,
Actually, I have two more questions:
1. I am trying to do the calculation on the angle of arrival based on the heatmap data. What is the FFT bin to do the AOA? I am using 8 which is the number of virtual antenna. But I looked at the code of mmWave Demo Visualizer, it seems using a bin of 64.
2.I am using 2 TX and 4 RX antennas for MiMo, would the virtual antenna sequence be in the heatmap data as: virtual antenna 1, virtual antenna 2 .... virtual antenna 8. If we do FFT on that and find the the first peak at sequence number 5, is the object at the azimuth angle of 90 degrees?
Thanks a lot,
Henry
Hi, Henry:
1) The FFT bin used for angle estimation can be decided by users depends on available MIPS and memory. A size of 32 or more will be suggested. After FFT operation, the peak will be detected. If the FFT size is small, then the peak location will not be very accurate.
2) If you apply fftshift to your FFT output, then the index w = (-NFFT/2:NFFT/2-1)*2*pi/NFFT; So in your example, let us assume the peak of FFT output (before fftshift) is index 5, and the FFT size is 8 as you suggested in your question, then your w_peak is actually -pi; then the peak angle is actually: theta = asin (w_peak/pi) = -90 degree.
You can find some basic angle estimation training at: https://training.ti.com/sites/default/files/docs/mmwaveSensing-FMCW-offlineviewing_4.pdf
Best,
Zigang
Hi Zigang,
Does 'fftshift' mean doing FFT? If yes, I don't understand why w_peak is -pi. In my example, the index of peak of FFT (Kmax) is 5, w_peak should be '0' in the FFT output sequence of [-4, -3, -2, -1, 0, 1, 2, 3]. If w_peak is zero, theta should be zero as well.
Please check if my calculation is correct.
Thanks a lot,
Henry
HI, Henry:
I was assume your FFT output index is (0, 1, 2, 3, -4, -3, -2, -1), so the Kmax = 5 means -4. But if you output is (-4, -3, -2, -1, 0, 1, 2, 3), then your w_peak is zero, and angle is also zero.
Best,
Zigang
Hi Zigang,
I see. But based on the procedures on the Angle of Arrival calculation suggested by the TI's app note and the reference document 'Millimeter Wave (mmw) Demo for XWR14XX', should we use the output index of (-4, -3, -2, -1, 0, 1, 2, 3) or (0, 1, 2, 3, -4, -3, -2, -1)?
Thanks again,
Henry
Hi, Henry:
Since I did not get your reply for over 10 days, I am closing this thread.
Best,
Zigang
Hi Zigang,
I have spent some time on checking/correcting the codes and doing some verification tests. Finally, the AOA is working according to your suggestions - need to do the 'fftshift'. But my calculated AOA is not as accurate and stable as the one found from the demo software 'Mmwave Demo Visualizer'. I checked the code of the AOA calculation file "mmWave.js" of the Visualizer software, seems that it only find one single object (the peak one) in each range bin. Am I correct? Also, any references on the detailed calculation of AOA and multiple object detection in the demo software 'Mmwave Demo Visualizer'
Thanks a lot,
Henry
Hi, Henry:
Glad to know that you have made some progress. When trying to detect multiple peaks from the angle spectrum, you can get false detection due to the sidelobe in the spectrum. We do not have multiple peak detection in SDK release demo. If I can find a multiple peak detection example in other TiRex labs, I will let you know.
But you can find some document on AOA at following location.
Best,
Zigang
HI,
I found out that the SDK out-of-box demo support multiple peak search on the azimuth angle spectrum. Please search multiObjBeamForming in the user's guide and in the following function.
AoAProcDSP_angleEstimationAzimElev()
Best,
Zigang