2019年2月28日 星期四

SDR and GNURadio Course Outline 

Hardware

1. What is Radio ? What is Software Defined Radio ?
2. Generalize SDR Architecture
3. The well known SDR platforms
    RTL-SDR, plutoSDR, SDRDuo, HackRF, AirSpy HF+, FunCube Dongle Pro+, KX3, IC7610,     
    Perseus, USRP B205mini, SunSDR2, Flex6500
4. Remote Operation
    WebSDR, OpenWebRX

Software

0. Most used SDR software SDR#, HDSDR, SDR-Console, SDRuno, Linrad, gqrx, GNURadio
1. What is GNURadio  ? What inside of the GNURadio ? What is its capability and Why is it required ?
2. GNU Radio Live SDR Environment (Run without installation)
3. GNURadio installation – Linux and Windows environment
4. GNURadio experiment – examples and practice (basic blocks function and AM/FM radio)
5. Advanced techniques – Out Of Tree (https://wiki.gnuradio.org/index.php/OutOfTreeModules)
6. Q&A and supplements (GRCon and FOSDEM meeting agenda)

FUNcube Dongle Pro+ Block Diagram



HackRF One Block Diagram



SDR Comparison Table


SDR Comparison Table in searchable format
Presentation material: 01_sdr and gnuradio_wjlee20190228_2in1.pdf
(hardware related sheets in black background, software related sheets in blue background and the information related sheets in green background)

GNU Radio Practice          

0. GNURadio Installation
a. Linux Installation
From scratch
Install Dependencies(Ubuntu 18.04 LTS or Mint Tara)
sudo apt-get -y install git cmake g++ python-dev swig  \
pkg-config libfftw3-dev libboost-all-dev libcppunit-dev libgsl-dev \
libusb-dev libsdl1.2-dev python-wxgtk3.0 python-numpy python-cheetah \
python-lxml doxygen libxi-dev python-sip libqt4-opengl-dev libqwt-dev \
libfontconfig1-dev libxrender-dev python-sip python-sip-dev python-qt4 \
python-sphinx libusb-1.0-0-dev libcomedi-dev libzmq3-dev python-mako \
python-gtk2
Installing GNU Radio
git clone --recursive http://git.gnuradio.org/git/gnuradio.git
cd gnuradio; mkdir build; cd build; cmake ../; make; sudo make install
https://wiki.gnuradio.org/index.php/UbuntuInstall

From repository
sudo apt-get install gnuradio

b. Load Gnuradio Live ISO with Virtual machine
     https://www.vmware.com/tw/products/workstation-player/workstation-player-evaluation.html
     https://wiki.gnuradio.org/index.php/GNU_Radio_Live_SDR_Environment

    

c. Burn Gnuradio Live ISO to USB thumb drive or DVDD
    Unetbootin location https://unetbootin.github.io/
    

d. Install GNURadio in Windows
     http://www.gcndevelopment.com/gnuradio/downloads.htm
      run “*\GNURadio-3.7\bin\volk-profile.exe” to optimization computer performance after the installation
      start GnuRadio Companion(GRC)

1. My first project – Function Generator



Used blocks: Options, Variable, Signal Source, Noise Source, Add, Multiple Const, Audio Sink, QT GUI Range, QT GUI Chooser, QT GUI Sink
GRC file: function generator

2. DTMF Tone Generator


Used blocks: Options, Variable, Signal Source, Selector, Add, Multiple Const, Audio Sink, QT GUI Chooser, Throttle, QT GUI Sink, QT GUI Time Sink, Null Source, Null Sink
GRC file: DTMF Tone Generator

3. X-Y Plot


Used Blocks: Option, Variable, Signal Source, QT GUI Range, Float to Complex, Throttle, QT GUI Sink
GRC file: X-Y plot with QT GUI

4. Tunable Bandpass Filter


Used blocks: Options, Variable, Noise Source, Throttle, Band-Pass Filter Taps, Band Pass Filter, FFT Filter, QT GUI Range, QT GUI Sink
GRC file: Tunable Band Pass Filter

5. AM Demod – From USRP recorded signal



Used blocks: Options, Variable, File Source, Signal Source, Add, Multiply, Multiply Const, Rational Resampler, Complex To Mag, DC Blocker, Low Pass Filter, QT GUI Range, QT GUI Time Sink, QT GUI Sink, Audio Sink
USRP recorded file: am_usrp710.dat (Dr. Katz course project)

6. AM/DSB-SC/USB/LSB Modulation

Used blocks: Options, Variable, Noise Source, Signal Source, Add Const, Multiply, Selector, Low Pass Filter, Band Pass Filter, QT GUI Chooser, QT GUI Time Sink, QT GUI Sink

7. RTL-SDR FM tuner

    RTL-SDR driver installation for GNU Radio(Zadig)    






Used blocks: Options, Variable, RTL-SDR Source, Multiply Const, Low Pass Filter, WBFM Receiver, Rational Resampler, QT GUI Range, QT GUI Time Sink, Audio Sink, QT GUI Sink, QT GUI Waterfall Sink
GRC file: RTL-SDR FM Tuner

Gnuradio experiments collection: gnuradio experiments.zip
Presentation material for the experiment: 02_gnuradio experiments_wjlee20190228_2in1.pdf
Where to find more useful information: 03_grcon and fosdem_20190228_2in1.pdf