Tool/software:
Hi,
For MMWave_SDK , we have the heatmap tlv for range-azimuth like this
Type Identifier |
Type Value | Length | Value |
---|---|---|---|
4 | MMWDEMO_OUTPUT_MSG_AZIMUT_STATIC_HEAT_MAP |
(Range FFT size) x (Number of “azimuth” virtual antennas) x (4 Bytes) | Samples to calculate static azimuth heatmap (no moving object signal). This is a 2D FFT array in range direction (x[numRangeBins][numVirtualAntAzim]), at doppler index 0. |
The antenna data are complex symbols, with imaginary first and real second in the following order:
Imag(ant 0, range 0), Real(ant 0, range 0),…,Imag(ant N-1, range 0),Real(ant N-1, range 0)
…
Imag(ant 0, range R-1), Real(ant 0, range R-1),…,Imag(ant N-1, range R-1),Real(ant N-1, range R-1)
But for LSDK , we have
"The matrix is arranged as X[rangeInd*azimuthFftSize + azimuthInd], rangeInd = 0, numRangeBins - 1, azimuthInd = 0, azimuthFftSize – 1"
So we directly get the magnitude for each bin(per range/ per angle), and we don't need to do any post processing
If I need to plot, I can directly do this(Psedo code below)
% Suppose you read `data` from TLV binary
heatmap = reshape(data, [numAzimuthBins, numRangeBins])';
heatmap = fliplr(heatmap); % Optional: flip angle direction
plot(heatmap);
- Is my understanding correct?