Gnu Radio and the Universal Software Radio Peripheral
1. GNU Radio and the
Universal Software Radio Peripheral
Alexandru Csete OZ9AEC
An open source platform for
experimenting with
Software Defined Radios
2. I want a radio which...
?
Lets me experiment with SDR
Not limited to audio bandwidth
On the air from DC to “many” GHz
Affordable
3. SDR with GNU Radio & USRP
RF front end analog digital software
• Converts RF to/from • Digital baseband
analog baseband • ADC and DAC
• Low rate (16 Msps)
• Direct conversion using • Resampling
quadrature mod/demod • Defines functionality
4. Universal Software Radio Peripheral
FEATURES
• Four 12 bit ADC (64 Msps)
• Four 14 bit DAC (128 Msps)
• Two RX and two TX
• Up to 8 MHz bandwidth
• USB 2.0 interface
• Auxiliary analog & digi I/O
5. WBX transceiver board
FEATURES
• 50 MHz – 2.2 GHz
• Full duplex
• Direct conversion
• 5-6 dB noise figure
• 50-100mW TX power
RF boards available between DC and 6 GHz
6. GNU Radio
DSP library Execution framework
Modulation Filters
I/O GUI
Other blocks...
21. Summary
GNU Radio USRP
• Great for experimenting with SDR • Modular HW for DC to 6 GHz
• Free & open source • Good receivers
• Can use HW other than USRP • Full duplex transceivers
• Works great on Linux • ∼100mW TX power
• With some effort on Mac and Win • Does not require GNU Radio
22. Explore GNU Radio
GNU Radio website: http://gnuradio.org
GNU Radio Python tutorial: http://gnuradio.org/redmine/wiki/gnuradio/TutorialsWritePythonApplications
GNU Radio Companion tutorial: http://gnuradio.org/redmine/wiki/gnuradio/GNURadioCompanion
The Comprehensive GNU Radio Archive Network (projects): https://www.cgran.org/
Ettus Research (USRP and daughterboards): http://ettus.com
USRP FAQ: http://gnuradio.org/redmine/wiki/gnuradio/UsrpFAQ
My GNU Radio projects, blog, etc: http://www.oz9aec.net/index.php/gnu-radio
My simple GRC examples: http://www.oz9aec.net/index.php/gnu-radio/grc-examples
I have many videos with GNU Radio in action: http://www.youtube.com/oz9aec
Ubuntu Linux (great OS for GNU Radio): http://www.ubuntu.com
Notes de l'éditeur
SDR platform different from other SDRs
It lets you build your own software defined radios.
Looking for new radio to learn and explore SDR
Consider consumer devices
I found what I was looking for
GR & USRP as SDR
Both HW and SW to get on the air with SDR
Open source HW & SW
FPGA does the hard for of DDC and DUC
This is USRP V1 for $700
V2 uses gigE
Good all round transceiver for $450
Other DBs for DC to 6 GHz
Open source => create own RF boards
A library of DSP blocks
A framework for connecting the blocks
Think of block diagrams for a radio
Apps can be written at any level
Each level with pros/cons
Examples at all levels
How a GR app can look like in Python.
Note the 5 lines that actually build the flowgraph
Great for beginners and for education/demo
Idea -> Create Dia -> Generate code -> Run -> Examine code (learn)
Has limitations compared to Python and C++
Quick walkthrough
The NBFM block is a composite block
A slightly extended version of the FM receiver (GUI)
Receives packet radio from the ISS
Decodes using multimon. Note VO-52
Creating an FM transmitter is easy too!
What happens if we copy and paste this block into the receiver?
Warning! GNU Radio is dangerous! It will inspire you to get crazy ideas
e.g. building a transponder.
Fully functional TRSP.
Not a flight ready transponder
Good simulator
Hook up a webcam and the USRP?
New generation of webcams can do HD for 100 EUR
A new PC should be able to compress 720p and run the SDR. Is this possible?
It is possible.
Was it difficult? Not really...
Could use BPSK, QPSK, QAM, OFDM...
There are also blocks for FEC
For now I just keep it simple
Gstreamer video processing pipeline created using command line.
SDR TX built in GRC
Actually, we used mplayer due to the “mixed” bitrate
Broad topic
I hope I did provide an overview to motivate people
Tips for experts and newbies.