Top Banner
Johnathan Corgan Corgan Labs June 2013 Copyright © 2009-2013 Corgan Labs GNU Radio Open Source SDR Framework
20

Intro Brief to GNU Radio

Dec 24, 2015

Download

Documents

Elizeu Calegari

Introduction
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Intro Brief to GNU Radio

Johnathan CorganCorgan LabsJune 2013

Copyright © 2009­2013 Corgan Labs

GNU RadioOpen Source SDR Framework

Page 2: Intro Brief to GNU Radio

June 2013 2

Open Source SDR● Software Defined Radio implemented using very low 

cost hardware, freely available software, executing on commodity processors

● Price point and simplicity makes it accessible to individual engineers vs. larger systems

● Suitable for waveform research, prototyping of larger systems, or rapid deployment of custom designs

● All source code for firmware, SDR framework, DSP library, and application code is available at no cost

● Large community of software radio engineers exchanging ideas, code, and expertise

Page 3: Intro Brief to GNU Radio

June 2013 3

GNU Radio/USRP SDR System

GNU Radio HostApplication

BasebandModulation/Demodulation

ExternalRF Electronics

Low Noise RxPower Amp for TX

Ettus ResearchUSRP (FPGA­based)

Up/Down ConversionADC/DAC

Interpolation/Decimation

Up to 50 MspsComplex Baseband

Sample Stream

Up to ~80 MHzPassband,

DC ­ ~6GHz(db dependent)

● A variety of models for different capabilities

● RF front­end/DAC/ADC operates across up to 100 MHz

● Programmable Spartan 3* series FPGA performs filtering/decimation/interpolation to transport limitations

GbE – 50 MspsUSB 2.0 – 16 Msps

I/Q

Page 4: Intro Brief to GNU Radio

June 2013 4

The GNU Software Radio Project● GNU Radio is a SDR framework and DSP library

● Combines a large set of DSP building blocks with an easy­to­integrate runtime

● Most commonly used with the Ettus Research USRP, but has open driver model and supports many other devices

● Uses compiled C++ for signal processing and Python for high­level code

● Fully open­source (GPLv3), no royalties or other fees

● All copyrights assigned to the Free Software Foundation

● Originally founded by Eric Blossom, project lead is now Dr. Tom Rondeau

Page 5: Intro Brief to GNU Radio

June 2013 5

GNU Radio Software Design  ● GNU Radio is optimized for continuous, over­the­air 

applications, vs. simulation of short periods of time

– High performance streaming interfaces between signal processing blocks

– Multi­threaded for scalability across multi­core processors

– Runtime scheduling maximizes “work per call” of DSP functions

● High­level interface (Python) to create processing flowgraph

– Hierarchical, streaming graph with “top block”

– No DSP in Python, just connecting pre­compiled C++

● Graphical front­end tool (GRC) for rapid design

● Hardware interface uses sample arrays for I/O

Page 6: Intro Brief to GNU Radio

June 2013 6

Direct Conversion SDR Design

USRPDaughterboard

(all analog processing)

USRPMotherboard

(all digital processing)

LO

BandFilter

Gain LPF

QuadratureMixer

DC­6 GHz(board specific)

ADC LO

LPF

ComplexMixer

(CORDIC)

­50 to 50(­32 to 32)

MHz

N

FPGA

Decimateby N4­512

(8­256)

100 Msps(64 Msps)14 bits(12 bits)

TX is 16 bits(14 bits)

ComplexBaseband

1 GbE(USB)

to GNU Radioapplication

I

Q

I

Q

Page 7: Intro Brief to GNU Radio

June 2013 7

Design Flow/Usage Models● A research platform supporting investigation and 

implementation of other projects (programmable lab gear)

● A working prototype, providing a fast, low­cost way to test algorithms and waveform design before going to a production system using something else

● A working, end­to­end communication system ready for field deployment as­is

● A component of an integrated service offering

● In each case, GNU Radio is providing the signal processing power on top of hardware SDR capability

Page 8: Intro Brief to GNU Radio

June 2013 8

Cooperative Ranging/Bearing System● Phased­array antenna and transaction results in range 

and bearing calculation between cooperative systems

● Ultimate goal is custom­ASIC implementing algorithm

● Design flow:

– GNU Radio­based ranging­only system using PCs and stock USRPs

– Custom RF daughterboard implementing multiple RX, single TX, adds AOA estimation

– Migration of algorithm from PC to USRP FPGA for wider bandwidth, performance

– Custom prototype hardware implementing single­board solution

● Multi­stage design optimizes development complexity

Page 9: Intro Brief to GNU Radio

June 2013 9

Ranging System Design

Ranging OnlyGNU Radio APP

Up/Down ConversionOnly

Ranging/AOATransaction

Custom RF Front Endfor Phased­Array

FPGA­based Waveform,“Math” done on ARM

CustomDesign

25 MHz

25 MHz

83 MHz

Page 10: Intro Brief to GNU Radio

June 2013 10

GPS Interference Mitigation Analysis● GNU Radio and the USRP is used to test GPS jamming 

mitigation algorithms in real time

● USRP #1 receives and downconverts GPS L1 to baseband

● Sample­stream is fed to GNU Radio­based interference generator

● Signal is then re­broadcast using USRP #2

● Rebroadcast signal is split between commercial GPS and USRP #3

● USRP #3 provides baseband samples to custom research GPS implementation

Page 11: Intro Brief to GNU Radio

June 2013 11

GPS Interference Mitigation Design

LNA

InterferenceGeneration

L1 Downconversion

Up­conversionRebroadcast

Custom GPSProcessing

CommercialReceiver

(*lots* of attenuation!)

1.57542 GHz

4 MspsBaseband

Page 12: Intro Brief to GNU Radio

June 2013 12

Agile Ground Station Network● The Open System for Agile Ground Stations (OSAGS) 

was a NASA­funded Phase II SBIR project

● Three equatorial, network coordinated 2.4m S­band dishes using GNU Radio, USRP2s, and RFX2200 daughterboards

● 33% orbit coverage for equatorial orbits, 5­7 passes per day for polar

● SDR design allows multi­satellite up­ and downlink with no mission specific hardware

● Per­mission uplink modulator, downlink demodulator, and telemetry processors loaded on­the­fly

Page 13: Intro Brief to GNU Radio

June 2013 13

Example: S­Band Ground Station

Standby USRPs

RX

TX Non­BlockingGbE Switch

SDR PC

USRP2Downconverter

& ADC

USRP2DAC/

Upconverter

GbE

GbE

GbE

GbE

GbE

GbECisco Router

IPsec VPN

10/100/1000Switch

Off­siteWANLink

Dish Control/GS Management PC

Dish Control/GS Management PC

(Standby)

StandbySDR PC

GPS

RS­232

RS­232 Dish ControlInterface

TCP/IP

TCP/IP

TerabyteDisk Array

TerabyteDisk Array

Page 14: Intro Brief to GNU Radio

Example: FM Channelization

GNU Radio ApplicationUSRP N210 & WBXDownconverter

& ADC

GbE

..

.

DemodulatedAudio Streams

over UDP

Bldg. MountedAntenna

LNA+BPF

88­108 MHzFM Broadcast Band

25 Msps16­bit I/Q UHD

SourcePFB

Channelizer

NetworkInterface & Control

DemodDemodDemod

50x 400 KhzChannels

N times4 KspsAudio

Page 15: Intro Brief to GNU Radio

June 2013 15

Mobile Handset Location Tracking● Uses USRPs and GNU Radio to demodulate and identify 

unique GSM handset uplink bursts

● By placing multiple receivers in a volume of interest, correlations between multiple measurements can be achieved

– Time of arrival

– Signal strength

– Arrival phase

● Offline statistical processing calculates aggregate data regarding movement within the volume

● Provided as a service to shopping malls, airports, etc.

● Example of SDR being used “behind the scenes” 

Page 16: Intro Brief to GNU Radio

June 2013 16

Example GNU Radio Applications● Spectrum­sensing/monitoring, cognitive radio

● Digital packet radio

● Active and passive radar – low power SAR

● SATCOM ground station command and telemetry, satellite simulation

● Beamforming/radiolocation

● Ionospheric sounding, weather radar, wind profiling

● Laboratory test­bench waveform generation

● Acoustic signal processing

● Academic – R&D, classroom instruction, textbook implementations

Page 17: Intro Brief to GNU Radio

June 2013 17

The GNU Radio Companion

● Graphically create and execute flow graphs

● Includes Python code generator

● Rapid development and prototyping

Page 18: Intro Brief to GNU Radio

June 2013 18

Obtaining GNU Radio Software● GNU Radio releases are distributed as a tarball or binary 

packages (some platforms)

● Alternatively, one may use a version control client (Git) to download from the source code repository

● Platforms supported

– GNU/Linux (RHEL, FC, Ubuntu, Debian, ...)

– NetBSD, FreeBSD

– Mac OS/X

– Microsoft Windows (unofficial, supported by Ettus Research)

● Installation via source compilation requires installing a set of developer tools and libraries

● Pre­compiled packages exist for Debian, Ubuntu, Fedora Core

Page 19: Intro Brief to GNU Radio

June 2013 19

GNU Radio Community● Redmine­based project tracking system/wiki at 

gnuradio.org

– Source code

– Wiki­based documentation

– Bug tracker

● Mailing list discuss­gnuradio at lists.gnu.org

–  Several thousand subscribers from beginners to RF experts

● IRC: #gnuradio

● Twitter: @gnuradio

● Many YouTube videos have been posted of GNU Radio in action

Page 20: Intro Brief to GNU Radio

June 2013 20