Reference
Type: MMW_OUTPUT_MSG_RANGE_DOPPLER_HEAT_MAP
Length: (Range FFT size) × (Number of Doppler bins) ×
(sizeof(uint16_t), or 2 bytes)
Value: The complete range–Doppler detection matrix from
DetectionMatrix::data. Each matrix cell is an unsigned Q8-formatted raw value in the
same format used by the range profile and
noise profile.
How the values are produced
See How values are produced for the range FFT, Doppler FFT, virtual-antenna summation, and Q8 conversion.
Unlike previous profile TLVs, the heatmap does not select only one Doppler bin. It contains every range–Doppler bin value:
where:
- is the range-bin index, from to .
- is the Doppler-bin index, from to .
- is the number of range bins.
- is the number of Doppler FFT bins.
The related profile TLVs are slices through this same matrix:
Payload order
The matrix is serialized in 'row-major' order. All Doppler bins for one range bin are sent contiguously before moving to the next range bin. For example,
heatmap[0, 0], heatmap[0, 1], ..., heatmap[0, D-1],
heatmap[1, 0], heatmap[1, 1], ..., heatmap[1, D-1],
...
heatmap[R-1, 0], heatmap[R-1, 1], ..., heatmap[R-1, D-1]
The flattened payload index at is:
Because every cell occupies 2 bytes, its start byte offset from the beginning of the TLV payload is:
The payload therefore contains consecutive uint16_t values and
has a total length of bytes.
Selecting the output
The CLI config command guiMonitor selects the TLV elements that are sent in
the output packet. This includes the range/Doppler heatmap.