Telecomunicazioni
-
Upload
giuseppe-morese -
Category
Documents
-
view
33 -
download
0
description
Transcript of Telecomunicazioni
Indice
1 Modulazione di Ampiezza 1
1.1 Modulazione AM . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Studio del segnale AM . . . . . . . . . . . . . . . . . . 2
1.1.2 Demodulatore AM con Rivelatore di Inviluppo . . . . . 3
1.1.3 Demodulatore AM con Trasformata di Hilbert . . . . . 4
1.2 Modulazione DSBSC-AM . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Studio del segnale DSBSC-AM . . . . . . . . . . . . . 6
1.2.2 Ricevitore Coerente Ideale . . . . . . . . . . . . . . . . 6
1.2.3 Ricevitore Coerente Ideale con Trasformata di Hilbert . 7
1.2.4 Ricevitore Coerente con Ciclo di Costas . . . . . . . . 7
1.3 Modulazione SSB-AM . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Studio del segnale SSB-AM . . . . . . . . . . . . . . . 14
1.3.2 Demodulazione Coerente Ideale . . . . . . . . . . . . . 16
1.3.3 Demodulatore Coerente Ideale con Trasformata di Hilbert 17
1.3.4 Traslazione di Frequenza . . . . . . . . . . . . . . . . . 18
1.3.5 Demodulatore Coerente con Tono Pilota . . . . . . . . 19
2 Modulazione di Frequenza 23
2.1 Segnale FM e sue proprieta . . . . . . . . . . . . . . . . . . . 23
2.1.1 Modulazione a Singolo Tono . . . . . . . . . . . . . . . 25
2.1.2 Occupazione di Banda del Segnale FM . . . . . . . . . 26
2.2 Demodulazione FM non Coerente con Discriminatore di Fre-
quenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1 Discriminatore con Pre-Inviluppo . . . . . . . . . . . . 27
2.3 Demodulatore FM con PLL . . . . . . . . . . . . . . . . . . . 27
ii INDICE
3 Modulazione PAM. 33
4 Modulazione QAM 37
4.1 Tramettitore QAM . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Esempi di Costellazione . . . . . . . . . . . . . . . . . . . . . 39
4.2.1 Costellazione a 16 punti . . . . . . . . . . . . . . . . . 39
4.2.2 Costellazione a 4 Punti . . . . . . . . . . . . . . . . . . 41
4.3 Demodulatore Ideale . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 ISI Diagramma ad Occhio . . . . . . . . . . . . . . . . . . . . 43
5 Dual-Tone Multi-Frequency Modulation (DTMF) 47
5.1 Demodulazione di segnali DTMF . . . . . . . . . . . . . . . . 48
5.1.1 Fast-Fourier-Transform (FFT) . . . . . . . . . . . . . . 48
5.1.2 Algoritmo di Goertzel . . . . . . . . . . . . . . . . . . 48
5.2 Demodulazione DTMF in MATLAB. . . . . . . . . . . . . . . 51
6 Filtraggio adattativo 55
6.1 Complex Cross-Coupled Passband Adaptive Equalizer . . . . . 55
6.2 Algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2.1 Comportamento teorico dell’algoritmo LMS. . . . . . . 61
6.2.2 LMS con tap-leakage. . . . . . . . . . . . . . . . . . . . 61
6.3 Algoritmo RLS . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.4 Phase-Splitting Fractionally Spaced Equalizer. . . . . . . . . . 66
6.5 Inverse modeling e System identification. . . . . . . . . . . . . 68
6.6 Simulazioni MATLAB degli algoritmi. . . . . . . . . . . . . . . 69
6.6.1 Algoritmo LMS. . . . . . . . . . . . . . . . . . . . . . . 69
6.6.2 Algoritmo RLS. . . . . . . . . . . . . . . . . . . . . . . 70
6.7 Decision Directed Carrier Tracking. . . . . . . . . . . . . . . . 73
Capitolo 1
Modulazione di Ampiezza
Tipicamente in natura i segnali sono di tipo passa basso, ossia il loro spettro
e localizzato a partire da una frequenza prossima a zero. La trasmissione dei
segnali passa basso, senza alcuna elaborazione, richiede la disponibilita di un
canale dello stesso tipo, ad esempio una linea di trasmissione metallica. Per
poter utilizzare canali di tipo passa−banda, come i canali radio, oppure uti-
lizzare tecniche di multiplazione in frequenza, e necessario elaborare il segnale
di partenza e trasferire il suo contenuto informativo sulla banda passante del
canale. Questa operazione prende il nome di modulazione. L’operazione di
modulazione deve essere reversibile, solo in questo caso sara possibile risalire
al segnale in banda base a partire dal segnale modulato tramite l’operazione
di demodulazione.
1.1 Modulazione AM
In questa sezione si formalizzera la teoria di base della modulazione AM.
In seguito si vedranno alcune varianti che consentono di realizzare dei col-
legamenti tra trasmettitore e ricevitore piu efficienti dal punto di vista en-
ergetico. In particolare si vedra la Double-Sideband Suppressed-Carrier AM
(DSBSC-AM) e la Single Sideband AM (SSB-AM)
2 Modulazione di Ampiezza
1.1.1 Studio del segnale AM
L’espressione matematica di un segnale modulato in ampiezza e la seguente:
SAM = Ac [1 + kam(t)] cos [ωct] (1.1)
La relazione 1.1 indica che l’ampiezza istantanea del segnale portante c(t) =
Accos [ωct] ha lo stesso andamento del segnale modulante m(t). La frequenza
del segnale portante fc deve essere superiore alla frequenza dalla massima
componente spettrale di m(t). ka e una costante positiva del modulatore
chiamata sensitivita in ampiezza.
Nel caso particolare in cui il segnale modulante abbia un andamento sinu-
soidale, m(t) = Amcos[ωmt], il segnale modulato assume la forma seguente:
SAM = Ac(1 + µcos[ωmt])cos[ωct] (1.2)
dove e stato definito l’indice di modulazione µ = kaAm. Al fine di poter
risalire al segnale modulante a partire dal segnale modulato senza avere dis-
torsioni deve essere 0 6 µ 6 1. Se µ = 1 il segnale AM si dice modulato al
100% e il suo inviluppo e(t) = Ac[1 + kam(t)] raggiunge periodicamente il
valore 0.
Usando note relazioni trigonometriche la (1.2) puo essere espressa come:
SAM = Accos[ωct] +Ac
2µcos[(ωc + ωm)t] +
Ac
2µcos[(ωc − ωm)t] (1.3)
la quale ci informa che nel caso di modulante sinusoidale, lo spettro di potenza
del segnale AM presenta 3 componenti; il primo termine indica che e presente
una componente a frequenza ωc che non porta informazione, mentre le due
componenti a pulsazione ωc − ωm e ωc + ωm sono quelle associate al segnale
modulante sinusoidale. Nel caso in cui m(t) sia generico, ma di tipo passa-
basso, presentera componenti spettrali in una certa banda [0,W ](Figura 1.1).
Di conseguenza lo spettro del segnale da esso modulato sara formato dalla
solita componente a frequenza ωc e da due bande laterali contenti lo spettro
di m(t) posizionati come mostra la Figura 1.1 (b).
1.1 Modulazione AM 3
0
0
(a) – Trasfromata di Fourier del Segnale Modulante
(b) – Trasfromata di Fourier del Segnale Modulato AM
M(ω)
ω
ω
W
ωcωc- W ωc+W
SAM(ω)
Lower Side Band Upper Side Band
Figura 1.1: Spettro di un segnale AM
1.1.2 Demodulatore AM con Rivelatore di Inviluppo
In linea di principio un rivelatore di inviluppo o di picco puo essere composto
da un diodo e da un filtro passa basso (R− C). Questo tecnica, opportuna-
mente migliorata, si applicava in campo analogico per la demodulazione del
segnale radio modulato AM. Ai fini della demodulazione AM tramite DSP
si utilizzano due tecniche, qui riportate, note come demodulazione AM con
quadratore e demodulazione AM mediante trasformata di Hilbert.
Demodulazione AM con Quadratore
Lo schema a blocchi di questo demodulatore e riportato in Figura 1.2. A
partire dall’espressione generica di un segnale modulato AM (1.1) si ricava
4 Modulazione di Ampiezza
( )2 ( )0.5SAM(t) LPF
Cutoff:2W
rf(t)
Figura 1.2: Demodulatore AM con Quadratore
l’espressione del segnale in uscita al primo blocco:
S2AM = 0.5A2
c [1 + kam(t)]2 + 0.5A2c [1 + kam(t)]2cos[2ωct] (1.4)
Il filtro passa basso elimina il secondo termine del segnale in uscita al quadra-
tore e l’ultimo blocco ne estrae la radice quadrata ottenendo in uscita un
segnale proporzionale a m(t) dato da:
rf (t) =Ac√
2[1 + kam(t)] (1.5)
1.1.3 Demodulatore AM con Trasformata di Hilbert
Trasformata di Hilbert e Inviluppo Complesso
La demodulazione di un segnale AM tramite rivelatore di inviluppo puo essere
eseguita utilizzando la trasformata di Hilbert. In generale, la trasformata di
Hilbert di un segnale x(t), con trasformata di Fourier X(ω), e definita come:
x(t) = x(t) ∗ 1
πt=
1
π
∫ ∞
−∞
x(τ)
t− τdτ (1.6)
dove ∗ indica l’integrale di convoluzione. La trasformata di Hilbert si puo
ottenere facendo transitare il segnale in un filtro con risposta impulsiva
h(t) = 1/(πt) a cui corrisponde una H(ω) = −jsign(ω). Si definisce segnale
analitico o pre− inviluppo associato al segnale x(t):
x+(t) = x(t) + jx(t) (1.7)
Il segnale analitico associato a x(t) = cos[ωt] e:
x+(t) = cos[ωt] + jsin[ωt] = ejωt (1.8)
1.2 Modulazione DSBSC-AM 5
L’inviluppo complesso del segnale x(t) riferito ad una determinata frequenza
ω e definito come:
x(t) = x+(t)e−jωt (1.9)
E utile definire anche l’inviluppo reale di un segnale passa-banda x(t):
|x(t)| = |x+(t)| =√x2(t) + x2(t) = er(t) (1.10)
Demodulazione del Segnale AM
Si consideri il segnale modulato AM (1.1). Il suo pre-inviluppo e inviluppo
complesso si possono esprimere come:
SAM+(t) = Ac[1 + kam(t)]ejωct (1.11)
SAM(t) = Ac[1 + kam(t)]ejωcte−jωct = Ac[1 + kam(t)] (1.12)
La relazione appena sopra ci informa del fatto che a partire dal’inviluppo
reale del segnale AM, definito dalla (1.10), si puo ricavare l’andamento del
segnale modulante a partire dal segnale modulato. Abbiamo cosı mostrato
come si possa demodulare una segnale AM tramite la trasformata di Hilbert.
Lo schema a blocchi di questo demodulatore, realizzabile tramite DSP, e
riportato in Figura 1.3 ed e l’applicazione diretta della relazione (1.10).
- j sign ω (-)2
(-)2
+ √()SAM(t)
SˆAM(t) Sˆ2AM(t)
S2AM(t)
e(t)
Figura 1.3: Rivelatore di inviluppo tramite trasformata di Hilbert
1.2 Modulazione DSBSC-AM
Come gia visto in precedenza, lo spettro del segnale AM espresso dalla (1.1),
presenta una componente spettrale a pulsazione ωc che non porta infor-
6 Modulazione di Ampiezza
mazione al ricevitore. La trasmissione di questa componente non significativa
dal punto di vista informativo, comporta uno spreco di potenza nel trasmetti-
tore, ma rende il processo di demodulazione piu agevole. Nel seguito si vedra
come si esprime matematicamente un segnale modulato AM che non presen-
ta componenti spettrali alla pulsazione della portante (DSBSC-AM Double-
Sideband Suppressed-Carrier Amplitude Modulation). Si vedra poi, come
sia possibile recuperare il segnale modulante attraverso un demodulatore
coerente.
1.2.1 Studio del segnale DSBSC-AM
Indicando con m(t) il segnale modulante, l’espressione del segnale DSBSC-
AM e della sua trasformata di Fourier sono rispettivamente:
s(t) = Acm(t)cos[ωct] (1.13)
S(ω) = 0.5AcM(ω − ωc) + 0.5AcM(ω + ωc) (1.14)
dove M(ω) e lo spettro del segnale modulate che risulta traslato nell’in-
torno della pulsazione ωc. Dalla (1.14) si nota come la componente spettrale
a pulsazione ωc non sia presente (vedi anche Figura 1.5(b)).
1.2.2 Ricevitore Coerente Ideale
Lo schema a blocchi di un ricevitore coerente ideale e riportato in Figura 1.4.
Il primo blocco e un filtro passa-banda la cui frequenza di centro banda e
pari alla frequenza della portante. Questo filtro trasferisce in uscita il segnale
DSBSC-AM e attenua fortemente il rumore presente al di fuori dalla sua ban-
da passante. L’uscita del filtro passa-banda viene moltiplicata da un mixer
per il segnale portante generato localmente da un oscillatore. Supponendo
sia ricevuto il solo segnale utile, in assenza di disturbi, si ottiene:
s1(t) = 2Acm(t)cos[ωct]cos[ωct] = Acm(t) + Acm(t)cos[2ωct] (1.15)
1.2 Modulazione DSBSC-AM 7
BPF LPFx
OscillatoreLocale
Mixer
s(t)
2cos[ωct]
s1(t) m1(t)
Figura 1.4: Schema a Blocchi di un Ricevitore Coerente Ideale
Lo spettro del segnale in uscita al mixer e riportato in Figura 1.5(c). Il
filtro passa-basso in uscita elimina le componenti ad alta frequenza posizion-
ate nell’intorno della pulsazione 2ωc. In questo modo si ottiene in uscita il
segnale modulante.
1.2.3 Ricevitore Coerente Ideale con Trasformata di
Hilbert
Un metodo alternativo per realizzare un ricevitore coerente e quello di uti-
lizzare la trasformata di Hilbert. Lo schema a blocchi di tale ricevitore e
riportato in Figura 1.6. Considerando assenza di rumore, il pre-inviluppo
del segnale modulato ricevuto e:
s+(t) = s(t) + js(t) = Acm(t)cos[ωct] + jAcm(t)sin[ωct] = Acm(t)ejωct
(1.16)
eseguendo il prodotto complesso con e−jωct si ottiene il segnale
m1(t) = Acm(t) (1.17)
che risulta essere proporzionale al segnale modulante m(t).
1.2.4 Ricevitore Coerente con Ciclo di Costas
I ricevitori coerenti presentati in precedenza devono ricostruire esattamente
la frequenza e la fase del segnale portante per eseguire la demodulazione del
8 Modulazione di Ampiezza
(a) – Trasfromata di Fourier del Segnale Modulante
(b) – Trasfromata di Fourier del Segnale Modulato DSBSC-AM
(c) – Trasfromata di Fourier del Segnale di Uscita al Mixer
M(ω)
Wω
S(ω)
S1(ω) AcM(ω)
ω
ω
ωc ωc+Wωc-W
0.5AcM(ω-ωc)
2ωcW
Figura 1.5: Spettro dei segnali coinvolti nella modulazione e demodulazione
DSBSC-AM per pulsazioni positive
segnale DSBSC. Questo nella pratica e un obiettivo irraggiungibile poiche il
segnale portante e generato localmente. Nonostante questo, e possibile effet-
tuare una stima delle frequenza e della fase del segnale portante, nei pressi
del ricevitore, attraverso dispositivi chiamati phase-locked loop (PLL). In
Figura 1.7 e riportato lo schema a blocchi di un PLL modificato, chiamato
Ciclo di Costas, che consente di realizzare un ricevitore coerente ottimo. Lo
schema si presta molto bene ad essere realizzato tramite dispositivi DSP, per
questo, nell’ottica di una sua implementazione, tutti i segnali sono tempo
1.2 Modulazione DSBSC-AM 9
-j sign( ω )
+ x
exp[-jωct]
s(t) s+(t) m1(t)
Figura 1.6: Schema a Blocchi del Ricevitore Coerente con Trasformata di Hilbert
discreti campionati con periodo T. Le linee continue e tratteggiate rappre-
sentano, rispettivamente, la parte reale e la parte immaginaria di segnali
complessi.
-j sign(ω)s(nT) x x
/β (1-z-1)
α+
m1(nT)
+
ωcT
z-1e-j(∙)
sˆ(nT)q(nT)
σ(nT)Φ(nT)
c1(nT)=Re{s+(nT)e-j(ωcnT+θ2)}
c2(nT)=Im{s+(nT)e-j(ωcnT+θ2)}
e-jΦ(nT)=e-j(ωcnT+θ2)
Figura 1.7: Schema a Blocchi del Demodulatore DSBSC con Ciclo di Costas
Per comprendere meglio il funzionamento dello schema proposto, indi-
chiamo con s(nT) il segnale di uscita del filtro passa banda di ricezione che
puo essere scritto come:
s(nT ) = Acm(nT )cos[ωcnT + θ1] (1.18)
dove ωc e la pulsazione nominale della portante e θ1 e una costante o una
grandezze lentamente variabile che esprime la deviazione di fase rispetto al
10 Modulazione di Ampiezza
segnale portante in condizioni ideali. Nel caso in cui ci sia una differenza
tra la pulsazione nominale della portante e quella generata localmente, θ1
assume la seguente forma:
θ1 = 4ωnT + γ (1.19)
dove 4ω e la differenza tra le due pulsazioni e γ e la differenza di fase
costante.
Inizialmente si costruisce l’inviluppo complesso del segnale ricevuto:
s+(nT ) = s(nT ) + js(nT ) = Acm(nT )ej(ωcnT+θ1) (1.20)
Il sistema effettua una stima della fase del segnale ricevuto che indichiamo
con:
φ(nT ) = ωcnT + θ2(nT ) (1.21)
A regime deve risultare φ(nT ) = ωcnT + θ1, cioe θ2(nT ) ≈ θ1. Utilizzando
la stima di φ, il circuito costruisce il segnale complesso:
c(nT ) = s+(nT )e−jφ(nT ) = c1(nT ) + jc2(nT ) = Acm(nT )ej(θ1−θ2(nT )) (1.22)
Dove c1(nT ) e c2(nT ) sono la parte reale e immaginaria di c(nT).
c1(nT ) = Acm(nT )cos[θ1 − θ2(nT )] (1.23)
c2(nT ) = Acm(nT )sin[θ1 − θ2(nT )] (1.24)
Si dice che il ciclo di Costas e in lock se l’errore di fase θ1 − θ2 e piccolo. In
questo caso si ha:
c1(nT ) ≈ Acm(nT ) (1.25)
c2(nT ) ≈ 0 (1.26)
quindi il segnale demodulato coincide con c1(nT ).
Resta ora da chiarire come i rimanenti blocchi che chiudono il loop permet-
tano di effettuare la stima della fase del segnale ricevuto.
1.2 Modulazione DSBSC-AM 11
Si costruisce il segnale q(nT) come prodotto della parte reale e immagi-
naria di c(nT):
q(nT ) = c1(nT )c2(nT ) (1.27)
= A2cm
2(nT )cos[θ1 − θ2(nT )]sin[θ1 − θ2(nT )]
= 0.5A2cm
2(nT )sin{2[θ1 − θ2(nT )]}
≈ A2cm
2(nT )[θ1 − θ2(nT )]; se (|θ1 − θ2(nT )| � 1)
Dall’espressione precedente si osserva come il segno di q(nT) coincide con
il segno dell’errore di fase (θ1 − θ2(nT )) se quest’ultimo e inferiore a 90
gradi. Per questo il segno di q(nT) ci dice in che direzione deve avvenire il
cambiamento della fase stimata, θ2, affinche si possa avere errore di fase nullo
a regime. Il blocco successivo esegue un’accumulazione della stima dell’errore
di fase; applicando la trasformata Z ai segnali campionati si ha:
Σ(z) =βQ(z)
1− z−1=� βQ(z) = Σ(z)− Σ(z)z−1 =� Σ(z) = Σ(z)z−1 + βQ(z)
(1.28)
antitrasformando si ottiene
σ(nT ) = σ(nT − T ) + βq(nT ) (1.29)
σ(nT ) puo essere riscritto in modo non ricorsivo fissando σ(nT ) = 0 per
n < 0:
σ(nT ) =n∑
k=0
βq(kT ) = βq(nT ) + βn−1∑k=0
q(kT ) (1.30)
a partire da questa relazione si ottiene:
r(nT ) = σ(nT ) + αq(nT ) = (α+ β)q(nT ) + βn−1∑k=0
q(kT ) (1.31)
All’uscita del blocco successivo, nel dominio delle trasformate Z si ha:
Φ(z) = [R(z) + ωcT + Φ(z)]z−1 = ωcT +R(z)z−1 + Φ(z)z−1 (1.32)
antitrasformando:
φ(nT ) = ωcT + r(nT − T ) + φ(nT − T ) (1.33)
= ωcT + φ(nT − T ) + {(α+ β)q(nT − T ) + βn−2∑k=0
q(kT )}
12 Modulazione di Ampiezza
la quale, come noto dalla teoria dei controlli automatici, rappresenta una
doppia accumulazione nel dominio del tempo, che permette di inseguire una
rampa lineare con errore a regime nullo. Manipolando l’espressione finale in
(1.32), tenendo presente la (1.31) e osservando che a regime σ(nT ) = 4ωT =
β∑n−1
k=0 q(kT ) si ottiene la seguente espressione per φ(nT ):
φ(nT ) = ωcnT + φ0; con φ0 =n−1∑k=0
r(kT ) (1.34)
Quando si e nella stato di lock si ha θ1 ≈ θ2(nT ) quindi dalla (1.27) si ha
q(nT ) ≈ 0. Tenendo presente la (1.31) si ha che∑n−1
k=0 r(kT ) ≈∑n−1
k=0 σ(kT ) =
4ωnT ; cosı che la fase ricostruita
φ(nT ) = ωcnT +4ωnT ≡ ωcnT + θ1 (1.35)
coincide con la fase nominale della portante.
Ciclo di Costas Linearizzato
Il ciclo di Costas, cosı come rappresentato in Figura 1.7, e un sistema tempo
variante non lineare. Al fine di poterlo pensare come un’unica funzione di
trasferimento, si deve approssimare l’intero sistema eliminando tutte le non
linearita. Le due non linearita da prendere in considerazione sono quelle
presenti nell’espressione di q(nT). La prima, che riguarda il sin(x) si elimina
facilmente utilizzando lo sviluppo asintotico si sin(x) ≈ x per x→ 0 (1.27).
La seconda che riguarda il termine m2(nT ) si elimina sostituendo ad esso la
sua media statistica o aspettazione E{m2(nT )}. Cio e lecito se si suppone
che il ciclo di Costas sia in lock e che il segnale m(t) sia un processo stocastico
stazionario, dunque che la sua varianza sia costante nel tempo.
k1 = A2cE{m2(nT )} (1.36)
Sotto queste ipotesi, l’espressione di q(nT) diviene la seguente:
q(nT ) ≈ k1[θ1 − θ2(nT )] (1.37)
La funzione di trasferimento del Ciclo di Costas linearizzato di Figura 1.8 e
calcolata nel modo seguente:
Θ2(z) = z−1
[Θ2 + k1
α+ β
1− z−1− k1
α
1− z−1(Θ1 −Θ2)
](1.38)
1.3 Modulazione SSB-AM 13
k1
/β (1-z-1)
α++z-1
σ(nT)
+θ1(nT)
θ2(nT)
-
Figura 1.8: Ciclo di Costas Linearizzato
Da cui:
Θ2(z)(1− z−1) = z−1
[Θ2 + k1
α+ β
1− z−1− k1
α
1− z−1(Θ1 −Θ2)
](1.39)
Separando i termini:
Θ2(z)[(1− z−1)(1− z−1) + k1(α+ β)z−1 − k1αz
−2]
= (1.40)
= Θ1(z)[k1(α+ β)z−1 − k1αz
−2]
Infine la funzione di trasferimento risulta:
H(z) =Θ2(z)
Θ1(z)= k1(α+ β)
1− αα+β
z−1
1− [2− k1(α+ β)]z−1 + (1− k1α)z−2(1.41)
Dalla quale e possibile determinare condizioni di stabilita e stimare il tempo
di assestamento del sistema.
1.3 Modulazione SSB-AM
Sia la modulazione AM che la DSBSC-AM non sfruttano in modo efficiente
lo spettro dei rispettivi segnali modulati. Le due bande laterali di questi se-
gnali, disposti nell’intorno della frequenza portante, contengono le medesime
14 Modulazione di Ampiezza
informazioni in quanto sono l’uno il complesso coniugato dell’altro. Si ottiene
un sistema di trasmissione piu efficiente se le informazioni sono trasmesse e
ricevute facendo uso di uno solo dei due lobi (upper side band o lower side
band). In seguito si vedra come sia possibile realizzare quanto appena det-
to. Questa alternativa alla modulazione AM e DSBSC-AM, denominata SSB
(single side band), e ampiamente utilizzata nei sistemi di trasmissione radio
e nelle reti telefoniche.
1.3.1 Studio del segnale SSB-AM
A partire dall’espressione del segnale DSBSC-AM (1.13,1.14), si puo generare
il segnale SSB-AM effettuando un filtraggio come mostrato in Figura 1.9. Lo
x H(ω)m(t)
Accos[ωct]
s'(t)
Hl(ω)Hl(ω)Hu(ω) Hu(ω)S( )ω
ω
s(t)
-ωc ωc
Figura 1.9: Modulazione SSB-AM realizzata con il filtraggio del segnale DSBSC-
AM
spettro del segnale SSB-AM, indicato con S ′(ω), e dato da:
S ′(ω) = S(ω)H(ω) (1.42)
dove H(ω) deve essere definita come segue:
H(ω) = Hl(ω) =
{1 se |ω| < ωc
0 altroveLower Side Band (1.43)
H(ω) = Hu(ω) =
{1 se |ω| > ωc
0 altrimentiUpper Side Band (1.44)
1.3 Modulazione SSB-AM 15
Il segnale SSB-AM puo anche essere espresso in termini del segnale modu-
lante m(t) e della sua trasformata di Hilbert m(t). La trasformata di Fourier
del pre-inviluppo del segnale SSB-AM si puo esprimere come segue:
S ′+(ω) = 2S ′(ω)U(ω) = AcM(ω − ωc)H(ω) (1.45)
mentre la trasformata dell’inviluppo complesso e data da:
S ′(ω) = S ′+(ω + ωc) = AcM(ω)H(ω + ωc) (1.46)
dove U(ω) e la funzione gradino unitario nella variabile ω.
Consideriamo ora il caso in cui si voglia produrre un segnale SSB-AM
contenente solo la banda laterale superiore. Cio equivale a sostituire nella
(1.46) H(ω) con Hu(ω). Il valore di Hu(ω + ωc) puo essere espresso come:
Hu(ω + ωc) =
{1 se ω > 0
0 altrimenti(1.47)
= 0.5[1 + sign(ω)]
= 0.5{1 + j[−jsign(ω)]}
Se si vuole generare un segnale SSB-AM contenente solo la banda laterale
inferiore si deve sostituire nella (1.46) H(ω) con Hl(ω). In maniera analoga
a quanto visto appena sopra si ottiene:
Hl(ω + ωc) = 0.5{1− [−jsign(ω)]} (1.48)
Sostituendo le espressioni da Hu(ω) e Hl(ω) nella (1.46) si ottiene:{S ′
u(ω) = 0.5AcM(ω){1 + j[−jsign(ω)]} = 0.5Ac[M(ω) + jM(ω)]
S ′l(ω) = 0.5AcM(ω){1− j[−jsign(ω)]} = 0.5Ac[M(ω)− jM(ω)]
(1.49)
antitrasformando, si ottiene l’espressione dell’inviluppo complesso del segnale
modulato nel dominio del tempo:{s ′
u(t) = 0.5Ac[m(t) + jm(t)]
s ′l(t) = 0.5Ac[m(t)− jm(t)]
(1.50)
16 Modulazione di Ampiezza
infine, calcolando la parte reale del preinviluppo:{s ′
u(t) = Re{s ′u(t)e
jωct} = 0.5Acm(t)cos[ωct]− 0.5Acm(t)sin(ωct)
s ′l(t) = Re{s ′
l(t)ejωct} = 0.5Acm(t)cos[ωct] + 0.5Acm(t)sin(ωct)
(1.51)
A seconda di quale banda si vuole trasmettere si usa s ′u(t) o s ′
l(t).
Quanto detto si realizza secondo la catena di elaborazione riportata in Figu-
ra 1.10. In sintesi:
s′(t) = 0.5Acm(t)cos[ωct]∓ 0.5Acm(t)sin(ωct) (1.52)
-j sign(ω) x
x
-90°
LO0.5Accos[ωct]
+m(t)+
s'(t)
- : USB+ : LSB
0.5Acsin[ωct]
Figura 1.10: Modulazione SSB-AM con trasformata di Hilbert
1.3.2 Demodulazione Coerente Ideale
Una possibilita per realizzare la demodulazione del segnale SSB-AM e quella
di moltiplicare l’espressione in (1.52) per 2cos[ωct]. Si ottiene:
r(t) = Acm(t)cos[ωct]cos[ωct]∓ Acm(t)sin[ωct]cos[ωct] (1.53)
= 0.5Acm(t) + 0.5Acm(t)cos[2ωct]∓ Acm(t)sin[2ωct]
avendo utilizzato le relazioni sin[2x] = 2sin[x]cos[x] e cos[2x] = cos2[x] −sin2[x] = 2cos2[x] − 1. In questo modo si ha un segnale avente una com-
ponente spettrale in banda base e due componenti ad alta frequenza che si
possono eliminare con un filtro passa basso, come mostrato in Figura 1.11.
In uscita si ottiene il segnale demodulato r′(t) ≈ 0.5Acm(t)
1.3 Modulazione SSB-AM 17
x LPFs'(t)
2Accos[ωct]
r(t) r'(t)
Figura 1.11: Demodulatore Coerente SSB Ideale
1.3.3 Demodulatore Coerente Ideale con Trasformata
di Hilbert
Un ulteriore tecnica per la demodulazione del segnale SSB-AM prevede l’u-
tilizzo della trasformata di Hilbert. Si costruisce il pre-inviluppo complesso
del segnale s′(t) (1.52) dato da
s′+(t) = s′(t) + js′(t) = s′(t)ejωct = 0.5Ac[m(t)± jm(t)]ejωct (1.54)
dove la somma deve essere effettuata nel caso di lower side band e la differenza
nel caso di upper side band. Moltiplicando la precedente per e−jωct si ottiene
l’inviluppo complesso
s′(t) = s+(t)e−jωct = 0.5Ac[m(t)± jm(t)] (1.55)
da cui si evince che l’andamento del segnale demodulato si puo ottenere
estraendone la parte reale
Re{s ′(t)} = 0.5Acm(t) (1.56)
In Figura 1.12 e riportato lo schema a blocchi dell’algoritmo appena de-
scritto. La struttura e del tutto simile a quella del modulatore di Figura 1.10;
eccetto che per il fatto che il blocco finale esegue sempre la somma dei segnali
al suo ingresso.
18 Modulazione di Ampiezza
-j sign(ω) x
x
-90°
LOcos[ωct]
+s'(t)+
0.5Acm(t)
sin[ωct]+
s'(t)
sˆ'(t)
Figura 1.12: Demodulatore Coerente SSB Ideale con Traformata di Hilbert
1.3.4 Traslazione di Frequenza
Prima di presentare l’ultima tecnica di demodulazione del segnale SSB-AM
e opportuno fare alcune premesse per quanto riguarda la traslazione di fre-
quenza dello spettro di un segnale. Questa operazione trova applicazione
nei casi in cui lo spettro di un segnale deve essere allocato su un canale di
trasmissione ed il canale di trasmissione e formato da piu canali. Questo
e quello che accade nella trasmissione FDM (Frequency Division Multiplex-
ing). Inoltre, la traslazione di frequenza e quello che normalmente accade
nella modulazione di ampiezza e in tutte le sue varianti presentate nei para-
grafi precedenti. Infatti, lo spettro del segnale in banda base viene traslato
nell’intorno delle frequenza portante, che presenta un valore notevolmente
maggiore della banda del segnale modulante. Anche la demudulazione, es-
sendo l’operazione inversa della modulazione, opera mediante una traslazione
di frequenza. Qui di seguito e riportato un metodo di traslazione in frequenza
facilmente realizzabile tramite DSP.
Si pensi ad un segnale passa-banda, s(t), e ad una frequenza ω0 contenuta
nella banda passante del segnale stesso. Si deve traslare lo spettro di s(t)
in modo tale che la frequenza ω0 si posizioni al valore ω1 = ω0 + 4ω. Si
costruisce il pre-inviluppo di s(t):
s+(t) = s(t) + js(t) (1.57)
1.3 Modulazione SSB-AM 19
si moltiplica ora il pre-inviluppo per ej4ω
r+(t) = s+(t)ej4ω = [s(t) + js(t)][cos(4ωt) + jsin(4ωt)] (1.58)
Infine il segnale traslato di 4ω si puo esprimere come:
r(t) = Re{r+(t)} = x(t)cos(4ω)− xsin(4ω) (1.59)
Tutto cio si ottiene implementando lo schema a blocchi del modulatore SSB
di Figura 1.10 considerando in uscita la Lower Side Band.
1.3.5 Demodulatore Coerente con Tono Pilota
Per realizzazione di questo demodulatore e necessario aggiungere al segnale
modulato una componente spettrale alla frequenza di portante. Questo con-
sentira di utilizzare per la demodulazione il segnale portante ricevuto ed un
segnale in quadratura con esso. Tenendo presente quanto detto si ha una
nuova espressione del segnale modulato SSB-AM dato da:
x(nT ) = s ′(nT ) + p(nT ) (1.60)
dove p(nT ) = cos(ωcnT ) e la componente a frequenza portante detta tono
pilota. Lo schema a blocchi del demodulatore coerente con tono pilota e
riportato in Figura 1.13. Il blocco G(ω) deve eliminare il tono pilota e portare
in uscita o la lower side band o la upper side band del segnale SSB. Nei due
casi, rispettivamente, il filtro descritto da G(ω) sara di tipo passa basso o di
tipo passa alto. In alternativa, il tono pilota puo essere eliminato mediante
un notch filter.
Successivamente, tramite la trasformata di Hilbert, si forma il pre-inviluppo
del segnale SSB.
La parte dello schema a blocchi di Figura 1.13 racchiusa tra linee tratteggiate
, consente di generare localmente una replica del segnale portante sia in fase
che in quadratura con il segnale portante originale. Si tratta di due filtri che
presentano le seguenti f.d.t. :{BI(z) = (1− r) 1−rz−1cos[ωcT ]
1−2rz−1cos[ωcT ]+r2z−2
BQ(z) = (1− r) rz−1sin[ωcT ]1−2rz−1cos[ωcT ]+r2z−2
(1.61)
20 Modulazione di Ampiezza
G(ω) -j sign(ω) Re{·}xHPF/LPF
a(nT)
1-r1-2rz-1cosωct+r2z-2
1-rz-1cosωct
rz-1sinωct
BI(ω) ,BQ(ω)
CQ(nT)
CI(nT)
x(nT) = s'(nT)+p(nT)
Estrazione Tono Pilota
-
Figura 1.13: Demodulatore Coerente SSB con Tono Pilota
La fattorizzazione del denominatore comune ad entrambe le f.d.t.
1− 2rz−1cos[ωcT ] + r2z−2 = (1− rejωcT z−1)(1− re−jωcT z−1) (1.62)
ci informa che i filtri presentano due poli a z = re±jωcT . Il parametro r e un
numero poco minore di 1 e controlla la larghezza di banda del filtro.
Dal pre-inviluppo, precedentemente calcolato, si passa all’inviluppo comp-
lesso attraverso il prodotto con la portante in fase e in quadratura. Infine la
parte reale del segnale demodulato fornisce il segnale di uscita a(nT ).
La risposta in frequenza delle f.d.t. dei filtri utilizzati, si ottiene sostituendo
in (1.61) z = ejωT .
{BI(z = ejωT ) = (1− r) 1−r[ej(ωc−ω)T +e−j(ωc+ω)T ]/2
(1−rej(ωc−ω)T )(1−re−j(ωc+ω)T )= BI(ω)
BQ(z = ejωT ) = (1− r) r[ej(ωc−ω)T−e−j(ωc+ω)T ]/2j
(1−rej(ωc−ω)T )(1−re−j(ωc+ω)T )= BQ(ω)
(1.63)
La risposta in frequenza per ω → ωc puo essere approssimata come: BI(ωc) =1− r
2[1+e−j2ωcT ]
1−re−j2ωcT
BQ(ωc) =r2j
[1−e−j2ωcT ]
1−re−j2ωcT
(1.64)
1.3 Modulazione SSB-AM 21
Figura 1.14: Caratteristica di ampiezza dei BPF per l’estrazione del tono pilota
in fase e in quadratura al variare di r
Se inoltre r ≈ 1 (condizione ideale) si ha:{BI(ωc)|r≈1 ≈ 0.5
BQ(ωc)|≈1 ≈ 0.5j(1.65)
Per valori di r molto vicini a 1 il guadagno interno dei due filtri diviene
elevato. Se questi filtri sono implementati su DSP, si possono verificare mal-
funzionamenti dovuti a overflow. Il progetto di questi due filtri e un punto
chiave per quanto riguarda la realizzazione del demodualtore con tono pilota.
In Figura 1.14 sono riportate le funzioni di trasferimento dei due filtri che es-
traggono la portante in fase e in quadratura. In ogni uno dei due grafici sono
state riportate diverse curve che corrispondo a diversi valore del parametro
r. Quando r tende a 1 il guadagno alla pulsazione ωc tende ad essere molto
grande. Durante la fase di progetto di questi due filtri occorre cercare un
giusto compromesso tra la larghezza di banda e il guadagno a pulsazione ωc,
al fine di evitare over flow del DSP che li realizza.
22 Modulazione di Ampiezza
Capitolo 2
Modulazione di Frequenza
La modulazione di frequenza (FM) e stata introdotta in seguito alla modu-
lazione AM allo scopo di garantire maggior immunita ai disturbi. Oltre ad es-
sere utilizzata nell’ambito della diffusione radio commerciale, la modulazione
FM e ampiamente utilizzata in ambito televisivo, per le comunicazione via
satellite e per la trasmissione di dati digitali.
In questo capitolo sono riportati i concetti di base della modulazione e demod-
ulazione FM e alcune note per l’implementazione di algoritmi in linguaggio
C e ASM su dispositivi DSP.
2.1 Segnale FM e sue proprieta
Un segnale modulato in frequenza si ottiene quando l’andamento del segnale
in banda base (segnale modulante) modifica la frequenza istantanea del se-
gnale portante. D’ora in avanti faremo riferimento ad un segnale portante
monocromatico esprimibile come:
sc = Ac · cos(ωct+ θ0) = Ac · cos(θ(t)) (2.1)
Il nostro scopo e ora quello di legare la frequenza istantanea del segnale mod-
ulato all’andamento del segnale modulante, m(t). La pulsazione istantanea
del segnale modulato e definita come:
ω(t) =d
dtθ(t) (2.2)
24 Modulazione di Frequenza
La modulazione viene effettuata secondo la seguente relazione:
ω(t) = ωc + k ·m(t) (2.3)
dove k e la sensivita in frequenza del modulatore. Dalla (2.2) si puo ricavare
θ(t) integrando la pulsazione istantanea e, tenuto presente la (2.3), si ottiene:
θ(t) =
∫ t
0
ω(τ)dτ = ωct+ θm(t) = ωct+ k
∫ t
0
m(τ)dτ (2.4)
Questa, sostituita nella 2.1 fornisce l’espressione generale di un segnale mod-
ulato in frequenza:
SFM(t) = Accos [ωct+ θm(t)] (2.5)
Pensando ora di dover realizzare la modulazione attraverso un DSP dis-
cretizziamo la (2.4). Ipotizzando quindi di lavorare con segnali campionati a
frequenza fs = 1/T , si ottiene:
θ(nT ) = ωcnT + θm(nT ) = ωcnT + kTn−1∑i=0
m(iT ) (2.6)
Dove l’integrale di m(t) della (2.4) e stato sostituito da una sommatoria. Per
realizzare efficacemente il modulatore FM con un DSP e opportuno notare
che il valore di θ(nT ) all’istante nT e legato al valore di θ(nT −T ) all’istante
(n-1)T. Per dimostrare questo scriviamo l’espressione di θ all’istante (n-1)T:
θ(nT − T ) = ωc(nT − T ) + kT
n−2∑i=0
m(iT ) (2.7)
Dalla differenza tra le due si ottiene la formula ricorsiva:
θ(nT ) = θ(nT − T ) + ωcT + kTm(nT − T ) (2.8)
Concludendo, l’espressione del segnale modulato e:
SFM = Accos[θ(nT − T ) + ωcT + kTm(nT − T )] (2.9)
La (2.9) chiarisce come sia possibile realizzare all’interno di un DSP un
modulatore FM.
2.1 Segnale FM e sue proprieta 25
2.1.1 Modulazione a Singolo Tono
Ipotizzando che il segnale modulante sia di tipo sinusoidale1,m(t) = Amcos[ωmt],
si ottiene la seguente espressione del segnale FM:
SFM(t) = Accos
[ωct+ k
∫ t
0
Amcos[ωmτ ]dτ
]= Accos [ωct+ µsin[ωmt]]
(2.10)
Dove e stato introdotto il parametro chiamato indice di modulazione µ defini-
to come:
µ =kAm
ωm
=∆f
fm
=Massima Deviazione Di Frequenza
Frequenza Modulante(2.11)
Sotto queste ipotesi si parla di modulazione a tono singolo. Un esempio di
forme d’onda per µ = 5, fc = 1Khz,fm = 100Hz e mostrato in Figura 2.1 .
Figura 2.1: Modulazione di frequenza: forme d’onda.
Sotto le ipotesi illustrate, e possibile dimostrare che il segnale espresso
dalla (2.10) puo essere sviluppato come:
SFM(t) = Ac ·∞∑
n=−∞
Jn(µ) cos [(ωc + n · ωm)t] (2.12)
1Ipotizzare il segnale modulante sinusoidale e sempre lecito. Infatti, qualsiasi segnale
periodico puo essere sviluppato in serie di Fourier, cioe in una somma di contributi sinu-
soidali. Quando il segnale modulante e una cosinusoide semplice si parla di modulazione
a singolo tono (Single Tone Modulation)
26 Modulazione di Frequenza
dove Jn(µ) rappresenta la funzione di Bessel di ordine n. Come si intuisce
dalla (2.12) il segnale FM ha componenti spettrali sull’intero asse delle fre-
quenze {ωc+n·ωm;n = −∞, · · · ,∞}. Inoltre lo spettro e funzione dell’indice
di modulazione µ.
2.1.2 Occupazione di Banda del Segnale FM
In generale non esiste una formula per il calcolo dell’occupazione di banda
di un segnale FM. Per una stima approssimata si utilizza spessa la seguente
relazione nota come furmula di Carson:
BFM ≈ 2(4f + fm) [Hz] (2.13)
dove 4f e la massima deviazione di frequenza e fm e la frequenza della
massima armonica significativa del segnale modulante.
2.2 Demodulazione FM non Coerente con Dis-
criminatore di Frequenza
In linea di principio la demodulazione di un segnale FM con discriminatore
di frequenza avviene come mostrato in Figura 2.2 . Il segnale FM, come
FMS m(t)SegnaleAM DI INVILUPPO
RIVELATORE
fc f
|G(f)|
Figura 2.2: Discriminatore di frequenza
detto, varia la sua frequenza istantanea al variare dell’ampiezza del segna-
le modulante. Quando il segnale FM transita in un filtro passa-basso con
opportuna frequenza di taglio, si ottiene in uscita un segnale AM. AffinchE
cio accada e necessario che nell’intervallo di frequenze occupate dalla banda
di transizione del filtro utilizzato, sia contenuto quasi tutto lo spettro del
segnale FM e che l’andamento in banda di transizione sia lineare. In questo
modo, visto che all’interno della banda di transizione del filtro la caratteris-
tica di ampiezza e proporzionale alla frequenza e il segnale FM varia la sua
2.3 Demodulatore FM con PLL 27
frequenza al variare dell’ampiezza del segnale modulante, in uscita si ottiene
un segnale AM. A questo punto si utilizza un rivelatore di inviluppo per
estrappolare dal segnale AM il segnale modulante m(t). Per ottenere un se-
gnale demodulato poco distorto, e auspicabile che nella banda di transizione
del filtro utilizzato (chiamato anche filtro discriminatore) la caratteristica di
ampiezza sia perfettamente lineare. Inoltre, vista la simmetria dello spettro
FM rispetto a fc, e opportuno che la frequenza centrale della banda di tran-
sizione sia circa uguale alla frequenza della portante non modulata. Questa
tecnica di demodulazione, nonostante sia realizzabile tramite DSP, si presta
maggiormente ad essere utilizzata in sistemi analogici. Per la realizzazione
digitale della demodulazione con discirminatore di frequenza si utilizzano
tecniche piu performanti basate sul pre-inviluppo analitico del segnale FM e
la trasformata di Hilbert.
2.2.1 Discriminatore con Pre-Inviluppo
Sotto opportune ipotesi, generalmente soddisfatte, si dimostra che il pre-
inviluppo del segnale FM si esprime come (1.6, 1.7):
SFM+(t) = SFM(t) + jSFM(t) = Acej[ωct+θm(t)] (2.14)
l’argomento di questo numero complesso, variabile nel tempo, e dato da:
ϕ(t) = ArcTan
[SFM
SFM
]= ωct+ θm(t) (2.15)
derivando rispetto al tempo l’espressione precedente, e ricordando la (2.3,
2.4) si ottiene:d
dtϕ(t) = ωc + km(t) = ω(t) (2.16)
L’intero demodulatore puo essere realizzato come riporta lo schema a blocchi
di Figura 2.3
2.3 Demodulatore FM con PLL
La demodulazione del segnale modulato FM puo essere effettuata anche uti-
lizzando un dispositivo chiamato phase-locked loop (PLL). In Figura 2.4 e ri-
28 Modulazione di Frequenza
/
*
RangeAdjstment
Figura 2.3: Discriminatore di frequenza con trasformata di Hilbert
portato lo schema a blocchi di una versione tempo-discreta di tale dispositivo.
-j sign(ω) x atan(y,x)s(nT)
α
β 1-z-1
+Phase Detector
θm-θ1
q(nT)
(nT)σ
y(nT)
KvT
Loop Filter H(z)
+z-1e-j(∙)
ωcT
(nT) Φ
Voltage Control Oscillator (VCO)
e-j (nT)Φ = e-j(ωcnT+θ1)
Figura 2.4: Demodulatore FM con PLL
L’espressione tempo-discreta del segnale di ingresso al PLL si ricava a
partire dalla (2.9):
SFM(nT ) = Accos[ωcnT + θm(nT )] (2.17)
Si calcola il pre-inviluppo di tale segnale:
SFM+(nT ) = SFM(nT ) + jSFM(nT ) = Acej[ωcnT+θm(nT )] (2.18)
2.3 Demodulatore FM con PLL 29
Il pre-inviluppo si moltiplica per l’uscita del blocco VCO. Facendo riferimento
a quanto riportato nella Figura 2.4, l’uscita del moltiplicatore e data da
p(nT ) = Acej[θm(nT )−θ1(nT )] (2.19)
dove θm(nT ) rappresenta la fase del segnale FM di ingresso al PLL mentre
θ1(nT ) rappresenta la fase del segnale in uscita al VCO. L’errore di fase puo
essere calcolato come segue:
θm(nT )− θ1(nT ) = arctan
[Im{p(nT )}Re{p(nT )}
](2.20)
Per il calcolo dell’arcotangente si deve utilizzare l’algoritmo, cosiddetto, a
quattro quadranti che fornisce angoli appartenente all’intervallo [−π, π]. Il
blocco composto dal moltiplicatore e dalla funzione arcotangente e chiamato
phase detector.
L’uscita del phase detector diviene il segnale di ingresso del loop filter
descritto dalla seguente funzione di trasferimento tempo discreta:
H(z) = α+β
1− z−1= (α+ β)
1− αα+β
z−1
1− z−1(2.21)
L’uscita del loop filter consente al blocco VCO di generare localmente la
frequenza portante con errore a regime nullo.
Lo studio del demodulatore FM con PLL e simile a quello visto nel capi-
tolo precedente a proposito del ciclo di Costas. Utilizzando la trasformata
Z e supponendo θ12 costante o lentamente variabile si ha:
Y (z) =
[β
1− z−1+ α
][Θm(z)−Θ1] (2.22)
=α+ β − αz−1
1− z−1[Θm(z)−Θ1]
= (α+ β)1− α
α+βz−1
1− z−1[Θm(z)−Θ1]
antitrasformando si ottiene
y(nT ) = y(nT − T ) + (α+ β)q(nT )− α
α+ βq(nT ) (2.23)
2La grandezze θ1 ha lo stesso significato gia visto a proposito del demodulatore AM
con Ciclo di Costas. Nel caso in cui ci sia una differenza tra la pulsazione nominale della
portante e quella generata localmente θ1 = 4ωnT + γ
30 Modulazione di Frequenza
dove q(nT ) = [θm − θ1](nT ). La fase del segnale all’interno del blocco VCO,
indicata con Φ(nT ), si puo esprimere come:
Φ((n+ 1)T ) = Φ(nT ) + ωcT +KvTy(nT ) (2.24)
Un’espressione alternativa per Φ(nT ) puo essere ottenuta considerando che:
Σ(z) =β
1− z−1Q(z) =⇒ σ(nT ) = σ(nT − T ) + βq(nT ) (2.25)
da cui si ricava
σ(nT ) = βq(nT ) + βn−1∑k=0
q(kT ) (2.26)
Infine, considerando che dalla (2.22) si puo esprimere Y (z) = Σ(z) + αQ(z),
si ottiene:
y(nT ) = (α+ β)q(nT ) + βn−1∑k=0
q(kT ) (2.27)
sostituendo ora nella (2.24) si ricava:
Φ((n+ 1)T ) = (2.28)
= Φ(nT ) + ωcT +KvT
[(α+ β)q(nT ) + β
n−1∑k=0
q(kT )
]
= ωcnT +KvT
[(α+ β)
n∑k=0
q(kT ) + βn−1∑l=0
l∑k=0
q(kT )
]︸ ︷︷ ︸
Φ0
= ωcnT + Φ0
Da tutte le equazioni viste fino a questo punto non e evidente quale sia
l’espressione del segnale y(nT) e se questo effettivamente coincide con il se-
gnale modulante. Per ricavare un’espressione semplice del segnale di uscita,
linearizziamo il blocco PLL in modo tale da poterlo studiare tramite le fun-
zioni di trasferimento. In questo caso la non linearita risiede nella funzione
arcotangente. Trascurando le discontinuita di questa funzione, il PLL puo
essere rappresentato da un modello lineare come mostrato in Figura 2.5.
Analizzando lo schema a blocchi e utilizzando la trasformata Z si ha:
Y (z) = H(z) [Θm(z)−Θ1(z)] (2.29)
2.3 Demodulatore FM con PLL 31
+ α
β1-z-1
+
KvT+z-1
+
-
θm
θ1
θm-θ1
yL(z)
y(z)θm(z)
Figura 2.5: Modello Linere del PLL
dove H(z) = α+β−αz−1
1−z−1 rappresenta la f.d.t. del loop filter. Inoltre si ha:
Θ1(z) = z−1 [Θ1(z) +KvTY (z)] ⇒[1− z−1
]Θ1(z) = KvTY (z)z−1 (2.30)
Dalla (2.29) e (2.30) si ottiene:
Y (z) = H(z)
[Θm(z)−KvTY (z)
z−1
1− z−1
](2.31)
per cui la funzione di trasferimento ad anello chiuso del PLL linearizzato
risulta essere:
L(z) =H(z)
1 +H(z)KvTz−1
1−z−1
=Y (z)
Θm(z)(2.32)
=(α+ β − αz−1)(1− z−1)
1− [2− (α+ β)KvT ] z−1 + (1− αKvT )z−2
Per frequenze basse, dove z ≈ 1 l’espressione di L(z) si puo approssimare
come segue:
L(z) ≈z→1β(1− z−1)
1− 2 + (α+ β)KvT + 1− αKvT=
1− z−1
KvT(2.33)
per cui la trasformata Z del segnale di uscita al PLL e:
Y (z) ≈ 1− z−1
KvTΘm(z) (2.34)
che nel dominio del tempo fornisce:
y(nT ) ≈ θm(nT )− θm(nT − T )
KvT(2.35)
32 Modulazione di Frequenza
Ricordando ora che la fase del segnale modulato θm(nT ) =∑n−1
k=0 m(kT ) si
ottiene:
y(nT ) ≈ k
kv
m(nT ) (2.36)
dove si ricorda che k rappresenta la sensitivita in frequenza del modulatore
FM.
Da quest’ultima espressione del segnale di uscita, si desume che il PLL si
comporta come un demodulatore FM per basse frequenze.
Capitolo 3
Modulazione PAM.
La modulazione PAM permette di trasmettere dati digitali in banda base. I
simboli contenenti l’informazione vengono trasmessi in istanti uniformemente
spaziati; l’informazione e contenuta nell’ampiezza del segnale.
Il diagramma a blocchi di un sistema PAM e rappresentato in figura 3.1:
La sequenza di dati digitali da trasmettere viene scomposta in gruppi di J
Receiver
(t)ν
J
J−bit words
2 levelsto
QuantizerAdaptive
EqualizerADCand
SamplerReceive
G ( )ωR
Filter
ωC( )
Channel
Frequency Response
ImpulseModulator
Channel Model
Parallel toserial
Converter
1
τ
d i
^0
n
nay(nT)x(nT + )x(t)
r(t)
s(t)s*(t)a
J1
J
id
Transmitter
Serial toparallel
ConverterJ
2 levelsto
J−bit words
Symbol ClockRecovery
G ( )ωT
FilterTransmit
Figura 3.1: Schema a blocchi di un sitema PAM.
bit da un converitore seriale parallelo che fornisce in uscita una sequenza di
34 Modulazione PAM.
simboli generati a intervalli regolari T = 1/fs, fs e detta frequenza di simbolo
e viene generalmente misurata in baud.
I simboli sono generalmente scelti tra un alfabeto diM = 2J livelli di tensione
li equispaziati di 2d:
li = d · (2i− 1) (3.1)
con i = −M2
+ 1, . . . , 0, . . . , M2
, dunque −(M − 1)d ≤ li ≤ (M − 1)d.
E comodo rappresentare la sequenza dei simboli per mezzo di un treno di
impulsi di Dirac:
s∗(t) =inf∑
k=− inf
akδ(t− kT ) (3.2)
Il filtro di trasmissione limita poi la banda del segnale per adattarlo al canale:
s(t) =inf∑
k=− inf
akgT (t− kT ) (3.3)
La combinazione dell’Impulse Modulator e del filtro rappresenta in pratica
un convertitore digitale-analogico seguito da un filtro passa-basso.
Nelle esercitazioni il canale viene modellato come un filtro lineare tempo-
invariante con risposta in frequenza C(ω) seguito da una sorgente di rumore
gaussiano bianco additivo. In ricezione e presente un ulteriore filtro, nel com-
plesso la sequenza dei filtri prende il nome di Baseband shaping filter e ha
funzione di trasferimento:
G(ω) = GT (ω)C(ω)GR(ω) (3.4)
La risposta all’impulso sara:
g(t) = gT (t) ∗ c(t) ∗ gR(t) = F−1{G(ω)} (3.5)
L’uscita del filtro di ricezione sara dunque:
x(t) =inf∑
k=− inf
akg(t− kT ) + v(t) ∗ gR(t) (3.6)
35
Assumiamo che il contributo del rumore sia nullo, se la risposta combinata
dei filtri fosse tale che:
g(nT ) = δn,0 =
{1 per n = 0
0 altrimenti
allora x(t) calcolata in nT conterrebbe solo il contributo del simbolo an, in
tal caso si dice che il sistema non presenta Interferenza Intersimbolo (ISI).
Nel caso in cui questo non accada contributi provenienti dai simboli adiacenti
andranno a sovrapporsi al segnale utile, dando luogo a una interferenza.
Esiste un numero infinito di filtri che soddisfa la condizione di assenza di
ISI, fra questi molto usato e il filtro a coseno rialzato:
G(ω) =
T |ω| ≤ (1− α)ωs
2
T2
{1− sin
[T2α
(|ω| − ωs
2)]}
(1− α)ωs
2≤ |ω| ≤ (1 + α)ωs
2
0 altrimenti
Si puo dimostrare che la risposta impulsiva corrispondente risulta:
g(t) =sin
(ωs
2t)
ωs
2t
cos(αωs
2t)
1− 4(
αtT
)2 (3.7)
0 ≤ α ≤ 1 e detto fattore di roll-off. Per α = 0:
G(ω) =
{T |ω| ≤ ωs
2
0 altrimenti
Il filtro e un LPF ideale.
Per α = 1:
G(ω) =
T2
{1− sin
[T2(|ω| − ωs
2)]}
0 ≤ |ω| ≤ ωs
0 altrimenti
La risposta in frequenza decade con un andamento di tipo seno.
Ipotizzando che il canale abbia risposta piatta, si puo dividere G(ω) tra i
36 Modulazione PAM.
filtri di trasmissione e ricezione:
|GT (ω)| = |GR(ω)| =√|G(ω)| (3.8)
I due filtri vengono ora chiamati a radice di coseno rialzato.
In assenza di rumore l’uscita del filtro puo essere scritta anche come:
x(nT ) =inf∑
k=− inf
akg(nT −kT ) = g(0)
[an +
inf∑k=− inf,k 6=n
akg(nT − kT )
g(0)
](3.9)
Il secondo termine tra parentesi quadre costituisce l’ISI. Quando questo ter-
mine supera d il simbolo trasmesso viene ricevuto in maniera errata.
Il caso peggiore si ha ovviamente quando gli ak sono massimi in modulo e
hanno lo stesso segno di g(nT − kT ), in tal caso il temrine di ISI diviene:
D = (M−1)dinf∑
k=− inf,k 6=n
∣∣∣∣g(nT − kT )
g(0)
∣∣∣∣ = (M−1)dinf∑
k=− inf,k 6=0
∣∣∣∣g(kT )
g(0)
∣∣∣∣ (3.10)
La chiusura del diagramma ad occhio e definita allora come:
η =D
d= (M − 1)
inf∑k=− inf,k 6=0
∣∣∣∣g(kT )
g(0)
∣∣∣∣ (3.11)
Quando η < 1 si dice che l’occhio e aperto.
Capitolo 4
Modulazione QAM
La modulazione QAM (Quadrature Amplitide Modulation) E largamente uti-
lizzata come metodo di trasmissione digitale su canali passa-banda.Tutte le
linee telefoniche odierne basate sugli standard V.xx usano la modulazione
QAM. Un esempio potrebbe essere quello dello standard V.90 utilizzato dai
modem per accedere alla rete internet tramite la linea telefonica.
4.1 Tramettitore QAM
Lo schema a blocchi di un trasmettitore QAM E riportato in Figura 4.1.
L’ingresso del trasmettitore E uno stream di bit seriali dn aventi una bit rate
pari a Rd bps. Il convertitore seriale/parallelo raggruppa un insieme di J
bits ricevuti serialmente in una singola parola di J bits che viene usata per
selezionare un simbolo da una tabella di 2J elementi. La symbol rate sara
dunque pari a fs = Rd/J . Gli elementi della tabella sono coppie di nu-
meri reali che vengono rappresentati da un punto nello spazio 2-D. L’insieme
di tutti gli elementi della tabella rappresentato su un piano bidimensionale
prende il nome di diagramma di costellazione. Per comodita di notazione il
piano bidimensionale viene fatto corrispondere al piano complesso; in questo
modo ogni simbolo E rappresentato da un numero complesso cn = an + jbn.
La parte reale di cn E indicata come componente in fase (I) mentre la parte
immaginaria di cn come componente in quadratura (Q).
La componente in fase e in quadratura sono poi modulate con tecnica
38 Modulazione QAM
d
OscillatorLocal
MapperConstellation
ConverterParallel
Serial ton
s(t)
cω
cω
cos ( t)
sin ( t)
b(t)
a(t)
b*(t)
a*(t)
n
n
b
a
J1
Tg (t)Filter
Transmit
Tg (t)Filter
Transmit
ImpulseModulator
ImpulseModulator
Figura 4.1: Trasmettitore QAM
PAM fornendo:
a(t) =∞∑
k=−∞
akgT (t− kT ) (4.1)
b(t) =∞∑
k=−∞
bkgT (t− kT )
Questi segnali sono ancora in banda base, per trasferirli nell’intorno una
frequenza portante si usa una modulazione a prodotto ottenendo:
s(t) = a(t)cos[ωct]− b(t)sin[ωct] (4.2)
dove ωc deve essere maggiore della frequenza di taglio del filtro descritto dalla
risposta impulsiva gT (t).
Il modulatore QAM puo essere rappresentato in maniera compatta uti-
lizzando la trasformata di Hilbert. Si puo dimostrare che il pre-inviluppo del
segnale QAM E:
s+(t) = s(t) + js(t) = [a(t) + jb(t)]ejωct (4.3)
per cui il segnale QAM puo essere espresso anche come:
s(t) = Re{s+(t)} = Re{[a(t) + jb(t)]ejωct} (4.4)
4.2 Esempi di Costellazione 39
L’inviluppo complesso di s(t) risulta essere:
s(t) = s+(t)e−jωct = a(t) + jb(t) (4.5)
Prendendo in considerazione la (4.3) e la (4.1) si ottiene:
s+(t) =∞∑
k=−∞
(ak + jbk)gT (t− kT )ejωct =∞∑
k=−∞
ckgT (t− kT )ejωct (4.6)
Quindi, il modulatore QAM puo essere rappresentato come mostrato in Figu-
ra 4.2.
FilterTransmit
( )Res(t)
ej tωc
a
b
c*(t) s(t) ~s (t)n
nModulatorImpulse
Figura 4.2: Realizzazione del Modulatore QAM utilizzando la Trasformata di
Hilbert
4.2 Esempi di Costellazione
4.2.1 Costellazione a 16 punti
La Figura 4.3 mostra una costellazione a 16 punti, cioE con J = 4 e 2 simboli
in uscita. Questa costellazione, se unita alla codifica differenziale dei punti
introdotta in seguito, risulta invariante per rotazioni di 90 gradi. Questo
significa che una rotazione di 90 gradi della costellazione fornisce in uscita
lo stesso insieme di punti. Poiche uno sfasamento di 90 gradi della portante
(da ωct a ωct+π/2) ha l’effetto di moltiplicare la costellazione per j, e quindi
di ruotarla di 90 gradi, questa costellazione risulta invariante per sfasamenti
della portante di 90 gradi.
La codifica differenziale dei bit di ingresso si realizza utilizzando lo schema
di Figura 4.4. In ingresso e stato aggiunto anche uno scrambler che nel caso
40 Modulazione QAM
1010
1011 1001
1000
1110 1111
1100 1101
0001 0000
0011 0010
0100 0110
0101 0111
1
1
3
3
−1
−3
−3 −1
QUAD
IN−PHASE
Figura 4.3: Costellazione QAM a 16 punti
dei modem con standard V.22 bis implementa la seguente operazione lineare:
qi = di ⊕ qi−14 ⊕ qi−17 (4.7)
Lo scrambler si utilizza per evitare che in ingresso al codificatore si presentino
lunghe sequenze di bit a zero o a uno rendeno difficoltosa la ricostruzione
locale del tempo di simbolo.
L’uscita dello scrambler transita in un convertitore seriale/parallelo che
raggruppa i dati di ingresso in parole da 4-bits
(Q1n, Q2n, Q3n, Q4n) = (q4n, q4n+1, q4n+2, q4n+3) (4.8)
I primi due bit della parola individuano il cambiamento di quadrante rispetto
al simbolo precedente e quindi Q2n e Q1n vengono codificati in Y 2n e Y 1n
in base a Y 2n−1 e Y 1n−1 secondo quanto riportato in tabella 4.2.1. Questa
4.3 Demodulatore Ideale 41
ScramblerSerial to Parallel
Converter MappingTable
SymbolPointMap
D
D
dn qi
Q4n
Q3n
Q2n
Q1n
Y2n
Y1n
Differential Encoder
an
bn
Y1n-1
Y2n-1
Figura 4.4: Codifica differenziale
procedura, chiamata codifica differenziale, si implementa all’interno del DSP
utilizzando una look-up table.
I rimanenti due bit della parola (Q3n e Q4n) selezionano un punto nel
quadrante specificato. Ritornando alla Figura 4.3 si nota come i punti as-
sociati alle coppie di bit Q3n e Q4n non ruotano se la costellazione ruota
di 90o. Per cui utilizzando la codifica differenziale dei quadranti secondo
la tabella 4.2.1 e posizionando i gruppi di bit della costellazione in modo
opportuno si rende l’intero sistema invariante per rotazioni di 90o.
4.2.2 Costellazione a 4 Punti
Una costellazione a 4 punti si ottiene da quella appena vista selezionando
un qualunque sottoinsieme di punti. Un modo per rendere anche questa
costellazione invariante per rotazioni di 90o e porre la coppia di bit (Q3ne
Q4n) = (01) selezionando i punti {(1101), (1001), (0001), (0101)}. Questa
costellazione e anche detta 4PSK ed e usata nel modem V.22 bis e V.32.
4.3 Demodulatore Ideale
In questa sezione saranno descritti due demodulatori QAM ideali ipotizzando
che il ricevitore sia in grado di ricostruuire esattamente la frequenza della
portante e la frequenza di simbolo.
42 Modulazione QAM
Ingressi Uscite Precedenti Cambiamento Uscite
Q1n Q2n Y 1n−1 Y 2n−1 Quadrante Y 1n Y 2n
0 0 0 0 +90o 0 1
0 0 0 1 +90o 1 1
0 0 1 0 +90o 0 0
0 0 1 1 +90o 1 0
0 1 0 0 0o 0 0
0 1 0 1 0o 0 1
0 1 1 0 0o 1 0
0 1 1 1 0o 1 1
1 0 0 0 180o 1 1
1 0 0 1 180o 1 0
1 0 1 0 180o 0 1
1 0 1 1 180o 0 0
1 1 0 0 270o 1 0
1 1 0 1 270o 0 0
1 1 1 0 270o 1 1
1 1 1 1 270o 0 1
Tabella 4.1: Tavola di Mapping
Lo schema a blocchi di una prima realizzazione del demodulatore QAM
e riportata in Figura 4.5. Tenendo presente la (4.6) e la (4.5), si genera il
pre-inviluppo s+(t) da cui si ricava:
s(t) = s+(t)e−jωct =∞∑
k=−∞
(ak + jbk)g(t− kT ) (4.9)
se g(t) non presente interferenza intersimbolo (ISI) allora si ha:
s(nT ) = an + jbn (4.10)
Come gia visto nella modulazione PAM, la condizione per non avere ISI e:
g(nT ) = δn,0 =
{1 per n = 0
0 altrove(4.11)
4.4 ISI Diagramma ad Occhio 43
cω−j te
b(t)
a(t)
s(t)
s(t)r(t)
HilbertTransform
FilterReceive
Figura 4.5: Demodulatore QAM Tramite Inviluppo Complesso
La seconda realizzazione del demodulatore ideale e riportata in Figura 4.6.
E basata sulle (4.2) ed utilizza una coppia di demodulatori coerenti DSBSC-
AM. Ricordando che una possibile espressione del segnale modulato QAM
e
s(t) = a(t)cos[ωct]− b(t)sin[ωct] (4.12)
l’uscita del moltiplicatore del ramo superiore risulta essere
s(t) · 2cos[ωct] = a(t) + a(t)cos[2ωct]− b(t)sin[2ωct] (4.13)
le componenti indesiderate ad alta frequenza nell’intorno di 2ωc devono essere
eliminate dal filtro passa-basso di uscita F (ω). L’uscita del moltiplicatore del
ramo inferiore e
− s(t) · 2sin[ωct] = b(t)− b(t)cos[2ωct]− a(t)sin[2ωct] (4.14)
anche in questo il filtro passa-basso di uscita elimina le componenti indesider-
ate facendo transitare in uscita solo b(t).
4.4 ISI Diagramma ad Occhio
La tramissione digitale dei segnali presenta notevoli vantaggi rispetto a quel-
la analogica ma presenta anche qualche problematica. Una di queste e
l’interferenza intersimbolo o ISI (InterSymbol Interference).
L’ISI e quel fenomeno che si verifica quando al ricevitore giungono sovrap-
poste, parzialmente o totalmente, le forme d’onda di segnali elettrici emessi in
44 Modulazione QAM
ReceiveFilter
r(t)Oscillator
Local a(t)
b(t)
ωc− 2 sin ( t)
s(t)
F( )
FilterPost Detection
ω
F( )
FilterPost Detection
ω
2 cos ( t)ωc
Figura 4.6: Demodulatore QAM
tempi diversi e corrispondenti a bit successivi. A seconda del mezzo trasmis-
sivo impiegato per la trasmissione del segnale vi possono essere cause diverse
di ISI:
• ISI causata da percorsi multipli: Nelle trasmissioni radio e possibile
che il segnale modulato trasmesso subisca delle riflessioni per cui vi
sia, per esempio, un percorso diretto e uno o piu percorsi dovuti a
riflessioni. I segnali riflessi giungono al ricevitore in ritardo e possono
sovrapporsi a segnali diretti che trasportano bit successivi causando
cosı un’interferenza tra simboli adiacenti.
• ISI causata da distorsioni: Nella trasmissione guidata da linee il
mezzo trasmissivo introduce una distorsione, piu o meno grande, del
segnale che lo attraversa. Quello che si puo osservare visivamente dal
lato ricevitore e un allargamento degli impulsi di trasmissione teorica-
mente rettangolari. Se il tempo di bit e molto piccolo questa dilatazione
temporale degli impulsi puo causare interferenza tra simboli adiacenti.
Un metodo che permette di valutare visivamente la qualita di un segnale e
le visualizzazione del segnale ricevuto come diagramma ad occhio. In pratica,
e la rappresentazione visiva che si ottiene dalla sovrapposizione delle forme
d’onda associate ai bit che giungono al ricevitore e che si susseguono nel
tempo. Il risultato della sovrapposizione e una figura che assomiglia ad un
occhio e che si ripete ad ogni tempo di bit. In Figura 4.7 e riportato il
4.4 ISI Diagramma ad Occhio 45
diagramma ad occhio di un segnale modulato QAM da una sequenza di bit
random con 4 livelli di uscita (16-QAM). L’asse dei tempi si estende da
[−T/2, T/2] con T tempo di bit. L’asse delle ordinate riporta il livello del
segnale ricevuto. Dalla figura si nota che l’istante di campionamento ottimale
e a meta del tempo di bit. In questo caso i 4 simboli di uscita sono ben distinti
l’uno dall’altro.
Figura 4.7: Diagramma ad occhio di un segnale 16-QAM
In definitiva in un diagramma ad occhio:
• un occhio aperto sta a indicare una buona qualita del segnale ricevuto
(ISI piccola e S/N elevato) e quindi una bassa probabilita di errore
• un occhio chiuso sta a indicare una qualita scadente del segnale ricevuto
e cio comporta un’elevata probabilita di errore.
46 Modulazione QAM
Capitolo 5
Dual-Tone Multi-Frequency
Modulation (DTMF)
Questo tipo di modulazione e usata dagli apparecchi telefonici per trasmet-
tere alla centrale il numero telefonico composto dall’utente.
Si tratta di una modulazione MFSK (Multi-Frequency Shift Keying) in cui
ad ogni tasto corrisponde la sovrapposizione di due toni a frequenze tali da
identificare univocamente il tasto premuto.
Il tastierino e composto da una matrice 4x4 (anche se le utenze civili non
utilizzano l’ultima colonna) in cui ad ogni riga e associata una frequenza
compresa tra 697 e 941 Hz e ad ogni colonna una frequenza nell’intervallo
1209 - 1633 Hz.
1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D
Le frequenze sono scelte in modo tale che le armoniche e i prodotti di inter-
modulazione non si posizionino in corrispondenza di altri toni ammissibili,
compromettendo la corretta ricezione del segnale.
48 Dual-Tone Multi-Frequency Modulation (DTMF)
5.1 Demodulazione di segnali DTMF
Il modo piu diretto per effettuare una demodulazione di un segnale DTMF
e quello di ricostruire lo spettro del segnale ricevuto e verificare dove sono
localizzate le righe corrispondenti ai due toni sovrapposti.
In generale questo tipo di analisi viene effettuata per mezzo del calcolo della
Trasformata Discreta di Fourier (DFT) della sequenza x(n):
X(k) =N−1∑n=0
[x(n) · e
−j2πnkN
](5.1)
La complessita di calcolo puo essere ridotta mediante due algoritmi:
- Fast Fourier Transform (FFT)
- Algoritmo di Goertzel
5.1.1 Fast-Fourier-Transform (FFT)
L’algoritmo di FFT viene affrontato a lezione e dunque non verra ripreso. Si
ricorda solo che riduce progressivamente la complessita del calcolo spezzando
la sommatoria 5.1 in due sommatorie con un numero dimezzato di termini.
L’operazione viene ripetuta sino a quando dopo log2N passi restano N som-
matorie di un solo termine.
La complessita dell’algoritmo e N2log2(N) contro N2 per la DFT calcolata
secondo definizione.
Ogni operazione comporta un prodotto tra numeri complessi (4 prodotti re-
ali) e due somme complesse.
5.1.2 Algoritmo di Goertzel
Questo algoritmo consente di ottenere una riduzione di complessita in gene-
rale inferiore a quella ottenibile da una FFT, tuttavia risulta vantaggioso nel
caso sia necessario calcolare un numero ridotto di elementi della sequenza
5.1 Demodulazione di segnali DTMF 49
X(k), ossia se e richiesto di calcolare lo spettro del segnale in un ristretto set
di frequenze.
Detta WN = e−j2π/N l’algoritmo opera nel modo seguente a partire dalla
definizione di DFT:
X(k) =N−1∑n=0
[x(n) · e
−j2πnkN
](5.2)
=N−1∑n=0
[x(n) · 1 ·W nk
N
]=
N−1∑n=0
[x(n) ·W−Nk
N ·W nkN
]=
N−1∑n=0
[x(n) ·W (N−n)(−k)
N
]=
(((W−k
N x(0) + x(1))W−k
N + x(2))W−k
N + . . .+ x(N − 1))W−k
N
Considerando l’equazione:
y(n) = W−kN y(n− 1) + x(n) (5.3)
con y(−1) = 0, abbiamo una relazione ricorsiva per il calcolo di X(k), che
risulta uguale a y(n) calcolata in N − 1.
Passando alle trasformate z:
Y (z) = W−kN · Y (z)z−1 +X(z) (5.4)
La funzione di trasferimento tra le trasformate z delle sequenze x(n) e y(n)
sara semplicemente:
H(z) =Y (z)
X(z)=
1
1−W−kN z−1
(5.5)
50 Dual-Tone Multi-Frequency Modulation (DTMF)
Moltiplicando numeratore e denominatore per 1−W kNz
−1 si ottiene:
H(z) =1−W k
Nz−1
1−(W−k
N +W kN
)︸ ︷︷ ︸
2·cos(2πk/N)
z−1 + z−2(5.6)
L’operazione viene svolta dal filtro IIR del second’ordine di figura.
Si osserva che in realta non siamo interessati al calcolo di y(n) per ogni n ma
Z−1
x[n] y[n]q [n]
q [n]1
0
q [n]2
Z−1
−1
ωk2cos( ) −WN
K
Figura 5.1: Schema del’IIR che realizza l’algoritmo di Goertzel.
solo per n = N − 1.
Dunque per n = [0, 1, . . . , N − 2] deve essere calcolata dal DSP solo la parte
ricorsiva del grafo (cioe la sinistra) che comporta solo un prodotto tra un
reale e un complesso (due moltiplicazioni reali). Questo e il motivo per cui
H(z) e stata elaborata in modo da ottenere un denominatore a coefficienti
reali.
Complessivamente, per ogni elemento X(k) della sequenza della DFT calco-
lato con l’algoritmo di Goertzel, sono necessari 2N+4 prodotti reali e 4N−2
somme.
Per ogni elemento della DFT calcolata secondo definizione sono necessari 4N
prodotti e 2N −2 somme reali; se si considera dominante il costo dei prodot-
ti su quello delle somme l’algoritmo di Goertzel riduce la complessita di un
fattore che si avvicina a 2. Nel complesso comunque, per il calcolo dell’in-
5.2 Demodulazione DTMF in MATLAB. 51
tera sequenza X(k) con k = 0, . . . , N − 1 la complessita resta dell’ordine di
O(N2), dunque superiore a quella della FFT.
Il vantaggio di questo algoritmo risiede nel fatto che, mentre la FFT calcola
sempre tutta la sequenza di uscita, qui e possibile calcolare solo gli elementi
richiesti.
La demodulazione di un segnale DTMF richiede ad esempio di individuare
solo 8 possibili frequenze, di conseguenza puo risultare piu efficiente di una
FFT.
5.2 Demodulazione DTMF in MATLAB.
%-------------------
%DTMF Demodulation
%-------------------
clear all;
Npoint = 400; %Numero di campioni
fs = 8e3; %Frequenza di campionamento
fr = [697,770,852,941];
fc = [1209,1336,1477,1633];
fr_in = fr(3); %Toni di ingresso
fc_in = fc(2);
for n = 1:Npoint
x(n) = cos(2*pi*fr_in/fs*n) + cos(2*pi*fc_in/fs*n); %Sequenza di ingresso
end;
res = fs / Npoint; %Risoluzione in frequenza DFT
52 Dual-Tone Multi-Frequency Modulation (DTMF)
nr = round(fr/res); %Campioni di uscita corrispondenti
nc = round(fc/res); %alle frequenze di interesse
for j = 1:4
on_row(j) = abs(compute_goertzel(x,nr(j))); %Calcolo DFT nei punti
on_col(j) = abs(compute_goertzel(x,nc(j))); %richiesti
end;
[mr, max_r] = max(on_row); %Individuazione coeffi-
[mc, max_c] = max(on_col); %cienti massimi
fprintf(1, ’Riga: %d, colonna %d’, max_r, max_c); %Stampa risultato
Funzione di calcolo DFT.
%----------------------
% Goertzel’s Algorithm
%----------------------
function y = compute_goertzel(x,k)
pi = 3.141592654;
Npoint = length(x); % Numero di punti
WN = exp(-i*2*pi/Npoint); % Twiddle Factor
5.2 Demodulazione DTMF in MATLAB. 53
q0(1) = x(1); % Inizializzazione
q1(1) = 0; % variabili di stato
q2(1) = 0;
for n = 2:Npoint
q1(n) = q0(n-1); %Aggiornamento
q2(n) = q1(n-1); %variabili di stato
q0(n) = x(n) + q1(n) * 2*cos(2*pi*k/Npoint) - q2(n);
end;
y = q0(n) - WN^(k) * q1(n); %Calcolo uscita
54 Dual-Tone Multi-Frequency Modulation (DTMF)
Capitolo 6
Filtraggio adattativo
Nelle modulazioni digitali, il filtraggio adattativo ha lo scopo di eliminare
l’interferenza intersimbolo introdotta da distorsioni in ampiezza e fase del
segnale da parte del canale. Nei casi pratici la risposta in frequenza del
canale non e nota a priori con esattezza e dunque l’eliminazione dell’ISI non
puo avvenire per mezzo di filtri di ricezione aventi coefficienti costanti come
quelli a coseno rialzato. Viene dunque inserito un filtro aggiuntivo i cui co-
efficienti vengono adattati al canale mediante algoritmi tra cui studieremo i
seguenti:
- Least Mean Square (LMS).
- Recursive Least Square (RLS).
6.1 Complex Cross-Coupled Passband Adap-
tive Equalizer
Analizziamo in primo luogo lo schema del filtro applicato al demodulatore
QAM di figura 6.1, l’algoritmo di aggiornamento dei coefficienti verra preso
in considerazione in seguito.
Questo tipo di filtro e un FIR che opera sui campioni del preinviluppo del
segnale presi a frequenza f1 = n1 · fs dove fs = 1/T e la symbol rate; per
56 Filtraggio adattativo
Hilbert+(nT)
(nT)
ε
ε
+ nc
Slicer
FilterReceive
ADC
(nT)σ
Equalizer
Adaptive+ 0r (nT )
eφn
j
n−jφ
e
IdealReference
0r (t)
r (nT )0
Figura 6.1: Schema di un ricevitore QAM semplificato con filtraggio adattativo.
questo motivo questa soluzione e detta fractionally spaced equalizer.
La banda del preinviluppo QAM, grazie al filtro a coseno rialzato, e confinata
−1/ nZ 1
(nT)+σ SamplerDown
1(nT/n )+r
N−1210 hhhh
1−1/ n
Z1−1/ n
Z
Figura 6.2: Complex Cross-Coupled Passband Adaptive Equalizer. I blocchi
z−1/n1 introducono un ritardo di T/n1
nell’intervallo [fc − 0.5(1 + α)fs ≤ f ≤ fc + 0.5(1 + α)fs] con fc frequenza
della portante e α fattore di roll-off; la banda del segnale in ingresso al filtro
addattativo e dunque (1 + α)fs. Poiche 0 ≤ α ≤ 1, n1 deve essere maggiore
o uguale a 2 per essere certi dell’assenza di fenomeni di aliasing.
L’uscita del FIR agli istanti nT/n1 sara, detti hk i coefficienti (complessi)
del filtro:
6.2 Algoritmo LMS 57
σ+(nT/n1) =N−1∑k=0
hkr+[(n− k)T/n1] (6.1)
L’uscita dell’equalizzatore viene decimata poiche i campioni devono essere
elaborati dagli stadi successivi con cadenza di uno per ogni periodo di sim-
bolo; sostituendo dunque n con nn1 si ottiene:
σ+(nT ) =N−1∑k=0
hkr+[nT − kT/n1] (6.2)
6.2 Algoritmo LMS
Verra ora descritto un primo algoritmo che permette l’aggiornamento dei co-
efficienti (o taps) del FIR per rendere efficace la rimozione del’interferenza
intersimbolo introdotta dal canale. Lo stadio successivo al filtro nel demo-
dulatore effettua la traslazione del segnale in banda base, ipotizzando che la
fase della portante ricostruita localmente sia esatta, i campioni demodulati
saranno:
σ(nT ) = σ+(nT )e−jφn (6.3)
Lo scopo del filtro equalizzatore e quello di rendere i campioni in uscita al
demodulatore il piu possibile simili a una versione ritardata cn−nddella se-
quenza trasmessa; se il canale fosse ideale sarebbe ovviamente hnd= 1 e gli
altri coefficienti nulli.
Il simbolo corrispondente al coefficiente nd-esimo e considerato il simbolo
corrente; solitamente nd viene scelto in prossimita del centro della linea di
ritardo dell’equalizzatore. La posizione ottima dipende dal canale, per canali
di tipo telefonico si e visto sperimentalmente che conviene scegliere nd piu
prossimo a N − 1 che non a 0.
Un metodo per ottimizzare i valori dei tap e quello di sceglierli in modo
da minimizzare l’errore quadratico medio; l’errore istantaneo del segnale e:
58 Filtraggio adattativo
- passabasso: ε(nT ) = cn−nd− σ(nT )
- passabanda: ε+(nT ) = ε(nT )ejφn = cn−ndejφn − σ+(nT )
L’errore quadratico medio che vogliamo minimizzare sara:
Λ = E{|ε(nT )|2
}= E
{|ε+(nT )|2
}= E
{|cn−nd
− σ(nT )|2}
(6.4)
dove E ha il significato di media statistica.
I coefficienti del filtro sono in generale complessi:
hk = hR,k + jhI,k (6.5)
dove hR,k e jhI,k rappresentano ovviamente le parti reale e immaginaria del
coefficiente k-esimo.
I coefficienti ottimi possono essere trovati semplicemente imponendo che la
derivata della funzione costo Λ rispetto ai coefficienti si annulli. La calcolia-
mo rispetto alla parte reale del coefficiente m-esimo:
∂Λ
∂hR,m
= E
{∂
∂hm
[ε+(nT )ε∗+(nT )]∂hm
∂hR,m
}(6.6)
= E
{∂
∂hm
[ε+(nT )ε∗+(nT )]
}= 2E
{<
[ε+(nT )
∂ε∗+(nT )
∂hm
]}= −2E
{<
[ε+(nT )r∗+(nT −mT/n1)
]}Operando analogamente per la derivata nella parte immaginaria del coeffi-
ciente m-esimo:
∂Λ
∂hI,m
= E
{∂
∂hI,m
[ε+(nT )ε∗+(nT )]
}(6.7)
= 2E
{<
[ε+(nT )
∂ε∗+(nT )
∂hm
∂hm
∂hI,m
]}= −2E
{<
[ε+(nT )r∗+(nT −mT/n1)(j)
]}= −2E
{=
[ε+(nT )r∗+(nT −mT/n1)
]}
6.2 Algoritmo LMS 59
Senza perdere in generalita e possibile combinare i due risultati ottenuti nel
modo seguente:
∂Λ
∂hR,m
+ j∂Λ
∂hI,m
= −2E{ε+(nT )r∗+(nT −mT/n1)
}= 0 (6.8)
L’equazione precedente e quella che i coefficienti ottimi del filtro hm per
m = 0, . . . , N − 1 devono soddisfare.
Si osserva che in pratica l’equazione 6.8 e equivalente a richiedere che la
sequenza dell’errore e quella di ingresso siano incorrelate; questo viene chia-
mato principio di ortogonalita. Poiche l’uscita del filtro e ottenuta come
combinazione lineare dei campioni di ingresso, l’uscita σ+(nT ) apparterra
allo spazio generato da tali campioni e l’errore sara minimo quando e orto-
gonale a tale spazio, ossia quando la sua proiezione su di esso e nulla.
Sostituendo l’espressione dell’errore e riordinando si ottiene:
N−1∑l=0
hlE{r+(nT − lT/n1)r
∗+(nT −mT/n1)
}= E
{cn−nd
ejφnr∗+(nT −mT/n1)}
(6.9)
per m = 0, . . . , N − 1.
Per esprimere la relazione soprastante in forma matriciale, indichiamo con h
il vettore N × 1 dei coefficienti del filtro, con R la matrice N ×N di corre-
lazione tra i campioni di ingresso e con p il vettore N × 1 di correlazione tra
l’uscita ideale e l’ingresso:
Rlm = E{r+(nT − lT/n1)r
∗+(nT −mT/n1)
}(6.10)
pm = E{cn−nd
ejφnr∗+(nT −mT/n1)}
(6.11)
Con questa notazione, il set di equazioni lineari puo essere riscritto in forma
matriciale come:
Rh = p (6.12)
60 Filtraggio adattativo
da cui la relazione per i coefficienti ottimi del filtro risulta:
h = R−1p (6.13)
In generale le caratteristiche statistiche del segnale in ingresso al filtro potreb-
bero essere stimate utilizzando un numero elevato di campioni; la stima a
breve termine effettuata dall’algoritmo LMS prende in considerazione solo
gli N campioni correnti e dunque non e in grado di fornire stime di R e h da
sostituire direttamente per il calcolo dei coefficienti.
Si utilizza allora un metodo steepest descent nel quale i coefficienti del filtro
vengono aggiornati iterativamente aggiungendo un piccolo contributo nella
direzione opposta al gradiente della funzione costo Λ.
E comunque necessario conoscere l’errore commesso ad ogni passo; a questo
scopo usualmente all’inizio di una comunicazione viene trasmessa una se-
quenza di training nota attraverso la quale i coefficenti del filtro vengono
adattati al canale.
hm[n+ 1] = hm[n] + µε+(nT )r∗+(nT −mT/n1) (6.14)
per m = 0, . . . , N − 1.
Il coefficiente µ e una costante positiva che controlla la rapidita di convergen-
za. Un valore piccolo di questa costante da luogo a una convergenza lenta
ma accurata; un valore elevato comporta una piu rapida convergenza ma
garantisce una qualita inferiore al risultato finale; in caso µ sia troppo alto
si possono innescare meccanismi di instabilita. Solitamente nei dispositivi
in commercio µ viene fissato inizialmente su un valore piu elevato e ridotto
quando si e raggiunto un buon livello di convergenza.
Valori ragionevoli per µ possono essere dell’ordine di 10−2.
6.2 Algoritmo LMS 61
6.2.1 Comportamento teorico dell’algoritmo LMS.
Il comportamento teorico dell’algoritmo LMS dipende in sostanza dagli au-
tovalori della matrice di autocorrelazione dei campioni di ingresso R. Indi-
chiamo gli autovalori in ordine crescente con λ1, . . . , λN . E stato dimostrato
che l’errore medio di un generico coefficiente E{hm[n] − hm} e dato dalla
somma di contributi esponenziali del tipo (1− µλi)n. Dunque il valor medio
dell’errore converge a zero se:
|1− µλi| < 1 (6.15)
o, equivalentemente:
0 < µ <2
λN
(6.16)
Il valore di µ che massimizza la velocita di convergenza e:
µopt =2
λ1 + λN
(6.17)
In tal caso:
|1− µoptλ1| = |1− µoptλN | =∣∣∣∣λN − λ1
λN + λ1
∣∣∣∣ (6.18)
La convergenza dell’errore medio dei coefficienti a zero non implica la con-
vergenza dell’errore quadratico medio dell’uscita del filtro. Si puo dimostrare
che esso converge se e solo se:
0 < µ <2∑N
i=1 λi
=2
traccia(R)(6.19)
La traccia di R e la somma degli elementi sulla diagonale principale che,
poiche la matrice e hermitiana, sono tutti reali e gli autovalori reali e positivi:
traccia(R) =N−1∑k=0
E{|r+(nT −mT/n1)|2
}(6.20)
6.2.2 LMS con tap-leakage.
E stato dimostrato che, nel caso di fractionally spaced equalizersn alcuni au-
tovalori della matrice R possono raggiungere valori prossimi a zero, rendendo
62 Filtraggio adattativo
la matrice R singolare.
In questo caso l’equazione normale Rh = p non presenta una soluzione unica
per h poiche aggiungendo ad h un qualunque elemento del Ker(R) si ot-
tiene comunque una soluzione. L’effetto pratico e che i coefficienti possono
presentare una lenta deriva senza che questo modifichi la funzione costo Λ.
Questo puo far sı che i coefficienti raggiungano valori superiori al massimo
rappresentabile (overflow) e il sistema fallisca.
Per evitare questo fatto viene usualmente introdotto un coefficiente γ di tap
leakage che tenda a ridurre lievemente ad ogni passo il valore del coefficiente:
hm[n+ 1] = (1− γ)hm[n] + µε+(nT )r∗+(nT −mT/n1) (6.21)
con γ costante positiva di valore ridotto (in generale � µ).
6.3 Algoritmo RLS
L’algoritmo RLS (Recursive Least Squares) si differenzia dall’LMS perche uti-
lizza informazioni su tutti i campioni precedenti di ingresso per stimare la ma-
trice di autocorrelazione del vettore dei campioni di ingresso. Per diminuire
l’influenza dei campioni precedenti viene inserito un peso decrescente in mo-
do esponenziale che dipende da una costante 0 < λ < 1. La funzione costo da
minimizzare non sara piu quindi data dal semplice errore quadratico medio
ma dalla funzione:
Γ[n] = E
{n∑
i=1
λn−i|ε+(iT )|2}
(6.22)
Operando come nel caso precedente, viene calcolata la derivata della funzione
da minimizzare in funzione dei coefficienti (complessi) del filtro e imposta
uguale a zero. Per comodita di notazione viene eliminata l’indicazione del-
l’istante di calcolo [n] dalla funzione costo e dai coefficienti in quanto per ora
non e rilevante.
6.3 Algoritmo RLS 63
∂Γ
∂hm
= −2E
{n∑
i=1
λn−iε+(iT )r∗+(iT −mT/n1)
}= 0 (6.23)
Sostituendo ad ε+ la sua definizione:
E
{n∑
i=1
λn−i
[ci−nd
ejφi −N−1∑l=0
hlr+(iT − lT/n1)
]r∗+(iT −mT/n1)
}= 0
(6.24)
Scambiando le due sommatorie e risistemando i termini:
N−1∑l=0
hlE
{[n∑
i=1
λn−ir+(iT − lT/n1)r∗+(iT −mT/n1)
]}=
= E
{n∑
i=1
λn−ici−ndejφir∗+(iT −mT/n1)
}(6.25)
La relazione puo essere riscritta in forma matriciale come:
R′[n]h[n] = p′[n] (6.26)
dove e stata reintrodotta la dipendenza dei coefficienti del filtro e di R′ e p′
dall’istante [n] in cui sono calcolati.
Il risultato e formalmente identico al caso dell’algoritmo LMS, la matrice
R′ e il vettore p′ hanno pero ora un significato diverso espresso da:
R′[n]lm
= E
{n∑
i=1
λn−ir+(iT − lT/n1)r∗+(iT −mT/n1)
}(6.27)
p′[n]m = E
{n∑
i=1
λn−ici−ndejφir∗+(iT −mT/n1)
}(6.28)
A differenza dell’LMS, l’algoritmo RLS ipotizza che la matrice di autocor-
relazione dei campioni di ingresso R e il vettore di correlazione p possano
essere efficacemente stimati in Φ e z:
64 Filtraggio adattativo
Φ[n]lm
=n∑
i=1
λn−ir+(iT − lT/n1)r∗+(iT −mT/n1) (6.29)
z[n]m =n∑
i=1
λn−ici−ndejφir∗+(iT −mT/n1) (6.30)
Questo poiche vengono presi in considerazione tutti i campioni passati. Dunque
non viene utilizzato un metodo di gradient descent ma direttamente viene
imposto il gradiente della funzione costo nullo sostituendo Φ e z a R′ e p′ :
Φ[n]h[n] = z[n] (6.31)
h[n] = Φ−1[n]z[n]
Entrambi i termini a destra possono essere calcolati ricorsivamente:
Φ[n] = λΦ[n− 1] + r∗+[n]rT+[n] (6.32)
z[n] = λz[n− 1] + cn−ndr∗+[n] (6.33)
Per trovare i coefficienti del filtro risulta necessario calcolare ad ogni pas-
so l’inverso P [n] della matrice Φ[n]. Questo comporterebbe un costo com-
putazionale elevatissimo; per semplificare l’elaborazione la matrice inversa
puo essere espressa attraverso la formula di Sherman-Morrison1 come:
P [n] = λ−1P [n− 1]− g[n]rT+[n]λ−1P [n− 1] (6.34)
dove:
g[n] = P [n− 1]r∗+[n]{λ+ rT
+[n]P [n− 1]r∗+[n]}−1
(6.35)
1 (A + uv)−1 = A−1 − A−1uvA−1
1+vA−1u
Identificando:
A = λΦ[n− 1]
u = r∗+[n]
v = rT+[n]
6.3 Algoritmo RLS 65
Per proseguire e necessario esprimere g[n] in un’altra forma:
g[n]{λ+ rT
+[n]P [n− 1]r∗+[n]}
= P [n− 1]r∗+[n] (6.36)
g[n] + g[n]rT+[n]λ−1P [n− 1]r∗+[n] = λ−1P [n− 1]r∗+[n] (6.37)
Da cui si ricava:
g[n] = λ−1P [n− 1]r∗+[n]− g[n]rT+[n]λ−1P [n− 1]r∗+[n]
= λ−1[P [n− 1]− g[n]rT
+[n]P [n− 1]]r∗+[n] (6.38)
Dalla definizione ricorsiva di P [n]:
g[n] = P [n]r∗+[n] (6.39)
Andando a sostituire nell’equazione per il calcolo dei coefficienti e sostituen-
do in seguito l’espressione ricorsiva per z[n]:
h[n] = P [n]z[n] (6.40)
= λP [n]z[n− 1] + cn−ndejφnP [n]r∗+[n]
Sostituendo ora la relazione ricorsiva per P [n] e la forma alternativa per g[n]:
h[n] = λ[λ−1P [n− 1]− g[n]rT
+[n]λ−1P [n− 1]]z[n− 1] + cn−nd
ejφng[n]
= P [n− 1]z[n− 1]︸ ︷︷ ︸h[n−1]
+g[n][cn−nd
ejφn − rT+[n]P [n− 1]z[n− 1]︸ ︷︷ ︸
h[n−1]
](6.41)
L’equazione ricorsiva per il calcolo dei coefficienti e allora infine:
h[n] = h[n− 1] + g[n][cn−nd
ejφn − rT+[n]h[n− 1]
]= h[n− 1] + g[n]ε+[n] (6.42)
dove:
ε+[n] = cn−ndejφn − rT
+[n]h[n− 1] (6.43)
66 Filtraggio adattativo
e g[n] e ottenuto dalla 6.35.
Valori ragionevoli per λ possono localizzarsi tra 0.9 e 1.
6.4 Phase-Splitting Fractionally Spaced Equal-
izer.
Questo tipo di equalizzatore integra al suo interno la cascata del filtro FIR
di Hilbert e il complex cross-coupled equalizer analizzato nel paragrafo 6.1. Il
motivo e che si puo dimostrare che le uscite reale e immaginaria della cascata
dei due blocchi possono essere viste come combinazioni lineari dei campioni di
ingresso. In pratica il sistema viene scomposto in due parti di cui una calcola
la parte reale del risultato e uno la parte complessa. Ognuna di queste sezioni
opera su dati reali, dunque non richiede prodotti complessi; ad ogni blocco
di ritardo del filtro corrispondono dunque 2 prodotti reali invece di 4 come
avveniva nel caso precedente. L’uscita della parte soprastante del filtro sara:
Rσ
I, 2
R, 2
I, 1I, 0
R, N−1h
hI, N−1
R, 1
h h h
hhR, 0h
1r(nT/n )
1
SamplerDown
1n−1/ Z1n−1/
Z1n−1/ Z
(nT/n )
Iσ 1(nT/n )
+σ 1(nT/n )
Figura 6.3: Phase-Splitting Fractionally Spaced Equalizer.
σR(nT/n1) = <{σ+(nT/n1)} =N−1∑k=0
hR,kr((n− k)T/n1) (6.44)
6.4 Phase-Splitting Fractionally Spaced Equalizer. 67
quella della parte sottostante:
σI(nT/n1) = ={σ+(nT/n1)} =N−1∑k=0
hI,kr((n− k)T/n1) (6.45)
Dopo l’operazione di sottocampionamento:
σ+(nT ) = σR(nT ) + jσI(nT ) =N−1∑k=0
hkr(nT − kT/n1) (6.46)
avendo definito dei coefficienti complessi hk come:
hk = hR,k + jhI,k (6.47)
Come nel caso del complex cross-coupled equalizer, i valori dei coefficienti
possono essere scelti in modo tale da minimizzare la funzione costo definita
dalla 6.4; utilizzando il medesimo approccio e tenendo presente che in questo
caso l’ingresso del filtro e reale, si ottiene:
∂Λ
∂hR,m
= −2E {< [ε+(nT )] r(nT −mT/n1)} (6.48)
∂Λ
∂hI,m
= −2E {= [ε+(nT )] r(nT −mT/n1)}
Combinando le due equazioni:
∂Λ
∂hm
=∂Λ
∂hR,m
+ j∂Λ
∂hI,m
= −2E {ε+(nT )r(nT −mT/n1)} (6.49)
Questo suggerisce di applicare l’algoritmo LMS per adattare i coefficienti
(eventualmente con tap-leakage):
hm[n+ 1] = (1− γ)hm[n] + µε+(nT )r(nT −mT/n1) (6.50)
Ovviamente i singoli coefficienti saranno:
hR,m[n+ 1] = (1− γ)hR,m[n] + µ<{ε+(nT )} r(nT −mT/n1) (6.51)
hI,m[n+ 1] = (1− γ)hI,m[n] + µ={ε+(nT )} r(nT −mT/n1)
68 Filtraggio adattativo
6.5 Inverse modeling e System identification.
Il principio di funzionamento del sistema di equalizzazione adattiva visto
sino ad ora puo essere generalizzato come in figura 6.4. L’ingresso noto
c[n−n ]d
c[n]
Delay
x[n]UnknownSystem
y[n]
e[n]
AdaptiveFilter
Figura 6.4: Schema di equalizzazione con filtraggio adattativo.
del sistema passa attraverso un sistema sconosciuto di cui si vuole annullare
l’effetto sul segnale attraverso un filtraggio adattativo posto in cascata. L’us-
cita del filtro viene confrontata con una versione ritardata dell’ingresso, l’in-
formazione sull’errore viene utilizzata per aggiornare i coefficienti del filtro
secondo gli algoritmi visti.
Una seconda possibile applicazione e l’identificazione di un sistema scono-
sciuto attraverso lo schema di figura 6.5. In questo caso il filtro adattativo e
posto in parallelo al sistema e i suoi coefficienti vengono aggiornati in modo
tale da ottenere una buona approssimazione del sistema sconosciuto.
6.6 Simulazioni MATLAB degli algoritmi. 69
c[n]
y[n]
e[n]x[n]
SystemUnknown
FilterAdaptive
Figura 6.5: System identification.
6.6 Simulazioni MATLAB degli algoritmi.
6.6.1 Algoritmo LMS.
%---------------------------
% LMS system identification
%---------------------------
clear all;
rand(’state’,sum(100*clock)); % Inizializzazione generatori
randn(’state’,sum(100*clock)); % di numeri casuali
Nsample = 4000; % Numero di campioni
N = 10; % Ordine del filtro
u = [0.01,0.04,0.085]; % Costante Mu
x=complex(randn(Nsample,1),randn(Nsample,1)); % Ingresso gaussiano bianco
% complesso
h_p=complex(rand(N,1),rand(N,1)); % Coefficienti complessi
% del sistema da identificare
% calcolati casualmente
c = filter(h_p,1,x) ; % Segnale di uscita al sistema
70 Filtraggio adattativo
% da indentificare
e = zeros(Nsample-N,3);
p = zeros(Nsample-N,1);
for i = 1:3
h_f=complex(zeros(N+1,1),zeros(N+1,1));
for n = N+1 : Nsample
e(n-N,i) = c(n)-h_f’*x(n:-1:n-N);
h_f = h_f+u(i)*conj(e(n-N,i))*x(n:-1:n-N);
p(n-N) = n;
end;
end;
plot(p,20*log10(abs(e(:,1))), ’-’, p, 20*log10(abs(e(:,2))), ’:’,
p, 20*log10(abs(e(:,i))), ’--’);
legend([’\mu = ’ num2str(u(1))],[’\mu = ’ num2str(u(2))],
[’\mu = ’ num2str(u(3))]);
grid on;
xlabel(’Numero di campioni in ingresso’);
ylabel(’Errore in uscita in dB’);
6.6.2 Algoritmo RLS.
%---------------------------
% RLS system identification
%---------------------------
clear all;
rand(’state’,sum(100*clock)); % Inizializzazione generatori
randn(’state’,sum(100*clock)); % di numeri casuali
6.6 Simulazioni MATLAB degli algoritmi. 71
0 500 1000 1500 2000 2500 3000 3500 4000−350
−300
−250
−200
−150
−100
−50
0
50
100
Numero di campioni in ingresso
Err
ore
in u
scita
in d
B
µ = 0.01µ = 0.04µ = 0.085
0.085
0.01
0.04
Figura 6.6: Convergenza dell’algoritmo LMS per una System identification al
variare di µ.
Nsample = 1000; % Numero di campioni
N = 10; % Ordine del filtro
lambda = 0.95; % Costante Lambda
xv =complex(randn(Nsample,1),randn(Nsample,1)); % Ingresso gaussiano bianco
% complesso
h_p=complex(rand(N,1),rand(N,1)); % Coefficienti complessi del
% sistema da identificare calcolati
% casualmente
c = filter(h_p,1,xv) ; % Segnale di uscita al sistema
% da indentificare
e = zeros(Nsample,3);
p = zeros(Nsample,1);
P = 100*eye(N+1); % Matrice P iniziale
h_f = complex(zeros(N+1,1),zeros(N+1,1));
for n=N+1:Nsample
72 Filtraggio adattativo
x=xv(n:-1:n-N);
e(n)=c(n)-h_f.’*x;
g=(P*conj(x))/(lambda+x.’*P*conj(x));
P=(P-g*x.’*P)/lambda;
h_f=h_f+g*e(n);
p(n) = n;
end;
plot(p,20*log10(abs(e(:,1))));
legend([’\mu = ’ num2str(lambda)]);
grid on;
xlabel(’Numero di campioni in ingresso’);
ylabel(’Errore in uscita in dB’);
0 100 200 300 400 500 600 700 800 900 1000−350
−300
−250
−200
−150
−100
−50
0
50
Numero di campioni in ingresso
Err
ore
in u
scita
in d
B
λ = 0.95
Figura 6.7: Convergenza dell’algoritmo RLS per una System identification.
6.7 Decision Directed Carrier Tracking. 73
6.7 Decision Directed Carrier Tracking.
Fino ad ora si e assunto che la portante rigenerata localmente nei sistemi
di demodulazione QAM sia nota esattamente; in realta l’apparato ricevente
non ha a disposizione l’informazione sulla fase della portante che deve es-
sere ricostruita localmente. Questa operazione puo essere effettuata, come
il filtraggio adattativo, minimizzando l’errore quadratico medio Λ, in questo
caso rispetto ai parametri della sequenza di fasi genrata dal blocco di recu-
pero della portante:
φn = ωcnT + θ (6.52)
con ωc pulsazione della portante e θ offset di fase sconosciuto.
Ricordando:
Λ = E{|ε(nT )|2
}= E
{|cn−nd
− σ+(nT )e−j(ωcnT+θ)|2}
(6.53)
e calcolando la derivata rispetto a θ invece che rispetto ai coefficienti del filtro
adattativo:
∂Λ
∂θ= 2E
{<
[ε∗(nT )
∂ε∗(nT )
∂θ
]}(6.54)
= 2E{<
[ε∗(nT )(j)σ+(nT )e−j(ωcnT+θ)
]}= −2E
{=
[ε∗(nT ) ˜σ(nT )
]}= −2E
{=
[c∗n−nd
˜σ(nT )]}
Esprimiamo cn−nde ˜σ(nT ) in forma polare:
cn−nd= Rc · ejβc
˜σ(nT ) = Rσ · ejβσ
Dunque il termine tra parentesi graffe a sinistra dell’uguale puo essere riscrit-
to come:
=[c∗n−nd
˜σ(nT )]
= RcRσsin(βσβc) (6.55)
74 Filtraggio adattativo
Supponendo che l’errore nella stima della fase della portante sia piccolo, os-
serviamo che l’equazione da luogo a una dipendenza lineare con l’errore di
fase tra il simbolo ideale cn−nde quello ricevuto ˜σ(nT ). Questo suggerisce
di modificare iterativamente θ mediante un anello ad aggancio di fase che
allinei l’angolo dell’uscita con quello dei punti della costellazione ideale.
Si osserva inoltre che, quando cn−nde ˜σ(nT ) sono vicini, Rσ puo essere sos-
tituito con Rc; allora θ puo essere aggiornato secondo la formula:
θ[n+ 1] = θ[n] + k1= [ε∗(nT )σ(nT )]
|cn−nd|2
(6.56)
Con k1 costante positiva.
Una realizzazione pratica di un loop del second’ordine per l’aggiornamento
dei coefficienti e rappresentato in figura 6.8.
Per prima cosa viene calcolata un’approssimazione dell’errore di fase commes-
( )
dn − nc
ψ
ψ
k
−1Z
ReferenceIdeal
Slicer
Im
−1Z
2
1k
^^n n+1φφ
~σ (nT)
2
1
(nT)ε
cTω(n)∆θ
(n)
(n−1)
()
Figura 6.8: Sistema di Decision Directed Carrier Tracking.
so come:
∆θ[n] == [ε∗(nT )σ(nT )]
|cn−nd|2
(6.57)
6.7 Decision Directed Carrier Tracking. 75
Come nel caso dell’adattamento dei coefficienti del filtro di equalizzazione,
all’inizio della comunicazione viene trasmessa una sequenza di training nota
che il ricevitore puo replicare internamente per conoscere l’errore commesso.
La seconda parte dello schema utilizza l’errore per stimare la correzione di
fase da apportare secondo la relazione:
φ[n+ 1] = φ[n] + ωcT + k1∆θ[n] + ψ[n] (6.58)
dove:
ψ[n] = ψ[n− 1] + ωcT + k2∆θ[n] (6.59)
Quando l’errore e nullo si osserva che φ viene incrementato ad ogni passo del
valore nominale ωcT .
L’idea di fondo e quella di incrementare la fase di una frazione k1 dell’errore
stimato al passo attuale ∆θ[n]; inoltre una frazione k2 di tale errore viene
accumulata e sommata alla correzione per tener conto di offset di frequenza.
Il sistema e un anello ad aggancio di fase del second’ordine simile a quello
discusso per le modulazioni analogiche in grado di seguire un errore in fase e
frequenza con errore finale nullo. Come ordine di grandezza, il rapporto k1/k2
dovrebbe essere intorno a 100 per avere una buona risposta in transitorio.