gnuradio as a general purpose digital signal
play

GNURadio as a general purpose digital signal Basics of - PowerPoint PPT Presentation

GNURadio as a general purpose digital signal processing environment J.-M Friedt & al GNURadio as a general purpose digital signal Basics of radiofrequency processing environment software defined radio (SDR) The GNURadio


  1. GNURadio as a general purpose digital signal processing environment J.-M Friedt & al GNURadio as a general purpose digital signal Basics of radiofrequency – processing environment software defined radio (SDR) The GNURadio environment Write your own G. Goavec-M´ erou & J.-M Friedt processing block Time & frequency FEMTO-ST Time & Frequency, Besan¸ con, France Adding a new source Contact: jmfriedt@femto-st.fr Conclusion and bibliography All references available at http://jmfriedt.free.fr February 2, 2014 FOSDEM – Jan. 2014

  2. GNURadio as a general purpose digital signal Why digital ? Why software ? processing environment J.-M Friedt & al Software provides flexibility , reconfigurability , reproducibility 1 Basics of radiofrequency – 1 flexibility: use the same hardware for multiple purposes software defined radio (SDR) (analog/digital signal decoding) ⇒ no need for hardware The GNURadio modification environment Write your own 2 flexibility: update processing parameters depending on the processing block environment or the conditions (flight/landing/mission) Time & frequency 3 reproducibility: no drift of processing result as a function of aging or Adding a new source environment (temperature ?) Conclusion and bibliography ⇒ shift from hardware to software BUT limited bandwidth (cf SAW filters/correlators), and signal to noise/ratio + discretization ? 1 D.A. Mindell, Digital Apollo – Human and Machine in Spaceflight , MIT Press (2008) E.C. Hall, Journey to the Moon – the history of the Apollo Guidance Computer , American Institute of Aeronautics and Astronotics (1996) FOSDEM – Jan. 2014

  3. GNURadio as a general purpose digital signal Concepts of SDR processing environment From all hardware receiver to a single front-end A/D converter (ADC) J.-M Friedt & al followed by software digital signal processing Basics of radiofrequency – → not applicable due to A/D bandwidth and memory usage 2 software defined radio (SDR) The GNURadio environment hardware Write your own processing block Time & frequency Adding a new ADC source software Conclusion and bibliography hardware software (LNA, mixer ...) 2 K. Borre, D.M. Akos, N. Bertelsen, P. Rinder & S.H. Jensen, A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach , Birkh¨ auser Boston (2007) and slides at http://kom.aau.dk/project/softgps/ and http://kom.aau.dk/project/softgps/GNSS_SummerSchool_DGC.pdf FOSDEM – Jan. 2014

  4. GNURadio as a general purpose digital signal Consumer electronics for SDR processing environment • Many sources of radiofrequeny A/D converters, in our examples J.-M Friedt & al Elonics E4000 + Realtek RTL2832U 3 and sound card for I/Q Basics of outputs 4 , but also radiomodems and DDS (USRP) radiofrequency – software defined radio (SDR) • sampling bandwidth up to 64 Msamples/s ⇒ zero-IF approach The GNURadio • Raw information: stream of periodically sampled I and Q values environment (2.8 MS/s for E4k, 96 or 192 kS/s for sound card) Write your own processing block sin(( ω − ω 0 ) t ) Time & sin( ω t ) RF frequency Q Adding a new sin( ω 0 t ) source π/ 2 | . | = | I + jQ | Conclusion and bibliography arg ( . ) = arctan( Q / I ) cos(( ω − ω 0 ) t ) I cos( ω 0 t ) LO 3 http://sdr.osmocom.org/trac/wiki/rtl-sdr 4 Agilent, Digital Modulation in Communications Systems – An Introduction , Application Note 1298, or M. Steer, Microwave and RF design – a systems approach , SciTech Publishing, Inc (2010) FOSDEM – Jan. 2014

  5. GNURadio as a general purpose digital signal The GNURadio environment processing environment Having obtained a stream of I/Q bytes, software processing blocks: J.-M Friedt & al • input (USRP, DVB receiver, sound card ...) Basics of • process radiofrequency – software defined radio (SDR) • output (file, audio stream, stdio, virtual oscilloscope/spectrum The GNURadio analyzer) environment gnuradio-companion : GUI for assembling blocks and generator of Write your own processing block Python file Time & frequency Adding a new source Conclusion and bibliography • 8-bit ADC for high bandwidth (oversampling does not compensate for low resolution: 5 ) 1 bit/sampling rate × 4 ⇒ 2800 / 92 ≃ 30=2.5 bits 5 Application Note AN2668, Improving STM32F101xx and STM32F103xx ADC resolution by oversampling , ST Microelectronics, 2008 FOSDEM – Jan. 2014

  6. GNURadio as a general purpose digital signal The GNURadio environment processing environment Having obtained a stream of I/Q bytes, software processing blocks: J.-M Friedt & al • input (USRP, DVB receiver, sound card ...) Basics of • process radiofrequency – software defined radio (SDR) • output (file, audio stream, stdio, virtual oscilloscope/spectrum The GNURadio analyzer) environment gnuradio-companion : GUI for assembling blocks and generator of Write your own processing block Python file Time & frequency Adding a new source Conclusion and bibliography • 8-bit ADC for high bandwidth (oversampling does not compensate for low resolution: 5 ) 1 bit/sampling rate × 4 ⇒ 2800 / 92 ≃ 30=2.5 bits 5 Application Note AN2668, Improving STM32F101xx and STM32F103xx ADC resolution by oversampling , ST Microelectronics, 2008 FOSDEM – Jan. 2014

  7. GNURadio as a general purpose digital signal GNURadio basic use processing environment J.-M Friedt & al Basics of radiofrequency – software defined radio (SDR) The GNURadio environment Write your own processing block Time & frequency Adding a new source Conclusion and bibliography However, neither decoder for digital protocol I am interested in (ACARS), nor tools for time & frequency analysis ⇒ opensource tool, write your own if missing ! FOSDEM – Jan. 2014

  8. GNURadio as a general purpose digital signal Write your own processing block processing environment J.-M Friedt & al GNURadio is opensource ⇒ add the missing blocks by learning from Basics of radiofrequency – other’s source code software defined radio (SDR) The GNURadio environment Prototype decoding algorithm convert to C link to GNURadio Record sequences Write your own with scripted language using libraries for real time processing block of RF signals (GNU/Octave, Python) (FFTW, ATLAS) processing Time & frequency Adding a new source Development strategy: Conclusion and 1 prototyping using GNU/Octave (Matlab compatible) on recorded bibliography datasets, 2 convert to C(++) and test on the same recorded datasets, 3 comply with gnuradio-companion block description and test on recorded datasets but with chunks of unknown size, 4 apply to real time decoding. FOSDEM – Jan. 2014

  9. GNURadio as a general purpose digital signal Write your own processing block processing environment Example of the ACARS protocol 6 , used on VHF band (131.725 MHz in J.-M Friedt & al Europe): Basics of 1 encoding at 1200 (bit 0) and 2400 Hz (bit 1) 7 radiofrequency – software defined radio (SDR) 2 data rate of 1200 bps The GNURadio 3 header to tune AGC of RF frontend: stream of 2400 Hz data environment ( ≥ 13 periods) Write your own processing block 4 data interpretation: 0 means the bit value changes, 1 means the bit Time & frequency value remains constant Adding a new source Conclusion and bibliography 6 http://files.radioscanner.ru/files/download/file4094/acars.pdf 7 http://www.tapr.org/aprsdoc/ACARS.TXT FOSDEM – Jan. 2014

  10. GNURadio as a general purpose digital signal Write your own processing block processing environment J.-M Friedt & al Bit identification: many means to an end Basics of radiofrequency – • time-domain band-pass filter (FIR) ... general purpose, software defined radio (SDR) • convolution with the expected signals (1200 & 2400 Hz sine wave) The GNURadio environment ⇒ frequeny domain (requires FFT), Write your own • use at best the signal encoding properties processing block • � 1 Time & 0 sin(2 π t ) sin( π t ) dt ∝ frequency � 1 Adding a new 0 (cos(3 π t ) − cos( π t )) dt = source 1 sin(p) sin(2p) sin (3 π ) − sin (0) − ( sin ( π ) − sin (0)) = 0 Conclusion and bibliography • � 1 0.5 0 sin(2 π t ) sin(2 π t ) dt = � 1 signal (u.a.) 1 / 2 × 0 (cos(4 π t ) − cos(0)) dt = 0 1 / 2 × ( sin (4 π ) − sin (0) + 1) = 1 / 2 -0.5 • � 1 0 sin( π t ) sin( π t ) dt = -1 � 1 0 0.5 1 1.5 2 2.5 3 angle (rad) 1 / 2 × 0 (cos(2 π t ) − cos(0)) dt = 1 / 2 × ( sin (4 π ) − sin (0) + 1) = 1 / 2 FOSDEM – Jan. 2014

  11. GNURadio as a general purpose digital signal Write your own processing block processing environment J.-M Friedt & al Bit identification: many means to an end Basics of • time-domain band-pass filter (FIR) ... general purpose, radiofrequency – software defined radio (SDR) • convolution with the expected signals (1200 & 2400 Hz sine wave) The GNURadio ⇒ frequeny domain (requires FFT), environment Write your own • use at best the signal encoding properties processing block Time & 20000 1200 Hz frequency 2400 Hz Adding a new source 20000 1200 Hz 1 2400 Hz sin(p) sin(2p) 15000 18000 Conclusion and puissance (u.a.) bibliography 16000 puissance (u.a.) 0.5 14000 12000 signal (u.a.) 10000 0 10000 8000 6000 -0.5 160 180 200 220 240 numero d’echantillon (48 kS/s) 5000 -1 0 0.5 1 1.5 2 2.5 3 angle (rad) 0 0 500 1000 1500 2000 2500 numero d’echantillon (48 kS/s) FOSDEM – Jan. 2014

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend