IEEE - Aerospace and Electronic Systems - February 2020 - 33

Seal and Urbina

Figure 5.
Custom firmware modification to FPGA providing radar pulse
synchronization and data tagging to simplify pulse alignment in
data collection software.

Figure 4.
Droop compensation filter designed to correct the five-stage CIC
filter's steep roll-off response. The resulting response remains flat
out to 0.375 of the sample rate.

produces a register width of
B ΒΌ N log 2 R:

(6)

The GNURadar system employs a technique known
as bit-pruning [15] to mitigate bit growth, allowing
the designer to recover valuable hardware resources.
Additional resources were reclaimed by removing the
optional decimate-by-two half-band FIR filter from the
original design. These additional resources were used to
add an additional stage to the original CIC filter, providing 8.0 dB of increased attenuation for out-of-band frequencies. To correct for droop compensation, a 31-tap
FIR filter was designed using the CIC's inverse frequency response, and placed in the GPC as an optional,
postprocessing stage. The resulting response, shown in
Figure 4, provided a flat response up to approximately
0.375 of the incoming sample rate.

DATA COLLECTION AND STORAGE
Data from the USRP1 is streamed into a GPC using a USB
2.0 connection, moving data at rates up to 32 MSPS continuously. Sustaining rates of this magnitude while maintaining system responsiveness on a nonreal-time operating
system (NRTOS) requires careful design considerations.
Given the system's primary application of meteoric
research, data integrity was the primary system requirement, while real-time reporting was of secondary importance. In the sections that follow, details of the system's
architectural design and implementation necessary to support these requirements will be provided.
FEBRUARY 2020

FPGA FIRMWARE MODIFICATIONS
The original USRP design operated in a continuous listening mode using automatic gain control to optimize SNR. In
a pulsed radar application, coherence between transmit and
receive channels is required, as well as fixed gain to assess
a target's radar cross section. Additionally, an external
gate enable signal is required to enable data collection, providing precise control over sampled range cells. Given the
pulsed operation of the system, a data tag was inserted into
the data stream to identify the first range cell of the radar
return, providing data alignment. These two modifications
required significant modification to the original USRP1
design. Figure 5 illustrates firmware modifications made to
the FPGA.The starting time of the data collection is captured precisely by synchronizing the gate enable signal
with a 1-PPS GPS signal colocated with the GPC used for
data acquisition and storage. This provides the user with
the ability to start the system remotely and synchronize
multiple systems in distributed configurations.

DATA BUFFERING
In a typical NRTOS, the system's process scheduling architecture is the primary source of data latency, with latency
variance highly dependent on the scheduling algorithm
employed (e.g., priority, fair, deadline, etc.). To alleviate
this uncertainty while preserving data integrity, a multibuffer producer/consumer (PC) [16] buffering architecture
was implemented. This architecture utilizes two threads of
execution: 1) the producer thread, and 2) the consumer
thread are used to decouple incoming data from the mechanism used for recording. The producer thread, as the name
suggests, transfers data from the receiver into a circular
buffer system, alerting the consumer thread upon completion of a buffer write. The consumer thread listens for
incoming data; processing, formatting, and storing data to

IEEE A&E SYSTEMS MAGAZINE

33



IEEE - Aerospace and Electronic Systems - February 2020

Table of Contents for the Digital Edition of IEEE - Aerospace and Electronic Systems - February 2020

Contents
IEEE - Aerospace and Electronic Systems - February 2020 - Cover1
IEEE - Aerospace and Electronic Systems - February 2020 - Cover2
IEEE - Aerospace and Electronic Systems - February 2020 - Contents
IEEE - Aerospace and Electronic Systems - February 2020 - 2
IEEE - Aerospace and Electronic Systems - February 2020 - 3
IEEE - Aerospace and Electronic Systems - February 2020 - 4
IEEE - Aerospace and Electronic Systems - February 2020 - 5
IEEE - Aerospace and Electronic Systems - February 2020 - 6
IEEE - Aerospace and Electronic Systems - February 2020 - 7
IEEE - Aerospace and Electronic Systems - February 2020 - 8
IEEE - Aerospace and Electronic Systems - February 2020 - 9
IEEE - Aerospace and Electronic Systems - February 2020 - 10
IEEE - Aerospace and Electronic Systems - February 2020 - 11
IEEE - Aerospace and Electronic Systems - February 2020 - 12
IEEE - Aerospace and Electronic Systems - February 2020 - 13
IEEE - Aerospace and Electronic Systems - February 2020 - 14
IEEE - Aerospace and Electronic Systems - February 2020 - 15
IEEE - Aerospace and Electronic Systems - February 2020 - 16
IEEE - Aerospace and Electronic Systems - February 2020 - 17
IEEE - Aerospace and Electronic Systems - February 2020 - 18
IEEE - Aerospace and Electronic Systems - February 2020 - 19
IEEE - Aerospace and Electronic Systems - February 2020 - 20
IEEE - Aerospace and Electronic Systems - February 2020 - 21
IEEE - Aerospace and Electronic Systems - February 2020 - 22
IEEE - Aerospace and Electronic Systems - February 2020 - 23
IEEE - Aerospace and Electronic Systems - February 2020 - 24
IEEE - Aerospace and Electronic Systems - February 2020 - 25
IEEE - Aerospace and Electronic Systems - February 2020 - 26
IEEE - Aerospace and Electronic Systems - February 2020 - 27
IEEE - Aerospace and Electronic Systems - February 2020 - 28
IEEE - Aerospace and Electronic Systems - February 2020 - 29
IEEE - Aerospace and Electronic Systems - February 2020 - 30
IEEE - Aerospace and Electronic Systems - February 2020 - 31
IEEE - Aerospace and Electronic Systems - February 2020 - 32
IEEE - Aerospace and Electronic Systems - February 2020 - 33
IEEE - Aerospace and Electronic Systems - February 2020 - 34
IEEE - Aerospace and Electronic Systems - February 2020 - 35
IEEE - Aerospace and Electronic Systems - February 2020 - 36
IEEE - Aerospace and Electronic Systems - February 2020 - 37
IEEE - Aerospace and Electronic Systems - February 2020 - 38
IEEE - Aerospace and Electronic Systems - February 2020 - 39
IEEE - Aerospace and Electronic Systems - February 2020 - 40
IEEE - Aerospace and Electronic Systems - February 2020 - 41
IEEE - Aerospace and Electronic Systems - February 2020 - 42
IEEE - Aerospace and Electronic Systems - February 2020 - 43
IEEE - Aerospace and Electronic Systems - February 2020 - 44
IEEE - Aerospace and Electronic Systems - February 2020 - 45
IEEE - Aerospace and Electronic Systems - February 2020 - 46
IEEE - Aerospace and Electronic Systems - February 2020 - 47
IEEE - Aerospace and Electronic Systems - February 2020 - 48
IEEE - Aerospace and Electronic Systems - February 2020 - 49
IEEE - Aerospace and Electronic Systems - February 2020 - 50
IEEE - Aerospace and Electronic Systems - February 2020 - 51
IEEE - Aerospace and Electronic Systems - February 2020 - 52
IEEE - Aerospace and Electronic Systems - February 2020 - 53
IEEE - Aerospace and Electronic Systems - February 2020 - 54
IEEE - Aerospace and Electronic Systems - February 2020 - 55
IEEE - Aerospace and Electronic Systems - February 2020 - 56
IEEE - Aerospace and Electronic Systems - February 2020 - Cover3
IEEE - Aerospace and Electronic Systems - February 2020 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/aerospace_december2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_november2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_october2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_september2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_august2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_july2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_june2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_may2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_april2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_march2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_february2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_january2023
https://www.nxtbook.com/nxtbooks/ieee/aerospace_december2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_november2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_october2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_september2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_august2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_july2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_june2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_may2022_tutorial
https://www.nxtbook.com/nxtbooks/ieee/aerospace_may2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_april2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_march2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_february2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_january2022
https://www.nxtbook.com/nxtbooks/ieee/aerospace_december2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_november2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_october2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_september2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_august2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_july2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_june2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_may2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_april2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_march2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_march2021_tutorials
https://www.nxtbook.com/nxtbooks/ieee/aerospace_february2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_january2021
https://www.nxtbook.com/nxtbooks/ieee/aerospace_november2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_december2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_october2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_september2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_august2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_july2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_june2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_may2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_april2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_march2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_february2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_january2020
https://www.nxtbook.com/nxtbooks/ieee/aerospace_december2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_october2019partII
https://www.nxtbook.com/nxtbooks/ieee/aerospace_november2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_october2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_july2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_september2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_august2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_june2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_april2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_may2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_march2019
https://www.nxtbook.com/nxtbooks/ieee/aerospace_december2018
https://www.nxtbook.com/nxtbooks/ieee/aerospace_august2018
https://www.nxtbook.com/nxtbooks/ieee/aerospace_october2018
https://www.nxtbook.com/nxtbooks/ieee/aerospace_september2018
https://www.nxtbook.com/nxtbooks/ieee/aerospace_november2018
https://www.nxtbookmedia.com