Difference between revisions of "Event:SoftwareDefinedRadioSDRFMDABontvangerworkshop"

From RevSpace
Jump to navigation Jump to search
(3. Quick 'theory' of signal processing)
(Attendees)
 
(8 intermediate revisions by 5 users not shown)
Line 9: Line 9:
 
}}
 
}}
  
== 1 Prerequisites: ==
+
== Software Defined Radio workshop: receiving a wireless microphone ==
Please bring your own RTL-SDR hardware (very cheap, $20-$40 or less)
+
 
or other SDR hardware (USRP or other GNURadio supported SDR).
+
== 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 RTL-SDR dongle or other software-defined radio receiver
 +
* Understand a few basic concept of radio signals, signal processing, and software-based radio signalprocessing in particular.
 +
 
 +
== 2. Prerequisites: ==
 +
 
 +
Please bring your own radio-receiver:
 +
* A RTL-SDR hardware (very cheap, $20-$40 or less)
 +
* A funcube dongle
 +
* Other SDR hardware (USRP or other GNURadio supported SDR)
 +
* A laptop with GnuRadio and Gnuradio-companion installed (version 3.7.5 ... 3.7.11 is ok)
 
There might be a few available @ revspace coin-op machine by the time the workshop starts.
 
There might be a few available @ revspace coin-op machine by the time the workshop starts.
 +
* Optional: a gqrx installation or other software-defined radio/waterfall receiver with WBFM support
  
== 2. Quick introduction ==
+
== 3. Quick introduction ==
Quick introduction into GNURadio companion 3.7.11.1 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)
  
== 3. Quick theory of signal processing ==
+
== 4. Theory of signal processing ==
This could take about one to or 1.5 hours
+
This takes about half an hour, it is an interactive session so
Interactive session
+
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 stage-usage, that
 +
the presenter will bring and setup to transmit at a fixed frequency.
 +
 
 +
It will generate a mono, wideband FM signal in the 473-494 MHz band.
 +
The transmitter will also feature a tone-code 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 samplerate-conversions and free-running clocks
 +
between the radio-receiver, 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
  
== 3.1 Real signals ==
+
=== 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 real-sinewaves, in the time domain
 
Multiplying real-sinewaves, 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 non-linearities)
+
  * Usage of the word 'mixing' in radioterms (multiplication or usage of other non-linearities)
 
 
  
== 3.2 Complex signals ==
+
=== 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
  
== 3.3 Filtering complex signals ==
+
=== 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.
+
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).
  
== 3.4 Calculating FIR filter coefficients or parameters ==
+
=== 6.4 Calculating FIR filter coefficients or parameters ===
 
Filtering coefficients/taps, impulse response of filter
 
Filtering coefficients/taps, impulse response of filter
(very quick) calculating FIR filter coefficients/taps using gr-filter  
+
  * Calculating FIR filter coefficients/taps using gr-filter  
 
Performance limitations, tradeoffs between
 
Performance limitations, tradeoffs between
   computational complexity of filter (number of multiplies per processed sample)
+
   * Computational complexity of filter (number of multiply/add operations per processed sample)
   steepness of cut-off frequency
+
   *  Steepness of cut-off 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
+
  *  (Using inverse FFT/inverse DFT and windowing functions to determine filter coefficients/taps will be skipped)
 
 
== 4. Radio receivers and/or detectors ==
 
- Build a simple mono FM receiver using blocks with built-in feedback networks
 
- Build a RDS FM receiver and connect it with your RTL-SDR or other gnuradio-support SDR/radiodata input device
 
 
 
== 5. Bonus ==
 
Build with welle.io a SDR-based DAB+ receiver from source. For this a QTQuick 5.x installation might be required.
 
  
=== Attendees ===
+
== Attendees ==
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 70: Line 109:
 
|Yes
 
|Yes
 
|-
 
|-
|minicom
+
|Pepman
 +
|Yes
 +
|-
 +
|GNyers
 +
|Yes
 +
|-
 +
|Aloha
 +
|Yes
 +
|-
 +
|Edward H.
 +
|Yes
 +
|-
 +
|Atoomnet
 
|Yes
 
|Yes
 
|}
 
|}

Latest revision as of 22:56, 27 June 2019

Event Foundations Friday: Software Defined Radio workshop
UpduinoV2.jpg
Name Foundations Friday: Software Defined Radio workshop


Duration 2019-06-28 20:00 - 2019-06-28 23:00
Information


* Location: Overgoo 1, Leidschendam
* Open from: 20:00

Software Defined Radio workshop: receiving a wireless microphone

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 RTL-SDR dongle or other software-defined radio receiver
  • Understand a few basic concept of radio signals, signal processing, and software-based radio signalprocessing in particular.

2. Prerequisites:

Please bring your own radio-receiver:

  • A RTL-SDR hardware (very cheap, $20-$40 or less)
  • A funcube dongle
  • Other SDR hardware (USRP or other GNURadio supported SDR)
  • A laptop with GnuRadio and Gnuradio-companion installed (version 3.7.5 ... 3.7.11 is ok)

There might be a few available @ revspace coin-op machine by the time the workshop starts.

  • Optional: a gqrx installation or other software-defined 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 stage-usage, that the presenter will bring and setup to transmit at a fixed frequency.

It will generate a mono, wideband FM signal in the 473-494 MHz band. The transmitter will also feature a tone-code 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 samplerate-conversions and free-running clocks between the radio-receiver, 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 real-sinewaves, 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 non-linearities)

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 gr-filter 

Performance limitations, tradeoffs between

 * Computational complexity of filter (number of multiply/add operations per processed sample)
 *   Steepness of cut-off 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
Pepman Yes
GNyers Yes
Aloha Yes
Edward H. Yes
Atoomnet Yes