User:CSeguinot
This tutorial originates from discussions on discuss-gnuradio@gnu.org. We will explain why simulating digital communications requires equivalent baseband representation of signal which in fact are complex signals. For this unique reason, complex signals are essential in GNURadio.
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 [1],[2],[3].
Contents
Some maths
This section summarize complex numbers properties used in this tutorial. More information can be found on complex number Wikipedia page.
A complex number is a number of the form a + jb, where a and b are real numbers, and j is an indeterminate satisfying j^{2}=-1 (Mathematician prefer using i instead of j used by physicist and radio engineers). For example, z_{1}=2+3j is a complex number. The real part Re{z} of z_{1} is 2 and its imaginary part Im{z} is 3.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle z=a+jb }
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \text{Re}\{z\}=a}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \text{Im}\{z\}=b}
Complex numbers can be represented in the complex plane as vectors. The modulus or magnitude r of a complex number z = a + jb is
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r=|z|=\sqrt{a^2+b^2}}
The phase φ of z mathematically referred to as the argument is the angle of the radius Oz with the positive real axis.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi=\arg(z)=\arctan(b/a) } (for a≠0)
Together, r and φ give another way of representing complex numbers, the polar form and the exponential form.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle z=r \left(cos(\phi) + j sin(\phi) \right) = r e^{j\phi}}
The exponential form is convenient for computing the multiplication of two complex numbers.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle z_1= r_1 e^{j\phi_1}}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle z_1= r_2 e^{j\phi_2}}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle z=z_1z_2= r_1r_2 e^{j(\phi_1+\phi_2)}}
Following complex number have a unit magnitude r=1 :
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle +1=e^{j0}}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle +j=e^{j\pi/2}}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle -1=e^{j\pi}}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle -j=e^{j3\pi/2} }
A complex signal c(t) can be seen as two real signal i(t), q(t) combined to create a complex signal. It can also be represented by its time varying amplitude a(t) and its phase φ(t)
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c(t) = i(t) + j q(t) = a(t) e^{j\phi (t)} }
Why we need complex and IQ signals
GNURadio software is mainly used to design and study radio communications. Making high frequency transmission requires modulating a high frequency carrier at frequency F_{0}. The most common modulation for analog transmissions are Amplitude modulation (AM) Phase modulation (PM) and Frequency modulation (FM).
For analog AM, the modulated signal m(t) is simply the mathematical product of the carrier c(t) and the baseband signal to transmit a(t). The corresponding hardware is a mixer whose scheme is a multiplier.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t) = a(t) c(t) = a(t) \cos(2\pi f_0t)} SCHéMA
We call a(t) a baseband signal since its spectrum is in a low frequency range starting near 0 Hz (For example [0-20kHz] for an HIFI audio signal).
The spectrum of an AM modulated signal M(f) is the translation or the audio spectrum A(f) around F_{0} with A(f) being the whole spectrum using both positive and negative frequencies
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M(f) = \frac{1}{2}\big(A(f-f_0) + A(f+f_0)\big)} SCHéMA
N.B. Negative frequencies are often omitted since for real signal (a(t), m(t) are real) the power spectrum are symetric around zero as will be detailed later.
Up to now we have been dealing with real signal. The need for complex signal appears in the next step. Simulation requires sampled signal. Sampling is the operation of observing a continuous signal and taking a finite number of sample at a given sampling rate f_{s} (i.e; one sample each 1/f_{s} second). Nyquist Sampling theorem states that the sampling rate must be greater than twice the maximum frequency F_{Max} to be able to reconstruct the original signal from the sampled signal.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle f_s > F_{Max}}
For an HIFI audio signal, maximum audio frequency Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F_{Max Audio}} is closed to 20 kHz, sampling rate must be higher then 40 kHz (44.8 kHz is often used in computer sound card, 8 kHz is used for mobile phone since voice has a lower frequency range then HIFI audio).
For an AM signal modulated by an audio signal, maximum frequency is Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F_{Max}=F_0+F_{Max Audio}} . Direct sampling of such signal is not possible with conventionnal hardware such as low cost SDR dongle. If the carrier frequency is close to 1 GHz, the sampling rate should be 2 GHz. This is obviously too much then computer cans handle (higher then most computer clock).
Complex enveloppe, equivalent baseband signal
Baseband signals have a spectrum at low frequency near 0 Hz. Audio, video and NRZ line code are baseband signals.
Bandpass signals have no energy near 0 Hz and a spectrum located near a high frequency (generally the carrier frequency). Analog and digital AM PM and FM modulated signals are bandpass signals.
A theorem ([1],[2],[3]) states that any high frequency bandpass signal having a limited bandwidth B can be represented by a baseband equivalent signal having the same bandwidth. This baseband equivalent signal also called the complex envelope is used in simulators since its allow to lower sampling rate as compare to directly sampling the bandpass signal.
The equivalent baseband representation help us for the simulation of bandpass signals. At this step we need some math. We will consider a carrier modulated in phase and/or amplitude (in the sake of simplicity, Frequency modulation is not considered but it can be related to phase modulation.). Such a modulated signal m(t) and it's complex representation Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tilde{m}(t)} is :
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t)=a(t) \cos(2\pi F_0t + \phi(t))}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tilde{m}(t)=a(t) e^{(j(2\pi F_0t + \phi(t)))} = a(t) e^{j \phi(t)} e^{j2\pi F_0t} = m^{bb}(t) e^{j2\pi F_0t}}
For modulated signal, the complex representation is obtained by replacing the cos function by an exponent function . For a more general definition see [1],[2],[3] . The real signal correspond to the real part of the complex signal Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t)=\text{Re}(\tilde{m}(t))} .
One important property of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tilde{m}(t)} spectrum Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tilde{M}(f)} is that it has only energy in the positive frequency range and verify.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tilde{M}(f)=M^+(f)}
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle =M^+(f)} denotes the restriction of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle =M(f)} to the positive frequency range.
Let us now look at the complex envelope or equivalent baseband signal Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t)} of bandpass signal Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t)} defined by :
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t)= \tilde{m}(t) e^{+j2\pi F_0t} = a(t) e^{j \phi(t)} }
Multiplying a signal by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle e^{+j2\pi F_0t}} correspond to a frequency translation of the spectrum so that we have:
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M^{bb}(f)=M+(f+F_0)}
So the spectrum of the complex enveloppe is a baseband signal whose spectrum has the same shape as Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle =M+(f)} . For this reason, knowing Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tilde{m}(t)} or Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M^{bb}(f)} is sufficient to reconstruct Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t)} or Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M(f)} .
IQ modulator and demodulator
Let us now come to hardware and SDR and first rewrite the equivalent baseband signal and the modulated signal m(t) :
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t)=a(t) e^{j \phi(t)} =i(t) + j q(t)}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t)=\text{Re} \left[ (i(t)+jq(t)) e^{j2\pi F_0t} \right]}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t)=i(t) \cos(j2\pi F_0t) -q(t)) \sin(j2\pi F_0t)}
SCHEM i(t) q(t), phase, amplitude)
As a result, the modulated signal m(t) is the addition of :
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle i(t) \cos(j2\pi F_0t)} which is an AM modulated signal, the product of i(t) by a signal In phase with the carrier (i stand for In phase)
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle q(t) \sin(-j2\pi F_0t)} which is an AM modulated signal, the product of q(t) by a signal in Quadrature with the carrier (q stand for Quadrature)
The resulting m(t) can be any modulated in AM, PM or even FM signal. The corresponding hardware is called an IQ modulator. Every modern radio communication uses IQ modulator for emitting and IQ demodulator for receiving. The IQ demodulator is able to recover incoming i(t) and q(t). SCHEMA MID DMIQ
SDR Module such as USRP N320 block Diagram) and SDR Dongle (RTL-2832) input and output are the 2 real signals i(t) and q(t) combined to form the complex signal i(t) + j q(t) which turns to be the equivalent baseband of the modulated emitted or received signal. These hardware are based on IQ modulator and IQ demodulator associated with mixers when intermediate frequency (IF) is used.
Some examples of EqBB signals
In order to get familiar with complex signal, let us consider some simple examples.
complex envelope of a pure sine wave
We will consider a pure sine wave, close to the carrier having a Δf frequency shift and φ phase shift as compared to the carrier. After some math we get its complex equivalent signal.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t) = A \cos (2\pi (F_0+\Delta f)t+ \phi)}
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \tilde{m}(t) = A e^{(j(2\pi (F_0+\Delta f)t + \phi))} }
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t) = A e^{2j(\pi (\Delta ft+\phi)} = A e^{j \Delta ft} e^{j\phi}}
The complex envelope of the carrier itself is found for Δf=0 and φ=0 which yields Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t) = A} . We conclude that in a GNURadio flowgraph, the carrier is represented by a continuous components, a pure DC signal ; this may seemed counter intuitive. The spectrum Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M^{bb}(f)} is a single peak at f=0 which can be represented using the Dirac δ(f) function (or distribution) : Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M^{bb}(f)=\delta(f))} . Shifting this spectrum of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle +F_0} towards positive frequency we get the positive part of the carrier spectrum (a peak at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle +F_0} ) : Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M^+(f)=\delta(f-F_0))} . The negative part of the spectrum is simply obtained by symmetry of the real part (a peak at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle -F_0} ).
This is simulated with this GNURadio flowgraph. The spectrum of our carrier is centered at 0 Hz. The Frequency sink has a feature to shift this spectrum around Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle F_0} which is a parameter of the sink. In a simulation, it is not necessary to represent the negative part of the spectrum since m(t) being real, it spectrum is obviously symmetric.
We will now consider Δf ≠0 which yields
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t) = A e^{2j\pi \Delta ft}}
The complex enveloppe is rotating vector (you can simulate this with Δf=1 Hz giving a vector which rotate at 60 rpm or 1 turn per second) , its spectrum is a single peak at f=+Δf. This complex signal exhibits a non symmetric spectrum (no peak at f=-Δf). Change Δf to -0.5 Hz, the vector now rotates counter clockwise at 30 rpm or 0.5 turn per second.
Exercice:
- Use the flowgraph to simulate a positive and a negative Δf and verify the above results.
- Modify the flowgraph (QT GUI Range) to simulate Δf larger than the sampling rate f_{s} ranging from -2f_{s} to +2f_{s}. Explain the obtained results.
AM mod demod example
This example will consider signal baseband signal a(t) modulating a carrier at F_{0} in AM, and its demodulation. As no phase modulation in used, \phi;(t)=0 and consequently q(t)=0.
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m(t) = a(t) \cos (2\pi (F_0t)=i(t) \cos (2\pi F_0t) -q(t) \sin (2\pi F_0t)= }
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle i(t) = a(t) }
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle q(t) = 0}
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.
SCHEMA AM complex ET réel aa Flowgraph xxx contains two transmission diagram, the upper on using real signals, the lower one using equivalent baseband signals. Both diagrams yield the same demodulated signal and spectrum: they are equivalent. However, the sampling rate used differs:
- Complex signal diagram : F_{s}=40 kHz , it must be higher than Fmax.
- Real signal diagram : F_{s}=200 Khz it must be higher than F_{0}+Fmax, which will become prohibitive if gHZ frequency carrier are used.
Unfortunately, these simulations suppose perfectly synchronous emitter and receiver carrier (identical frequency and phase). In real world this will never happen as will be discussed later in the tutorial.
QPSK example
QPSK digital signal exhibit four phase state Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \phi \in \{\pi/4, 3\pi/4, -3\pi/4, \-pi/4\}} .
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t)=a(t) e^{j \phi(t)} =i(t) + j q(t)}
And the baseband equivalent signal also exhibit 4 different values each one being used to code a 2 bits sequence 00 01 10 or 11 :
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle m^{bb}(t) \in \{1+j , -1+j , -1-j, 1-j \}}
At this step, we consider unfiltered QPSK. The QPSK modulator/demodulator (complex representation) correspond to flowgraph XXX. The upper flowgraph is a classic QPSK. The constellation q(t) versus i(t)) shows that this signal exhibit only the 4 phase state.
The lower diagram is similar, however, only 3 phase states are used as shows the constellation diagram. This QPSK has not practical interest, it will be usefull for further work in this tutorial.
Simulating these diagrams clearly shows that the complex baseband signal spectrum is no longer symmetric as expected for complex signals. As for the previous example, this simple modulation/demodulation scheme is far from reality and we will have to investigate synchronisation later.
Spectrum properties of signals (put that before)
real signal
complex signal
sampled signals
Equivalent baseband scheme
This diagram sketch a classical Tranceiver Receiver (Tx/Rx).in order to simulates this, we need a equivalent representation of
- this IQ modulator and demodulator
- bandpass filters
- 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
Unsynchronized demodulator
Channel noise
Tx/Rx baseband model
The following diagram is the baseband equivalent of the TX/RX givne above.