SDR and GNU Radio Companion for Amateur Radio. What are they and why should you care?

SDR and GNU Radio Companion for Amateur Radio What are they and why should you care? Introduction • Derek Kozel, AG6PO – Masters in ECE at CMU – Spa...
Author: Shanon Charles
1 downloads 0 Views 1MB Size
SDR and GNU Radio Companion for Amateur Radio What are they and why should you care?

Introduction • Derek Kozel, AG6PO – Masters in ECE at CMU – SpaceX, Range Networks, Amateur enthusiast

• Current research is on Software Defined Radios applied to cellular networks – OpenBTS

SDR Defined • “Radio in which some or all of the physical layer functions are software defined” • Demodulation is done in software rather than analog hardware – AM demodulation in hardware and software:

Outline • • • •

What are signals really? What happens to them in a computer? What does a radio do really? What does an SDR do? – And how do I get started?

• What is GNU Radio? • How do I make a Flow Graph? – Where do I go to actually learn about this?

Signals • Analog (Continuous signal) – Defined for all possible times

• Discrete Time Signal – Only defined for certain, usually regular, times

Sampling • Measure the voltage of the signal at regular intervals – Sampling Frequency: Number of samples per second

– Sample Resolution: Number of different values which can be stored

Quantization • Computers have limited precision – Analog to Digital Converters output values of a certain number of bits – There are 2k – 1 values for a k-bit number • For example: 255 values for an 8 bit number

Connect the Dots

Connect the Dots

Connect the Dots

Connect the Dots

Super Heterodyne Design • Uses frequency mixing to convert a received signal to an intermediate frequency before demodulation

• Invented 1918 to improve allied radio direction finding systems

Ideal SDR • Signals from the antenna are directly sampled • All processing happens on the digital signal

Soundcard SDR • Signals from the antenna are mixed to make I&Q then sent to a PC microphone/line in port

Aliasing • You must sample twice as fast as the highest frequency you expect – Nyquist Rate

• Usually dealt with using low pass filters just before sampling • Sometimes used as a feature – Can detect much higher frequency signals using passband filters

Properties of SDRs • Receiver Architecture – Some are superheterodyne based

– Others are direct conversion

Properties of SDRs • Bandwidth – How much spectrum can you view at once

– Here is 2.4 MHz centered at 105.5 MHz

Bandwidth of Common Modes Modulation

Bandwidth

FM Broadcast

48 kHz

Narrow FM

5 or 2.5 kHz

AM

4.7 kHz

Single Side Band

2.4 to 3 kHz

RTTY

250 Hz

PSK31

60 Hz

Morse Code

50 Hz

RTL SDR • Designed as a TV tuner • Can receive 53 – 2200 MHz • Relatively poor performance – 8 bit samples

• Software allows decoding – FM, AM, GPS, Pagers, ADS-B, AIS, LTE, Weather balloons, satellite data

• 2.4 MHz bandwidth • Superheterodyne design • $20

USRP • Generic Receiver – Daughterboards support DC – 4.4GHz

• Connects via Ethernet or USB – 8/16 MSPS over USB 2.0 – 61.44 MSPS over USB 3.0 – 50/100 MSPS over Ethernet

• Direct Conversion – 64/100/ MSPS 12/14 bit sampling

• $650 - $2000+

Soundcard Interface • Send spectrum via soundcard interface – Soundcard might be inside your radio!

• Generally very narrow bandwidth – Internal filters

Software • Wide range of free software – SDR Console – SDR# – HDSDR – GNU Radio – Many others!

• Frequent updates and new programs add new modes and better decoding

GNU Radio • “a free software development toolkit that provides the signal processing runtime and processing blocks to implement software radios using readily-available, low-cost external RF hardware and commodity processors.” – http://gnuradio.org/

GNU Radio Companion • A graphical interface for creating flow graphs

Installation • Linux: Pre built binaries or source – sudo apt-get install gnuradio – build-gnuradio script

• Mac: Install via MacPorts – sudo port install gnuradio +full

• Windows: Pre built binary from Ettus Research – http://files.ettus.com/binaries/gnuradio/latest_stable/

Flow Graphs • The path of data flow • Made of blocks, wires, and variables – Sources, sinks, signal processing, user interface

Narrow Band FM Receiver

Sources • Defines an input for samples – Can be a file, radio, or mathematical function

Types • Data is passed around in untyped buffers – Each block defines input and output types

Converting Types • Simple blocks allow for conversions

• Ensure your output type matches your data

Converting Types • Simple blocks allow for conversions

• Ensure your output type matches your data

Stream Processors • Modulation, filtering, decoders, math operations

User Interface Blocks • Display signal information – FFT, waterfall, constellations, plots

• Create controls – Sliders, dropdown menus, buttons, text boxes

User Interface Blocks • Display signal information – FFT, waterfall, constellations, plots

• Create controls – Sliders, dropdown menus, buttons, text boxes

Resources • Youtube Videos – Tom Rondeau at ARRL/TAPR 2012 DCC • “Episode 51 Part 1: Intro to GNU Radio”

– Balint Seeber • http://www.youtube.com/user/balint256/

• GNU Radio – http://gnuradio.org/redmine/projects/gnuradio/wiki/Tutorials

• Alexandru Csete, OZ9AEC – http://www.oz9aec.net/index.php/gnu-radio

Resources • More websites – http://complextoreal.com/tutorials/ – http://www.dspguru.com/

• Books – The Scientist and Engineer’s Guide to DSP • http://www.dspguide.com/

– Understanding Digital Signal Processing • By Richard Lyons