A New GNU Radio-Based Tool For Software-Defined Radar
A New GNU Radio-Based Tool For Software-Defined Radar
where wc (t) is a unit-energy shaping filter and αi is instan- The delay is computed using a streamlined version of the
taneous frequency, which is the difference between succes- Estimator Sync Pulse block from gr-radar: with the Tx
sive phase code values (wrapped into the range [−π, π]) port connected directly to the Rx port (with a 30 dB atten-
with α0 = 0. In the PCFM source block, wc is rectan- uator in the loop), a known reference pulse is transmitted
gular with length K and Barker, Frank, and P4 codes are and then cross-correlated with the received data, and the
currently supported (Fig. 4). first peak is taken to be the delay. The calibration can be
performed for any number of sample rates. For example, a
2.2. USRP Interfacing and Control B210 may be calibrated for 10 MS/s and 20 MS/s with the
following command
Unlike in communications systems, a radar’s transmitter
and receiver are often co-located and managed by the same plasma calibrate delay --rates 10e6
host system (known as a monostatic configuration). There- 20e6 --filename $HOME/delay.json
fore, gr-plasma uses a single custom block to handle
” B210 ” : [
both the transmission and reception of radar pulses for
{
UHD-compatible SDR devices. Unlike the USRP Source
” delay ” : 46 ,
and Sink in the main tree, the USRP Radar block operates
” m a s t e r c l o c k r a t e ”: 40000000.0 ,
entirely in the message domain. The block operates as fol-
” samp rate ” : 10000000.0
lows: first, a waveform must be passed to the input port
},
as a PDU. The metadata dictionary in this PDU must con-
{
tain an item with a key called prf whose value defines the
” delay ” : 165 ,
pulse repetition frequency (PRF) at which the waveform is
” m a s t e r c l o c k r a t e ”: 20000000.0 ,
to be transmitted. The PRF tag can be added to any PDU
” samp rate ” : 20000000.0
using the Waveform Controller block. Although the Wave-
},
form Controller block is currently only used to set the PRF,
]
it will eventually be extended to facilitate cognitive opera-
tion in which it uses the results of downstream processing Listing 1. Delay calibration output file format
to update the transmitted waveform.
When the PDU has been processed, the radar block will The output of the calibration script is then saved to a JSON
repeatedly transmit and receive the waveform until a new file that stores a list of delays, master clock rates, and sam-
PDU is received. This method minimizes the number of ple rates for each device configuration that has been cal-
messages that must be processed by the block and makes it ibrated. For the example above, the JSON in Listing 1
possible to operate at higher sample rates since no overhead would be produced. The USRP radar block takes this file
is incurred from the scheduler. It also reduces latency dur- as an input, and skips the first Ndelay received samples if
ing processing compared to a stream-based approach since the configuration is present in the file.
messages can be processed immediately when they are re-
ceived, making it possible to update the waveform on a sub- 2.3. Signal Processing Blocks
millisecond timescale. Moreover, unlike in tagged stream
Matched filtering, also known as pulse compression in
blocks, the size of the waveform is not limited by the size of
radar and sonar applications, is a method for detecting a
each block’s buffer. Since radar returns are often processed
signal in the presence of comparatively high-power noise.
on a pulse-by-pulse basis, the received data is processed
The goal of matched filtering is to maximize the signal-to-
into pulses and passed to the output as a new PDU. Meta-
noise ratio (SNR) at the filter output for a given transmit-
data from upstream blocks is only propagated on the first
ted waveform. It can be shown that for a waveform xtx (t)
received pulse for which it applies in order to further min-
with duration τp in additive white Gaussian noise (AWGN),
imize the amount of data to be processed by downstream
the matched filter’s impulse response is given as (Richards,
blocks. The complete USRP processing chain is summa-
2013)
rized in Fig. 5.
One hardware quirk that had to be addressed before the
h(t) = αx∗tx (Tm − t) (3)
USRP radar could be used for open-air experiments was
the delay between transmit (Tx) and receive (Rx) ports due
to the internal DSP of each device, which manifests as a where scaling constant α has no impact on SNR and is of-
range offset for all targets during processing. This delay is ten set to unity, and Tm is the time at which the SNR is
constant for a given device, sample rate, and master clock maximized. Tm can also be any value, but for causality it
rate, and can thus be accounted for in a pre-processing step. is required that Tm ≥ τp (in the matched filter GNU Ra-
dio block, it is assumed that Tm = τp ). Since h(t) is a
gr-plasma: A New GNU Radio-based Tool for Software-defined Radar
(a) Barker Code (Nc = 13, K = 16) (b) Frank Code (Nc = 64, K = 16) (c) P4 Code (Nc = 64, K = 16)
PDU
(Waveform + Metadata)
equal to the duration of the waveform. The width of the
Waveform
Controller
peak, known as the range resolution, is primarily a func-
State information tion of the waveform bandwidth and determines the ability
(Detections,
spectrum occupancy, etc.) of the radar to distinguish targets that are similar in range.
While no new
PDU received
Radar
Processing PDU Pulses
UHD Radar
M
X −1
y(t) = α exp(j2πFD t)yp (t − mTP RI − τm ) (5)
m=0 Figure 7. Range-Doppler map for a loopback configuration
which is a matrix where each column is the matched filter 2.4. Miscellaneous Blocks
output for each pulse. For a given Doppler shift, a peak
In addition to the waveform generation and signal process-
can be produced at the target range by coherently integrat-
ing blocks described above, gr-plasma also contains
ing the signal in slow-time so that the pulse-to-pulse phase
blocks for managing PDUs. As mentioned in Section 2.2,
rotation is eliminated. In practice, the Doppler shift is un-
the USRP radar block outputs one PDU per pulse. How-
known a priori and the coherent integration must be per-
ever, many radar signal processing tasks operate on a num-
formed for a Doppler filter bank, where each filter applies
ber of pulses combined to form a coherent processing in-
a phase correction for a different Doppler shift. Thus, for
terval (CPI). For example, the DFT operation in Doppler
each possible Doppler FˆD , the Doppler processing block
processing assumes coherence over many pulses. There-
computes
fore, the “Pulses to CPI” block can be used to consolidate
NCP I PDUs containing individual pulses into one large
PDU. This block also propagates any metadata in the in-
M −1
X put directly to the output for use by downstream process-
Y [k, F̂D ] = y[k, m] exp(−j2π F̂D mTP RI ) (7)
ing. A custom PDU file sink block was also designed to
m=0
facilitate saving the collected data for future use without
first converting back to a traditional stream. The new file
which is equivalent to the discrete Fourier transform (DFT)
sink block can also (optionally) save metadata to a sepa-
of each row in y. Each element in the resulting matrix is a
rate file by converting PDU metadata dictionaries to JSON.
range-Doppler parameter pair, and a statistical hypothesis
This makes it simple to save metadata that complies to
test can be applied to each element to determine if an object
the SigMF standard (Hilburn et al., 2018), and it is flexi-
is present. Fig. 7 shows the range-Doppler response for
ble enough to easily extend to other formats. A sample of
an NI USRP-2901 in loopback, which produces a “target”
the JSON metadata output that is generated automatically
at zero delay and Doppler. gr-plasma also includes a
from the blocks is shown in Listing 2. In future work, this
Range Doppler Sink block for displaying these maps in real
non-standard format will be replaced with a formal SigMF
time.
extension for processing radar data.
The signal processing and waveform generation blocks dis-
cussed above are implemented using ArrayFire (Yalaman-
chili et al., 2015), and the user can choose to perform the
computations using CUDA, OpenCL, or CPU backends.
gr-plasma: A New GNU Radio-based Tool for Software-defined Radar
{
Rx Antenna Tx antenna
” annotations ”: [
{
” c o r e : l a b e l ” : ” pcfm ” ,
” core : s am p l e s t ar t ”: 0 ,
” r a d a r : d o p p l e r f f t s i z e ” : 1024 ,
” r a d a r : d u r a t i o n ” : 5 . 1 2 e −05 ,
” r a d a r : num phase code chips ” : 128 ,
” r a d a r : n u m p u l s e c p i ” : 1024 , Host PC
NI USRP-2901
” r a d a r : p h a s e c o d e c l a s s ” : ” p4 ” ,
” r a d a r : p r f ” : 10000.0
}
],
” captures ”: [
{
” core : frequency ” : 5000000000.0 ,
” core : s am p l e s t ar t ”: 0
} Figure 8. Experimental test bed setup
],
” global ”: {
” core : datatype ”: ” cf64 le ” ,
” core : sample rate ” : 20000000.0 ,
” core : version ”: ”1.0.0”
}
}
3. Experiment Design
Figure 9. Pulse-Doppler processing experiment
To verify the functionality of the module, an open-air ex-
perimental test bed was created using only commercial-off-
the-shelf (COTS) components. In the experiment, an NI with its associated metadata) for further offline process-
USRP-2901 was connected to 25 dBi parabolic dish anten- ing. This process continues until the flowgraph is manually
nas in a simultaneous transmit and recieve (STAR) con- stopped. Relevant radar processing parameters are summa-
figuration (Fig. 8) using only the internal amplification in rized in Table 1. Note that the USRP source and sink blocks
the radio. The host PC was a Dell XPS 13 9310 laptop in the main tree are unable to support this sample rate for
with an Intel i7-1165G7 CPU, 32 GB of RAM, and inte- B210 devices due to overhead from the scheduler, resulting
grated graphics. This laptop was used for the experiment in fatal underflows and late commands.
to demonstrate the utility of gr-plasma for performing Fig. 10 outlines the geography of the area used for the
radar tasks with low-cost, general-purpose systems. Since test. The target is a vehicle that accelerates in the direction
it does not have a dedicated GPU, it is unable to perform shown until it reaches the speed limit of 25 mph. When it
pulse-Doppler processing in real time. Instead, it simply reaches the end of the street, it turns around and accelerates
performs range-Doppler processing as quickly as it can and
drops any excess PDUs it receives while data is being pro-
cessed. Parameter Value
The signal processing chain and the parameter specifica- Sample rate 50 MS/s
tions used in the experiment are as shown in the flowgraph Center frequency 5 GHz
in Fig. 9. Here, an LFM waveform is transmitted and re- Bandwidth 40 MHz
ceived at the constant PRF. When a full CPI has been col- Pulse width 20 µs
lected, matched filtering and Doppler processing are per- PRF 10 kHz
formed and the resulting range-Doppler map is plotted at Range resolution 3.75 m
the fastest rate that the host PC can sustain. At the same Pulses per CPI 256
time, raw I/Q data from each pulse is saved to a file (along
Table 1. Radar Operational Parameters
gr-plasma: A New GNU Radio-based Tool for Software-defined Radar