mmwave.dataloader.adc

class mmwave.dataloader.adc.DCA1000(static_ip='192.168.33.30', adc_ip='192.168.33.180', data_port=4098, config_port=4096)

Software interface to the DCA1000 EVM board via ethernet.

static_ip

IP to receive data from the FPGA

Type:str
adc_ip

IP to send configuration commands to the FPGA

Type:str
data_port

Port that the FPGA is using to send data

Type:int
config_port

Port that the FPGA is using to read configuration commands from

Type:int
General steps are as follows:
  1. Power cycle DCA1000 and XWR1xxx sensor
  2. Open mmWaveStudio and setup normally until tab SensorConfig or use lua script
  3. Make sure to connect mmWaveStudio to the board via ethernet
  4. Start streaming data
  5. Read in frames using class

Examples

>>> dca = DCA1000()
>>> adc_data = dca.read(timeout=.1)
>>> frame = dca.organize(adc_data, 128, 4, 256)
close()

Closes the sockets that are used for receiving and sending data

Returns:None
configure()

Initializes and connects to the FPGA

Returns:None
static organize(raw_frame, num_chirps, num_rx, num_samples)

Reorganizes raw ADC data into a full frame

Parameters:
  • raw_frame (ndarray) – Data to format
  • num_chirps – Number of chirps included in the frame
  • num_rx – Number of receivers used in the frame
  • num_samples – Number of ADC samples included in each chirp
Returns:

Reformatted frame of raw data of shape (num_chirps, num_rx, num_samples)

Return type:

ndarray

read(timeout=1)

Read in a single packet via UDP

Parameters:timeout (float) – Time to wait for packet before moving on
Returns:Full frame as array if successful, else None