Main Content

Performance Considerations for Using mmWave Radar Sensors for Reading Raw ADC Data

Time lag when processing IQ data in real-time

Background

To process ADC (IQ) data in real-time, you call the dca1000 object and add a custom processing code within a loop. If the processing code takes longer than the Frame Periodicity (rate at which TI Radar generate IQ data), the ADC (IQ) data will accumulate in the UDP buffer. The next time the dca1000 object is called, it will read the buffered data, which will not be the latest data, causing the code to process outdated information.

To prevent this, ensure that your processing is faster than the frame periodicity of the TI Radar.

Additional Information

Frame Periodicity: TI mmWave radar generates IQ data, which is transmitted to the host PC by the DCA1000EVM at intervals approximately equal to the Frame Periodicity. The Frame Periodicity value is set using the Config File (refer to Configure Radar Using a Configuration (.cfg) File for Reading Raw ADC (IQ) Data) and is specified by the FramePeriodicity property of the dca1000 object.

ADC data Streaming: The first call to the dca1000 object configures the radar and DCA1000, along with initiating the streaming of ADC data, and it continues to stream data until the release function is called. Each call to the dca1000 object reads the first available datagrams in the UDP buffers, extracts the data, and reshapes it to form the IQ data cube. Until the data is read by calling dca1000, the buffers will remain uncleared.

Packet drops and zero filled packets

The DCA1000EVM sends IQ data in the form of UDP packets, and there is a possibility of some UDP packets being dropped or arriving out of sequence. The data once received on the host will be processed to correct the sequence, and if any packet is missed, the data will be filled with zeros in the dropped packets. One radar data cube is formed by multiple UDP packets. If the rate of UDP packet drops is high, your data will be corrupted. To avoid or reduce data drops, you can perform these steps:

  1. Increase the delay between UDP packets

    Use the UDPPacketDelay property of the DCA1000EVM. Increasing the Ethernet packet delay will reduce the probability of UDP packet drops however decreases streaming throughput due to slower data capturing. Lower delay allows for higher bandwidth but increases the probability of UDP packet drops at the PC end.

  2. Reduce the Frame Period

    Modify the Config file used for configuring the radar to reduce the frame period.

  3. Reduce the data size of each frame:

    Adjust the parameters that define the size of each frame (a group of chirps used to form the radar data cube). The number of bytes received for each frame is approximately:

    Number of ADC Samples * Number of Receivers * Number of Chirps * Bytes Per Sample (4 bytes)

    These parameters can be modified by changing the respective settings in the Config File. The above equation does not include packet overhead.

Time Taken for Execution of First Step

Calling the dca1000 object for first time after object creation or calling the object after calling the release function takes additional time to complete. This is because the object sends some commands to TI mmWave radar and DCA1000EVM and waits for its response to configure the radar, DCA1000EVM capture card, and test the setup.

The subsequent calls the object are faster. While doing a performance characterization, exclude the first call to the dca1000 object.