19
GNU Radio An introduction GNU Radio Maryam Taghizadeh Dehkordi By 9/9/2007 Introduction What is a GNU Radio? GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’ FM radio Software development References 9/9/2007

GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

  • Upload
    others

  • View
    55

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

GNU Radio An introduction

GNU Radio

Maryam Taghizadeh Dehkordi

By

9/9/2007

Introduction What is a GNU Radio?

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

Page 2: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Introduction What is a GNU Radio

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

An open source software toolkitSupports, Linux, Mac OS and Windows

Creating signal processing applicationsDefining waveforms in softwareProcessing waveforms in software

A hardware platform

A Framework

A hardware platformUSRP, universal software radio peripheral, low cost HW platform for preprocessing

ADC &DACFPGAUSB 2.0 Interface to Host PC

GNU Radio

A framework for building software radio transceivers

9/9/2007

Page 3: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Using the GNU radio is cross disciplinaryRequiring know-how in the fields of

Computer programmingC

Prerequisites

Communications systemsDigital signal processingAnalog as well as digital hardware

Hardware is also open sourceSchematics are available

GNU Radio9/9/2007

Introduction What is a GNU Radio

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

Page 4: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

GNU Radio block schematic

GNU Radio9/9/2007

GNU Radio block schematic in more detail

GNU Radio9/9/2007

Page 5: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

The Universal Software Radio Peripheral

The Universal Software Radio Peripheral

The Universal Software Radio Peripheral (USRP) enablesengineers to rapidly design and implement powerful, flexiblesoftware radio systems.

GNU Radio9/9/2007

The Universal Software Radio Peripheral

The Universal Software Radio Peripheral

GNU Radio9/9/2007

Page 6: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

The Universal Software Radio Peripheral

GNU Radio9/9/2007

The Universal Software Radio Peripheral

GNU Radio9/9/2007

Page 7: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

The Universal Software Radio Peripheral

• $75.001 MHz to 250 MHz

GNU Radio

• $75.00DC-30 MHz

9/9/2007

The Universal Software Radio Peripheral

GNU Radio9/9/2007

Page 8: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

The Universal Software Radio Peripheral

RFX400• Frequency Range: 400 to 500 MHz• Transmit Power: 100mW (20dBm)

RFX900• Frequency Range: 750 to 1050 MHz• Transmit Power: 200mW (23dBm)

RFX1200 RFX1800

$275.00

GNU Radio

RFX1200• Frequency Range: 1150 to 1450 MHz• Transmit Power: 200mW (23dBm)

RFX1800• Frequency Range: 1.5 to 2.1 GHz• Transmit Power: 100mW (20dBm)

RFX2400• Frequency Range: 2.3 to 2.9 GHz• Transmit Power: 50mW (17dBm)

9/9/2007

ADC&DAC frontend, AD9862

GNU Radio9/9/2007

Page 9: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

The FPGA

GNU Radio9/9/2007

The FPGA

GNU Radio9/9/2007

Page 10: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

The FPGA

GNU Radio9/9/2007

The USB interface supports (ideally) 32Mbyte/sthis limits the achievable datarates

The USB interface

GNU Radio9/9/2007

Page 11: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

The USB interface

GNU Radio9/9/2007

The USB interface

GNU Radio9/9/2007

Page 12: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Hardware architecture in conclusion

GNU Radio9/9/2007

The Universal Software Radio Peripheral

Application

Commercial Defense SecurityWireless research

d

GNU Radio

Radio astronomyWildlife tracking RFIDs...

9/9/2007

Page 13: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Introduction What is a GNU Radio

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

A 3 tier architecture

GNU Radio9/9/2007

Page 14: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Introduction What is a GNU Radio

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

� 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)

GNU Radio ‘Hello World’ application

� 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 ()

GNU Radio9/9/2007

Page 15: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Introduction What is a GNU Radio

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

Listening to FM radio

GNU Radio9/9/2007

Page 16: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

FM receiver block schematic

GNU Radio9/9/2007

Introduction What is a GNU Radio

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

Page 17: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Software development on GNU Radio

GNU Radio9/9/2007

Signal processing blocks in C++

GNU Radio9/9/2007

Page 18: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

Components needed in writing a C++ block

.h and .cc file for class definition

GNU Radio9/9/2007

Introduction What is a GNU Radio

GNU Radio ArchitectureHardware ArchitectureSoftware Architecture

Outline

GNU Radio

Programming the GNU RadioGNU Radio "‘Hello World"’FM radioSoftware development

References

9/9/2007

Page 19: GNU Radio An introductionWhat is a GNU Radio GNU Radio Architecture Hardware Architecture Software Architecture Outline GNU Radio Programming the GNU Radio GNU Radio "‘Hello World"’

References

GNU Radio9/9/2007