Modulazione


Introduzione

Per comprendere il significato della parola modulazione, è necessario analizzare un generico sistema di comunicazione. Il segnale sorgente S viene trasmesso dal trasmettitore TX attraverso un canale C. Il sorgente viene ricevuto dal ricevitore RX e consegnato al destinatario D.

Schema a blocchi di un sistema di comunicazione:

sorgente  Strasmettitore  TXcanale  Cricevitore  RXdestinatario  D\boxed{\rm sorgente \;\bold{S}} \\ \downarrow \\ \boxed{\rm trasmettitore \;\bold{TX}} \\ \downarrow \\ \boxed{\rm canale \;\bold{C}} \\ \downarrow \\ \boxed{\rm ricevitore \;\bold{RX}} \\ \downarrow \\ \boxed{\rm destinatario \;\bold{D}}

Il componente TX deve effettuare principalmente due operazioni, che RX dovrà poi rifare al contrario:

  1. amplificazione
  2. modulazione (adattamento in banda)

Il componente fisico che attua l’operazione di modulazione è il modulatore, mentre il componente in ricezione che attua l’operazione di demodulazione è il demodulatore, integrati rispettivamente nel trasmettitore e nel ricevitore. In un sistema di ricetrasmissione, i suddetti componenti sono riuniti sotto la definizione di modem (dall’unione di MOdulazione e DEModulazione).

Il componente fisico che effettua la modulazione riceve in input un segnale portante periodico ed un segnale modulante x(t)x(t) per fornire in output un segnale modulato s(t)s(t), ottenuto mediante la variazione di uno o più parametri del portante attraverso l’intercessione del modulante. Il segnale modulante rappresenta l’informazione da trasmettere.

Il segnale portante sinusoidale è indicato con s0(t)s_0(t), mentre il segnale con portante impulsiva è indicato con p0(t)p_0(t).

Modulazione con portante sinusoidale

Una delle modulazioni maggiormente studiata è quella a portante sinusoidale s0(t)s_0(t), da cui si ottiene, nella sua forma generale, il segnale modulato s(t)s(t):

s0(t)=V0cos(2πf0tφ0)    s(t)=V(t)cos(φ(t))\eq{ s_0(t) &= V_0 \cos\big(2\pi f_0t-\varphi_0\big) \\ \implies s(t) &= V(t)\cos\big(\varphi(t)\big) }

I segnali s0(t)s_0(t) ed s(t)s(t) possiedono i seguenti parametri caratteristici:

  • ampiezza V0V_0,
  • fase iniziale φ0\varphi_0,
  • frequenza f0f_0,
  • ampiezza istantanea V(t)V(t) con il vincolo V(t)0V(t) \geq 0,
  • fase istantanea φ(t)\varphi(t),

Da tali parametri si ottengono diverse funzioni. Deviazione di fase α(t)\alpha(t):

α(t)=φ(t)2πf0t+φ0\alpha(t)=\varphi(t)-2\pi f_0 t + \varphi_0

Pulsazione istantanea ω(t)\omega(t):

ω(t)=dφ(t)dt\omega(t)=\frac{d\varphi(t)}{dt}

Frequenza istantanea f(t)f(t):

f(t)=ω(t)2πf(t)=\frac{\omega(t)}{2\pi}

Deviazione di frequenza Δf(t)\Delta f(t):

Δf(t)=f(t)f0=12πdα(t)dt\Delta f(t)=f(t)-f_0=\frac{1}{2\pi}\frac{d\alpha (t)}{dt}

Deviazione di ampiezza ΔV(t)\Delta V(t):

ΔV(t)=V(t)V0\Delta V(t)=V(t)-V_0

Deviazione relativa di ampiezza m(t)m(t):

m(t)=ΔV(t)V0=V(t)V01m(t)=\frac{\Delta V(t)}{V_0}= \frac{V(t)}{V_0}-1

Si osserva che la deviazione di frequenza è strettamente legata alla deviazione di fase:

α(t)=2πtΔf(τ)dτ\alpha (t) = 2 \pi \int_{-\infty}^t \Delta f(\tau)d\tau

Per poter illustrare i principali formati di modulazione, è opportuno fornire la seguente forma del segnale modulato:

s(t)=V0[1+m(t)]cos(2πf0tφ0+α(t))s(t) = V_0\big[1+m(t)\big] \cos\big(2\pi f_0t -\varphi_0 +\alpha(t)\big)

Data la formula di Eulero ejθ=cos(θ)+jsin(θ)e^{j\theta} = \cos(\theta)+j\sin(\theta), si ricava la seguente relazione:

Aejφ=Acos(φ)+jAsin(φ)    Re[Aejφ]=Acos(φ)Ae^{j\varphi}=A\cos(\varphi)+jA\sin(\varphi) \\ \implies \text{Re}[Ae^{j\varphi}]=A\cos(\varphi)

Dato l’inviluppo complesso del segnale modulato:

i(t)=V0[1+m(t)]ejα(t)ejφ0i(t)= V_0\big[1+m(t)\big] e^{j\alpha(t)}e^{-j\varphi_0}

Il segnale modulato, in forma generale, si può scrivere:

s(t)=Re[i(t)ej2πf0t]s(t)=\text{Re}\bigg[i(t)e^{j2\pi f_0 t}\bigg]

Lo script d’esempio segnali_modulati ha il seguente segnale modulante in ingresso:

x(t)=[sgn(t)sgn(t0.5)]/2+[1(t0.75)4][sgn(t0.5)sgn(t1)]/2\eq{ x(t)=& \big[\text{sgn}(t)-\text{sgn}\big(t-0.5\big)\big]/2 +\\ -&\big[1-|(t-0.75)\cdot 4 |\big] \cdot \\ \cdot &\big[\text{sgn}(t-0.5)-\text{sgn}(t-1)\big]/2 }
Npunti=1000;
durata=100;
y_dim = Npunti*durata;

tempo=0:(1/Npunti):durata-1/Npunti;
x= 1*(sign(tempo)-sign(tempo-0.5))*0.5-(1-abs((tempo-0.75)/0.25)).*(sign(tempo-0.5)-sign(tempo-1))*0.5+0*(sign(tempo-1)+1)*0.5;

figure; plot(tempo,x,LineWidth=1.5);

x(t)

Principali Formati di Modulazione

Modulazione in Ampiezza

La modulazione in ampiezza (AM) fa uso di x(t)x(t) per modificare m(t)m(t), ovvero la funzione deviazione relativa di ampiezza. Data la sensibilità di modulazione di ampiezza kAk_A, si può definire il seguente sistema:

{m(t)=kAx(t)α(t)=0Δf(t)=0    s(t)=V0[1+kAx(t)]cos(2πf0tφ0)\eq{ & \sis{ m(t) = k_A \cdot x(t) \\ \\ \alpha(t) = 0 \\ \\ \Delta f(t) = 0 } \\ \\ \implies & s(t) = V_0\big[1+k_A \cdot x(t)\big] \cos\big(2\pi f_0t -\varphi_0\big) }

Il contorno del segnale modulato è detto inviluppo, calcolato grazie alla funzione envelop di MATLAB.

% ...
V0=10; % ampiezza portante 
f0=30; % frequenza normalizzata portante
KA=0.5;
sAM=V0*(1+KA*x).*cos(2*pi*f0*tempo);
[up,lo] = envelope(sAM); % inviluppo del segnale

figure;
plot(tempo,sAM,LineWidth=1.5); hold on;
plot(tempo,up,'-',tempo,lo,'-',LineWidth=1.5, Color=[1 0 0])

modulato AM

Modulazione di Fase

La modulazione di fase (PM, da phase) fa uso di x(t)x(t) per modificare α(t)\alpha(t). Data la sensibilità di modulazione di fase kPk_P, si può definire il seguente sistema:

{m(t)=0α(t)=kPx(t)Δf(t)=kP2πdx(t)dt    s(t)=V0cos(2πf0tφ0+kPx(t))\eq{ & \sis{ m(t) = 0 \\ \\ \alpha(t) = k_P \cdot x(t) \\ \\ \Delta f(t) = \frac{k_P}{2\pi} \frac{dx(t)}{dt} } \\ \\ \implies & s(t) = V_0\cos\big(2\pi f_0t -\varphi_0 + k_P \cdot x(t) \big) }
KP=(2*pi*1.5);
sPM=V0*cos(2*pi*f0*tempo+KP*x);
figure;
plot(tempo,sPM,LineWidth=1.5);

modulato PM

Intervenire sulla fase equivale ad intervenire sulla frequenza:

Δf(t)=12πdα(t)dt=kP2πdx(t)dt\Delta f(t)=\frac{1}{2\pi}\frac{d\alpha(t)}{dt}=\frac{k_P}{2\pi}\frac{d x(t)}{dt}

Dato un segnale modulante con ampiezza XmX_m, frequenza fmf_m e fase φm\varphi_m:

x(t)=Xmcos(2πfmt+φm)x(t)=X_m \cos(2\pi f_m t +\varphi_m)

Dato ψ=φm+π/2\psi = \varphi_m + \pi/2, allora m=kPXmm=k_P X_m e ne consegue che:

α(t)=msin(2πfmt+ψ)x(t)=Xmsin(2πfmt+ψ)\eq{ \alpha (t) &= m\sin(2\pi f_m t + \psi) \\ x(t)&=X_m \sin(2\pi f_m t + \psi) }

La deviazione di frequenza risulta essere:

Δf(t)=kP2πdx(t)dt==kP2πXm2πfmcos(2πfmt+ψ)==mfmcos(2πfmt+ψ)\eq{ \Delta f(t) &= \frac{k_P}{2\pi} \frac{dx(t)}{dt} =\\ &= \frac{k_P}{2\pi} X_m 2 \pi f_m \cos(2\pi f_m t + \psi) =\\ &= m f_m \cos(2\pi f_m t + \psi) }

Il cui massimo è Δfmax=maxΔf(t)=mfm\Delta f_{\max}=\max|\Delta f(t)|=m f_m

Si osserva che la funzione seno è un coseno anticipato di π/2\pi/2.

cos(φm)=sin(φm+π2)=sin(ψ)\cos(\varphi_m) = \sin\bigg(\varphi_m+\frac{\pi}{2} \bigg)=\sin(\psi)

Modulazione di Frequenza

La modulazione di frequenza (FM) fa uso di x(t)x(t) per intervenire sulla deviazione di frequenza. Data la sensibilità di modulazione di frequenza kFk_F, si può definire il seguente sistema:

{m(t)=0α(t)=2πkFtx(τ)dτΔf(t)=kFx(t)    s(t)=V0cos(2πf0tφ0+2πkFtx(τ)dτ)\eq{ & \sis{ m(t) = 0 \\ \\ \alpha(t) = 2\pi k_F \int_{-\infty}^t x(\tau) d\tau \\ \\ \Delta f(t) = k_F \cdot x(t) } \\ \\ \implies & s(t) = V_0\cos\bigg(2\pi f_0t -\varphi_0 + 2\pi k_F \int_{-\infty}^t x(\tau) d\tau \bigg) }
KF=15;
sFM=V0*cos(2*pi*f0*tempo+(2*pi*KF)*y);
figure;
plot(tempo,sFM,LineWidth=1.5);

modulato FM

Dato, come in precedenza x(t)=Xmcos(2πfmt+φm)x(t)=X_m \cos(2\pi f_m t +\varphi_m), allora dato ψ=φm\psi = \varphi_m e m=(kFXm)/fmm=(k_F X_m)/f_m ne consegue che:

α(t)=kFXmsin(2πfmt+φm)1fm=msin(2πfmt+ψ)\alpha(t)=k_F X_m \sin\bigg(2\pi f_m t + \varphi_m \bigg)\frac{1}{f_m} = m \sin\bigg(2\pi f_m t + \psi \bigg)

La deviazione di frequenza risulta essere:

Δf(t)=kFx(t)=kFXmcos(2πfmt+ψ)=mfmcos(2πfmt+ψ)\Delta f(t) = k_F \cdot x(t) = k_F X_m \cos(2\pi f_m t + \psi) = m f_m \cos(2\pi f_m t + \psi)

Si osservino le seguenti implicazioni:

m=kFXmfm    fmkFXm=1m    fm=kFXmm    mfm=kFXm\eq{ m&=\frac{k_F X_m}{f_m}\\ \implies &\frac{f_m}{k_F X_m}=\frac{1}{m}\\ \implies & f_m=\frac{k_F X_m}{m}\\ \implies & m f_m = k_F X_m }

Funzione di Bessel e Banda di Carlson

Data Jn(m)J_n (m) funzione di Bessel di 1° specie di ordine n definita come:

Jn(m)=12πππej[msin(x)nx]dx\large J_n(m)=\frac{1}{2\pi} \int_{-\pi}^{\pi} e^{j[m\sin(x)-nx]}dx

Dopo innumerevoli peripezie si ricava che, nei casi PM ed FM:

s(t)=n=V0Jn(m)cos[2π(f0+nfm)t+nψ]s(t)=\sum_{n=-\infty}^{\infty} V_0 J_n(m) \cos \bigg[ 2\pi(f_0+n f_m)t + n \psi \bigg]
function bessel_formula

z = 0:0.1:20;
j = zeros(5,201);

for i =0:4
    j(i+1,:)=besselj(i,z);
end

plot(z,j)
hold on
plot(z, zeros(size(z)), 'Color', '#808080', 'LineStyle','--')
legend('$J_n(m)$','Interpreter','latex', 'FontSize', 22)
title('Funzione di Bessel')

end

Formula di Bessel

La formula empirica per la banda dei segnali PM ed FM è la banda di Carlson, che è così definita:

BC=2(Δfmax+fm)B_C = 2(\Delta f_{\max} + f_m)

Il caso sinusoidale:

Δfmax=mfm    BC=2fm(m+1)\Delta f_{\max} = m f_m \implies B_C = 2 f_m(m + 1)

La formula per la banda dei segnali AM è invece:

B=2fmB = 2 f_m

Indici di modulazione

mA=maxm(t)m_A=\max|m(t)| è l’indice di modulazione di ampiezza. mP=maxα(t)m_P=\max|\alpha(t)| è l’indice di modulazione di fase. Data fMf_M la banda del segnale modulante x(t)x(t). Il rapporto di deviazione per la modulazione di frequenza è:

D=maxΔf(t)fMD=\frac{\max|\Delta f(t)|}{f_M}

se la banda fMf_M è limitata.

Caso d’uso reale

AM, PM ed FM sono le categorie principali di modulazione con portante sinusoidale. PM ed FM sono chiamate modulazioni angolari:

PM=ddt+FM;FM=Tdt+PM\bold{PM}=\frac{d}{dt}+\bold{FM}\quad ;\quad \bold{FM}= \int_{-\infty}^Tdt+\bold{PM}

Visto che è più facile costruire un modulatore FM, un modulatore PM si ottiene grazie ad un PM preceduto da un filtro di derivazione.


La modulazione viene applicata perché i segnali modulanti, che rappresentano le informazioni da trasmettere, sono principalmente di natura passa-basso. Il contenuto spettrale di tali segnali è concentrato nelle basse frequenze e servirebbero dunque antenne chilometriche per permetterne la ricetrasmissione. È necessario convertire in frequenza lo spettro del segnale modulante.

Risulta necessario studiare il segnale modulante e modulato nel dominio delle frequenze, applicando loro la trasformata di Fourier (usando la funzione fft fornita da MATLAB).

% ...

lunghezzaFft=length(x);
X=fft(x,lunghezzaFft)*(1/Npunti);
X=[X(lunghezzaFft/2+1:lunghezzaFft) X(1:lunghezzaFft/2)];
frequenza=Npunti*linspace(-0.5,0.5-1/lunghezzaFft,lunghezzaFft);

figure;
plot(frequenza,abs(X),LineWidth=1.5);

X(f)

Nel caso della modulazione AM si ottiene:

lunghezzaFft=length(sAM);
S=fft(sAM,lunghezzaFft)*(1/Npunti);
S=[S(lunghezzaFft/2+1:lunghezzaFft) S(1:lunghezzaFft/2)];
frequenza=Npunti*linspace(-0.5,0.5-1/lunghezzaFft,lunghezzaFft);

figure;
plot(frequenza,abs(S),LineWidth=1.5);

S(f) AM

In modo analogo si ottengono le trasformate di segnali modulati PM ed FM: S(f) PM

S(f) FM

Lo script completo è:

function segnali_modulati

Npunti=1000;
durata=100; % [s] durata della finestra temporale per la trasformata
y_dim = Npunti*durata;

tempo=0:(1/Npunti):durata-1/Npunti;
x= 1*(sign(tempo)-sign(tempo-0.5))*0.5-(1-abs((tempo-0.75)/0.25)).*(sign(tempo-0.5)-sign(tempo-1))*0.5+0*(sign(tempo-1)+1)*0.5;

V0=10; % ampiezza portante 
f0=30; % frequenza normalizzata portante
KA=0.5;
KP=(2*pi*1.5);
KF=15;

sAM= V0*(1+KA*x).*cos(2*pi*f0*tempo);
sPM= V0*cos(2*pi*f0*tempo+KP*x);
y = zeros(1, y_dim);
for i=0:1:y_dim-1
    y(i+1)=sum(x(1:i+1))*1/Npunti; 
end % integrale approssimato del segnale modulante

% fprintf("»»» size y = %d\n", Npunti*durata-1);

sFM= V0*cos(2*pi*f0*tempo+(2*pi*KF)*y);

figure;
plot(tempo,x,LineWidth=1.5);
xlabel('Tempo (normalizzato)', FontSize=16);
ylabel('x(t)',FontSize=16);
grid on;
axis([0 1 -1.5 1.5]);

[up,lo] = envelope(sAM); % inviluppo del segnale
figure;
plot(tempo,sAM,LineWidth=1.5);
hold on;
plot(tempo,up,'-',tempo,lo,'-',LineWidth=1.5, Color=[1 0 0])
xlabel('Tempo (normalizzato)', FontSize=16);
ylabel('s_{AM}(t)', FontSize=16);
grid on;
axis([0 1 -20 20]);
legend('s_{AM}(t)', 'envelope', FontSize=16)

figure;
plot(tempo,sPM,LineWidth=1.5);
xlabel('Tempo (normalizzato)', FontSize=16);
ylabel('s_{PM}(t)', FontSize=16);
grid on;
axis([0 1 -20 20]);

figure;
plot(tempo,sFM,LineWidth=1.5);
xlabel('Tempo (normalizzato)', FontSize=16);
ylabel('s_{FM}(t)', FontSize=16);
grid on;
axis([0 1 -20 20]);

% trasformata di fourier x(t)
%lunghezzaFft=2^(nextpow2(length(x))+1);
lunghezzaFft=length(x);
X=fft(x,lunghezzaFft)*(1/Npunti);
X=[X(lunghezzaFft/2+1:lunghezzaFft) X(1:lunghezzaFft/2)];
frequenza=Npunti*linspace(-0.5,0.5-1/lunghezzaFft,lunghezzaFft);
figure;
plot(frequenza,abs(X),LineWidth=1.5);
xlabel('Frequenza (normalizzata)', FontSize=16);
ylabel('|X(f)|', FontSize=16);
grid on;
axis([-10 10 0 1.2*max(abs(X))]);

% trasformata di fourier sAM(t)
lunghezzaFft=length(sAM);
S=fft(sAM,lunghezzaFft)*(1/(Npunti));
S=[S(lunghezzaFft/2+1:lunghezzaFft) S(1:lunghezzaFft/2)];
frequenza=Npunti*linspace(-0.5,0.5-1/lunghezzaFft,lunghezzaFft);
figure;
plot(frequenza,abs(S),LineWidth=1.5);
xlabel('Frequenza (normalizzata)', FontSize=16);
ylabel('|S_{AM}(f)|', FontSize=16);
grid on;
axis([-50 50 0 5]);

% trasformata di fourier sPM(t)
lunghezzaFft=length(sPM);
S=fft(sPM,lunghezzaFft)*(1/Npunti);
S=[S(lunghezzaFft/2+1:lunghezzaFft) S(1:lunghezzaFft/2)];
frequenza=Npunti*linspace(-0.5,0.5-1/lunghezzaFft,lunghezzaFft);
figure;
plot(frequenza,abs(S),LineWidth=1.5);
xlabel('Frequenza (normalizzata)', FontSize=16);
ylabel('|S_{PM}(f)|', FontSize=16);
grid on;
axis([-60 60 0 5]);

% trasformata di fourier sFM(t)
lunghezzaFft=length(sFM);
S=fft(sFM,lunghezzaFft)*(1/Npunti);
S=[S(lunghezzaFft/2+1:lunghezzaFft) S(1:lunghezzaFft/2)];
frequenza=Npunti*linspace(-0.5,0.5-1/lunghezzaFft,lunghezzaFft);
figure;
plot(frequenza,abs(S),LineWidth=1.5);
xlabel('Frequenza (normalizzata)', FontSize=16);
ylabel('|S_{FM}(f)|', FontSize=16);
grid on;
axis([-60 60 0 5]);

end

Valutazione spettro segnali AM

Dato φ0=0\varphi_0=0, il segnale modulato diventa:

s(t)=V0[1+kAx(t)]cos(2πf0t)s(t) = V_0\big[1+k_Ax(t)\big] \cos\big(2\pi f_0t\big)

Se esiste X(f)X(f) trasformata di Fourier del segnale modulante x(t)x(t) ed ha banda limitata a fMf_M, allora esiste la trasformata del segnale modulato:

S(f)=V02[δ(ff0)+δ(f+f0)]+V0kA2X(ff0)X(f+f0)S(f)=\frac{V_0}{2}\bigg[\delta(f-f_0)+\delta(f+f_0)\bigg]+\frac{V_0 k_A}{2}X(f-f_0)X(f+f_0)

con f0fMf_0 \gg f_M.

Segnali derivati da AM

Modulazione DSB-SC

Il segnale Double Side Band-Suppressed Carrier (DSB-SC) effettua una modulazione di tipo ibrido.

x(t)DSB-SCs(t)x(t) \longrightarrow \Large\boxed{\text{DSB-SC}} \normalsize \longrightarrow s(t)

Vengono tolte le portanti delle Delta di Dirac e il segnale modulato diventa:

s(t)=V0kAx(t)cos(2πf0t)s(t) = V_0 k_A x(t) \cos\big(2\pi f_0 t\big)

Modulazione QAM

La modulazione QAM (Quadrature Amplitude Modulation) utilizza due portanti indipendenti. Infatti x(t)x(t) ed y(t)y(t) non devono necessariamente avere la stessa banda. Si osserva che le portanti sono in quadratura, con y(t)y(t) in anticipo su x(t)x(t).

x(t)y(t)  QAMs(t)\eq{ & x(t) \longrightarrow \\ & y(t) \longrightarrow \\ }\; \Large\boxed{\text{QAM}} \normalsize \longrightarrow s(t)

Il segnale modulato è:

s(t)=kAV0x(t)cos(2πf0t)kAV0y(t)sin(2πf0t)==kAV0[x(t)cos(2πf0t)y(t)sin(2πf0t)]\eq{ s(t)&= k_A V_0 x(t)\cos(2\pi f_0 t)-k_A V_0 y(t) \sin(2\pi f_0 t) =\\ &=k_A V_0\bigg[ x(t)\cos(2\pi f_0 t) -y(t) \sin(2\pi f_0 t)\bigg] }

Modulatore QAM - schema

Trasformazione di Hilbert

  x(t)  HilbertTransformer  xH(t)  \Large \xrightarrow{\;x(t)\;} \normalsize \boxed{\begin{gather*}\text{Hilbert}\\ \text{Transformer}\end{gather*}} \Large \xrightarrow{\;x_H(t)\;}\\

La risposta in frequenza della trasformazione di Hilbert è:

H(f)=jsgn(f)={jf>0+jf<0H(f) = -j \cdot\text{sgn}(f) = \sis { -j \quad f>0\\ +j \quad f<0\\ }

Tale definizione implica:

H(f)=1arg(H(f))={π/2f>0+π/2f<0\eq{ & |H(f)|=1 \\ &\arg(H(f)) = \sis { -\pi/2 \quad f>0\\ +\pi/2 \quad f<0\\ } }

La risposta in fase (argomento della risposta in frequenza) porta ad uno sfasamento di ±π/2\pm \pi/2.

La risposta impulsiva è:

h(t)=1πth(t)=\frac{1}{\pi t}

Modulatore SSB

Il modulatore SSB (Single Side Band) è un caso particolare del QAM dove la portante xH(t)x_H(t) è derivata da x(t)x(t)​ grazie alla trasformazione di Hilbert.

Modulatore SSB - schema

Le portanti x(t)x(t) e xH(t)x_H(t) e sono in quadratura perché le funzioni seno e coseno hanno uno sfasamento di π/2\pi/2 radianti, ovvero 90°90° gradi.

Data la fase θ\theta, si osserva che:

cos(θ)=sin(θ+π2)\cos(\theta) = \sin\Big(\theta + \frac{\pi}{2}\Big)

Risulta quindi evidente che, negli schemi illustrati, il blocco π/2\boxed{\pi/2} applica uno sfasamento di 90°.

Grazie alla moltiplicazione per 1-1 del seno, la portante xH(t)x_H(t) anticipa x(t)x(t)​​.

Il segnale z1(t)z_1(t) è dato da:

z1(t)=12x(t)kAV0cos(2πf0t)==12kAV0x(t)cos(2πf0t)    F[z1(t)]=kAV04[X(ff0)+X(f+f0)]\eq{ z_1 (t) &= \frac{1}{2} x(t) \cdot k_A V_0 \cos(2\pi f_0 t) =\\ &= \frac{1}{2} k_A V_0 x(t) \cdot \cos(2\pi f_0 t)\\ \implies \mathcal{F}[z_1 (t)] &= \frac{k_A V_0 }{4} \bigg[X(f-f_0)+X(f+f_0)\bigg] }

Il segnale z2(t)z_2(t), considerato lo sfasamento di π/2\pi/2 in anticipo, è dato da:

z2(t)=12xH(t)kAV0sin(2πf0t)==12kAV0xH(t)sin(2πf0t)    F[z2(t)]=kAV04j[XH(ff0)XH(f+f0)]=\eq{ z_2 (t) &= \frac{1}{2} x_H(t) \cdot k_A V_0 \sin(2\pi f_0 t) =\\ &= \frac{1}{2} k_A V_0 x_H(t) \cdot \sin(2\pi f_0 t)\\ \implies \mathcal{F}[z_2 (t)] &= \frac{k_A V_0 }{4j} \bigg[X_H(f-f_0)-X_H(f+f_0)\bigg] =\\ }

z2(t)z_2(t) è la trasformazione di Hilbert di z1(t)z_1(t).

Il segnale modulato è la somma tra z1(t)z_1(t) e z2(t)z_2 (t):

s(t)=12kAV0[x(t)cos(2πf0t)xH(t)sin(2πf0t)]s(t)=\frac{1}{2}k_A V_0\bigg[ x(t)\cos(2\pi f_0 t) -x_H(t) \sin(2\pi f_0 t)\bigg]

Demodulazione

La demodulazione può essere effettuata in modo coerente o non coerente. Nel primo caso si utilizza sia s(t)s(t) che s0(t)s_0(t) per ricostruire x(t)x(t): questo metodo è sicuramente più resistente ai disturbi ma più difficile da implementare. La portante s0(t)s_0(t) è stimata o estratta da un altro circuito di sincronizzazione per poter effettuare la demodulazione coerente.

Nel caso di una demodulazione non coerente invece, non si usa s0(t)s_0(t). Si ricostruisce x(t)x(t) in modo più semplice, ma con meno qualità.

Demodulatori di segnali AM e derivati

Sono coerenti in quanto hanno portante nota.

Data la costante di demodulazione kDk_D, il demodulatore a prodotto si costruisce tramite:

y(t)=s(t)(kDcos(2πf0t))y(t)=s(t) \cdot \big( k_D \cos(2\pi f_0 t)\big)

Tale funzione viene filtrata da un passa-basso:

y(t)Low Passu(t)\Large \xrightarrow{y(t)} \boxed{\text{Low Pass}} \xrightarrow{u(t)}

In questo caso u(t)u(t) non è la funzione gradino, ma l’uscita del demodulatore. Sono omesse, ma sarebbero possibili, le verifiche per AM, DSB-SC, SSB e VSB.

Demodulatore QAM

Demodulatore QAM - schema

demodulatore QAM non è coerente. In primo luogo, si utilizzano due blocchi moltiplicatori aventi in ingresso s(t)s(t) e kDcos(2πf0t)k_D\cos(2\pi f_0 t). Per contrastare lo sfasamento del modulatore, il secondo blocco moltiplicatore sfasa l’ingresso kDcos(2πf0t)k_D\cos(2\pi f_0 t) di π/2\pi/2​.

s(t)kDcos(2πf0t)    V1(t)\eq{ s(t) &\longrightarrow \\ k_D\cos(2\pi f_0 t) &\longrightarrow \\ } \;\Large \bigodot\; \normalsize \longrightarrow V_1 (t)
s(t)kDcos(2πf0t)π/2    V2(t)\eq{ s(t) &\longrightarrow \\ k_D\cos(2\pi f_0 t) \to \boxed{\pi/2} &\longrightarrow \\ } \;\Large \bigodot\; \normalsize \longrightarrow V_2 (t)

Si ottengono le funzioni V1(t)V_1(t) e V2(t)V_2(t):

V1(t)=s(t)kDcos(2πf0t)V2(t)=s(t)kDsin(2πf0t)\eq{ V_1(t)&=s(t)\cdot k_D\cos(2\pi f_0 t)\\ V_2(t)&=s(t)\cdot k_D\sin(2\pi f_0 t)\\ }

Attraverso dei passa-basso, queste funzioni forniscono delle ricostruzioni delle portanti del modulatore:

V1(t)Low Passu1(t)V2(t)Low Passu2(t)\eq{ & V_1 (t) \longrightarrow \boxed{\text{Low Pass}} \longrightarrow u_1(t)\\ & V_2 (t) \longrightarrow \boxed{\text{Low Pass}} \longrightarrow u_2(t) }

Il segnale di uscita u1(t)u_1(t) è una ricostruzione della portante x(t)x(t), mentre l’uscita u2(t)u_2(t) è una ricostruzione della portante y(t)y(t).

Da cui si ottengono i segnali di uscita:

u1(t)=kAkDV02x(t)u2(t)=kAkDV02y(t)\eq{ u_1(t)&=\frac{k_A k_D V_0}{2}x(t)\\ \\ u_2(t)&=\frac{k_A k_D V_0}{2}y(t)\\ }

Si noti che s(t)s(t) è nella forma espressa dal paragrafo Modulazione QAM.

Demodulatore FM non coerente

Lo schema con discriminatore è il seguente:

  s(t)  DISC.  y(t)  DEM. AM  u(t)  \Large \xrightarrow{\;s(t)\;} \boxed{\rm DISC.} \xrightarrow{\;y(t)\;} \boxed{\text{DEM. AM}} \xrightarrow{\;u(t)\;}

Si ricorda che, nel caso di modulazione in frequenza, si hanno:

s(t)=V0cos(2πf0t+α(t))Δf(t)=kFx(t)\eq{ s(t) &= V_0\cos\big(2\pi f_0t + \alpha(t) \big)\\ \Delta f(t) &= k_F \cdot x(t) }

Esempio: Si prenda un segnale modulato in frequenza che abbia un blocco discriminatore che riporti tale output:

y(t)=kDddts(t)y(t)= k_D \cdot \frac{d}{dt} s(t)

Derivando il segnale modulato e moltiplicandolo per la costante data ne consegue:

y(t)=kDV0{sin ⁣[2πf0t+α(t)]}[2πf0+dα(t)dt]==[kDV02πf0+2πkFkDV0x(t)]cos ⁣(2πf0t+α(t)+π2)\eq{ y(t)&= k_D V_0\bigg\{-\sin\!\Big[2\pi f_0 t+\alpha(t)\Big]\bigg\}\cdot\bigg[2\pi f_0 +\frac{d\alpha(t)}{dt}\bigg]= \\ &=\bigg[k_D V_0 2\pi f_0 + 2\pi k_F k_D V_0 x(t)\bigg]\cdot\cos\!\bigg(2\pi f_0 t + \alpha (t) +\frac{\pi}{2}\bigg) }

Esempio applicativo: radio FM monofoniche. Le radio analogiche hanno una frequenza f0f_0 che va da 87.5 a 108 MHz (Mega Hertz). Il segnale modulante può andare da 30 Hz a 15 kHz. La banda del segnale modulante è fM=15  kHzf_M = 15 \;\rm kHz.

D=ΔfmaxfM=5    Δfmax=5fM=75  kHzD = \frac{\Delta f_{\max}}{f_M} = 5 \implies \Delta f_{\max} = 5f_M = 75\;\rm kHz

La banda di Carlson, ovvero la banda impegnata da ogni canale radio, è:

BC=2(Δfmax+fm)=180  kHzB_C = 2(\Delta f_{\max} + f_m) = 180\;\rm kHz

Modulazione con portante impulsiva

Il segnale portante p0(t)p_0(t) è una ripetizione periodica dell’impulso di modulazione g(t)g(t):

p0(t)=n=g(tnT)p_0(t) = \sum_{n=-\infty}^{\infty} g(t-nT)

Il segnale modulante x[n]x[n] è tempo-discreto e può avere diversa natura:

  1. modulante analogico: ottenuto mediante campionamento di un segnale tempo-continuo campionato con intervallo T
  2. modulante digitale: x[n]AM={a1,a2,,aM}x[n]\in A_M =\{ a_1,\,a_2,\,\dots ,\,a_M \} con T tempo di simbolo

Le tipologie più importanti di modulazione con portante impulsiva sono:

  • PAM: Pulse Ampitude Modulation
  • PCM: Pulse Code Modulation
  • PPM: Pulse Position Modulation
  • PDM/PWM: Pulse Duration Modulation/Pulse Width Modulation

Segnali PAM

I segnali pulse ampitude modulation hanno un segnale modulato nella forma:

y(t)=n=x[n]g(tnT)y(t)=\sum_{n=-\infty}^{\infty} x[n] \cdot g(t-nT)

Se x[n]Rx[n] \in \R è analogico, allora y(t)y(t) è una sua interpolazione. Se x[n]AMx[n] \in A_M è digitale, anche y(t)y(t) è digitale.

Ad esempio, dati:

AM={0;1}g(t)=rect(T)G(f)=F[g(t)]\eq{ A_M &= \{0;\,1\}\\ g(t)&=\text{rect}(T)\\ G(f)&=\mathcal{F}\bigg[g(t)\bigg]\\ }

Allora y(t)y(t) è il tipico segnale digitale:

se F[x[n]]=X(f)    Y(f)=X(f)G(f)\eq{ \text{se } &\exist\mathcal{F}\bigg[x[n]\bigg]=\overline{X}(f)\\ & \implies Y(f)=\overline{X}(f)\cdot G(f) }

La demodulazione si applica in modo differente se il segnale è analogico o digitale. Nel primo caso, si può ricostruire x(t)x(t) a patto che questo abbia banda B tale che T<1/(2B)T<1/(2B):

  y(t)  HE(f)  x(t)  \Large \xrightarrow{\;y(t)\;}\boxed{H_E (f)}\xrightarrow{\;x(t)\;}

Nel caso si debbia ricostruire un segnale digitale, bisogna preventivamente campionare y(t)y(t):

tk=t0+kT  y(t)    y(tk)1g(t0)  x[k]  \Large \xrightarrow[t_k = t_0 +kT]{\;y(t)\;}\; \normalsize y(t_k)\Large\rightarrow \boxed{\frac{1}{g(t_0)}} \xrightarrow{\;x[k]\;}

Questo schema è semplificato, in quanto non prendere in considerazione il rumore.

Segnali PCM e Conversione A/D

Questa paragrafo analizza i componenti necessari per ottenere un segnale modulato con PCM: modulazione a codice d’impulso (pulse code modulation).

tn=nTC  x(t)      campionamentox[n]R  A/D  Tb  b[m]{0;1}  modulatoredigitale  y(t)  \Large \xrightarrow[t_n = nT_C]{\;x(t)\;}\; \normalsize\boxed{\; \rm campionamento} \Large \xrightarrow{x[n]\in \R} \normalsize\boxed{\;\rm A/D \;}\Large \xrightarrow[T_b]{\;b[m] \in \{0;\,1\}\;} \normalsize\boxed{\begin{gather*}\text{modulatore}\\ \text{digitale}\end{gather*}} \Large\xrightarrow{\;y(t)\;}

Un PCM utilizza una codifica come questa:

b[m]b[m]a[m]a[m]
001-1
1111

Il blocco del modulatore digitale è internamente costituito dai seguenti blocchi:

Tb  b[m]{0;1}   codifica PCMTba[m]{1;1}   PAM y(t)=m=a[m]g(tmTb)\Large \xrightarrow[T_b]{\;b[m] \in \{0;\,1\}\;} \normalsize\boxed{\text{ codifica PCM}}\Large \xrightarrow[T_b]{a[m] \in \{-1;\,1\}\;} \normalsize\boxed{\text{ PAM }} \Large \longrightarrow \normalsize y(t) = \sum_{m=-\infty}^{\infty} a[m] \cdot g(t-mT_b)

Il blocco   A/D  \boxed{\;\rm A/D \;} del convertitore analogico/digitale è internamente costituito da:

Tc  x[n]R    Q  Tc  q[n]CL    codifica binaria  lN  bits  P/S  Tb=Tc/l  b[m]{0;1}  \Large \xrightarrow[T_c]{\;x[n] \in \R\;}\boxed{\; \rm Q \;} \xrightarrow[T_c]{\;q[n] \in C_L\;} \normalsize\boxed{\; \text{codifica binaria} \;}\Large \xrightarrow[l \in \N \rm \;bits]{} \eq{ \longrightarrow \\[-1em] \longrightarrow \\[-1em] \longrightarrow } \boxed{\; \rm P/S \;} \xrightarrow[T_b = T_c/l]{\;b[m] \in \{0;\,1\}\;}

Il blocco di quantizzazione Q\boxed{\rm Q} fornisce l’insieme CL={C0,C1,,CL1}C_L =\{C_0,C_1,\dots,C_{L-1}\}​.

Il blocco   P/S  \boxed{\; \rm P/S \;} effettua una conversione parallelo-serie, poiché riceve i bit in parallelo e li restituisce in serie.

Dunque, ponendo lo schema in verticale per permettere una migliore lettura, i componenti necessari per ottenere un segnale modulato con PCM sono:

x(t)campionamentox[n]RQq[n]CL  codifica binaria  lN P/S b[m]{0;1} PCM encode a[m]{1;1} PAM modulation y(t)=m=a[m]g(tmTb)\Large x(t) \\ \Large \downarrow \\ \normalsize \boxed{\rm campionamento} \\ \Large\downarrow \\ \Large x[n] \in \R \\ \Large \downarrow \\ \normalsize \boxed{Q} \\ \Large \downarrow \\ \Large q[n] \in C_L \\ \Large \downarrow \\ \normalsize \boxed{\; \text{codifica binaria} \;} \\ \Large \downarrow \\ \Large l \in \N \\ \Large \downdownarrows \\ \normalsize \boxed{ \text{ P/S } } \\ \Large \downarrow \\ \Large b[m] \in \{0;\,1\} \\ \Large \downarrow \\ \normalsize \boxed{ \text{ PCM encode } } \\ \Large \downarrow \\ \Large a[m] \in \{-1;\,1\} \\ \Large \downarrow \\ \normalsize \boxed{ \text{ PAM modulation } } \\ \Large \downarrow \\ \normalsize y(t) = \sum_{m=-\infty}^{\infty} a[m] \cdot g(t-mT_b)

La quantizzazione è l’operazione che mappa valori di input che appartengono ad un insieme molto grande e spesso a valori continui (come R\R), in valori di output definiti per un insieme numerabile (come CLC_L). Grazie al blocco di quantizzazione, si passa da una funzione tempo-discreto definita per tutti i numeri reali, ad una definita solamente per un numero finito di valori: l’insieme CLC_L​​, dove L è il numero di livelli di quantizzazione.

A seguito della codifica binaria di q[n]CLq[n] \in C_L, si ottiene il numero di bit necessari per effettuare la quantizzazione. Gli ll bit sono un numero intero, potenza del due.

log2Ll<log2L+1\log_2 L \leq l < \log_2 L+1

Dato x(t)x(t) a banda limitata B, allora:

Tc<12B;Tb=TclT_c < \frac{1}{2B}\quad ; \quad T_b = \frac{T_c}{l}

Il bit-rate RbR_b è:

Rb=1Tb  [bitsec]    Rb=lTb>l2BR_b=\frac{1}{T_b}\;\bigg[\frac{\rm bit}{\rm sec}\bigg] \implies R_b=\frac{l}{T_b}>l\cdot 2B

La legge di quantizzazione è data da Q:

q[n]=Q[x[n]]q[n] = Q\bigg[x[n]\bigg]

Il modello di quantizzazione scalare è privo di memoria e uniforme:

Q(X):x[M,M]Q(x)={Cix[mi,mi+1]\eq{ & Q(X):x \in [-M,M]\\ & Q(x)=\Big\{C_i \quad x \in [m_i,m_{i+1}] }

M è l’ampiezza del segnale. Le soglie di Q sono mim_i con i che va da zero ad L: i=0,,Li=0,\dots,L. Gli estremi sono m0=Mm_0=-M e mL=Mm_L=M​.

Gli intervalli hanno tutti la stessa ampiezza, dunque il passo (o intervallo) di quantizzazione è costante:

Δ=mi+1mi=2ML\Delta=m_{i+1}-m_i=\frac{2M}{L}

La retta che interseca i CiC_i giace sulla bisettrice del I e del III quadrante.

Ci=mi+mi+12C_i = \frac{m_i + m_{i+1}}{2}

Si introduce inevitabilmente un errore di quantizzazione che è inversamente proporzionale al numero di livello di quantizzazione.

e(x)=xQ(x)e(x)=x-Q(x)

Nel paragrafo che segue, si analizza un convertitore che deve garantire una certa tolleranza all’errore di quantizzazione. Si ottiene la bit-rate minima del segnale PCM che possa garantire un errore di quantizzazione tollerabile.

Esempio segnale PCM

Dato un segnale con ampiezza M=2  [V]M=2\;\rm [V] e banda limitata B=1/TB=1/T, si vuole trovare la minima bit-rate del segnale PCM (Pulse Code Modulation) che garantisca un errore di quantizzazione e(x)106    V2e(x) \leq 10^{-6}\;\;V^2

L’ampiezza del segnale permette di definire il passo di quantizzazione:

Δ=2ML=4L\Delta = \frac{2M}{L} = \frac{4}{L}

Sfruttando la relazione:

e(x)=Δ212e(x) = \frac{\Delta^2}{12}

Si procede risolvendo la seguente disequazione per trovare il valore di L:

e(x)106    Δ212106    (2M)2L212106    L2(2M)212106    L±(2M)212106    L=43106\eq{ & e(x) \leq 10^{-6} \\ \implies & \frac{\Delta^2}{12} \leq 10^{-6}\\ \implies & \frac{(2M)^2}{L^2} \leq 12 \cdot 10^{-6}\\ \implies & L^2 \leq \frac{(2M)^2}{12} \cdot 10^{6}\\ \implies & L \leq \pm \sqrt{\frac{(2M)^2}{12} \cdot 10^{6}}\\ \implies & L = \sqrt{\frac{4}{3} \cdot 10^6} }

La disequazione diventa infine un’uguaglianza perché si deve ottenere il minor numero di livelli di quantizzazione in modo da rispettare il vincolo imposto dal testo. Gli l bit di quantizzazione sono un numero intero, potenza del due:

log2Ll<log2L+1    l=log2L=10.3111N\log_2 L \leq l < \log_2 L+1 \implies l = \log_2 L = 10.31 \approx 11 \in \N

Anche questa disequazione diventa un’uguaglianza. Si nota che il valore intero di l è ottenuto operando un’approssimazione per eccesso: a prescindere dalle cifre dopo la virgola, si approssima all’intero più alto.

I bit di quantizzazione sono necessariamente un intero, almeno fino ad una più ampia diffusione dei computer quantistici e dei corrispondenti Qubit.

La bit-rate minima è:

Rb=l2B=112T=22TR_b = l \cdot 2B = 11 \cdot \frac{2}{T} = \frac{22}{T}

Si può inoltre calcolare lo spazio di memoria α  [bit]\alpha \; \rm [bit] ​ che occorre per memorizzare la porzione di segnale in un intervallo dato, ad esempio in [8T,8T][-8T, 8T]​.

In tale intervallo sono presenti N=16TN = 16 T elementi, dunque:

α  [bit]=Rb[8T,8T]==RbN==22T16T==352  [bit]=44  [byte]\eq{ \alpha \; \text{[bit]} &= R_b \cdot [-8T, 8T] =\\ &= R_b \cdot N = \\ &= \frac{22}{T} \cdot 16 T =\\ &= 352 \; \text{[bit]} = 44 \;\text{[byte]}\\ }