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

Recommend


More recommend