Skip to main content

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:

Heatmap⁡[r,d]=rawValueToOutput⁡[r,d]\operatorname{Heatmap}[r,d] = \operatorname{rawValueToOutput}[r,d]

where:

  • rr is the range-bin index, from 00 to R−1R-1.
  • dd is the Doppler-bin index, from 00 to D−1D-1.
  • RR is the number of range bins.
  • DD is the number of Doppler FFT bins.

The related profile TLVs are slices through this same matrix:

rangeProfile⁡[r]=heatmap⁡[r,0]\operatorname{rangeProfile}[r] = \operatorname{heatmap}[r,0] noiseProfile⁡[r]=heatmap⁡[r,D2−1]\operatorname{noiseProfile}[r] = \operatorname{heatmap} \left[r,\frac{D}{2}-1\right]

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 (r,d)(r,d) is:

index⁡(r,d)=rD+d\operatorname{index}(r,d)=rD+d

Because every cell occupies 2 bytes, its start byte offset from the beginning of the TLV payload is:

offset⁡(r,d)=2(rD+d)\operatorname{offset}(r,d)=2(rD+d)

The payload therefore contains R×DR\times D consecutive uint16_t values and has a total length of 2∗R∗D2*R*D 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.