config.yaml
The entire configuration that controls the radar is defined in a single configuration file. This file is provided at runtime to run.py
and encapsulates all of the settings needed to run various experiments on different hardware setups. Configuration files are specified in the YAML format and contained in the config/
folder of the ORCA repository. Default configuration files are included to run the code on a B205mini-i (default_b205.yaml1
) and on an X310 (default_x310.yaml
). Here we explain the basics behind the settings available to the user via the config file.
sample_rate
: Sample rate of the generated chirp (used as TX and RX rate too), specified in Hzchirp_type
: Chirp frequency progression typechirp_bandwidth
: Bandwidth of the chirp, specified in Hzsample_rate
to satisfy Nyquistlo_offset_sw
: Center frequency of the chirp, relative to RF0:freq
(the RF center frequency), specified in Hzwindow
: Window function applied to the chirpchirp_length
: Chirp length without zero padding, specified in secondspulse_length
: Total pulse length (chirp + symmetric zero padding), specified in secondschirp_length
if no zero padding is desiredout_file
: Name of the output binary file containing pulse samplesshow_plot
: Whether to display a time-domain plot of the generated chirp (True or False)device_args
: USRP device arguments are used to identify specific SDRs (if multiple areconnected to the same computer), to configure model-specific parameters, and to set transport parameters of the link (USB, ethernet) between the SDR and the host computer.subdev
: Active SDR submodulesclk_ref
: SDR clock reference sourceclk_rate
: SDR main clock frequency, specified in Hztx_channels
: list of TX channels to use (comma separated)rx_channels
: list of RX channels to use (comma separated)cpu_format
: CPU-side sample formatotw_format
: On the wire formatMany of the Ettus SDRs have GPIO pins which can be used for conveying automatic transmit/receive signals or other general signals to external devices. The parameters in this section are specific to how MAPPERR and PEREGRINE use the SDR GPIO and can be adapted for other use cases.
gpio_bank
: Which GPIO bank to usepwr_amp_pin
: Which GPIO pin to use fo external power amplifier controlref_out
: Turns the 10 MHz reference out signal on the X310 on (1) or off (0)RF configuration parameters for a single-channel radar setup.
rx_rate
: RX sample rate, specified in Hzsample_rate
tx_rate
: TX sample rate, specified in Hzsample_rate
freq
: Center frequency (LO/mixer frequency), specified in Hzlo_offset
: hardware LO/mixer offset, specified in Hzrx_gain
: RX gain, specified in dBtx_gain
: TX gain, specified in dBbw
: Configurable hardware filter bandwidth, specified in Hztx_ant
: Port to be used for TXrx_ant
: Port to be used for RXtransmit
: Whether to transmit data samples or nottuning_args
: Set integer-N or fractional tuning argumentsRF configuration parameters for the second channel of a multi-channel radar setup. This is only supported on SDRs with more than 2 TX/RX ports. Parameters are the same as in RF Frontend 0 Configuration.
time_offset
: Offset time after set up before the first received sample, specified in secondstx_duration
: Transmission duration, specified in secondspulse_length
rx_duration
: Receive duration, specified in secondspules_rep_int
: pulse repetition interval, specified in secondsrx_duration
tx_lead
: Time between start of TX and RX, specified in secondsnum_pulses
: Number of chirps/pulses to transmit and receivenum_pulses
of error-free pulses before terminatingnum_presums
: Number of received pulses to coherently average before writing to filephase_dithering
: Whether to enable phase dithering or notchirp_loc
: Which chirp file to transmitout_file
save_loc
: (Temporary) location to write received samples togps_loc
: (Temporary) location to save GPS dataclk_ref
max_chirps_per_file
: Maximum number of chirps (after presumming) to write to a single fileThese settings are only used by run.py
, they are not read by main.cpp
.
final_save_loc
: Save location for the big final file, set to null
if you don’t want to save a big filemax_chirps_per_file
-= -1 (i.e. all data will be written directly to a single file), then final_save_loc and save_partial_files will be ignoredsave_partial_files
: Set to True if you want individual small files to be copied with the timestamp, set to False if you just want the big merged file to be copied with the timestampmax_chirps_per_file
== -1 (i.e. all data will be written directly to a single file), then final_save_loc and save_partial_files will be ignoredsave_gps
: Set to True if using GPS and wanting to save GPS location data, set to False otherwise