Difference between revisions of "Event:SoftwareDefinedRadioSDRFMDABontvangerworkshop"
Line 9:  Line 9:  
}}  }}  
−  Goal of the workshop:  +  == 1. Goal of the workshop: == 
−  +  
−  +  At the end of the workshop (ca two hours), participants will be able to  
−  +  * Receive a simple wireless microphone signal from the presenter  
−  +  * Using their own laptop  
+  * Using their own RTLSDR dongle or other softwaredefined radio receiver  
+  * Understand a few basic concept of radio signals, signal processing, and softwarebased radio signalprocessing in particular.  
+  
+  == 2. Prerequisites: ==  
−  
Please bring your own radioreceiver:  Please bring your own radioreceiver:  
−  +  * A RTLSDR hardware (very cheap, $20$40 or less)  
−  +  * A funcube dongle  
−  +  * Other SDR hardware (USRP or other GNURadio supported SDR)  
−  +  * A laptop with GnuRadio and Gnuradiocompanion installed (version 3.7.5 ... 3.7.11 is ok)  
There might be a few available @ revspace coinop machine by the time the workshop starts.  There might be a few available @ revspace coinop machine by the time the workshop starts.  
−  +  * Optional: a gqrx installation or other softwaredefined radio/waterfall receiver with WBFM support  
−  ==  +  == 3. Quick introduction == 
Quick introduction into GNURadio companion 3.7.x user interface and concepts and keyboard shortcuts  Quick introduction into GNURadio companion 3.7.x user interface and concepts and keyboard shortcuts  
(have it preinstalled and git client to download the samplecode)  (have it preinstalled and git client to download the samplecode)  
−  ==  +  == 4. Theory of signal processing == 
This takes about half an hour, it is an interactive session so  This takes about half an hour, it is an interactive session so  
that we can adapt the speed a bit depending on prior knowledge  that we can adapt the speed a bit depending on prior knowledge  
Line 34:  Line 37:  
we will be with a small group.  we will be with a small group.  
−  ==  +  == 5. Radio receivers and/or detectors == 
+  * Build a simple mono FM receiver using standard gnuradio blocks  
+  * Decomposing the function of the gnuradio blocks  
+  
+  The transmitter in question will be an ordinary wireless presentation microphone for stageusage, that  
+  the presenter will bring and setup to transmit at a fixed frequency.  
+  
+  It will generate a mono, wideband FM signal in the 473494 MHz band.  
+  The transmitter will also feature a tonecode of 35 kHz that will be inaudible to the public and normal  
+  receivers. The tone is used to detect nearby presence of the transmitter, and estimate the  
+  signal level.  
+  
+  The goal is to  
+   find the exact frequency the presenter is using  
+   demodulate the FM signal using basic gnuradio blocks  
+   play back the audio from a local speaker or headphone  
+  
+  The latter might also introduce one into the problem of samplerateconversions and freerunning clocks  
+  between the radioreceiver, audio device sample clock, and a PC's local software clock  
+  
+  == 6. Practice of signal processing ==  
The examples will be provided via git and just need to be started,  The examples will be provided via git and just need to be started,  
Line 41:  Line 64:  
This takes about another half hour  This takes about another half hour  
−  ==  +  === 6.1 Real signals === 
Real sinewaves  Real sinewaves  
−  In the timedomain  +  * In the timedomain 
−  Displayed using time sink / oscillioscope  +  * Displayed using time sink / oscillioscope 
−  Displayed uisng frequency sink / FFT / spectrogram  +  * Displayed uisng frequency sink / FFT / spectrogram 
Multiplying realsinewaves, in the time domain  Multiplying realsinewaves, in the time domain  
−  Displayed using time sink / oscillioscope  +  * Displayed using time sink / oscillioscope 
−  Displayed uisng frequency sink / FFT / spectrogram  +  * Displayed uisng frequency sink / FFT / spectrogram 
−  Usage of the word 'mixing' in radioterms (multiplication or usage of other nonlinearities)  +  * Usage of the word 'mixing' in radioterms (multiplication or usage of other nonlinearities) 
−  ==  +  === 6.2 Complex signals === 
Quadrature or complex (IQ) sinewave signal sources  Quadrature or complex (IQ) sinewave signal sources  
−  Displaying IQ signals in timedomain ('constellation' diagram)  +  * Displaying IQ signals in timedomain ('constellation' diagram) 
−  Displaying IQ signals in frequency domain (using FFT or frequency sinks)  +  * Displaying IQ signals in frequency domain (using FFT or frequency sinks) 
Multiplying quadrature (IQ) sinewaves and spectrogram  Multiplying quadrature (IQ) sinewaves and spectrogram  
−  Effect of quadrature multiplication (phases of are added)  +  * Effect of quadrature multiplication (phases of are added) 
−  Usage of complex multiplication in signal processing  +  * Usage of complex multiplication in signal processing 
−  ==  +  === 6.3 Filtering complex signals === 
−  Filtering IQ signals using FIR filters with complex taps. FIR or Finite Impulse Response filters. IIR filters will be skipped. Hilbert transform filters might be skipped too (generating complex analytical signals from real ones).  +  Filtering IQ signals using FIR filters with complex coefficient/taps. 
+  * FIR or Finite Impulse Response filters.  
+  * IIR filters will be skipped.  
+  * Hilbert transform filters might be skipped too (generating complex analytical signals from real ones).  
−  ==  +  === 6.4 Calculating FIR filter coefficients or parameters === 
Filtering coefficients/taps, impulse response of filter  Filtering coefficients/taps, impulse response of filter  
−  Calculating FIR filter coefficients/taps using grfilter  +  * Calculating FIR filter coefficients/taps using grfilter 
Performance limitations, tradeoffs between  Performance limitations, tradeoffs between  
−  Computational complexity of filter (number of multiply/add operations per processed sample)  +  * Computational complexity of filter (number of multiply/add operations per processed sample) 
−  Steepness of cutoff frequency  +  * Steepness of cutoff frequency 
−  Flatness of passband of filter (integrity of signal that still should pass through the filter)  +  * Flatness of passband of filter (integrity of signal that still should pass through the filter) 
−  Depth and ripple of stopband of filter (flatness of suppression of unwanted signal)  +  * Depth and ripple of stopband of filter (flatness of suppression of unwanted signal) 
−  (Using inverse FFT/inverse DFT and windowing functions to determine filter coefficients/taps will be skipped)  +  * (Using inverse FFT/inverse DFT and windowing functions to determine filter coefficients/taps will be skipped) 
−  
−  
−  
−  
−  
−  
−  
−  
−  
−  
−  
−  
−  
−  +  == Attendees ==  
{class="wikitable"  {class="wikitable" 
Revision as of 21:24, 5 June 2019
Event Foundations Friday: Software Defined Radio workshop  

Name  Foundations Friday: Software Defined Radio workshop

Duration  20190628 20:00  20190628 23:00 
Information 

Contents
1. Goal of the workshop:
At the end of the workshop (ca two hours), participants will be able to
 Receive a simple wireless microphone signal from the presenter
 Using their own laptop
 Using their own RTLSDR dongle or other softwaredefined radio receiver
 Understand a few basic concept of radio signals, signal processing, and softwarebased radio signalprocessing in particular.
2. Prerequisites:
Please bring your own radioreceiver:
 A RTLSDR hardware (very cheap, $20$40 or less)
 A funcube dongle
 Other SDR hardware (USRP or other GNURadio supported SDR)
 A laptop with GnuRadio and Gnuradiocompanion installed (version 3.7.5 ... 3.7.11 is ok)
There might be a few available @ revspace coinop machine by the time the workshop starts.
 Optional: a gqrx installation or other softwaredefined radio/waterfall receiver with WBFM support
3. Quick introduction
Quick introduction into GNURadio companion 3.7.x user interface and concepts and keyboard shortcuts (have it preinstalled and git client to download the samplecode)
4. Theory of signal processing
This takes about half an hour, it is an interactive session so that we can adapt the speed a bit depending on prior knowledge of the participants. Questions in between are very welcome, we will be with a small group.
5. Radio receivers and/or detectors
 Build a simple mono FM receiver using standard gnuradio blocks
 Decomposing the function of the gnuradio blocks
The transmitter in question will be an ordinary wireless presentation microphone for stageusage, that the presenter will bring and setup to transmit at a fixed frequency.
It will generate a mono, wideband FM signal in the 473494 MHz band. The transmitter will also feature a tonecode of 35 kHz that will be inaudible to the public and normal receivers. The tone is used to detect nearby presence of the transmitter, and estimate the signal level.
The goal is to  find the exact frequency the presenter is using  demodulate the FM signal using basic gnuradio blocks  play back the audio from a local speaker or headphone
The latter might also introduce one into the problem of samplerateconversions and freerunning clocks between the radioreceiver, audio device sample clock, and a PC's local software clock
6. Practice of signal processing
The examples will be provided via git and just need to be started, so the focus is understanding the signal flow, making modifications predict what will happen, and then test the result in practice. This takes about another half hour
6.1 Real signals
Real sinewaves
* In the timedomain * Displayed using time sink / oscillioscope * Displayed uisng frequency sink / FFT / spectrogram
Multiplying realsinewaves, in the time domain
* Displayed using time sink / oscillioscope * Displayed uisng frequency sink / FFT / spectrogram * Usage of the word 'mixing' in radioterms (multiplication or usage of other nonlinearities)
6.2 Complex signals
Quadrature or complex (IQ) sinewave signal sources
* Displaying IQ signals in timedomain ('constellation' diagram) * Displaying IQ signals in frequency domain (using FFT or frequency sinks)
Multiplying quadrature (IQ) sinewaves and spectrogram
* Effect of quadrature multiplication (phases of are added) * Usage of complex multiplication in signal processing
6.3 Filtering complex signals
Filtering IQ signals using FIR filters with complex coefficient/taps.
 FIR or Finite Impulse Response filters.
 IIR filters will be skipped.
 Hilbert transform filters might be skipped too (generating complex analytical signals from real ones).
6.4 Calculating FIR filter coefficients or parameters
Filtering coefficients/taps, impulse response of filter
* Calculating FIR filter coefficients/taps using grfilter
Performance limitations, tradeoffs between
* Computational complexity of filter (number of multiply/add operations per processed sample) * Steepness of cutoff frequency * Flatness of passband of filter (integrity of signal that still should pass through the filter) * Depth and ripple of stopband of filter (flatness of suppression of unwanted signal) * (Using inverse FFT/inverse DFT and windowing functions to determine filter coefficients/taps will be skipped)
Attendees
(Nick)Name  Has (some) SDR Reciever 
cmpxchg  Yes 
minicom  Yes 