0% found this document useful (0 votes)
162 views

Direct Sequence Spread Spectrum Experiments Using GNU Radio Companion SDR

This document summarizes experiments using GNU Radio Companion (GRC) software defined radio (SDR) to implement a direct sequence spread spectrum (DSSS) transceiver. GRC was used to construct the transceiver, which is a component of a low-cost satellite modem being developed for time and frequency transfer experiments. GRC facilitates the creation of signal processing blocks and flowgraphs. It allows users to create custom blocks in Python or C++. The paper describes features of GRC and provides performance indicators of the DSSS transceiver developed using GRC and a Universal Software Radio Peripheral device.

Uploaded by

Deepa Bharathi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
162 views

Direct Sequence Spread Spectrum Experiments Using GNU Radio Companion SDR

This document summarizes experiments using GNU Radio Companion (GRC) software defined radio (SDR) to implement a direct sequence spread spectrum (DSSS) transceiver. GRC was used to construct the transceiver, which is a component of a low-cost satellite modem being developed for time and frequency transfer experiments. GRC facilitates the creation of signal processing blocks and flowgraphs. It allows users to create custom blocks in Python or C++. The paper describes features of GRC and provides performance indicators of the DSSS transceiver developed using GRC and a Universal Software Radio Peripheral device.

Uploaded by

Deepa Bharathi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

2021 15th International Conference on Advanced Technologies, Systems and Services in Telecommunications (TELSIKS) | 978-1-6654-4442-2/21/$31.

00 ©2021 IEEE | DOI: 10.1109/TELSIKS52058.2021.9606351

Direct Sequence Spread Spectrum Experiments


using GNU Radio Companion SDR
David R. Taylor, Jacqueline Walker, and Bob Strunz

of the flowgraph as a Python (or C++) script depending on the


Abstract—This paper describes Software Defined Radio (SDR) composition of the blocks contained in the flowgraph.
developments using an Ettus Research [1] Universal Software In addition to providing rudimentary sampled data signal
Radio Peripheral (USRP). This work follows the development of processing and display functions contained within the GNU
the GNU Radio Companion (GRC) to construct a transceiver for
Radio source tree, the tool facilitates the creation of “out of
Direct Spread Spectrum communication. This transceiver is a
component of a low-cost satellite modem being developed for tree” (OOT) blocks, written in Python (or C++). OOT
Two-Way Satellite Time and Frequency Transfer (TWSTFT) [2] constructs allow users to create their own signal processing
and ranging measurement experiments. Features that distinguish block that cannot be implemented using existing GNU Radio
the GRC are described, and performance indicators provided. tree member functions. The code, once developed, can be
shared for possible GRC integration by the developers.
Keywords—GNU Radio, An open-source software Strict rules apply to OOT block coding and templates for
development toolkit, Software Defined Radio (SDR), Universal
header and code are generated whenever a new block is
Software Radio Peripheral (USRP), Pseudo Random Noise
(PRN) sequences. UHD - A common Universal USRP Hardware required. GRC block code is contained in a single class
Driver interface, Direct Sequence Spread Spectrum (DSSS). construct. Private and public member functions are used to
divide the block instantiation from the run-time processes.
I. INTRODUCTION GNU Radio Companion uses scheduling to activate and
GNU Radio [3] is an open-source Linux operating system suspend the (public) work functions of the flowgraph blocks
Software Defined Radio (SDR) application. When used and to efficiently manage the data flow from signal source to
standalone, signal processing simulation of sampled data signal sink, using data buffers for blocks data interchange.
processing can be performed, and results recorded. However, Public forecast methods are also used for block data
when used in conjunction with an attached USRP radio consumption estimation.
transceiver and hardware driver (UHD); fully functional SDR The GNU Radio Companion scheduler performance is
radio systems can be implemented that are capable of real- limited only by PC processor and memory capability and may
time performance. This preliminary work precedes the wholly allocate resources to the scheduler task if run without
incorporation of geostationary satellite link ground station some form of regulation. In simulation mode this is achieved
equipment for round trip measurements and other local timing using a “throttle” block to artificially impose a maximum
equipment necessary for TWSTFT operation. flowgraph data throughput. The attachment of USRP
GNU Radio SDR can be considered as a combination of hardware eliminates this flowgraph requirement, by setting a
software and hardware and whilst this basic architectural data throughput rate that is determined solely by the RF signal
divide remains at the core of all SDR technology, the sampling clock rate and the net decimation and interpolations
boundary is not well defined. The GNU Radio framework factors of the USRP FPGA. This paper describes GNU Radio
may use for example, video GPU hardware acceleration [4], Companion experiments used during the development of a
[5] or modified USRP FPGA code segments [6] to deal with SDR satellite modem and demonstrates the capability of the
specific processing or scaling bottlenecks, that are better GRC operating in both simulation and in real-time, using
encapsulated in hardware. attached SDR transceiver hardware.
The GNU Radio Companion (GRC) is a graphical tool
capable of representing the signal flowgraph as a connection II. GNU RADIO COMPANION USRP TEST SYSTEM
of signal processing blocks (nodes) at high level, whilst For the real-time experiments, an Ettus Radio type
enforcing rules for interconnection and data type propagation B200/210 USRP transceiver with USB3 interface is used. This
in the signal flow The GRC produces a coded representation transceiver uses direct conversion RF to baseband and is
benchmarked at 61.44 MS/s over USB3. Fig. 1 shows a
David R. Taylor is a PhD researcher in the Department of Electronic and system block diagram of the SDR and attached PC. The
Computer Engineering, Limerick University, Limerick, Republic of Ireland, Rubidium 10 MHz frequency source and its derived 1 PPS
V94 T9PX (e-mail: [email protected]). timing reference that form part of the satellite modem are
Dr. Jacqueline Walker and Dr. Bob Strunz are both lecturers in the
Department of Electronic and Computer Engineering, Faculty of Science and
shown, for completeness, however an internal USRP clock
Engineering, Limerick University, Limerick, Republic of Ireland, V94 T9PX source may be used. A passive double balanced mixer with
(e-mails: [email protected], [email protected]). simple output diplexer is used to provide a frequency offset

978-1-6654-4442-2/21/$31.00 ©2021 IEEE 41

Authorized licensed use limited to: SRM Institute of Science and Technology. Downloaded on January 24,2024 at 08:54:21 UTC from IEEE Xplore. Restrictions apply.
between SDR TX and RX ports, with RF loop-back testing. A For comparison, an identical length sampled LFSR sequence
frequency difference is used to reduce the effects of internal was generated using a primitive polynomial with feedback
crosstalk coupling in the SDR. taps at bit positions {10, 4, 3, 1, 0} and the reversed used as
correlator. The output is shown in Fig. 4. Gold codes are
noted for their good cross-correlation properties and
application to single radio frequency, multiple occupancy
systems, such those used in satellite navigation. The simple
LFSR sequence in comparison, has better auto-correlation
properties, and LFSR sequences of this length and longer are
used in satellite ranging and time transfer.

Fig. 1. SDR system with external time and frequency standard references.

III. GRC SIMULATION AND PRN SEQUENCES


PRN sequences are all examples of maximal length Linear
Finite Shift Register (LFSR) length sequences that are
themselves expressions of primitive polynomials over GϜ Fig. 4. Maximal length LFSR sequence autocorrelation function.
(prime) [7]. These pseudorandom sequences feature heavily in
Direct Sequence Spread Spectrum (DSSS) applications and The sequences used in these correlation experiments may be
the properties of auto and cross correlation must be considered used in more complex “out of tree” blocks and are produced
carefully in the application. off-line and output to file. The Channel Signal Generator
A GNU radio companion application [8] incorporating short block reads a sampled version of the PRN sequence and
PRN sequences of length 1023 chips has been used for outputs this sequence to connected blocks at the system
geostationary satellite ranging measurements, with elements sampling rate. The sequence of known length is output to the
of this GRC experiment duplicated as a simulation in Fig. 2. correct duration.

IV. PRN SEQUENCE USING AS OOT BLOCK PARAMETERS


It follows that PRN sequence representations are necessary
in both the transmission and reception of DSSS applications,
and these must apply to those blocks closely associated with
these functions. A study of the algorithms and methods used
both to generate, acquire and track DSSS radio signals, shows
that PRN sequences can be fully described using three
independent variables, and used as common scalable
parameters across the flowgraph.

Fig. 2. Simplified direct correlation flowgraph. Parameter Name type(cast)


samp_rate system sampling rate int64_t
GPS L1 C/A Gold Code PRN sequences are of length 1023 length_chips no of chips in the sequence int32_t
chips and a sampled sequence of satellite SV1 was generated. duration_sec sequence time-period float
A decimating FIR filter with taps populated with the sequence
impulse response, represented as a reversed SV1 sequence is Where necessary, other program variables can be easily
used as a correlator. Fig. 3 shows the autocorrelation output. derived, such as the number of samples required to store the
sampled (PRN) code:
vector of samples length = samp_rate * duration_sec;

V. DIRECT SPREAD SPECTRUM “OUT OF TREE” BLOCKS,


FUNCTION & FEATURES
The functions of PRN signal generation, acquisition and
code tracking blocks are described. These are examples of
complex interactive blocks that use internal state-machines for
Fig. 3. GPS L1 C/A Gold Code SV1 autocorrelation function. block control and status communication. Fig. 5 contains OOT
blocks used for simulating DSSS generation and reception
over a perfect channel. The OOT blocks are briefly described
as follows.

42

Authorized licensed use limited to: SRM Institute of Science and Technology. Downloaded on January 24,2024 at 08:54:21 UTC from IEEE Xplore. Restrictions apply.
Fig. 5. GNU Radio Companion DSSS system test flowgraph.

Signal Generation. processed separately, but interactively. The tracking state


The Channel Signal Generator block is used to synthesise machine “idles” until acquisition has been accomplished and
sampled PRN sequences at system sampling rate. The PRN uses messaging to communicate initial variables upon which
sequence in sampled data form is read from file during the tracking loop can first apply to obtain an initial lock. As
instantiation and its sequence is output repeatedly. The block with all phase or frequency locked loop feedback systems, the
has options for adding the effects of Doppler at a set shift ability of the loop to initially lock is dependent on its capture
frequency, noise (AWGN) at a set Carrier to Noise Density range, which is a function of the loop noise bandwidth. This is
Ratio CN0 dB-Hz and periodic BPSK modulation events. This set artificially high and then adaptively regulated, using the
block processes the sampled PRN sequence as complex data outputs from the code and phase discriminators.
throughout and may therefore accept other data sequence
The flowgraph, contains details of block messaging, which
implementations as input from file, that is capable of
is used for block status transfer and debug purposes. The
supporting modulation schemes such as QPSK.
GNU Radio Companion is designed to efficiently pass
sampled data signal between blocks but is also provided with
Signal Acquisition.
a message passing API which is separate from the main signal
Acquisition is the first stage of DSSS reception. Sharing the
flow. Importantly this permits message constructs to pass
same PRN parameters used in the signal generation. A parallel
between signal processing blocks and in any direction. The
code search method is used to determine the presence of a
dotted lines show the message routes used for both debug and
matching PRN sequence in the receiver input. Expressing the
control purposes. State machines are used in the acquisition
receiver input samples as a vector of complex numbers, the
and tracking block work functions and are used to articulate
vector length is determined from the PRN parameters as are
the internal block state and to pass messages and results.
the FFT sizes and other variables. This method takes an FFT
of the incoming receiver vector and multiplies it with the
VI. SIMPLE RF LOOP-BACK TESTS
complex conjugate of the sampled local copy of the PRN
sequence and then performs an inverse FFT. The absolute Attachment of a USRP device as shown in Fig. 1, allows RF
output value of peaks in this time sequence represents the loop-back testing to be performed. A hierarchical block
correlation and its index identifies the relative code-phase containing all necessary RF and BPSK modulation functions
(time) difference between the received and local PRN was created, see Fig. 6. This can be incorporated into other
sequences. flowgraphs requiring USRP function, noting that the input
parameters shown, may be overwritten in the main (parent)
flowgraph.
Signal Code and Carrier Tracking.
The blocks used for carrier phase and code tracking
purposes are of closed loop type and use feedback loops to
reduce differences between the incoming signal and locally
generated replica. Control loops for code and carrier phase are

43

Authorized licensed use limited to: SRM Institute of Science and Technology. Downloaded on January 24,2024 at 08:54:21 UTC from IEEE Xplore. Restrictions apply.
Fig. 6. USRP RF hierarchical GRC block.

Fig. 7 is a constellation diagram of a received unmodulated Hierarchical GRC blocks allow re-use and add clarity to
BPSK PRN sequence using a B210 USRP. In the presence of complex flowgraph designs.
channel noise, there is rotational instability and quadrature Out of tree block development allows access to and study of
energy present. Cross talk can occur in the USRP RF section process variables, as a block output, which can include
at high gain settings, due to the sensitivity of correlator message constructs.
receivers.
ACKNOWLEDGMENT
The authors wish to thank Dr. Carles Fernández-Prades,
Senior Researcher CTTC, for assistance with VOLK-GNSS-
SDR library code building and for making GNSS SDR source
code available.
David Taylor acknowledges, the Limerick University (UL)
ECE PhD Scholarship support provided during this research.

REFERENCES
[1] Ettus Research, “Selecting a USRP Device,” Application Note number
AN-881, https://kb.ettus.com/Selecting_a_USRP_Device, March 2019.
Fig. 7. Received BPSK constellation diagram. [2] D.W. Hanson, “Fundamentals of Two-Way Time Transfers by
Satellite”, 43rd Annual Symposium on Frequency Control, 1989.
[3] GNU Radio is a Free & Open-Source Toolkit for Software Radio,
VII. CONCLUSIONS
https://www.gnuradio.org/[]
GRC out of tree modules can be implemented for DSSS [4] V. Zhang, J. Achkar, Z Jiang, et al, “A Study on Using SDR Receivers
applications at those symbol (chip) rates used in TWSTFT and for the Europe-Europe and Transatlantic TWSTFT Links”, Proceedings
of the 2017 Precise time and Time Interval Meeting, Monterey,
ranging typically, 1 – 2.5 M Chips/second. California, January 2017.
OOT blocks may be created for DSSS applications and [5] Y.-J. Huang, W.-H. Tseng, et al, “TWSTFT Results by using Software-
incrementally tested in flowgraphs as simulations, or in real- Defined Receiver Data”, Conference: 2016 European Frequency and
time using attached USRP devices. This clear distinction Time Forum (EFTF), April 2016.
[6] RFNoC, “RF Network on Chip”, A network-distributed heterogeneous
simplifies the de-bugging process. processing tool with a focus on enabling FPGA processing in USRP
The use of common (and other) block parameters can devices. https://www.ettus.com/sdr-software/rfnoc/, 2021.
simplify flowgraph construction and allows scalability across [7] U. Jetzek, “Galois Fields, Linear Feedback Shift Registers and their
OOT and other blocks. Applications,” 2.3.1 Prime Fields, page 25, 2018.
[8] I. Lucresi, A. Di Carlofelice, et-al, “SDR-based System for Satellite
Ranging Measurements”, IEEE A&E Systems Magazine, January 2016.

44

Authorized licensed use limited to: SRM Institute of Science and Technology. Downloaded on January 24,2024 at 08:54:21 UTC from IEEE Xplore. Restrictions apply.

You might also like