Editing User:CSeguinot

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 3: Line 3:
  
  
This tutorial is intended for non specialist, it involves as less maths as possible and present most results with GNURadio flowgraph. Some examples involving simple modulation scheme used in HAM radio are presented. While introducing complex signal can be seen as increasing complexity, we will see that it drastically simplify studying impairment such as synchronization.  
+
This tutorial is intended for non specialist, it involves as less maths as possible and present most results with GNURadio flowgraph. Some examples involving simple modulation scheme used in HAM radio are presented. While introducing complex signal can be seen as increasing complexity, we will see that it drastically simplify some impairment such as synchronization.  
  
 
If you are searching for more detailed information please refer to corresponding literature such as references [[#ancre1|[1]]],[[#ancre2|[2]]],[[#ancre3|[3]]].
 
If you are searching for more detailed information please refer to corresponding literature such as references [[#ancre1|[1]]],[[#ancre2|[2]]],[[#ancre3|[3]]].
Line 80: Line 80:
 
* look at the spectrum shape for sawtooth input and random bit sequence (QT Gui chooser and Selector)
 
* look at the spectrum shape for sawtooth input and random bit sequence (QT Gui chooser and Selector)
 
* When transmitting random bits, you can desactivate the interpolating FIR Filter and replace it by a root raised cosine filter
 
* When transmitting random bits, you can desactivate the interpolating FIR Filter and replace it by a root raised cosine filter
 
== Spectrum properties of signals==
 
Amplitude spectrum is calculated using the Fourier Transform. It represents how the power is spread in the frequency domain. It allows for determining the signal bandwidth. Power Spectral Density or PSD correspond to the average magnitude of the Amplitude spectrum.
 
 
In this section we summarize some properties of the phase arg''{X(f)}'' and magnitude |''X(f))''|. We first consider properties for continuous signal. Then we will investigate additional properties of sampled signal (those used in GNURadio).
 
 
Given a signal ''x(t)"" it amplitude/phase spectrum is denoted ''X(f))'' which is a complex function given by :
 
: <math>X(f) =\int{x(t)e^{-2j\pi ft}dt</math>
 
 
=== continuous real signal ===
 
Every real signal have a spectrum whose magnitude is symmetric and phase is anti-symmetric.
 
: <math>x(t) \in \mathbb{R}</math>
 
: <math>X(-f)=X^*(f)</math>
 
: <math>|X(-f)|=|X(f)|</math>
 
: <math>\text{arg}\{X(-f)\}=-\text{arg}\{X(f)\}</math>
 
 
[[File:IQ_complex_tutorial_complex_spectrum.png|thumb|500px|Complex signal spectrum and, sampled complex signal spectrum (only first 3 patterns represented)]]
 
=== continuous complex signal ===
 
The main difference with real signal is that:
 
* any complex signal having non null imaginary part exhibits a non-symmetric spectrum.
 
* as a consequence, every non-symmetric spectrum correspond to a complex signal
 
 
=== sampled signals ===
 
We consider a signal ''x(t))'' and we note its sampled version ''x<sub>s</sub>(t))'' sampled at frequency ''F<sub>s</sub>''.
 
 
The spectrum ''X<sub>s</sub>(f)'' of the sampled signal is a periodic function of period ''F<sub>s</sub>''.
 
: <math>X_s(f)=\sum_k X(f-kF_s)</math>
 
So the sampled signal spectrum verify :
 
: <math>X_s(f+kF_s)=X_s(f)</math>
 
 
Generally the bandwidth of ''X(f))'' is lower then ''F<sub>s</sub>''/2. The infinite sum defined above exhibit no aliasing (no superposition of patterns ''X(f), X(f+F<sub>s</sub>)'' and ''X(f-F<sub>s</sub>)'') .In that case, as stated in the Nyquist theorem of sampling, the original spectrum/signal can be recovered by filtering the sampled signal.
 
 
When the maximum frequency of the signal spectrum do not respect Nyquist theorem, one should filter the signal with a low pass filter having a cutt-off frequency lower then ''F<sub>s</sub>''/2 before sampling: this correspond to the anti-aliasing filter used in every SDR hardware.
 
  
 
== Complex enveloppe, equivalent baseband signal==
 
== Complex enveloppe, equivalent baseband signal==
Line 203: Line 170:
  
 
AM modulation is a special case for which the equivalent baseband complex signal has a null imaginary part and is real. Considering the schematic diagram of an IQ modulator demodulator, when ''q(t))'' is null the diagram is simplified (imaginary path is not used) yielding the well known AM modulation/demodulation scheme.  
 
AM modulation is a special case for which the equivalent baseband complex signal has a null imaginary part and is real. Considering the schematic diagram of an IQ modulator demodulator, when ''q(t))'' is null the diagram is simplified (imaginary path is not used) yielding the well known AM modulation/demodulation scheme.  
 
Remind that in GNURadio flowgraph :
 
* orange connections correspond to real signals (float numbers)
 
* blue connections correspond to complex signals (complex numbers)
 
  
 
Flowgraph [[media:IQ_tutorial_AM_TX_complex.grc|IQ_tutorial_AM_TX_complex.grc]] contains two equivalent diagram for an AM modulation with a sawtooth input:  
 
Flowgraph [[media:IQ_tutorial_AM_TX_complex.grc|IQ_tutorial_AM_TX_complex.grc]] contains two equivalent diagram for an AM modulation with a sawtooth input:  
Line 229: Line 192:
 
You can now run this flowgraph and compare signal and their spectrum in both modulator. Once again, these simulations suppose perfectly synchronous emitter and receiver carrier which is quite far from reality.
 
You can now run this flowgraph and compare signal and their spectrum in both modulator. Once again, these simulations suppose perfectly synchronous emitter and receiver carrier which is quite far from reality.
  
==== Further work : construct the AM demodulator flowgraph ====
+
==== Further work : construct the demodulator flowgraph ====
 
Use the flowgraph IQ_tutorial_AM_TX_complex_2.grc that you created, add blocks to perform AM demodulation and to recover the input signal ''a(t)'' from the modulated signal. You have to use the equivalent baseband representation of the demodulator.  
 
Use the flowgraph IQ_tutorial_AM_TX_complex_2.grc that you created, add blocks to perform AM demodulation and to recover the input signal ''a(t)'' from the modulated signal. You have to use the equivalent baseband representation of the demodulator.  
  
 
{| class="mw-collapsible mw-collapsed wikitable"
 
{| class="mw-collapsible mw-collapsed wikitable"
| 1st indication &nbsp;
+
! 1st indication
 
|-
 
|-
 
| Remind and use the relation between ''a(t)'' and ''c(t)=i(t)+jq(t)'' given above.  
 
| Remind and use the relation between ''a(t)'' and ''c(t)=i(t)+jq(t)'' given above.  
Line 239: Line 202:
  
 
{| class="mw-collapsible mw-collapsed wikitable"
 
{| class="mw-collapsible mw-collapsed wikitable"
| 2nd indication &nbsp;
+
! 2nd indication
 
|-
 
|-
 
| An AM demodulator extract the amplitude (magnitude) of the modulated signal...
 
| An AM demodulator extract the amplitude (magnitude) of the modulated signal...
Line 245: Line 208:
  
 
{| class="mw-collapsible mw-collapsed wikitable"
 
{| class="mw-collapsible mw-collapsed wikitable"
| Solution including filter &nbsp;
+
! Solution including filter
 
|-
 
|-
 
| [[media:IQ_tutorial_AM_TX_complex_3.grc|IQ_tutorial_AM_TX_complex_3.grc]]
 
| [[media:IQ_tutorial_AM_TX_complex_3.grc|IQ_tutorial_AM_TX_complex_3.grc]]
Line 275: Line 238:
 
* use spectrum averaging to see that despite of the previous observation, the power spectral density (average of the magnitude spectrum) is symmetric around 0 (which correspond to ''F<sub>0</sub>'' for the modulated signal.  
 
* use spectrum averaging to see that despite of the previous observation, the power spectral density (average of the magnitude spectrum) is symmetric around 0 (which correspond to ''F<sub>0</sub>'' for the modulated signal.  
 
* Disable the interpolating filters and enable both root raised cosine filter (the filter used in every QPSK emitter). This yields the real spectrum of a QPSK.
 
* Disable the interpolating filters and enable both root raised cosine filter (the filter used in every QPSK emitter). This yields the real spectrum of a QPSK.
 +
 +
== Spectrum properties of signals (put that before)==
 +
=== real signal ===
 +
=== complex signal ===
 +
=== sampled signals ===
  
 
== Equivalent baseband scheme ==
 
== Equivalent baseband scheme ==
  This section is not yet ready... Work in progress !!
+
This diagram sketch a classical Tranceiver Receiver (Tx/Rx).in order to simulates this, we need a equivalent representation of
This diagram sketch a classical Emitter/Receiver (Tx/Rx) transmission including channel noise, and its equivalent baseband representation which could be used for a GNURadio simulation.
+
* this IQ modulator and demodulator
 
+
* bandpass filters
Note that complex baseband signal don't permit precise modelization of non linear effects such as intermodulation so they are not considered here. Every linear band limited system has an equivalent baseband as despicted below.
+
* unsynchronized receiver
 +
* channel noise
  
 +
Note that complex baseband signal don't permit to precisely modelize non linear effects such as intermodulation so they are not considered here.
 
=== Bandpass filter===
 
=== Bandpass filter===
* give the equivalent baseband representation of a bandpass filter
 
* explain what is a complex filter and when a filter is complex
 
 
 
=== Unsynchronized demodulator ===
 
=== Unsynchronized demodulator ===
* give the equivalent baseband representation of an unsynchronized receiver (using results obtained above)
 
 
 
=== Channel noise ===
 
=== Channel noise ===
* give the equivalent baseband representation of noise source
+
=== Tx/Rx baseband model ===
* explain what is a complex noise.
+
The following diagram is the baseband equivalent of the TX/RX given above.
 
 
== Tx/Rx QPSK : the carrier asynchronism problem ==
 
  This section is not yet ready... Work in progress !!
 
 
 
The idea of this section is to explain what is carrier asynchronism, how it can be simulated in GNURadio, and the basic mechanism to compensate it in a receiver.
 
  
=== GNURadio Channel model ===
+
== E/R QPSK avec canal /synchro==
* explain how carrier asynchronism is simulated with the channel model
 
* give a flowgraph illustrating the problem (with the QPSK used above)
 
* give a basic solution to compensate carrier asynchronism by muttiplying by exp(2 j pi df t)
 
 
=== GNURadio XLating filter ===
 
* explain the Xlating mecanism, spectrum cycling-shifted
 
* give a basic solution to compensate carrier asynchronism with a Xlating filter
 
* note that this solution is basic and not sufficient in real hardware
 
=== Asynchronism in real hardware ===
 
* give a recorded  example of unmodulated carrier emitted and received by a SDR Dongle
 
* try to compensate  asynchronism
 
* result : we need more robust block to synchronize: see PSK guided tutorial ...
 
  
 
==References==
 
==References==

Please note that all contributions to GNU Radio are considered to be released under the Creative Commons Attribution-ShareAlike (see GNU Radio:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)