GNU Radio

37
GNU Radio GNU Radio Chen Zhifeng Chen Zhifeng Chen Ke-Yu Chen Ke-Yu Electrical and Computer Engineering Electrical and Computer Engineering University of Florida University of Florida

description

GNU Radio. Chen Zhifeng Chen Ke-Yu Electrical and Computer Engineering University of Florida. Outline. Why GNU Radio? Extensive knowledge involved What is implemented currently? Library Architecture D evelopment e nvironment Development Boards Current Issues What is next?. - PowerPoint PPT Presentation

Transcript of GNU Radio

Page 1: GNU Radio

GNU RadioGNU Radio

Chen ZhifengChen Zhifeng

Chen Ke-YuChen Ke-Yu

Electrical and Computer EngineeringElectrical and Computer Engineering

University of FloridaUniversity of Florida

Page 2: GNU Radio

OutlineOutline

Why GNU Radio?Why GNU Radio? Extensive knowledge involvedExtensive knowledge involved What is implemented currently?What is implemented currently? LibraryLibrary ArchitectureArchitecture Development environmentDevelopment environment Development BoardsDevelopment Boards Current IssuesCurrent Issues What is next? What is next?

Page 3: GNU Radio

Why GNU Radio?Why GNU Radio? Almost free!Almost free!

All the software are free (Python and C++ source code/linux environment)All the software are free (Python and C++ source code/linux environment) In most condition, no need expensive RF test machine!In most condition, no need expensive RF test machine! No need to purchase development and emulation toolsNo need to purchase development and emulation tools Only a development board needed (Universal Software Radio Peripheral)Only a development board needed (Universal Software Radio Peripheral)

FlexibleFlexible Software: Software:

reconfigurable for many other modulation methods for both standardize reconfigurable for many other modulation methods for both standardize radio or self-defined radioradio or self-defined radio

it is possible to improve the quality of the received signal by utilizing, in it is possible to improve the quality of the received signal by utilizing, in software, certain mathematical algorithmssoftware, certain mathematical algorithms

Hardware: Hardware: Rx and Tx are selectable Rx and Tx are selectable Intermediate frequency is controllable Intermediate frequency is controllable

Best choice for research use and radio amateurBest choice for research use and radio amateur

Page 4: GNU Radio

Extensive knowledge involvedExtensive knowledge involved

Software and environment:Software and environment:

Python/Numeric python library/wxPythonPython/Numeric python library/wxPython

C++/boost C++ libratiesC++/boost C++ libraties

Linux environment and lots of support packages: Linux environment and lots of support packages:

FFTW/cppunit/SWIG/SDCC/FFTW/cppunit/SWIG/SDCC/

GNU Radio architectureGNU Radio architecture

Communications and RF:Communications and RF:

DSPDSP

Digital communicationsDigital communications

Wireless communications theoryWireless communications theory

FPGA and Assemble language may be usedFPGA and Assemble language may be used

Page 5: GNU Radio

What is implemented currentlyWhat is implemented currently Base SystemBase System

Provides the runtime and various signal processing primitives Provides the runtime and various signal processing primitives

Hardware SupportHardware Support

Universal Software Radio Peripheral (USRP)Universal Software Radio Peripheral (USRP)

Audio Device SupportAudio Device Support

ALSA (Advanced Linux Sound Architecture)ALSA (Advanced Linux Sound Architecture)

OSS (Open Sound System)OSS (Open Sound System)

Graphics SupportGraphics Support

wxPython based GUIwxPython based GUI

SDL video librarySDL video library

General Signal ProcessingGeneral Signal Processing

Specialty Application AreasSpecialty Application Areas

Page 6: GNU Radio

LibraryLibrary

Communication related implementationCommunication related implementation AM demodulationAM demodulation Differential BPSK / QPSKDifferential BPSK / QPSK GMSK modulation / demodulationGMSK modulation / demodulation Narrow band FM transmitter / receiver Narrow band FM transmitter / receiver Wide band FM transmitter & broadcast FM Wide band FM transmitter & broadcast FM

receiverreceiver

Page 7: GNU Radio

Library (cont.)Library (cont.)

GNU radio utilitiesGNU radio utilities CRC generatorCRC generator Socket setup (TCP / UDP)Socket setup (TCP / UDP) Compute frequency response of a digital filterCompute frequency response of a digital filter Control National IMX2306 & SDR-1000 frequeControl National IMX2306 & SDR-1000 freque

ncy synthesizerncy synthesizer Some utilitiesSome utilities

Convert unsigned mask into signed integerConvert unsigned mask into signed integer Gcd, Lcm, Log2Gcd, Lcm, Log2 Return input ‘x’ that is reverse orderReturn input ‘x’ that is reverse order

Page 8: GNU Radio

Library (cont.)Library (cont.)

GUI examplesGUI examples Provide window application for different usageProvide window application for different usage FFT sink testFFT sink test wxPython EditBox, SliderwxPython EditBox, Slider DrawingDrawing Waterfall sink testWaterfall sink test Oscilloscope Test ApplicationOscilloscope Test Application

Page 9: GNU Radio

Library (cont.)Library (cont.)

pagerpager Create USRP source object supplying compleCreate USRP source object supplying comple

x floatsx floats Flex pager protocol demodulation blockFlex pager protocol demodulation block

Page 10: GNU Radio

Architecture Architecture – overall– overall

Software

Hardware

Page 11: GNU Radio

Architecture Architecture – Hardware– Hardware

User-defined Code

RF Front end

Sender

User-defined Code

Receiver

DAC

ADC RF Front end

FPGAUSB

USB FPGA

USRP (mother board)PC

Page 12: GNU Radio

Architecture Architecture – Hardware– Hardware

User-defined Code

RF Front end

DACUSB FPGA

Support USB2.0/At this stage, USB 1.x is not supported at allSupport USB2.0/At this stage, USB 1.x is not supported at all

1.1. Support 32MB/sec across the USB.Support 32MB/sec across the USB.

2.2. All samples sent over the USB interface are in 16-bit signed integers in IQ All samples sent over the USB interface are in 16-bit signed integers in IQ format, format,

16-bit I and 16-bit Q data (complex), resulting in 8M complex samples/sec 16-bit I and 16-bit Q data (complex), resulting in 8M complex samples/sec across the USB.across the USB.

Page 13: GNU Radio

Architecture Architecture – Hardware– Hardware

User-defined Code

RF Front end

DACUSB FPGA

Includes digital down converters (DDC) implemented with cascaded Includes digital down converters (DDC) implemented with cascaded integrator-comb (CIC) filters.integrator-comb (CIC) filters.DDCDDC Down converts the signal from the IF band to the base band.Down converts the signal from the IF band to the base band. Decimates the signal so that the data rate can be adapted by the USB Decimates the signal so that the data rate can be adapted by the USB

2.0 and is reasonable for the computers' computing capability.2.0 and is reasonable for the computers' computing capability.

Digital up converters (DUCs) on the transmit side are actually contained in Digital up converters (DUCs) on the transmit side are actually contained in the AD9862 CODEC chips, not in the FPGA.the AD9862 CODEC chips, not in the FPGA.

The only transmit signal processing blocks in the FPGA are the The only transmit signal processing blocks in the FPGA are the interpolators.interpolators.

Page 14: GNU Radio

Architecture Architecture – Hardware– Hardware

User-defined Code

RF Front end

DACUSB FPGA

4 high-speed 14-bit DA converters, DAC clock frequency is 128 MS/s 4 high-speed 14-bit DA converters, DAC clock frequency is 128 MS/s (stay below about 50MHz or so to make filtering easier.)(stay below about 50MHz or so to make filtering easier.)

4 high-speed 12-bit AD converters, sampling rate is 64M samples per 4 high-speed 12-bit AD converters, sampling rate is 64M samples per second.second.

Page 15: GNU Radio

Architecture Architecture – Hardware– Hardware

User-defined Code

RF Front end

DACUSB FPGA

One mother board support up to four daughter boards. One mother board support up to four daughter boards. 2. Several kinds of daughter boards available2. Several kinds of daughter boards available

Page 16: GNU Radio

Architecture Architecture – Software– Software

GNU radio has provided some useful APIsGNU radio has provided some useful APIs What we are interested in at this time is What we are interested in at this time is

how to use the existing moduleshow to use the existing modules that has that has been provided in GNU radio project been provided in GNU radio project to to communicate between two end systemscommunicate between two end systems

User-defined Code

RF Front end

Sender

DACUSB FPGA

PC

Page 17: GNU Radio

Architecture Architecture – Software– Software

How these modules co-work?How these modules co-work? C++C++

Performance-critical modulesPerformance-critical modules

PythonPython GlueGlue to connect modules to connect modules Non performance-critical modulesNon performance-critical modules

Page 18: GNU Radio

Architecture Architecture – Software– Software

At python level, what we need to do is always just At python level, what we need to do is always just to to draw a diagramdraw a diagram showing showing the signal flow the signal flow

from the source to the sinkfrom the source to the sink in our mind. in our mind.

C++

C++

V1

V2

V3

C++

C++

C++

V1

V2

V3

C++

Source

Sink

Page 19: GNU Radio

SPE (Stani’s Python Editor)SPE (Stani’s Python Editor) FreeFree Lack of powerful debug tool (breakpoint)Lack of powerful debug tool (breakpoint)

Development environmentDevelopment environment

Explorer ofProject and

Class membersCode editor

Interpreter & debug window

Page 20: GNU Radio

Development environment (cont.)Development environment (cont.)

WingwareWingware More powerfulMore powerful For personal version, the license fee to two stFor personal version, the license fee to two st

ations are $60ations are $60Code editor

Interpreter

Explorer ofProject and

Class members

Debuginformation

Page 21: GNU Radio

Development BoardsDevelopment Boards

Description Price

USRP Motherboard $700.00

BasicTX -- 2 MHz to 200 MHz Transmitter $75.00

BasicRX -- 2 MHz to 300+ MHz Receiver $75.00

LFTX -- DC-30 MHz Transmitter $75.00

LFRX -- DC-30 MHz Receiver $75.00

TVRX -- 50 MHz to 870 MHz Receiver $100.00

DBSRX -- 800 MHz to 2.4 GHz Receiver $150.00

RFX400 -- 400-500 MHz Transceiver $275.00

RFX900 -- 800-1000MHz Transceiver $275.00

RFX1200 -- 1150 MHz - 1450 MHz Transceiver $275.00

RFX1800 -- 1.5-2.1 GHz Transceiver $275.00

RFX2400 -- 2.3-2.9 GHz Transceiver, 20+mW output $275.00

Page 22: GNU Radio

USRP MotherboardUSRP Motherboard

Four 64 MS/s 12-bit analog to digital Four 64 MS/s 12-bit analog to digital ConvertersConverters

Four 128 MS/s 14-bit digital to analog Four 128 MS/s 14-bit digital to analog ConvertersConverters

Four digital downconverters with Four digital downconverters with programmable decimation ratesprogrammable decimation rates

Two digital upconverters with Two digital upconverters with programmable interpolation ratesprogrammable interpolation rates

High-speed USB 2.0 interface (480 Mb/s)High-speed USB 2.0 interface (480 Mb/s) Capable of processing signals up to 16 Capable of processing signals up to 16

MHz wideMHz wide Modular architecture supports wide Modular architecture supports wide

variety of RF daughterboardsvariety of RF daughterboards Auxiliary analog and digital I/O support Auxiliary analog and digital I/O support

complex radio controls such as RSSI and complex radio controls such as RSSI and AGCAGC

Fully coherent multi-channel systems Fully coherent multi-channel systems (MIMO capable)(MIMO capable)

Page 23: GNU Radio

BasicTXBasicTX2 MHz to 200 MHz Transmitter2 MHz to 200 MHz Transmitter

designed for use with designed for use with external RF frontends external RF frontends as an intermediate as an intermediate frequency (IF) interface.frequency (IF) interface.

DAC outputs are DAC outputs are directly transformer-directly transformer-coupled to SMA coupled to SMA connectors (50Ω connectors (50Ω impedance)impedance)

direct access to all of direct access to all of the signals on the the signals on the daughterboard interfacedaughterboard interface

Page 24: GNU Radio

BasicRXBasicRX2 MHz to 300+ MHz Receiver2 MHz to 300+ MHz Receiver

designed for use with designed for use with external RF frontends external RF frontends as an intermediate as an intermediate frequency (IF) interface.frequency (IF) interface.

ADC inputs are directly ADC inputs are directly transformer-coupled to transformer-coupled to SMA connectors (50Ω SMA connectors (50Ω impedance) impedance)

direct access to all of direct access to all of the signals on the the signals on the daughterboard interfacedaughterboard interface

Page 25: GNU Radio

LFTXLFTXDC-30 MHz TransmitterDC-30 MHz Transmitter

very similar to the very similar to the BasicTX and BasicRX, BasicTX and BasicRX, respectively, with 2 respectively, with 2 main differencesmain differences

Use differential Use differential amplifiers instead of amplifiers instead of transformers, their transformers, their frequency response frequency response extends down to DC.extends down to DC.

have 30 MHz low pass have 30 MHz low pass filters for antialiasing.filters for antialiasing.

Page 26: GNU Radio

LFRXLFRXDC-30 MHz ReceiverDC-30 MHz Receiver

• very similar to the very similar to the BasicTX and BasicTX and BasicRX, BasicRX, respectively, with 2 respectively, with 2 main differencesmain differences

Use differential Use differential amplifiers instead of amplifiers instead of transformers, their transformers, their frequency response frequency response extends down to DC.extends down to DC.

have 30 MHz low pass have 30 MHz low pass filters for antialiasing.filters for antialiasing.

Page 27: GNU Radio

TVRXTVRX50 MHz to 870 MHz Receiver50 MHz to 870 MHz Receiver

a complete VHF and a complete VHF and UHF receiver system UHF receiver system based on a TV tuner based on a TV tuner modulemodule

can receive a 6 MHz can receive a 6 MHz wide block of spectrum wide block of spectrum from anywhere in the 50-from anywhere in the 50-860 MHz range.860 MHz range.

All tuning and AGC All tuning and AGC functions can be functions can be controlled from software.controlled from software.

– Note: The TVRX is the only daughterboard which is NOT MIMO capable. A MIMO

capable version is expected in Q1 2007.

Page 28: GNU Radio

DBSRXDBSRX800 MHz to 2.4 GHz Receiver800 MHz to 2.4 GHz Receiver

a complete receiver system a complete receiver system for 800 MHz to 2.4 GHz for 800 MHz to 2.4 GHz with a 3-5 dB noise figure.with a 3-5 dB noise figure.

features a software features a software controllable channel filter controllable channel filter as narrow as 1 MHz, or as as narrow as 1 MHz, or as wide as 60 MHz.wide as 60 MHz.

MIMO capable, and can MIMO capable, and can power an active antenna power an active antenna via the coax.via the coax.

Note: The DBSRX is NOT guaranteed to cover the 2.4-2.48 GHz ISM band.

Page 29: GNU Radio

RFX400RFX400400-500 MHz Transceiver400-500 MHz Transceiver

• 100+mW output (20dBm)100+mW output (20dBm)

• ideal for UHF TV, public safety ideal for UHF TV, public safety and land-mobile and land-mobile communications, low-power communications, low-power unlicensed devices (like key-unlicensed devices (like key-fobs), wireless sensor networks fobs), wireless sensor networks (motes), and amateur radio.(motes), and amateur radio.

minor modifications to the board minor modifications to the board can move the frequency range can move the frequency range to anywhere from 200 MHz to to anywhere from 200 MHz to 800 MHz800 MHz

Page 30: GNU Radio

RFX900RFX900 800-1000MHz Transceiver800-1000MHz Transceiver

• 200+mW output (23dBm)200+mW output (23dBm) with a 902-928 MHz ISM-band filter installed for with a 902-928 MHz ISM-band filter installed for

filtering strong out-of-band signals (like pagers). filtering strong out-of-band signals (like pagers). The filter can easily be bypassed to allow usage The filter can easily be bypassed to allow usage

over the full frequency range, enabling use with over the full frequency range, enabling use with cellular, paging, motes, and two-way radio, in cellular, paging, motes, and two-way radio, in addition to the ISM band.addition to the ISM band.

Page 31: GNU Radio

RFX1200RFX1200 1150 MHz - 1450 MHz Transceiver1150 MHz - 1450 MHz Transceiver

• 200+mW output (23dBm)200+mW output (23dBm)

• Coverage of navigation, Coverage of navigation, satellite, and amateur satellite, and amateur bands.bands.

Page 32: GNU Radio

RFX1800RFX1800 1.5-2.1 GHz Transceiver1.5-2.1 GHz Transceiver

• 100+mW output (20dBm)100+mW output (20dBm) Coverage of DECT, US-DECT, and PCS Coverage of DECT, US-DECT, and PCS

(including unlicensed) frequencies.(including unlicensed) frequencies.

Page 33: GNU Radio

RFX2400RFX2400 2.3-2.9 GHz Transceiver2.3-2.9 GHz Transceiver

50mW output 50mW output (17dBm)(17dBm)

with a bandpass filter with a bandpass filter around the ISM band around the ISM band (2400-2483 MHz). (2400-2483 MHz).

The filter can be The filter can be easily bypassed, easily bypassed, allowing for coverage allowing for coverage of the full frequency of the full frequency range.range.

Page 34: GNU Radio

DemoDemo

SocketJPEG

EncoderModulation

Hard Disk

SocketHard Disk Demodulation

Page 35: GNU Radio

Demo (cont.)Demo (cont.)Modulation

Demodulation

Bit to ByteGray codeEncoder

DifferentialEncoder

Real to Complex

Byte to BitGray codeDecoder

DifferentialDecoder

Real to Complex

Page 36: GNU Radio

Current issuesCurrent issues

Need a USRP + Microtune 4937 Need a USRP + Microtune 4937 Need a python IDENeed a python IDE A long way to be commercializedA long way to be commercialized

High performance CPU requirementHigh performance CPU requirement The software is still under developmentThe software is still under development

Page 37: GNU Radio

What is next?What is next?--possible applications and issues--possible applications and issues

The clock recovery block doesn’t work in the The clock recovery block doesn’t work in the DBPSK modulationDBPSK modulation

Add more functions, such as DQPSK, FSK… Add more functions, such as DQPSK, FSK… into our demointo our demo

We may test the transmission by actual wireless We may test the transmission by actual wireless connection, since receiver doesn’t ensure connection, since receiver doesn’t ensure correct demodulation, for example, carrier correct demodulation, for example, carrier tracking, clock recovery, we may need to add:tracking, clock recovery, we may need to add: cyclic redundancy check (CRC)cyclic redundancy check (CRC) Retransmission control (ARQ)Retransmission control (ARQ)

Based on what we have done, we may deploy a Based on what we have done, we may deploy a research-oriented project next research-oriented project next