Theoretical and Practical Approach To Gnu Radio and Limesdr Platform

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/344675197

Theoretical and Practical Approach to GNU Radio and LimeSDR Platform

Article · January 2020

CITATION READS
1 2,321

1 author:

Ritankar Sahu
Silesian University of Technology
4 PUBLICATIONS   1 CITATION   

SEE PROFILE

All content following this page was uploaded by Ritankar Sahu on 15 October 2020.

The user has requested enhancement of the downloaded file.


1

Theoretical and Practical Approach to GNU Radio


and LimeSDR Platform
Ritankar Sahu (B.Sc Student)

Date: January 22, 2020


Silesian University of Technology, Gliwice, Poland L IST OF F IGURES
1 GNU Radio Logo . . . . . . . . . . . . . . . . . 2
Abstract—GNU Radio is a free and open source software 2 SDR Logo . . . . . . . . . . . . . . . . . . . . . 2
framework to develop and implement various types of signal
processing system in the form of hierarchical blocks. It can
3 LimeSDR MIMO Board . . . . . . . . . . . . . 3
simultaneously be used with either external RF-FPGA hardware 4 LimeSDR Ports and Connectors . . . . . . . . . 3
to create Software Defined Radio (SDR) or in a simulation like 5 Stereotype Cable for LimeSDR Interface . . . . 4
environment. 6 GRC Environment, Block Tree and SDR Sub-
Block Tree . . . . . . . . . . . . . . . . . . . . 4
C ONTENTS 7 Graphical GRC Blocks . . . . . . . . . . . . . . 4
8 Properties of a Block . . . . . . . . . . . . . . . 5
I Introduction 2
I-A Ideology . . . . . . . . . . . . . . . . . . . . 2 9 FM Receiver Flowgraph . . . . . . . . . . . . . 5
I-B Development of GNU Radio . . . . . . . . . 2 10 LimeSDR PCI-e Interface . . . . . . . . . . . . 5
I-C Development of SDR . . . . . . . . . . . . . 2
L IST OF TABLES
II Framework 2
II-A GNU Radio Companion (GRC) . . . . . . . 2 I LimeSDR-USB RF Ports . . . . . . . . . . . . . 3
II-B SDR . . . . . . . . . . . . . . . . . . . . . . 2 II SDR Platform Comparison . . . . . . . . . . . . 5
III Concept 3

IV Hardware and Support 3


IV-A LimeSDR . . . . . . . . . . . . . . . . . . . 3
IV-B Communication and Power . . . . . . . . . 3
IV-C Driver and Firmware . . . . . . . . . . . . . 4

V Software and Flowgraph 4


V-A Using GRC . . . . . . . . . . . . . . . . . . 4
V-B Flowgraph Creation . . . . . . . . . . . . . 4

VI Implementation Example 4

VII Additional Information 5

References 5
2

I. I NTRODUCTION II. F RAMEWORK


A. Ideology A. GNU Radio Companion (GRC)
GNU Radio is a free and open source software frame- The GNU Radio works through two different ways. That
work to develop and implement various types of sig- provides software and tools either to build an SDR application
nal processing system in the form of hierarchical blocks. or hypothetical signal processing applications. The GNU Ra-
It can simultaneously be dio applications are usually called as "flowgraphs", which are
used with either external a series of signal processing blocks hierarchically connected
RF-FPGA hardware to cre- together and data flows from one end to another. Ability
ate Software Defined Radio of reconfiguration is a key feature for all types of SDRs.
(SDR) or in a simulation Figure 1. GNU Radio Logo A general-purpose radio hardware can be used as the trans-
like environment. It is now a receiver, and the GNU Radio handles the processing, according
days vastly used by DIY makers, Academics and Professionals to the radio application. Flowgraphs can be written in either
to research on real world radio communication system. C++ or the Python. The GNU Radio infrastructure is written
Software Defined Radio (SDR) is a radio in C++, and many of the user tools are written in Python.
communication system where traditional radio components GNU Radio Companion (GRC) is a graphical user interface
(MUX, DeMUX, Amplifier, (GUI) for developing GNU Radio applications in the form of
Filter, MODEM, Decoder flowgraphs. In the year 2006, GRC was developed by Josh
etc.) are substituted by soft- Blum, and then distributed as free software, starting with 3.2.0
ware components in a per- release. GRC is simply a python code generation tool. When a
sonal computer, an embed- flowgraph is compiled, it creates the expected GUI windows,
ded system, or a server. A Figure 2. SDR Logo widgets and connections accordingly. It currently supports Qt
typical SDR system should toolkit and Wx toolkit for GUI creation.
have a personal computer interfaced with an analog to digital GNU Radio provides many plotting a data visualization
converter (ADC). Signal processing should be done by a interfaces such as:
general purpose processor rather than any special purpose • Fast Fourier Transform (FFT) Display
hardware. Hence that kind of radio can be functioning regard- • Amplitude-Time Display
less any limited radio frequency (RF) spectrum. • Power-Frequency Display
• Power-Frequency-Time Display (Spectogram)
• Constellation Display
B. Development of GNU Radio
And many other mathematical representative displays. Which
GNU Radio framework was initialy introduced to world are really useful for debugging radio applications and as the
by Eric Blossom1 , supported by American benefactor John user-interface to a final application.
Gilmore2 , in the year 2001. It was a fork project of Pspectra GNU Radio provides a toolchain to the expert users, who
project at first, but in 2004, it had been completely rewritten. wishes to create out of tree (OOT) modules, usually in C++,
Now a days it’s not anymore having any part of Pspectra code. for their personal customized application. The project named
Presently GNU Radio is an official GNU package3 . Python Build Overlay Managed Bundle System (PyBOMBS)
is created by GNU Radio authority to manage the dependen-
C. Development of SDR cies and toolchain to run GNU Radio under developer mode.
As it is a part of GNU Project, thus It is distributed under
Although since 1970, there were ongoing researches being the terms of the GNU General Public License (GPL) version 3,
carried by many individual researchers and research groups to and all of the project code is copyrighted by the Free Software
implement software systems for the evaluation and analysis Foundation[4] .
of RF signals yet the term “Software Defined Radio” was
first time introduced to world by Stephen Blust[3] in the year
1995. One of the first public SDR initiative was U.S. Air Force B. SDR
military project named SpeakEasy4 . SpeakEasy project phase The SDR is vastly used for the military and cell phone
II was the first known to use Field Programmable Gate Array services, as both of these serve a wide variety of changing
(FPGA) integrated circuits for digital processing of radio data. radio spectrum as well as protocol in real time. Hence SDR
By the end of the year 2000, the rapid and huge development is expected to become the dominant technology in the domain
of RF-CMOS (Complementary Metal-Oxide-Semiconductor) of radio communication. SDRs, along with software defined
helped the entire SDR to be integrated into one mixed-signal antennas are called as the cognitive radio. To avoid the
System on Chip (SoC). One real life implementation of SDR “Limited Spectrum” SDR follows many ways as:
is Broadcom BCM21551 which is vastly used in 3G mobile. • Spread Spectrum and Ultrawideband Technique

1 https://en.wikipedia.org/wiki/Eric_Blossom
• Software Defined Antennas
2 https://en.wikipedia.org/wiki/John_Gilmore_(activist) • Cognitive Radio
3 https://en.wikipedia.org/wiki/List_of_GNU_packages • Dynamic Transmitter Power Adjustment
4 https://en.wikipedia.org/wiki/SpeakEasy • Wireless Mesh Network
3

The ideal SDR scheme should be an antenna attached to an


ADC which is connected to a digital signal processor (DSP),
mostly an FPGA. Sometimes DSP and ADC can be integrated
into a single chip. And finally DSP should interface with
the stream of data to a personal computer or an embedded
system through serial communication such as Universal Serial
Bus (USB) or Universal Asynchronous Receiver/Transmitter
(UART).

III. C ONCEPT
A very fundamental SDR application can be created using
an SDR hardware and GNU Radio to visualize and evaluate
any type of RF signal present in the environment. One really Figure 3. LimeSDR MIMO Board
easy to use hardware may be LimeSDR5 for that purpose, as
it has a great frequency response and huge bandwidth. In the
software part as stated, GNU Radio can do the rest with which,
different features of the signal can be displayed, measured and
evaluated.

IV. H ARDWARE AND S UPPORT


A. LimeSDR
LimeSDR is an open source FPGA based SDR which
supports any type of wireless communication standard, such
as:
• AM (Depends on Hardware)
• FM
• GSM
• LoRa
• Bluetooth Figure 4. LimeSDR Ports and Connectors
• RFID
• LTE
• UMTS
decision should be made about using those ports together or
• Digital Broadcasting
individually. The functionality of those ports are displayed
properly in the Table I
The LimeSDR platform is comprised of a family of boards
that range from 1×1 SISO board and a highly affordable 2×2
MIMO solution. The prime features of LimeSDR at a glance: B. Communication and Power
• RF Transceiver: Lime Microsystems LMS7002M FPRF Depending on the model of LimeSDR is in use, one of the
• FPGA: Altera Cyclone IV EP4CE40F23 – also compat- following USB 3.0 cable will be needed for communication
ible with EP4CE30F23 and power supply purpose.
• Memory: 256 MBytes DDR2 SDRAM • Type A plug to Type Micro B plug
• USB 3.0 controller: Cypress USB 3.0 CYUSB3014- • Type A plug to A socket
BZXC LimeSDR is a very powerful device, and may not receive the
• Oscillator: Rakon RPT7050A @30.72MHz power it needs from a single USB port. The use of a Y-splitter,
• Continuous frequency range: 100 kHz – 3.8 GHz which uses one Type A plug for power and data and a second
• Bandwidth: 61.44 MHz
• RF connection: 12x U.FL connectors (6 RX, 4 TX, 2 Label Description
CLK I/O) RX1_H Channel 1 RX - frequencies above 1.5GHz
• Power Output (CW): up to 10 dBm RX2_H Channel 2 RX - frequencies above 1.5GHz
RX1_L Channel 1 RX - frequencies below 1.5GHz
• Multiplexing: 2×2 MIMO RX2_L Channel 2 RX - frequencies below 1.5GHz
• Power: Micro USB connector or optional external power RX1_W Channel 1 RX - wideband
supply RX2_W Channel 2 RX - wideband
TX1_1 Channel 1 TX - primary (all frequencies)
• Status indicators: programmable LED TX2_1 Channel 2 TX - primary (all frequencies)
• Dimensions: 100 mm x 60 mm TX1_2 Channel 1 TX - secondary (all frequencies)
TX2_2 Channel 2 TX - secondary (all frequencies)
The LimeSDR is designed with multiple RF ports, to
which U.FL to SMA cables can be connected. Always a Table I
L IME SDR-USB RF P ORTS
5 https://wiki.myriadrf.org/LimeMicro:LMS7002M_Datasheet
4

Figure 5. Stereotype Cable for LimeSDR Interface

Type A plug for additional power, is recommended; users of


portable devices like the Apple MacBook Air or Microsoft
Surface families, which have USB ports on opposite sides of
the device, may also require a USB extension cable which
should be connected to the secondary, power-only, leg of the
Y-splitter. Please see Figure 5 for identification of proper cable.
Typical current consumption of LimeSDR is always more
than 500mA. USB 3.0 port as this standard is specified to
Figure 6. GRC Environment, Block Tree and SDR Sub-Block Tree
guarantee 900mA of current. So USB 3.0 is recommended.
While on the subject of power, additional power amps may be
required for some applications, but a low power radio can be B. Flowgraph Creation
run without additional hardware.
For applications around the 2.4 GHz spectrum USB3.0 Basically the GRC blocks
has significantly large harmonics, that poor shielding on are nothing but individ-
the cable/PC can increase the noise floor to a point where ual ‘class’ to perform spe-
communication is impossible. This is most commonly seen in cific processes or tasks and
WiFi where USB 3.0 can disrupt a laptop/tablet connection. graphically represented by
If this is an issue consider using USB2.0 (lower bandwidth) ‘xml blocks’(see Figure 7).
or providing more shielding. Creating flowgraph means
creating internal connection
between these blocks or to
C. Driver and Firmware be more precise, creating
All the hardware, software and firmware support for objects to call those classes
LimeSDR is provided by MyriadRF. Usually OSX and Linux according to the process ne- Figure 7. Graphical GRC Blocks
users do not need to install drivers for USB support, but cessity. Creating flowgraph
for Windows users there is a USB driver support provided is pretty simple. It’s nothing but pulling those block to the
by MyriadRF. It can be downloaded and installed from the white area, adding the terminals with arrow, which creates
website or can be built from the source with help of CMake. object automatically and changing the parameters accordingly.
The details are documented in Lime_Suite section perfectly. After that the final task is to run the entire flowgraph which
is finally a full program to be executed. The properties of a
V. S OFTWARE AND F LOWGRAPH block (see Figure 8) are the parameters of the application,
A. Using GRC they can be static constant or dynamic variables. As in Figure
8 ‘Analog filter bandwidth’ is provided with a constant but
GNU Radio Companion (GRC) has a huge set of existing ‘Digital filter bandwidth’ is served with a variable ‘Sample
blocks. Using these blocks, many standard tasks, like normal- Rate’ (samp_rate).
izing signals, synchronization, measurements, and visualiza-
tion can be done by just connecting the appropriate block to the
signal processing flow graph. The project RTL-SDR project VI. I MPLEMENTATION E XAMPLE
provides block support for any SDR module. The environment Using GRC with the support of LimeSDR plugin block,
along with the block tree is shown in Figure 6 a very simple FM (Frequency Modulation) receiver can be
5

Figure 10. LimeSDR PCI-e Interface

Figure 8. Properties of a Block VII. A DDITIONAL I NFORMATION


A comparison chart between different SDR platforms is
shown below in Table II
easily made. Very efficiently it can receive, demodulate, filter HackRF One RTL-SDR LimeSDR
and amplify the regular FM radio station signals, and the Frequency Range 1MHz - 6GHz 22MHz - 2.2GHz 100kHz - 3.8GHz
broadcasting can be heard through PC (Personal Computer) RF Bandwidth 20MHz 3.2MHz 61.44MHz
audio section. The created flowgraph is shown in Figure 9. Sample Depth 8 bits 8 bits 12 bits
61.44MSPS
The first block here is actually a receiver. With that plugin Sample Rate 20MSPS 3.2MSPS (Limited by
the LimeSDR hardware acts as a combination of Signal Re- USB 3.0 data rate)
Transmitter Channels 1 0 2
ceiver, ADC and Digital Sampler Quantizer. Those generated Receivers 1 1 2
samples are fed to the next block section which is actually a Duplex Half N/A Full
re-sampler, that Interpolates and Decimates the SDR generated Interface USB 2.0 USB 2.0 USB 3.0
Programmable 64 macrocell
complex numerical data set according to the necessity of N/A 40k
Logic Gates CPLD
further calculation. MAX5864
Chipset MAX2837 RTL2832U LMS7002M
RFFC5072
Open Source Full No Full
+/-1ppm initial,
Oscillator Precision +/-20ppm ?
+/-4ppm stable
-10dBm+ 0 to 10dBm
Transmit Power (15dBm N/A (depending
@ 2.4GHz) on frequency)
Price ~$299 ~$10 ~$299

Table II
SDR P LATFORM C OMPARISON

It is clear from the table that LimeSDR is a real good plat-


form to make any type of GNU Radio application. Recently
LimeSDR boards have been modified to integrate them with
Figure 9. FM Receiver Flowgraph PC with PCI-e (Peripheral Component Interconnect Express)
interface (see Figure 10), instead of USB 3.0 for better, faster
and noiseless operation.
The ‘FM Demodulator’ implements an algorithm on that
reproduced data set to extract the filtered modulating signal,
R EFERENCES
and after filtering it provides another data set of float values
as output, which represents the reconstructed and digitally [1] https://www.gnuradio.org/
[2] http://www.rtlsdr.com/tag/wfm/
sampled modulating signal. ‘Audio Sink’ block is consisting [3] https://www.itu.int/osg/imt-project/docs/3.4_Blust.pdf
of three sub sections namely ‘Digital to Analog Converter’ [4] https://www.fsf.org/
(DAC), ‘Amplifier’ and ‘Audio Re-Sampler’ which plays the [5] https://myriadrf.org/
sound signal through existing sound driver and hardware.

View publication stats

You might also like