GNU Radio @ FOSS.IN 2007
-
Upload
rakesh-peter -
Category
Documents
-
view
227 -
download
1
description
Transcript of GNU Radio @ FOSS.IN 2007
h4x0r1n the air waves with GNU Radio
/* or how to 0wn the un1v3rse.... */
rakesh peter vu3rgp
centre for excellence in computational engineering and networkingamrita vishwa vidyapeetham
“A certain convergence occurs when multiple technologies align in time to make possible those things that once were only dreamed.”
-- Gerald Youngblood (K5SDR), “A Software-Defined Radio for the Masses”
Software (Defined) Radio • From Godfather – Joe Mitola III
• Development initiated by SpeakEasy project / JTRS / MIT SpectrumWare • Defining waveforms in code
– Modulation – Ciphering – Coding
• Need for RF Frontend
“A software radio is a radio whose channel modulation waveforms are defined in software. That is, waveforms are generated as sampled digital signals, converted from digital to analog via a wideband DAC and then possibly upconverted from IF to RF. The receiver, similarly, employs a wideband Analog to Digital Converter (ADC) that captures all of the channels of the software radio node. The receiver then extracts, downconverts and demodulates the channel waveform using software on a general purpose processor.”
Conventional Radio Architecture
Antenna
RF Amp Mixer
Local Oscillator
Band Pass Filter IF Amp Demodulator AF Amp Audio
RF Amp Mixer
Local Oscillator
Band Pass Filter IF Amp
Antenna
Analog<>Digital Converter
DSP Processor
Software Defined Radio Architecture
RF Frontend
So what’s so interesting?
<snip>http://www.sds.lcs.mit.edu/SpectrumWare/mpeg/lcs35lo.MPG
</snip>
Courtesy: SpectrumWare project, Network and Mobile Systems Lab, MIT
Real World Scenarios• Eliminating Standard Woes for Cellular Service Providers
– AT&T Case Study • > $4 billion expenditure for changing TDMA to GSM • ~ 10 years for Return of Investment
– Vanu Anywave Base Station – Eventual concordance in Standards Development and Deployment
• Public Safety Interoperability– Emergency situations– Integrating Legacy analog systems, trunked radios, cellular networks
• Convergence Devices– Single chipset for all your waveforms (GSM/CDMA/WiFi/Bluetooth/GPS/RFID)
GNU Radio• Open source Signal processing toolset
• Works on General Purpose Processors– Linux, OS/X, Windows (Cygwin/MinGW)
• Forked from MIT Pspectra project– Initiated by John Gilmore, lead by Eric Blossom– Fueled by the MPAA HDTV Broadcast Flag trial
• Modular and Hybrid C++/Python architecture
• Flow-graph abstraction
• Open source components– FFTW, SWIG, SDCC, wxGUI, autotools, boost…
Hello, World ;)
src0 src1
adder
sink
Flow Graph Representation
Module LibrarySource / Sinks
SignalNoiseNullFile
NetworkPacketVideoAudioUSRPFFT
Scope
Type Conversions
Complex <-> IntShort/ Real / ImagComplex <-> Mag / Arg
Float <-> Complex / Char / UCharPacked <-> UnpackedSymbols <-> Chunks
Vector <-> Stream <-> StreamsInterleaver / Deinterleaver
Complex Conjugate
Math operations
AddSubtractMultiplyDivide
Log
Filters
FIR IIR (single pole)
FFT/IFFTFreq. Translating FIR
Rational Resampling FIRRoot Raised Cosine
HilbertPower Squelch
Modulation
WFM / NBFMAM / PM / SSB
FSK / PSK / QAMGMSK / VSB-8 / OFDM
Coding
Differential TrellisViterbiBCJR
Reed Solomon
Misc.
M&M Clock RecoveryAGCPLL
Costas LoopAdaptive Equalizer
GNU Radio Companion • Visual interface for flowgraph construction
– Labview-like drag-drop-connect-configure interface
• ~200 blocks from the GNU Radio toolset
• Excellent tool for learning / experimenting DSP
• Rapid prototyping (a-la un-coding)
• XML representation of the flowgraph
• Developed and maintained by Joshua Blum
Universal Software Radio Peripheral (USRP)
• 4 x 12 bit 64 MS/s ADCs• 4 x 14 bit 128 MS/s DACs
• FPGA – Altera Cyclone EP1C12
• USB 2.0 PC Interface (32MB/s)– Cypress 68013 Controller
• 8051 core for FPGA Init
• Daughterboard support– Programmable Configuration
• External Clock interface
• Open Design
• Designed by Matt Ettus and sold by Ettus Research
USRP Daughterboards
BasicTX / BasicRX [1 to 250 MHz] LFTX / LFRX [0 to 30 MHz]
TVRX [50 to 860 MHz] DBSRX [800 to 2400 MHz] RFX Series [400/900/1200/1800/2400 MHz]
FPGA Functional Architecture
Analog to Digital Converter
RF F
ront
end
Digital to Analog Converter
USB
Bus
CORDIC
CIC Interpolator
CIC Decimator + Half Band Filter
RX FIFO
TX FIFO
GNU Radio Projects• GSM Scanner• OpenGNSS• 802.11 WiFi stack (BBN Adroit)• DVB• Radio Astronomy• HDTV• RFID• Bluetooth• Active / Passive Radar• OFDM• MIMO• FM/AM/SSB Radio• NOAA Weather Sat • …pretty much anything RF !!
• Cantilever control• Acoustic Modems • Signal Analyzer / Generator• Medical Imaging
New and Comin…• USRP2 (Q1 2008)
– 100MS/s 14bit ADC / 400MS/s 16bit DAC– Xilinx Spartan III FPGA – Gigabit Ethernet Interface (3-6x improvement)– 1MB onboard SRAM– Standalone features (SD card loadable)– Multiple USRP linking
• Message Blocks / Inband signalling– Priority Scheduling and Message handling between blocks– Support for MAC layer development– Control Plane information and Metadata to/from the Transciever
• Timing / Power constraints
• Pure C++ native interface
• Cell BE support – Ongoing dev with Sony PlayStation 3 and IBM Cell SDK
• Spread Spectrum implementations – Direct Sequence– Fast Frequency Hopping
Alternatives…• Hardware
– High Performance SDR (HPSDR)• Atlas, Ozy, Janus, Mercury….
– FlexRadio SDRs• SDR-1000 / FLEX-5000
– Simple Software Radio Peripheral– VU-SDR – SoftRock / YU1LM / Elektor designs
QuickSilver (Mercury proto)
OzymandiasAtlas
Janus
SoftRock RXTX
FLEX-5000
SDR-1000
VU-SDR
Alternatives…• Software
– OSSIE from VirginiaTech• Software Communications Architecture (SCA) reference
implementation• Supports USRP
– Linrad– DttSP
• C++ DSP Core – PowerSDR / SDRadio / Rocky / …
• Narrow band processing using soundcard• Windows platform• Great UI and Features
^ How to Contribute… ^• Documentation
– Spread across code comments(doxygen), mailing lists and occasional student thesis
– Need for a rigid and open documentation framework– Easing the high initial learning curve
• RF/VLSI Hardware Design– Making affordable solutions for the enthusiasts– Improving the learning curve…Getting industry-ready…
• Implementing new modules– Rapid technological growth fueled by extensive research– New and better communication protocols, modulation/coding schemes
Benefits• Students
– Breaking the technology barrier– Essentially prevent much prevalent “never-see-daylight" scenario of theses !
• Industry members– Rapid prototyping of new technologies– Get to contribute to a much happening project (!!) and get a chance to speak at
future FOSS.INs (!!!!) ;)
• The Kid Next Block– Tools for total anarchy - not sci-fi anymore!!
• Own the satellites, space station, space telescopes, deep space probes,...• Lesser evil stuff ;)
– Kill “Security through Obscurity “• FCC Case against open SDRs
Resources
• GNU Radio Wiki– http://www.gnuradio.org/trac
• Captured IQ samples – http://www.kd7lmo.net/ground_gnuradio_ota.html
• Ettus Research– http://www.ettus.com
• HPSDR– http://www.hpsdr.org
• VU-SDR mailing list– http://groups.yahoo.com/group/vusdr/
• Compendium of SDR projects– http://f4dan.free.fr/sdr_eng.html
Thank you !