Download presentation
Presentation is loading. Please wait.
Published byMelvin Cannon Modified over 9 years ago
1
DSP Techniques for Software Radio A System Example Dr. Jamil Ahmad
2
2 SDR System GNU Radio SDR Hardware Support SDR Software Development SDR Demo
3
3 Why GNU Radio? Open source Knowledge Sharing Growing Applications Open Hardware Architecture PC Interface – General Purpose DSP
4
4 GNU Radio Hardware Universal Software Radio Peripheral (USRP) Multi-Channel Multi-Band Flexible Hardware Wideband system USB 2.0 Interface Developed for Linux Analog RF and Digital Front End Processing
5
5 USRP Board
6
6 USRP Daughter Cards Flexible Analog RF Front Ends 0-5GHz Support MIMO System High Speed Data Conversion Mother Board High Speed FPGA for Front-End Processing USB 2.0 Interface with PC
7
7 USRP FPGA Processing
8
8 USRP ADCs 4 – 12bit A/D Converters 64M samples/sec each (theoretically a 32MHz wide band) 42.66M samples/s, 32M samples/s... also possible. 2V Peak-to-Peak input PGA to increase gain up to 20db before A/D for weak signals.
9
9 USRP DACs 4 - 14bit D/A Converters 128M samples/s each Theoretical 64 MHz bandwidth Tx signal but should not attempt more than 50 MHz
10
10 USRP Data Conversion Effectively 4 input and 4 ouput channels Usually use a complex signal input/output so 2 complex inputs and 2 complex outputs There is also onboard interpolation in the FPGA (DDC) for both TX and RX All samples sent across the USB are 16-bit signed integer values USB can only handle 32Megabytes/s or less
11
11 GNU Radio Software SDR Blocks Basic DSP blocks in C++ SDR System Python to connect DSP processing blocks Example Code
12
12 GNU Radio Software Hello World Example: Dial Tone Output #!/usr/bin/env python from gnuradio import gr from gnuradio import audio def build_graph (): sampling_freq = 48000 ampl = 0.1 fg = gr.flow_graph () src0 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 350, ampl) src1 = gr.sig_source_f (sampling_freq, gr.GR_SIN_WAVE, 440, ampl) dst = audio.sink (sampling_freq) fg.connect ((src0, 0), (dst, 0)) fg.connect ((src1, 0), (dst, 1)) return fg if __name__ == '__main__': fg = build_graph () fg.start () raw_input ('Press Enter to quit: ') fg.stop ()
13
13 SDR System Demo 64-QAM OFDM System No RF PC-to-PC analog wire connection using sound cards Both Tx and RX
14
14 GNU Radio GNU Software Radio http://www.gnu.org/software/gnuradio/ USRP http://www.ettus.com
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.