Simulation example: Single Sideband transceiver: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(initial creation)
 
(Incorporate suggested improvements)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= UNDER CONSTRUCTION =
<!-- Simulation_example:_Single_Sideband_transceiver.mediawiki -->
This tutorial explains how a Single Sideband (SSB) signal can be generated and received. The transmitter and receiver use the filter method.


[[File:SSB_xmt_1_fg.png|800px]]
<code>Tested with v3.10.9.2</code><br>


<hr>
== Prerequisites ==


[[File:SSB_rcv_fg.png|800px]]
* [[Guided_Tutorial_GRC|'''Intro to GR usage: GRC and flowgraphs''']]
* [[Variables_in_Flowgraphs|'''Variables in Flowgraphs''']]
 
== Flowgraph ==
 
The following flowgraph can be downloaded by clicking [[Media:SSB_demo.grc]]. Using a terminal screen, start `gnuradio-companion` and open the downloaded file.
 
[[File:SSB_demo_fg.png|800px]]
 
=== Transmitter section ===
 
* The transmitter section is across the upper row of blocks starting with the [[Audio Source]] (your microphone).
* The [[Band Pass Filter]] has a low frequency cutoff of 300Hz and a high frequency cutoff of 3500Hz to pass normal voice frequencies. The Gain parameter is set by the [[QT GUI Range]] block labeled "Mic gain".
* The [[Swap IQ]] block interchanges the Real and Imaginary components which effectively changes upper and lower sidebands.
* The [[Selector]] block chooses which input to use, based on the [[QT GUI Chooser]] labeled "Transmit Sideband".
* The [[QT GUI Time Sink]] shows a 'scope trace' of the audio signal.
* The [[QT GUI Frequency Sink]] shows the frequency plot of the audio.
* The [[QT GUI Waterfall Sink]] shows the signals on a waterfall (spectrogram) plot. The bandwidth of the audio can be seen clearly on the plot.
* The [[Virtual Sink]] and [[Virtual Source]] blocks provide connection points to allow a cleaner presentation of the flowgraph. They are functionally the same as drawing a line between the two points, and have no impact on the data flow.
 
=== Receiver section ===
 
* The transmitter signal is fed to the receiver through the [[Virtual Source]] block.
* As in the transmitter section, the [[Swap IQ]] and [[Selector]] blocks choose which sideband to use, based on the [[QT GUI Chooser]] labeled "Receive Sideband".
* The paramters for the [[FFT Filter]] are set by the [[Band-pass Filter Taps]] block. Using Complex taps, the output will be only in the Upper sideband with a frequency range of 300Hz to 3500Hz.
* The [[Complex To Real]] block produces the Real part of the data stream.
* To produce a volume control, the [[QT GUI Range]] block labeled "Volume" sets a variable named 'volume' which is used in the [[Multiply Const]] block. The name "Multiply Const" block seems a little confusing because the Constant can be a variable, but it is to distinguish it from a [[Multiply]] block which multiplies two (or more) input streams together.
* The [[Audio Sink]] is the computer speaker or headphones. See "Caution" below!
 
== Testing ==
 
<b>CAUTION!</b> To avoid loud feedback, use headphones or a microphone/headset instead of the computer speaker.
 
<p>To start the program, click the "Execute" icon or press F6. A screen will open showing the Mic gain, Volume, sideband selections, Time, Frequency, and Waterfall displays. Both transmit and receive will be in Upper Sideband mode.</p>
 
<p>Speaking into the microphone, you should hear yourself clearly. Selecting Lower Sideband for both transmit and receive should also work well. Note the change of the frequencies on both the Frequency and Waterfall plots.</p>
 
<p>Selecting Upper Sideband on transmit and Lower Sideband on receive (or vice versa) will produce almost no sound.</p>
 
<p>To terminate the test, click the 'X' in the upper right-hand corner of the "SSB_demo" screen.
 
[[Category:Tutorials]]
[[Category:Tested With 3.10]]

Latest revision as of 21:15, 19 February 2025

This tutorial explains how a Single Sideband (SSB) signal can be generated and received. The transmitter and receiver use the filter method.

Tested with v3.10.9.2

Prerequisites

Flowgraph

The following flowgraph can be downloaded by clicking Media:SSB_demo.grc. Using a terminal screen, start `gnuradio-companion` and open the downloaded file.

SSB demo fg.png

Transmitter section

  • The transmitter section is across the upper row of blocks starting with the Audio Source (your microphone).
  • The Band Pass Filter has a low frequency cutoff of 300Hz and a high frequency cutoff of 3500Hz to pass normal voice frequencies. The Gain parameter is set by the QT GUI Range block labeled "Mic gain".
  • The Swap IQ block interchanges the Real and Imaginary components which effectively changes upper and lower sidebands.
  • The Selector block chooses which input to use, based on the QT GUI Chooser labeled "Transmit Sideband".
  • The QT GUI Time Sink shows a 'scope trace' of the audio signal.
  • The QT GUI Frequency Sink shows the frequency plot of the audio.
  • The QT GUI Waterfall Sink shows the signals on a waterfall (spectrogram) plot. The bandwidth of the audio can be seen clearly on the plot.
  • The Virtual Sink and Virtual Source blocks provide connection points to allow a cleaner presentation of the flowgraph. They are functionally the same as drawing a line between the two points, and have no impact on the data flow.

Receiver section

  • The transmitter signal is fed to the receiver through the Virtual Source block.
  • As in the transmitter section, the Swap IQ and Selector blocks choose which sideband to use, based on the QT GUI Chooser labeled "Receive Sideband".
  • The paramters for the FFT Filter are set by the Band-pass Filter Taps block. Using Complex taps, the output will be only in the Upper sideband with a frequency range of 300Hz to 3500Hz.
  • The Complex To Real block produces the Real part of the data stream.
  • To produce a volume control, the QT GUI Range block labeled "Volume" sets a variable named 'volume' which is used in the Multiply Const block. The name "Multiply Const" block seems a little confusing because the Constant can be a variable, but it is to distinguish it from a Multiply block which multiplies two (or more) input streams together.
  • The Audio Sink is the computer speaker or headphones. See "Caution" below!

Testing

CAUTION! To avoid loud feedback, use headphones or a microphone/headset instead of the computer speaker.

To start the program, click the "Execute" icon or press F6. A screen will open showing the Mic gain, Volume, sideband selections, Time, Frequency, and Waterfall displays. Both transmit and receive will be in Upper Sideband mode.

Speaking into the microphone, you should hear yourself clearly. Selecting Lower Sideband for both transmit and receive should also work well. Note the change of the frequencies on both the Frequency and Waterfall plots.

Selecting Upper Sideband on transmit and Lower Sideband on receive (or vice versa) will produce almost no sound.

To terminate the test, click the 'X' in the upper right-hand corner of the "SSB_demo" screen.