Entering The World of GNU Software Radio: Thanh Le and Lanchao Liu
Entering The World of GNU Software Radio: Thanh Le and Lanchao Liu
http://www.da.isy.liu.se/research/bp/
USRP: Universal Radio Peripheral
The hardware solution for GNU SDR
USRP
USRP2
PART II – Hardware
Universal Software Radio
Peripheral (USRP)
• 4 ADC 64MS/s (12-bit)
• 4 DAC 128MS/s (14-bit)
• USB 2.0 interface¹
• Small FPGA²
• MIMO capable
$700
1. Highest speed 480Mb/s
2. Capable of processing signals up to 16 MHz wide
Universal Software Radio
Peripheral (USRP2) ¹
• 2 ADC 100MS/s (14-bit)
• 2 DAC 400MS/s (16-bit)
• Gigabit Ethernet Interface
• Larger FPGA²
• On-board SRAM
• MIMO capable
$1400
1. 2 Gbps high-speed serial interface for expansion
2. Capable of processing signals up to 100 MHz wide
Available daughter-boards
Basic TX/RX: 1MHz – 250MHz
LFTX/LFRX: DC – 30MHz
TVRX: 50MHz-860Mhz
DBSRX: 800MHz – 2.4GHz
WBX0510: 50MHz – 1GHz(20dBm)
XCVR2450: 2.4GHz – 2.5GHz & 4.9GHz -5.9GHz(20dBm)
Local
Oscillator
• FPGA – MUX
• FPGA – DDC
• Example 2-1: Simple transmission
Signal
Generator
FFT Filter Modulation C++
• A thumb of rule
For any application, what you need to do at
Python level is nothing but drawing a diagram to
show the signal flow form the source to the sink
using the Python, sometimes with the graphical
user interface(GUI) support
• GNU Radio Installation
Step-by-step instruction available on
https://wiki.gnuradio.org/index.php/InstallingGR
⮚ Install the pre-requisites
⮚ Get the GNU Radio source code
⮚ Configure, compile and install GNU Radio
Src0
(440Hz) Adder
Oscilloscope
Src1
(640Hz)
Data Type
• Signal blocks communicate with each other via data
stream
• GNU Radio requires that input and output data types
match exactly
gr.wavefile_source() gr.multiply_const_cc()
Usrp2.sink_32fc() gr.multiply_const_cc()
• AM transmitter
Usrp2.sink_32fc am_mod=gr.float_to_complex()
• Benchmark_tx.py
source usrp_transmit_path USRP
self.packet_transmitter Self.amp
Modulator
• Benchmark_rx.py
source usrp_receive_path file
Low_pass_filter Self.packet_reveiver
source
• Connection
• Spectrum sensing