Gnu Radio and the Universal Software Radio Peripheral


Published on

Presentation given at the 2010 AMSAT UK Space Colloquium. Video recording of the presentation is available from

Published in: Self Improvement
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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.

  • Gnu Radio and the Universal Software Radio Peripheral

    1. 1. GNU Radio and the Universal Software Radio Peripheral Alexandru Csete OZ9AEC An open source platform for experimenting with Software Defined Radios
    2. 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. 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. 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. 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. 6. GNU Radio DSP library Execution framework Modulation Filters I/O GUI Other blocks...
    7. 7. Programming Levels GRC Graphical design tool Composite blocks Python Applications C++ Low level functions
    8. 8. Python example
    9. 9. Generate Code Execute GNU Radio Companion
    10. 10. Simple FM Receiver
    11. 11. The FM receiver on the air USRP with WBX and Arrow II Demo video:
    12. 12. Simple FM Transmitter
    13. 13. FM Transceiver Full Duplex!
    14. 14. The simplest transponder 1.265 GHz → 2.415 GHz → 500 kHz bandwidth
    15. 15. Transponder with TM/TC Transponder at ∆f = 50 ... 150 kHz from centre TM and TC at ∆f = -50kHz from centre
    16. 16. DVB with webcam UVC webcam Linux Gstreamer USRP High Definition GNU Radio
    17. 17. DVB with webcam Video demo:
    18. 18. The DVB system Webcam USRP Text H.264 MPEG-TS Packet GMSK Gain overlay encode muxer encoder modulator Gstreamer GNU Radio Unix pipe Transmitter Receiver USRP Display Channel GMSK Packet MPEG-TS H.264 filter demod decoder demux decode Unix pipe GNU Radio Gstreamer
    19. 19. Video transmitter gst-launch -e -v v4l2src device="/dev/video1" ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! timeoverlay halign=right valign=bottom shaded-background=true ! textoverlay text="Test Video 640x360 25fps" halign=left valign=bottom shaded-background=true ! x264enc bitrate=1000 ! mpegtsmux ! filesink location=myfifo.raw
    20. 20. Video receiver gst-launch -v playbin uri=file:///home/alexc/gnuradio/GST/video2.ts
    21. 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. 22. Explore GNU Radio GNU Radio website: GNU Radio Python tutorial: GNU Radio Companion tutorial: The Comprehensive GNU Radio Archive Network (projects): Ettus Research (USRP and daughterboards): USRP FAQ: My GNU Radio projects, blog, etc: My simple GRC examples: I have many videos with GNU Radio in action: Ubuntu Linux (great OS for GNU Radio):