2.2 Vehicle Occupancy Detection Software Block Diagram
As described in Figure 2, the implementation of the vehicle occupancy detection example in the signal-processing chain consists of the following blocks, implemented as DSP code executing on the C674x core in the AWR6843/1843:
- Range processing
- For each antenna, 1D windowing, and 1D fast Fourier transform (FFT).
- Range processing is interleaved with the active chirp time of the frame.
- Clutter removal
- Estimate the DC component for each range bin, across chirps in a frame.
- Subtract the estimated DC component for each range bin.
- Range-Azimuth heatmap generation
- Perform Direction-of-Arrival (DOA) Spectral Estimation to calculate a 2D heatmap for the frame, indexed by range (Nr, rows) and azimuth (Naz, columns).
- Heatmap conditioning
- Arc removal: For each range row, examine the power compared to normal empty FOV. When there is a large amount of MVDR leakage causing elevated power across the entire row (for example, an arc), use image processing techniques to drop the arc to the noise floor while maintaining any peak at its original strength.
- Smoothing: On occasion, frame to frame clutter removal variations can cause a single frame drop in occupant signature strength, which in turn can affect decision quality. By using a smoothing function that compares the heatmap to the previous frame's heatmap, these drops can be smoothed out and a more consistent signature is maintained.
- Feature Extraction
- Each frame, scan the heatmap within each defined zone of interest and compute a feature vector:
- Zone power. Originally, this was a simple average across the entire zone. But large zones suffer because the power of an occupant signature gets diluted due to the number of noise level cells in the zone. Now, the zone is searched for the maximum 5x5 region, and the average of the 5x5 is used for zone power.
- Frame-averaged zone power (for L (window length), frames).
- Frame-averaged power ratio (for L frames).
- Correlation coefficient of zone power.
- Zone Detection
- For Nz zones, there are 2Nz possible occupancy states. Offline, define a matrix of decision parameters (coefficients) to represent targets of interest (adults, children, pets, and so on).
- Perform matrix multiplication with the decision parameters and feature vector. This yields an array of flags, one flag per zone, a 1 indicating zone occupied, and 0 indicating empty.
After the DSP finishes frame processing, the results are formatted and written in shared memory (HSRAM) for the R4F MCU to send to the host through a UART for visualization.