GNU Radio Tutorial
Grace Woo
October 13, 2006
Grace Woo GNU Radio Tutorial
Getting Started
Getting the source code
Make sure you have all of the dependencies. Summarized at:
[Link]/wiki/tiki-view [Link]?blogId=3
Checkout the source code from svn with: svn co
[Link] gnuradio
in that directory and as root, do:
./bootstrap; ./configure
make; make check; make install
Grace Woo GNU Radio Tutorial
Basic Block Diagram
Typical RX path for a software radio:
Antenna -> Receive RF Front End -> ADC -> Software
Code
Typical TX path for a software radio:
Software Code -> DAC -> Transmit RF Front End ->
Antenna
Grace Woo GNU Radio Tutorial
Front End
Primary function is to translate modulated signal to baseband.
Low Noise Amplifer (LNA) -> Low Pass Filter (LPF) ->
Mixer -> LPF -> ADC -> Local Oscillator
Traditional analog radio design uses an Intermediate
Frequency and this basically emulates that.
Grace Woo GNU Radio Tutorial
Analog Digital Converter
Sampling Rate - Number of samples per second
Dynamic Range - Range between lowest and highest sample
value
Grace Woo GNU Radio Tutorial
The Universal Software Radio Peripheral (USRP)
Figure: USRP Block Diagram
Grace Woo GNU Radio Tutorial
USRP A/D Converters
4 - 12bit A/D Converters
64M samples/sec each (theoretically a 32MHz wide band)
42.66M samples/s, 32M samples/s ... also possible.
subrange of A/D is 2V peak to peak
Can use PGA to increase gain up to 20db before A/D if signal
is weak
Grace Woo GNU Radio Tutorial
USRP D/A Converters
4 - 14bit D/A Converters
128M samples/s each
This implies a 64 MHz bandwidth signal but to be safe, should
not attempt more than 50 MHz
Grace Woo GNU Radio Tutorial
USRP D/A, A/D Converters
Effectively, we have 4 input and 4 ouput channels
Usually use a complex signal input/output so 2 complex input
and 2 complex output
There is also onboard interpolation in the FPGA (DDC) for
both TX and RX
Grace Woo GNU Radio Tutorial
USRP FPGA
DDC brings the IF band signal to baseband
All samples sent across the USB are 16-bit signed integer
values
USB can only handle 32Megabytes/s or less
Figure: FPGA Diagram
Grace Woo GNU Radio Tutorial
USRP FPGA - example
Each DDC can be viewed as a Low Pass Filter followed by a
downsampler (Decimator)
Result of several inputs is an interleaved complex signal
Blocks exist in software to access these FPGA parameters
Figure: FPGA Receive
Grace Woo GNU Radio Tutorial
Hardware summary
GNU radio is full duplex. The only limiting factor is the USB
interface.
Within software, we work with complex signals
Any considerable work will most likely be done in GNU radio
C++ blocks
We leave most of the FPGA settings alone
The best place for help is doxygen:
[Link]
Grace Woo GNU Radio Tutorial