Software Defined Radio (SDR)

23
Fun with bits of ether: Software Defined Radio (SDR) NERP Meetup Mar-31-2014 (Not Exclusively Raspberry Pi) Presenter: Drew Fustini @pdp7 / [email protected] Video Playlist: https://www.youtube.com/playlist?list=PLa1tazUyp-oM Pumping Station: One Chicago Hackerspace

Transcript of Software Defined Radio (SDR)

Page 1: Software Defined Radio (SDR)

Fun with bits of ether:Software Defined Radio (SDR)

NERP Meetup Mar-31-2014(Not Exclusively Raspberry Pi)

Presenter: Drew Fustini@pdp7 / [email protected]

Video Playlist: https://www.youtube.com/playlist?list=PLa1tazUyp-oMkTycurEvsfDOun7DvHin1

Pumping Station: One Chicago Hackerspace

Page 2: Software Defined Radio (SDR)

Software Defined Radio (SDR)● Application of Digital Signal Processing to radio

waveforms● Similar to software-based digital audio

techniques● Sound card digitizes audio waveforms● Software radio peripheral digitizes radio

waveforms. ● Like very fast sound card with speaker &

microphone replaced by an antenna. ● Implement virtually any wireless technology:

Bluetooth, ZigBee, cellular technologies, FM, etc*text on this slide from: https://www.kickstarter.com/projects/mossmann/hackrf-an-open-source-sdr-platform

Page 3: Software Defined Radio (SDR)

● http://gnuradio.org/redmine/projects/gnuradio/wiki● GNU Radio is a free & open-source software

development toolkit that provides signal processing blocks to implement software radios.

● It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment.

● It is widely used in hobbyist, academic and commercial environments to support both wireless communications research and real-world radio systems.

Page 4: Software Defined Radio (SDR)

FUNcube Concept

“The original FUNcube Dongle concept: receiving information from space as part of a global educational collaboration project”

Page 5: Software Defined Radio (SDR)

FUNcube Dongle Pro+http://www.funcubedongle.com/

● 125 GBP / $208 USD● Guaranteed coverage:

– 150kHz to 1.9GHz

– Gap between 240MHz and 420MHz

● “FUNcube Dongles are the ground receiver for the FUNcube Satellite project”

● “It’s also all-mode: this means that it’s not just limited to narrow band FM reception.”

Page 7: Software Defined Radio (SDR)

HackRF: open source SDR platform● operates from 30 MHz to 6 GHz, a wider

range than any SDR peripheral● used to transmit or receive radio signals. It

operates in half-duplex mode: it can transmit or receive

● Max bandwidth is 20 MHz, about 10 times the bandwidth of TV tuner dongles popular for SDR

● used for high speed digital radio applications such as LTE or 802.11g

● Post-kickstarter, expected retail ~$300: http://greatscottgadgets.com/hackrf/

Page 9: Software Defined Radio (SDR)

Cheap USB adapters as SDR receiver

● Find cheap <$30 USB DVB-T adapters from many sources online

● DVB-T is used to broadcast TV in Europe● Libraries have been written to use USB DVB-T

with certain a software defined radio

Page 10: Software Defined Radio (SDR)

Adafruit SDR USB stickIf you've ever been curious about software defined radio (SDR), this USB stick is the

easiest way possible to have fun with a powerful, configurable receiver.

● $22: Software Defined Radio Receiver USB Stick - RTL2832 w/R820T (ID: 1497)● RTL2832U and R820T tuner with an MCX RF connector● Tune into signals from 24MHz to 1850MHz. ● Use a computer (with Windows, Mac, or Linux) to tune into:

– FM Radio

– AM signals (but not AM radio)

– CW (morse code!)

– unencrypted radio signals (such as those used by many police and fire departments)

– POCSAG pagers

● basic 'DVB-T' antenna

Page 11: Software Defined Radio (SDR)

NooElec SDR stick on Amazon

● $20: NooElec Brand RTL-SDR, FM+DAB, DVB-T USB Stick Set with RTL2832U & R820T. Great SDR for SDR#, HDSDR, and Other Popular SDR Software Packages

● http://www.amazon.com/NooElec-RTL-SDR-RTL2832U-Software-Packages/dp/B008S7AVTC

Page 12: Software Defined Radio (SDR)

rtl-sdr library

● http://sdr.osmocom.org/trac/wiki/rtl-sdr● DVB-T dongles based on the Realtek

RTL2832U can be used as a cheap SDR● chip allows transferring the raw I/Q samples to

the host, which is officially used for DAB/DAB+/FM demodulation.

● History and Discovery of RTLSDR

Page 13: Software Defined Radio (SDR)

rtl-sdr supported devices

● http://sdr.osmocom.org/trac/wiki/rtl-sdr● The RTL2832U outputs 8-bit I/Q-samples, and the highest theoretically possible

sample-rate is 3.2 MS/s, however, the highest sample-rate without lost samples that has been tested so far is 2.56 MS/s. The frequency range is highly dependent of the used tuner, dongles that use the Elonics E4000 offer the widest possible range (see table below).

● Elonics E4000 52 - 2200 MHz with a gap from 1100 MHz to 1250 MHz (varies)● Rafael Micro R820T24 - 1766 MHz● Rafael Micro R828D 24 - 1766 MHz● Fitipower FC0013 22 - 1100 MHz (FC0013B/C, FC0013G has a separate L-band

input, which is unconnected on most sticks)● Fitipower FC0012 22 - 948.6 MHz● FCI FC2580 146 - 308 MHz and 438 - 924 MHz (gap in between)

Page 14: Software Defined Radio (SDR)

Build rtl-sdr on BeagleBone Black

● Using Angstrom on eMMC● opkg update● opkg install libusb-1.0-dev● git clone git://git.osmocom.org/rtl-sdr.git● Follow commands in my GitHub Gist:

– https://gist.github.com/pdp7/5503462

Page 15: Software Defined Radio (SDR)

Test rtl-sdr

From GitHub Gist:

https://gist.github.com/pdp7/8683297

root@beaglebone:~# rtl_eeprom

Found 1 device(s):

0: Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM

Found Rafael Micro R820T tuner

Page 16: Software Defined Radio (SDR)

Play FM radio station 96.3MHz(using Adafruit USB $5 audio adapter)

root@beaglebone:~# nice -n -10 rtl_fm -f 96.3e6 -M wbfm -r 48000 - | aplay -r 48k -f S16_LE

Found 1 device(s):

0: Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM

Found Rafael Micro R820T tuner

Tuner gain set to automatic.

Tuned to 96571000 Hz.

Oversampling input by: 6x.

Oversampling output by: 1x.

Buffer size: 8.03ms

Exact sample rate is: 1020000.026345 Hz

Sampling at 1020000 S/s.

Output at 170000 Hz.

Playing raw data 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

Page 17: Software Defined Radio (SDR)

Alternative if no USB audio adapter

● http://www.meetup.com/Southeast-Michigan-BeagleBone-Users-Group/events/160342142/● Listening to audio via my Mac using

BeagleBone connected to tuner. 'sox' installed on my Mac for the 'play' app. 'rtl_fm' :

● ssh [email protected] "nice -n -10 rtl_fm -W -f 96.3M" | play -r 32k -t raw -e signed-integer -b 16 -c 1 -V1 --buffer 100000 -

Page 18: Software Defined Radio (SDR)

rtlizer: RF Spectrum Analyzer● http://www.oz9aec.net/index.php/beaglebone/480-rtlizer

Page 19: Software Defined Radio (SDR)

ViewRF: RF Spectrum Analyzer

● http://hackaday.com/2013/09/09/an-rtl-sdr-spectrum-analyzer/

Page 20: Software Defined Radio (SDR)

Gqrxhttp://gqrx.dk/

Page 21: Software Defined Radio (SDR)

Gqrx by Alexandru Csete

● http://gqrx.dk/● Open source software defined radio receiver

powered by the GNU Radio SDR framework and the Qt graphical toolkit

● Packaged for Ubuntu Linux & Mac OS X● Supported Hardware:

http://gqrx.dk/supported-hardware● Videos:

https://www.youtube.com/user/oz9aec/videos

Page 22: Software Defined Radio (SDR)

Run your own GSM base station!

● http://openbts.org/● OpenBTS is a Unix application that uses a

software radio to present a GSM air interface to standard 2G GSM handset and uses a SIP softswitch or PBX to connect calls

● Range Networks SDR1 Open Source Software-Defined Radio: http://openbts.org/sdr1.html

Page 23: Software Defined Radio (SDR)

The Amp Hour interviews

● HackRF creator:

http://www.theamphour.com/the-amp-hour-161-gifted-grimgribber-grokker/● “Matt started and still runs Ettus Research, now a 12

person Software Defined Radio (SDR) company located in the Bay Area”

http://www.theamphour.com/the-amp-hour-101-quality-quadrature-quidam/● Universal Software Radio Peripheral (USRP) products

are computer-hosted software radios: http://en.wikipedia.org/wiki/Universal_Software_Radio_Peripheral