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:
Il componente TX deve effettuare principalmente due operazioni, che RX dovrà poi rifare al contrario:
- amplificazione
- 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 per fornire in output un segnale modulato , 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 , mentre il segnale con portante impulsiva è indicato con .
Modulazione con portante sinusoidale
Una delle modulazioni maggiormente studiata è quella a portante sinusoidale , da cui si ottiene, nella sua forma generale, il segnale modulato :
I segnali ed possiedono i seguenti parametri caratteristici:
- ampiezza ,
- fase iniziale ,
- frequenza ,
- ampiezza istantanea con il vincolo ,
- fase istantanea ,
Da tali parametri si ottengono diverse funzioni. Deviazione di fase :
Pulsazione istantanea :
Frequenza istantanea :
Deviazione di frequenza :
Deviazione di ampiezza :
Deviazione relativa di ampiezza :
Si osserva che la deviazione di frequenza è strettamente legata alla deviazione di fase:
Per poter illustrare i principali formati di modulazione, è opportuno fornire la seguente forma del segnale modulato:
Data la formula di Eulero , si ricava la seguente relazione:
Dato l’inviluppo complesso del segnale modulato:
Il segnale modulato, in forma generale, si può scrivere:
Lo script d’esempio segnali_modulati
ha il seguente segnale modulante in ingresso:
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);
Principali Formati di Modulazione
Modulazione in Ampiezza
La modulazione in ampiezza (AM) fa uso di per modificare , ovvero la funzione deviazione relativa di ampiezza. Data la sensibilità di modulazione di ampiezza , si può definire il seguente sistema:
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])
Modulazione di Fase
La modulazione di fase (PM, da phase) fa uso di per modificare . Data la sensibilità di modulazione di fase , si può definire il seguente sistema:
KP=(2*pi*1.5);
sPM=V0*cos(2*pi*f0*tempo+KP*x);
figure;
plot(tempo,sPM,LineWidth=1.5);
Intervenire sulla fase equivale ad intervenire sulla frequenza:
Dato un segnale modulante con ampiezza , frequenza e fase :
Dato , allora e ne consegue che:
La deviazione di frequenza risulta essere:
Il cui massimo è
Si osserva che la funzione seno è un coseno anticipato di .
Modulazione di Frequenza
La modulazione di frequenza (FM) fa uso di per intervenire sulla deviazione di frequenza. Data la sensibilità di modulazione di frequenza , si può definire il seguente sistema:
KF=15;
sFM=V0*cos(2*pi*f0*tempo+(2*pi*KF)*y);
figure;
plot(tempo,sFM,LineWidth=1.5);
Dato, come in precedenza , allora dato e ne consegue che:
La deviazione di frequenza risulta essere:
Si osservino le seguenti implicazioni:
Funzione di Bessel e Banda di Carlson
Data funzione di Bessel di 1° specie di ordine n definita come:
Dopo innumerevoli peripezie si ricava che, nei casi PM ed FM:
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
La formula empirica per la banda dei segnali PM ed FM è la banda di Carlson, che è così definita:
Il caso sinusoidale:
La formula per la banda dei segnali AM è invece:
Indici di modulazione
è l’indice di modulazione di ampiezza. è l’indice di modulazione di fase. Data la banda del segnale modulante . Il rapporto di deviazione per la modulazione di frequenza è:
se la banda è 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:
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);
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);
In modo analogo si ottengono le trasformate di segnali modulati PM ed 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 , il segnale modulato diventa:
Se esiste trasformata di Fourier del segnale modulante ed ha banda limitata a , allora esiste la trasformata del segnale modulato:
con .
Segnali derivati da AM
Modulazione DSB-SC
Il segnale Double Side Band-Suppressed Carrier (DSB-SC) effettua una modulazione di tipo ibrido.
Vengono tolte le portanti delle Delta di Dirac e il segnale modulato diventa:
Modulazione QAM
La modulazione QAM (Quadrature Amplitude Modulation) utilizza due portanti indipendenti. Infatti ed non devono necessariamente avere la stessa banda. Si osserva che le portanti sono in quadratura, con in anticipo su .
Il segnale modulato è:
Trasformazione di Hilbert
La risposta in frequenza della trasformazione di Hilbert è:
Tale definizione implica:
La risposta in fase (argomento della risposta in frequenza) porta ad uno sfasamento di .
La risposta impulsiva è:
Modulatore SSB
Il modulatore SSB (Single Side Band) è un caso particolare del QAM dove la portante è derivata da grazie alla trasformazione di Hilbert.
Le portanti e e sono in quadratura perché le funzioni seno e coseno hanno uno sfasamento di radianti, ovvero gradi.
Data la fase , si osserva che:
Risulta quindi evidente che, negli schemi illustrati, il blocco applica uno sfasamento di 90°.
Grazie alla moltiplicazione per del seno, la portante anticipa .
Il segnale è dato da:
Il segnale , considerato lo sfasamento di in anticipo, è dato da:
è la trasformazione di Hilbert di .
Il segnale modulato è la somma tra e :
Demodulazione
La demodulazione può essere effettuata in modo coerente o non coerente. Nel primo caso si utilizza sia che per ricostruire : questo metodo è sicuramente più resistente ai disturbi ma più difficile da implementare. La portante è 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 . Si ricostruisce 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 , il demodulatore a prodotto si costruisce tramite:
Tale funzione viene filtrata da un passa-basso:
In questo caso 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 non è coerente. In primo luogo, si utilizzano due blocchi moltiplicatori aventi in ingresso e . Per contrastare lo sfasamento del modulatore, il secondo blocco moltiplicatore sfasa l’ingresso di .
Si ottengono le funzioni e :
Attraverso dei passa-basso, queste funzioni forniscono delle ricostruzioni delle portanti del modulatore:
Il segnale di uscita è una ricostruzione della portante , mentre l’uscita è una ricostruzione della portante .
Da cui si ottengono i segnali di uscita:
Si noti che è nella forma espressa dal paragrafo Modulazione QAM.
Demodulatore FM non coerente
Lo schema con discriminatore è il seguente:
Si ricorda che, nel caso di modulazione in frequenza, si hanno:
Esempio: Si prenda un segnale modulato in frequenza che abbia un blocco discriminatore che riporti tale output:
Derivando il segnale modulato e moltiplicandolo per la costante data ne consegue:
Esempio applicativo: radio FM monofoniche. Le radio analogiche hanno una frequenza 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 è .
La banda di Carlson, ovvero la banda impegnata da ogni canale radio, è:
Modulazione con portante impulsiva
Il segnale portante è una ripetizione periodica dell’impulso di modulazione :
Il segnale modulante è tempo-discreto e può avere diversa natura:
- modulante analogico: ottenuto mediante campionamento di un segnale tempo-continuo campionato con intervallo T
- modulante digitale: 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:
Se è analogico, allora è una sua interpolazione. Se è digitale, anche è digitale.
Ad esempio, dati:
Allora è il tipico segnale digitale:
La demodulazione si applica in modo differente se il segnale è analogico o digitale. Nel primo caso, si può ricostruire a patto che questo abbia banda B tale che :
Nel caso si debbia ricostruire un segnale digitale, bisogna preventivamente campionare :
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).
Un PCM utilizza una codifica come questa:
Il blocco del modulatore digitale è internamente costituito dai seguenti blocchi:
Il blocco del convertitore analogico/digitale è internamente costituito da:
Il blocco di quantizzazione fornisce l’insieme .
Il blocco 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:
La quantizzazione è l’operazione che mappa valori di input che appartengono ad un insieme molto grande e spesso a valori continui (come ), in valori di output definiti per un insieme numerabile (come ). 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 , dove L è il numero di livelli di quantizzazione.
A seguito della codifica binaria di , si ottiene il numero di bit necessari per effettuare la quantizzazione. Gli bit sono un numero intero, potenza del due.
Dato a banda limitata B, allora:
Il bit-rate è:
La legge di quantizzazione è data da Q:
Il modello di quantizzazione scalare è privo di memoria e uniforme:
M è l’ampiezza del segnale. Le soglie di Q sono con i che va da zero ad L: . Gli estremi sono e .
Gli intervalli hanno tutti la stessa ampiezza, dunque il passo (o intervallo) di quantizzazione è costante:
La retta che interseca i giace sulla bisettrice del I e del III quadrante.
Si introduce inevitabilmente un errore di quantizzazione che è inversamente proporzionale al numero di livello di quantizzazione.
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 e banda limitata , si vuole trovare la minima bit-rate del segnale PCM (Pulse Code Modulation) che garantisca un errore di quantizzazione
L’ampiezza del segnale permette di definire il passo di quantizzazione:
Sfruttando la relazione:
Si procede risolvendo la seguente disequazione per trovare il valore di L:
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:
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 è:
Si può inoltre calcolare lo spazio di memoria che occorre per memorizzare la porzione di segnale in un intervallo dato, ad esempio in .
In tale intervallo sono presenti elementi, dunque: