Your SlideShare is downloading. ×
A Glimpse into Developing Software-Defined Radio by Python
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

A Glimpse into Developing Software-Defined Radio by Python

5,673

Published on

Software-defined radio~(SDR) has been emerging for many years in …

Software-defined radio~(SDR) has been emerging for many years in
various fields, including military, commercial communication
systems, and scientific research, e.g. space exploration. GNU Radio
is an open source SDR framework written in Python. This talk will introduce from basic concept of software-defined radio and various
front-end hardware, and then illustrate how to use Python to develop
SDR.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,673
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
86
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. A Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh Huang A Glimpse intoIntroduction toSoftware- Developing Software-Defined Radio by PythonDefinedRadioGNU Radio Albert Chun-Chieh HuangSDR withNT$900 DongleDevelopingSDR by GNURadio andPython December 17, 2012ConcludingRemarksReferences
  • 2. About the AuthorA Glimpse into Developing Software-Defined Radio by Python He is both a programmer and a communication engineer. He Albert learned Python in 2000 and has used it extensively on Chun-Chieh Huang improving his workflow ever since. He has been working in communication IC industry for more than eight years. HisIntroduction toSoftware- interests include communication engineering and engineeringDefinedRadio communication, which consists of fields from physical layer toGNU Radio MAC layer as well as typesetting.SDR withNT$900 Dongle Blog: Random Notes,Developing http://alberthuang314.blogspot.com/SDR by GNURadio and LinkedIn:PythonConcluding http://www.linkedin.com/in/alberthuang314Remarks Email address: alberthuang314 AT gmail DOT comReferences
  • 3. OutlineA Glimpse into Developing Software-Defined Radio by Python Albert 1 Introduction to Software-Defined Radio Chun-Chieh HuangIntroduction to 2 GNU RadioSoftware-DefinedRadio 3 SDR with NT$900 DongleGNU RadioSDR withNT$900 Dongle 4 Developing SDR by GNU Radio and PythonDevelopingSDR by GNURadio andPython 5 Concluding RemarksConcludingRemarksReferences
  • 4. Introduction to Software-Defined RadioA Glimpse into Developing Software-Defined Radio by Python Software-Defined Radio (SDR) is a radio communication Albert Chun-Chieh system implemented (mostly) in software. HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 5. Introduction to Software-Defined RadioA Glimpse into Developing Software-Defined Radio by Python Software-Defined Radio (SDR) is a radio communication Albert Chun-Chieh system implemented (mostly) in software. Huang “Software radio” [6] was coined by Joseph Mitola, III in 1992.Introduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 6. Introduction to Software-Defined RadioA Glimpse into Developing Software-Defined Radio by Python Software-Defined Radio (SDR) is a radio communication Albert Chun-Chieh system implemented (mostly) in software. Huang “Software radio” [6] was coined by Joseph Mitola, III in 1992.Introduction toSoftware- Application areasDefinedRadio Military systems, space exploration, base stations, femtocells,GNU Radio etc.SDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 7. Introduction to Software-Defined RadioA Glimpse into Developing Software-Defined Radio by Python Software-Defined Radio (SDR) is a radio communication Albert Chun-Chieh system implemented (mostly) in software. Huang “Software radio” [6] was coined by Joseph Mitola, III in 1992.Introduction toSoftware- Application areasDefinedRadio Military systems, space exploration, base stations, femtocells,GNU Radio etc.SDR with Background knowledge required for SDR programmerNT$900 DongleDeveloping ProgrammingSDR by GNU Digital Signal ProcessingRadio andPython Probability and StatisticsConcluding Communication SystemRemarksReferences
  • 8. What Can SDR Do?A Glimpse into Developing Software-Defined Radio by Python Rapid prototype for Albert Chun-Chieh algorithm development Huang channel measurementIntroduction to systems because field trials are vital to commercialSoftware- communication systemsDefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 9. What Can SDR Do?A Glimpse into Developing Software-Defined Radio by Python Rapid prototype for Albert Chun-Chieh algorithm development Huang channel measurementIntroduction to systems because field trials are vital to commercialSoftware- communication systemsDefinedRadio Reconfigurable radioGNU Radio one device for many communication standardsSDR withNT$900 Dongle military or aviation communication systems instrumentsDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 10. What Can SDR Do?A Glimpse into Developing Software-Defined Radio by Python Rapid prototype for Albert Chun-Chieh algorithm development Huang channel measurementIntroduction to systems because field trials are vital to commercialSoftware- communication systemsDefinedRadio Reconfigurable radioGNU Radio one device for many communication standardsSDR withNT$900 Dongle military or aviation communication systems instrumentsDevelopingSDR by GNURadio and Small volume deploymentPython implemented by DSP’s and FPGA’s without producing IC’sConcluding base stationsRemarksReferences
  • 11. Radio Communication System ComponentsA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh Huang Source Channel Digital Up Up Source Modulator D/A Encoder Encoder Converter ConverterIntroduction toSoftware-DefinedRadioGNU RadioSDR with Source Channel Demodula Digital Dn Down Sink A/DNT$900 Dongle Decoder Decoder tor Converter ConverterDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 12. Software-Defined Radio ComponentsA Glimpse into Developing Software-Defined Radio by Python Albert Software Hardware Chun-Chieh Huang Source Channel Digital Up Up Source Modulator D/A Encoder Encoder Converter ConverterIntroduction toSoftware-DefinedRadioGNU RadioSDR with Source Channel Demodula Digital Dn Down Sink A/DNT$900 Dongle Decoder Decoder tor Converter ConverterDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 13. Software-Defined Modem ComponentsA Glimpse into Developing Software-Defined Radio by Python Albert Software Hardware Chun-Chieh Huang Source Channel Source Modulator D/A Encoder EncoderIntroduction toSoftware-DefinedRadioGNU RadioSDR with Source Channel Demodula Sink A/DNT$900 Dongle Decoder Decoder torDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 14. Software-Defined Modem Example: CourierA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 15. Software-Defined Modem Example: SporsterA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 16. Software-Defined Modem ExampleA Glimpse into Developing Software-Defined Radio by Python U.S. Robotics had more than 50% market share in North Albert Chun-Chieh America at the apex of it! (mid ’90s) HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 17. Software-Defined Modem ExampleA Glimpse into Developing Software-Defined Radio by Python U.S. Robotics had more than 50% market share in North Albert Chun-Chieh America at the apex of it! (mid ’90s) Huang They were well known for stability and upgrade-ability.Introduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 18. Software-Defined Modem ExampleA Glimpse into Developing Software-Defined Radio by Python U.S. Robotics had more than 50% market share in North Albert Chun-Chieh America at the apex of it! (mid ’90s) Huang They were well known for stability and upgrade-ability.Introduction toSoftware- Those were really good old days that we can doDefinedRadio software-defined radio/modem in a product.GNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 19. Software-Defined Modem ExampleA Glimpse into Developing Software-Defined Radio by Python U.S. Robotics had more than 50% market share in North Albert Chun-Chieh America at the apex of it! (mid ’90s) Huang They were well known for stability and upgrade-ability.Introduction toSoftware- Those were really good old days that we can doDefinedRadio software-defined radio/modem in a product.GNU Radio And sell it at USD$400!SDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 20. Software-Defined Modem ExampleA Glimpse into Developing Software-Defined Radio by Python U.S. Robotics had more than 50% market share in North Albert Chun-Chieh America at the apex of it! (mid ’90s) Huang They were well known for stability and upgrade-ability.Introduction toSoftware- Those were really good old days that we can doDefinedRadio software-defined radio/modem in a product.GNU Radio And sell it at USD$400!SDR with SDR approach is not possible anymore for end-user modems,NT$900 Dongle incl. radio modems.DevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 21. Software-Defined Modem ExampleA Glimpse into Developing Software-Defined Radio by Python U.S. Robotics had more than 50% market share in North Albert Chun-Chieh America at the apex of it! (mid ’90s) Huang They were well known for stability and upgrade-ability.Introduction toSoftware- Those were really good old days that we can doDefinedRadio software-defined radio/modem in a product.GNU Radio And sell it at USD$400!SDR with SDR approach is not possible anymore for end-user modems,NT$900 Dongle incl. radio modems.DevelopingSDR by GNU Developing communication system is not so fun anymoreRadio and because it takes longer to start playing in the field!PythonConcludingRemarksReferences
  • 22. Software-Defined Modem ExampleA Glimpse into Developing Software-Defined Radio by Python U.S. Robotics had more than 50% market share in North Albert Chun-Chieh America at the apex of it! (mid ’90s) Huang They were well known for stability and upgrade-ability.Introduction toSoftware- Those were really good old days that we can doDefinedRadio software-defined radio/modem in a product.GNU Radio And sell it at USD$400!SDR with SDR approach is not possible anymore for end-user modems,NT$900 Dongle incl. radio modems.DevelopingSDR by GNU Developing communication system is not so fun anymoreRadio and because it takes longer to start playing in the field!PythonConcluding It’s great to have GNU Radio now!RemarksReferences
  • 23. GNU Radio: Open Source SDRA Glimpse into Developing Software-Defined Radio by Python GNU Radio is a free & open-source software development Albert Chun-Chieh toolkit that provides signal processing blocks to implement Huang software radios.Introduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 24. GNU Radio: Open Source SDRA Glimpse into Developing Software-Defined Radio by Python GNU Radio is a free & open-source software development Albert Chun-Chieh toolkit that provides signal processing blocks to implement Huang software radios.Introduction toSoftware- Primarily written in Python with performance-critical signalDefinedRadio processing components written in C++ [2].GNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 25. GNU Radio: Open Source SDRA Glimpse into Developing Software-Defined Radio by Python GNU Radio is a free & open-source software development Albert Chun-Chieh toolkit that provides signal processing blocks to implement Huang software radios.Introduction toSoftware- Primarily written in Python with performance-critical signalDefinedRadio processing components written in C++ [2].GNU Radio C++ classes are wrapped by SWIG [4].SDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 26. GNU Radio: Open Source SDRA Glimpse into Developing Software-Defined Radio by Python GNU Radio is a free & open-source software development Albert Chun-Chieh toolkit that provides signal processing blocks to implement Huang software radios.Introduction toSoftware- Primarily written in Python with performance-critical signalDefinedRadio processing components written in C++ [2].GNU Radio C++ classes are wrapped by SWIG [4].SDR withNT$900 Dongle Python can be used to develop rapid prototype for SDR in anDeveloping elegant and fast way.SDR by GNURadio andPythonConcludingRemarksReferences
  • 27. GNU Radio: Open Source SDRA Glimpse into Developing Software-Defined Radio by Python GNU Radio is a free & open-source software development Albert Chun-Chieh toolkit that provides signal processing blocks to implement Huang software radios.Introduction toSoftware- Primarily written in Python with performance-critical signalDefinedRadio processing components written in C++ [2].GNU Radio C++ classes are wrapped by SWIG [4].SDR withNT$900 Dongle Python can be used to develop rapid prototype for SDR in anDeveloping elegant and fast way.SDR by GNURadio andPython “Install GNU Radio 3.6.2 on MacOSX 10.8.2”Concluding http://goo.gl/mJQmARemarksReferences
  • 28. SDR HardwareA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh With software-defined radio frameworks like GNU Radio, we Huang still need RF front-end hardware to process signals in the air,Introduction toSoftware- or in the water. :-)DefinedRadio Ettus Research provides cheap RF front-end hardwareGNU Radio ranges from USD$1700, price not including RF daughterSDR with boards, to USD$650.NT$900 DongleDeveloping RTL2832U-based dongles can be obtained at NT$900 inSDR by GNURadio and Taiwan!PythonConcludingRemarksReferences
  • 29. Ettus Research USRP N210: USD$1700A Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 30. Ettus Research USRP1: USD$700A Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 31. Realtek RTL2832U-based DVB Dongle: NT$900A Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences Source: http://farm8.staticflickr.com/7114/6952840370 6e3a75d93a z.jpg
  • 32. Realtek RTL2832U-based DVB DongleA Glimpse into Developing Software-Defined Radio by Python RTL2832U is a DVB decoder chip designed by Realtek Albert 8-bit resolution Chun-Chieh Huang SNR limits to 48 dBIntroduction to 3.2 Mega sample per second at mostSoftware-Defined 2.4 Msps achievable on my dual core i7 MacBook ProRadio Bandwidth limits to 2.4 MHz (with complex samples)GNU Radio Amateur radio, GSM, AM/FM broadcasting, etc.SDR withNT$900 Dongle Elonics E4000 tuner has the widest tuning range among allDeveloping RTL2832U-based donglesSDR by GNURadio and 52 - 2200 MHz with a gap from 1100 MHz to 1250 MHzPython (varies)ConcludingRemarks Supported by gr-osmosdr module in GNU Radio [3]References
  • 33. USRP Models and RTL2832U-based DongleA Glimpse into Developing Software-Defined Radio by Python USRP Interface Total RF DB ADC ADC DAC DAC MIMO Int. GPS 1 PPS/Ref Albert Chun-Chieh Model Host BW Slots Res. Rate Res. Rate Capable Disciplined Inputs Huang (MSPS (bits) (MSPS) (bits) (MSPS) Oscillator 16b/8b) (Optional)Introduction toSoftware- N210 Gig. Eth. 50/100 1 14 100 16 400 Yes Yes YesDefinedRadio N200 Gig. Eth. 50/100 1 14 100 16 400 Yes Yes Yes B100 USB 2.0 8/16 1 12 64 14 128 No No YesGNU Radio USRP1 USB 2.0 8/* 2 12 64 14 128 Yes No NoSDR withNT$900 Dongle E100 Embedded 8/16 1 12 64 14 128 No Yes Yes E110 Embedded 8/16 1 12 64 14 128 No Yes YesDevelopingSDR by GNURadio andPython RTL2832U USB 2.0 */3.2 0 8 3.2 * * No No NoConcludingRemarksReferences
  • 34. Developing SDR by GNU RadioA Glimpse into Developing Software- Lego Way: GNU Radio Companion [1]Defined Radio by Python Easy and intuitive Albert Creating flow-graph by connecting existing components in Chun-Chieh Huang gnuradio companionIntroduction to C++ WaySoftware- Fully customizableDefinedRadio Fast in executionGNU Radio Good for real-time communicationSDR with Time-consuming to write a componentNT$900 Dongle Wrapped by SWIGDevelopingSDR by GNU Python WayRadio andPython Fully customizableConcluding Fast in developmentRemarks NumPy/SciPyReferences Great for rapid prototyping
  • 35. Developing SDR: Lego Way FM ReceiverA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences http://www.oz9aec.net/index.php/gnu-radio/grc-examples
  • 36. Developing SDR: Lego Way SSB ReceiverA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences http://www.oz9aec.net/index.php/gnu-radio/grc-examples
  • 37. Developing SDR: C++ WayA Glimpse into Developing Software-Defined Radio GMSK Receiver Complexity [5] by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 38. Developing SDR: Python WayA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh Huang Python Python Python Python Rapid Wrapper Wrapper WrapperIntroduction to PrototypeSoftware-DefinedRadioGNU Radio C++ signal C++ signal C++ signalSDR with processing processing processingNT$900 Dongle block block blockDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 39. Developing SDR: Python WayA Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh Huang Rapid prototyping for algorithm developmentIntroduction to Modify FPGA code to accommodate your needs if necessarySoftware- Dump samples from front-end hardware to hard drivesDefinedRadio Process saved samples by NumPy/SciPy packages in PythonGNU Radio and GNU RadioSDR withNT$900 Dongle Convert your Python code into C++ module later when youDeveloping need real-time processingSDR by GNURadio andPythonConcludingRemarksReferences
  • 40. Concluding RemarksA Glimpse into Developing Software-Defined Radio by Python GNU Radio provides signal processing capabilities for Python Albert Chun-Chieh programmers. HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 41. Concluding RemarksA Glimpse into Developing Software-Defined Radio by Python GNU Radio provides signal processing capabilities for Python Albert Chun-Chieh programmers. Huang GNU Radio can doIntroduction to Floating-point digital signal processingSoftware-Defined Communication components include from filters to ViterbiRadio decodersGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 42. Concluding RemarksA Glimpse into Developing Software-Defined Radio by Python GNU Radio provides signal processing capabilities for Python Albert Chun-Chieh programmers. Huang GNU Radio can doIntroduction to Floating-point digital signal processingSoftware-Defined Communication components include from filters to ViterbiRadio decodersGNU Radio GNU Radio can not do (right now)SDR withNT$900 Dongle Fixed-point digital signal processingDeveloping Modern error correction coding, e.g. LDPC, Turbo code, etc.SDR by GNURadio and MAC layer processingPythonConcludingRemarksReferences
  • 43. Concluding RemarksA Glimpse into Developing Software-Defined Radio by Python GNU Radio provides signal processing capabilities for Python Albert Chun-Chieh programmers. Huang GNU Radio can doIntroduction to Floating-point digital signal processingSoftware-Defined Communication components include from filters to ViterbiRadio decodersGNU Radio GNU Radio can not do (right now)SDR withNT$900 Dongle Fixed-point digital signal processingDeveloping Modern error correction coding, e.g. LDPC, Turbo code, etc.SDR by GNURadio and MAC layer processingPython Upcoming talks will guide you to process digital signals byConcludingRemarks GNU RadioReferences
  • 44. Don’t ask what GNU Radio can do for you, but what you can do for GNU Radio!A Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadioGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences http://goo.gl/LODjx
  • 45. A Glimpse into Developing Software-Defined Radio by Python Albert Chun-Chieh HuangIntroduction toSoftware-DefinedRadio Q&AGNU RadioSDR withNT$900 DongleDevelopingSDR by GNURadio andPythonConcludingRemarksReferences
  • 46. ReferencesA Glimpse into Developing [1] “GNU Radio Companion.” [Online]. Available: http://gnuradio. Software-Defined Radio org/redmine/projects/gnuradio/wiki/GNURadioCompanion by Python Albert [2] “GNU Radio Project Wiki.” [Online]. Available: Chun-Chieh Huang http://gnuradio.org/redmine/projects/gnuradio/wikiIntroduction to [3] “RTL SDR at OsmoCom.” [Online]. Available:Software-Defined http://sdr.osmocom.org/trac/wiki/rtl-sdrRadio [4] “SWIG - Simple Wrapper and Interface Generator.” [Online].GNU Radio Available: http://swig.orgSDR withNT$900 Dongle [5] F. Ge, C. J. Chiang, Y. M. Gottlieb, and R. Chadha, “GNUDevelopingSDR by GNU Radio-Based Digital Communications: Computational AnalysisRadio andPython of a GMSK Transceiver,” in Global TelecommunicationsConcluding Conference (GLOBECOM 2011), 2011 IEEE.Remarks [6] J. Mitola, III, “Software radios-survey, critical evaluation andReferences future directions,” in Telesystems Conference, 1992. NTC-92., National, 1992, p. 13.

×