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

Intro Brief to GNU Radio

Embed Size (px)

DESCRIPTION

Introduction

Citation preview

Johnathan CorganCorgan LabsJune 2013

Copyright © 2009­2013 Corgan Labs

GNU RadioOpen Source SDR Framework

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

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

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

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

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

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

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

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

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

June 2013 11

GPS Interference Mitigation Design

LNA

InterferenceGeneration

L1 Downconversion

Up­conversionRebroadcast

Custom GPSProcessing

CommercialReceiver

(*lots* of attenuation!)

1.57542 GHz

4 MspsBaseband

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

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

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

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” 

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

June 2013 17

The GNU Radio Companion

● Graphically create and execute flow graphs

● Includes Python code generator

● Rapid development and prototyping

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

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

June 2013 20