Capitolo 4 Stima dei parametri del segnale
4.1 Tecniche di stima della portante
Oltre alla rivelazione del segnale, una delle più importanti informazioni che un classificatore necessita è la conoscenza (più propriamente una stima) della frequenza di portante. Naturalmente le classiche tecniche di stima non sono adatte in quanto ancora una volta non si hanno alcune informazioni a priori sul tipo di segnali o di dati trasmessi. Riallacciandoci al punto precedente l’unica assunzione consiste nell’avere rivelato un segnale corrotto da rumore (considerato gaussiano) e per semplicità si considera solo una banda di canale pari a 15 kHz (si può ad esempio considerare come l’ultimo passo ottenuto da un qualsiasi procedimento di decomposizione, sia in frequenza che in tempo-frequenza):
( ) ( ) ( ) ( ) Re { ( )
j2 f tc}
x t s t n t
s t m t e
π= +
=
Il segnale m t ( ) (inviluppo complesso) è appartenente ad una delle modulazioni considerate, mentre f c è ciò che si vuole stimare. Le tecniche che si sono prese in analisi, poiché strettamente legate al processo di classificazione possono essere suddivise in tre gruppi:
i. Stimatore nel dominio del tempo: tali stimatori si basano tipicamente sulla tecnica zero-crossing, ovvero sulla ricerca degli attraversamenti dello zero del segnale.
ii. Stimatore nel dominio della frequenza: molti di questi stimatori si basano sullo spettro del segnale e le performance dipendono dal tipo di tecniche di stima (ad es. Welch, FFT, funzione di autocorrelazione..) e dalla scelta della finestra di stima (Hanning, Haming,…). Gli approcci usati si possono suddividere in quelli che ricercano direttamente la frequenza portante e quelli che stimano la portante come media della frequenza istantanea.
iii. Stimatore nel dominio tempo-frequenza: usando, ad esempio, la trasformata di
Wigner-Ville, si può notare la sua minore sensibilità al rumore rispetto alla
trasformata di Fourier nella ricerca della frequenza istantanea [57][72].
4.1.1 Tecniche zero-crossing
Come spesso ripetuto lo zero-crossing consiste nel campionare il segnale (che naturalmente è in radio frequenza) negli istanti in cui assume il valore di zero Volt:
Tempo (sec)
A m piezza ( V o lt)
t
1t
2t
3t
it
i+1Fig. 1: Istanti di Zero-crossing
Dovendo comunemente lavorare con i campioni di segnale s i [ ] , gli istanti di zero crossing sono stimati tramite interpolazione lineare per ogni cambio di segno dei dati di segnale:
'
i i
t t = i- s[i]
s[i+1]-s[i]
⎛ ⎞
≈ ⎜ ⎟
⎝ ⎠
ti
i i+1
[ ] s i
[ 1]
s i+
'
ti
Fig. 2: Interpolazione lineare
Indicando con N il numero di campioni di segnale, con
sF la frequenza di
scampionamento, la durata del segnale sarà pari ad
ss
N
F . Indicando con N il numero di periodi T ( inverso della portante ) la durata L del segnale si può approssimare ad:
s s
L N T N
= ⋅ ∼ F
Tenendo presente che un segnale in un periodo attraversa lo zero due volte, il numero N può essere espresso anche tramite gli istanti di zero-crossing, e indicando con N
zil numero d’attraversamenti si può scrivere:
( 1 )
2 N
zN −
=
Quindi come stima della frequenza portante si può considerare:
( 1 ) ( 1 )
2 2
ss
z z
c N
F
N N
f L
− −
= =
⋅ ⋅
Ovviamente questo primo semplice metodo fornisce una stima grossolana, non solo per le approssimazioni introdotte ma anche per una forte dipendenza dal rapporto segnale-rumore. Ulteriori degradazioni si hanno inoltre per i segnali digitali. In linea teorica, infatti, le transizioni tra simboli (IST) dovrebbero avvenire in modo istantaneo, ma in realtà richiedono un tempo costante dovuto alle transizioni di fase, creando attraversamenti dello zero non legati necessariamente alla frequenza di portante. Per cercare di migliorare le prestazioni si costruiscono altre due sequenze :
[ ]
i 1 iy i = t
+− t
questa sequenza di N
z− 1 punti fornisce una stima della frequenza istantanea [ ] 1
2 [ ] f i = y i
⋅ mentre:
[ ] [ 1] [ ] z i = y i + − y i
misura la variazione della precedente sequenza ed è lunga N
z− 2 punti.
L’affinamento nel processo di stima consiste nella rivelazione degli IST basandosi sul calcolo della varianza della sequenza z[i]. I campioni y[i], i cui corrispettivi z[i+1]
eccedono il valore 3.05 ϑ , sono cancellati. È considerata quindi una nuova sequenza
za
[ ]
y i la cui lunghezza N è minore di
yaN
z− 1 , di un numero pari alla stima degli IST.
La stima della portante consiste infine in una media delle frequenze istantanee, calcolate sulla nuova sequenza:
0
2 [ ]
N ya a i
ya
c s
y i
f N F
=
= ⋅
∑
Dati
ricevuti Zero-crossing Calcolo sequenze
Calcolo sequenza no
si
Eliminazione campione
Calcolo frequenza istantanea Calcolo
frequenza media
[ ] 1
2
a[ ] f i = y i
⋅
Calcolo
[ ], [ ]
z i y i
| [ ] | 3.05z iy i [ 1] −
ϑ
z> ⋅
ϑ
za[ ] ya
y i e N
(
1, , ,
2 i)
z
t t t
N
[ ]…
r i
fc
Fig. 3: Stima portante tramite ZC
4.1.2 Stimatori nel dominio della frequenza
Lavorare con lo spettro del segnale è naturalmente il modo più diretto per ricavare informazioni sulla frequenza. Dallo spettro di alcuni segnali si può ad esempio considerare come frequenza portante il picco più alto:
Frequenza ( )
Ampiezza ( )
c c'
f ∼ f KHz
Fig. 4: Picco in frequenza segnale FM
La figura 4 rappresenta lo spettro di un segnale FM (campionato con una frequenza di 30 kHz), ottenuto tramite un analizzatore di spettro con finestra di Kaiser-Bessel. La frequenza della portante del segnale è pari a 7.5 kHz e dallo spettro si evince che il campione più alto è quello corrispondente, o vicino, a tale frequenza. Cambiando la finestra dell’analizzatore ( Hanning, Hamming, etc.), il risultato è naturalmente simile, ottenendo però un diverso errore di stima. Se si considera invece lo spettro di un segnale 2-FSK (o qualsiasi segnale “multitono”), si possono facilmente capire le difficoltà del metodo (fig.5):
A m pi ezza ( )
Frequenza ( ) KHz
c
' f
f
cFig. 5: Picco in frequenza segnale 2-FSK
L’errore di stima in questo caso non è sicuramente accettabile e nemmeno un cambio di finestratura può migliorare la stima, perché la difficoltà è insita nel tipo di trasmissione. Applicando invece l’algoritmo presentato per la rivelazione (con leggere modifiche), le prestazioni migliorano notevolmente (fig. 6):
Calcolo frequenza
centrale Divisione frequenze
| FFT |
2[ ] r i
λ
c
' f
Frequenza ( ) KHz f
maxf
min'
c cf ∼ f
A m p ie zza ( )
Frequenza (kHz)
Ampiezza
2
V Hz ⎛⎞ ⎜⎟ ⎝⎠
Fig. 6: Stimatore in frequenza: algoritmo e spettro
La FFT è calcolata ogni 2048 campioni (la Fs considerata è 30 kHz), mentre sulla base delle considerazioni del precedente paragrafo si assume un λ pari a 8. Come stima della portante si considera la frequenza centrale:
(
max min)
'
c2
f f
f +
=
Dove f
mine f
maxrappresentano rispettivamente la prima e l’ultima frequenza il cui
campione supera la soglia fissata. A differenza dell’approccio precedente non si
notano “grossi” errori di stima con il variare del tipo di modulazione, eccezion fatta
per i segnali SSB e VSB a causa della forte asimmetria del loro spettro. Un
congiungimento dei due metodi, divisione in frequenza e ricerca del massimo dello
spettro, può migliorare la stima, ma nel caso di modulazioni con portante soppressa
l’errore rimane consistente. Nella tabella successiva sono riportate le stime di
frequenza per vari tipi di modulazione. Tutti i segnali sono stati generati con Matlab con un rapporto segnale-rumore pari a 10dB e con frequenza di portante pari a 7.5 kHz.
Segnale Metodo 1 ' 1
2
z c
T
f N N
= − (Hz)
Metodo2
0
'
2 [ ]
ya ya
c N
a i
f N
y i
=
= ∑
(Hz)
Metodo3
(
max min)
'
c2
f f
f +
= (Hz)
PM 7490.000000 7500.125945 7500.000000 PM2 7490.000000 7496.690468 7500.000000
FM 7545.000000 7553.968119 7609.863281
FM3 7570.000000 7582.446858 7265.625000
2-FSK 7360.000000 7396.722951 7507.324219 4-FSK 7470.000000 7478.642788 7514.648438 8-FSK 7125.000000 7200.574877 7500.000000 USB 9370.000000 9378.577849 9543.457031 LSB+
Carrier
6180.000000 6186.510032 5559.082031 7500.0
MSK 7460.000000 7465.282340 7529.296875
AM 7490.000000 7501.438052 7500.000000
AM2 7495.000000 7499.869274 7500.000000 LVSB 5535.000000 5544.717679 5412.597656 UVSB+
Carrier
8835.000000 8823.197497 9184.570313 7500.0
DSB 7610.000000 7616.601987 7500.000000
4-QAM 7510.000000 7507.401257 7397.460938
BPSK 7490.000000 7491.153498 7500.000000
Tab. 1: Confronto stimatori di frequenza portante per varie modulazioni
Nella quarta colonna sono riportate le stime di portante per segnali SSB e VSB in cui
la differenza tra la potenza della portante e del segnale rimanente è consistente. In
questo caso è stata assunta come frequenza portante il massimo valore della FFT del
segnale. Come si nota dai dati, la scelta di uno stimatore universale per tutti i tipi di
modulazione non è fattibile.
4.2 Stimatori Frequenza istantanea
Alcuni stimatori di frequenza portante si basano sul calcolo della frequenza istantanea, ma una buona stima di quest’ultima risulta anche indispensabile per molti processi di classificazione di segnali. L’andamento della frequenza istantanea nel tempo è da considerarsi come un buon parametro per discriminare vari tipi di modulazioni (vedi capitolo 1 per gli andamenti ideali). La capacità nel riuscire effettivamente a classificare due o più modulazioni tramite questo parametro risiede proprio nell’efficacia del procedimento di stima. Si è già visto un primo possibile metodo di stima basato sullo zero-crossing e si sono evidenziati alcuni errori insiti nel metodo. Questi errori di stima (IST samples) nel calcolo della frequenza di portante sono quasi irrilevanti, mentre nel calcolo della frequenza istantanea del segnale aumentano con il diminuire dell’SNR, tanto da rendere il metodo inefficiente. Come esempio vengono riportate le stime per un segnale 2-FSK a diversi SNR tramite l’algoritmo precedentemente proposto:
tempo tempo
30 dB 20 dB
15 dB 10 dB
tempo tempo
F re quen z a is ta nt an ea( k H z ) F req uen z a is ta nt ane a( k H z)
F re quen z a is ta nt an ea( k H z ) F requ enz a ist ant a nea( k H z )
Fig. 7: Frequenza istantanea per segnali 2-FSK ottenuta tramite metodo ZC
Tipicamente, per segnali stazionari, le tecniche basate sulla trasformata di Fourier forniscono un’analisi soddisfacente del contenuto spettrale di un segnale. Quando invece si lavora con segnali a banda stretta e con uno spettro che varia rapidamente nel tempo, sono più efficienti altri metodi d’analisi come ad esempio le trasformate tempo-frequenza. Un ulteriore metodo di stima dell’andamento della frequenza nel tempo si basa sul “modello dello spettro autoregressivo”. In linea generale, la stima dello spettro di un segnale stazionario in senso lato (rappresentato dai campioni nel tempo x k ( ) ) può essere formulata sulla base delle funzioni d’autocorrelazione [72]:
( ) ( )
{ }
xx
( )
R m = E x k x k + m da cui lo spettro di potenza :
( ) ( ) exp ( 2 )
x xx
m
S f
∞R m j π fm
=−∞
= ∑ −
Trattando tipicamente delle serie finite di campioni (e considerando il processo
{ x k ( ) } ergodico), si considera una stima delle funzioni d’autocorrelazione:
( )
1( ) ( )
0
1
M kxx
m
R k x m x m k
M
− −
=
= ∑ + con k = 0,1, 2 e M <N
In pratica invece del calcolo dello spettro si risolve il seguente sistema di equazioni:
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( )
1 2
0 1 1 1
1 0 2 2
1 2 0
xx xx xx xx
xx xx xx xx
N
xx xx xx xx
R R R N a R
R R R N a R
R N R N R a R N
⎛ − ⎞ ⎛ ⎞ ⎛ ⎞
⎜ − ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⋅ ⎜ ⎟ = ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎜ ⎟ ⎟ ⎜ ⎟
⎜ − − ⎟ ⎝ ⎠ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
I coefficienti che si ricavano formano un’equazione polinomiale nel dominio Z:
θi
Zi
Re Im
Piano Z
( 1 − a z1 −1− a z
2 −2− − … a z
N −N)
Le radici di questo polinomio sono, infine, relazionate ai picchi nello spettro [73]:
( ) ( )
1
( )
2 2 tan
s s i
i
i
F F m Z
f i θ e Z
π π
−
⎡ ℑ ⎤
= = ⎢ ⎣ ℜ ⎥ ⎦
Il modello autoregressivo (AR model) si presenta quindi come un metodo di decomposizione di segnali “multicomponenti” così come le analisi tempo–frequenza, ma con una difficoltà computazionale minore. Nel caso di un unico segnale immerso in rumore gaussiano [16], infatti, è sufficiente assumere N=2, ottenendo quindi un polinomio del secondo ordine di facile soluzione:
( ) ( )
( ) ( ) ( )
1
( )
2
0 1 1
1 0 2
xx xx xx
xx xx xx
R R a R
R R a R
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
• =
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎝ ⎠ ⎜ ⎟
⎝ ⎠ ⎝ ⎠ ( 1 a z −
1 −1− a z
2 −2)
Quindi, tralasciando i calcoli si avrà:
( ) ( ) ( )
( )
2
1 2
1
4 ( )
i
i
m Z a i a i
e Z a i
⎧ℑ = +
⎪ ⎨
ℜ =
⎪⎩
Il metodo è riassunto dal seguente diagramma:
Calcolo autocorrelazione
Calcolo coefficienti polinomio (predizione lineare)
Blocco di M campioni
Ricerca delle radici polinomio
( ) 0
R
xxR
xx( ) 1 R
xx( ) 2
1
( )
a i a
2( ) i
( )
iℑ m Z
( )
iℜ e Z
( ) x i
Calcolo frequenza istantanea ( ) f i
Fig. 8: metodo AR per la stima della frequenza istantanea
Nelle figure successive è mostrata la stima della frequenza istantanea dello stesso segnale 2-FSK prima introdotto, al variare dell’SNR:
tempo
F req ue n z a ( H z)
tempo tempo
tempo
Fr eq ue nz a ( H z ) F req ue n z a ( H z )
F req uen za ( H z)
30 db 20 db
15 db 10 db
Fig. 9: Frequenza istantanea per segnali 2-FSK ottenuta tramite metodo AR
La stima è stata ottenuta assumendo M=15 (numero di campioni su cui si calcola la funzione d’autocorrelazione). Per avere una stima della frequenza “più istantanea” si dovrebbe scegliere un numero di campioni minore, ma la presenza del rumore introduce degradazioni mitigabili solo con una mediazione più ampia. In [complex] ad esempio è assunto M=5, ma si considerano solo alti rapporti segnale-rumore. Si evidenzia inoltre che i coefficienti del polinomio sono aggiornati ad ogni passo temporale, per questo tale tecnica è anche detta metodo della predizione lineare.
Come nel caso dello zero-crossing, la media delle frequenze ottenute può essere
assunta come un’ulteriore metodo di stima della frequenza portante, ottenendo
risultati simili ai precedenti stimatori. Finora si è considerata un’analisi del segnale
reale, ma per ricavare informazioni relative alla frequenze è spesso più utile
considerare l’inviluppo complesso del segnale. Quest’ultima operazione è ora possibile perché si considera stimata la frequenza portante. In questo modo si può considerare la normale definizione della frequenza istantanea:
( )
( ) 1 2
d t
f t dt
φ
= π
Considerando segnali discreti la precedente relazione si traduce tra una differenza tra i campioni di fase. Per evitare le problematiche introdotte dalla computazione dei campioni di fase (che saranno prese in seguito), si può considerare di raggirare questo calcolo sviluppando la derivata:
( ) ( )
1
2 2 2
1 ( ) 1 ( )
( ) tan
2 2 ( )
1 1 ( ) 1 ( ) ( ) ( ) ( )
2 ( ) 2 ( ) ( )
1
d t d I t
f t dt dt Q t
d I t Q t I t I t Q t
dt Q t I t Q t
I t Q t ϑ
π π
π π
−
⎡ ⎤
= = ⎢ ⎥ =
⎣ ⎦
′ ′
⎡ ⎤ −
= ⎛ ⎞ ⎢ ⎣ ⎥ ⎦ = +
+ ⎜ ⎟
⎝ ⎠
dove I t rappresenta la parte in fase, mentre ( ) ( ) Q t la parte in quadratura del segnale.
tempo 15 dB tempo
tempo tempo
10 dB
30 dB 20 dB
Frequenza (Hz)
Frequenza (Hz) Frequenza (Hz)
Frequenza (Hz)
Fig. 10: Frequenza istantanea per segnali 2-FSK ottenuta tramite metodo “Derivata”
L’andamento della frequenza istantanea nelle precedenti figure è stato ottenuto aggiungendo alla stima, ricavata tramite il metodo della derivata, la componente portante. Si nota, inoltre, come con questo metodo, l’aumentare del rumore introduce forti picchi in frequenza indesiderati.
4.3 Stimatori del Symbol-rate
In molti sistemi di classificazione la conoscenza o la stima della frequenza di simbolo, (spesso detto anche baud-rate) è considerata come un passo indispensabile per una corretta distinzione tra le varie modulazioni. Per le modulazioni di tipo analogico ad esempio tale parametro non assume nessun significato particolare ed una sua eventuale stima porterebbe ad un valore arbitrario. Si potrebbe pensare quindi di utilizzarlo come effettivo elemento discriminatorio tra le modulazioni analogiche e quelle digitali per le quali si ha un valore stabilito di symbol–rate. Il grosso problema risiede, però, proprio nella tecnica di stima in quanto i classici metodi utilizzano molte informazioni a priori tra cui la conoscenza della stessa modulazione. Per questo si suddividono le varie tecniche a secondo dell’informazioni disponibili:
1) Metodi con informazioni apriori sul baud-rate (come ad esempio i range in cui esso può variare oppure una lista definita di valori che può assumere).
2) Metodi con informazioni apriori su altri parametri della modulazione.
3) Metodi senza informazioni apriori.
Le prime due categorie delle tecniche sono ampiamente discusse e confrontate in
[practical] e si basano sulla stima della “lunghezza di simbolo d’informazione” (Baud
Length), cioè l’inverso del symbol rate. Queste stime sono “aiutate” dalle varie
informazioni a priori nella ricostruzione dello “schema di modulazione”. Nelle figure
seguenti sono riportati gli andamenti rispettivamente dei campioni di un segnale 2-
FSK a radiofrequenza e il corrispettivo schema di modulazione ottenuto tramite una
demodulazione in frequenza dello stesso segnale. In questo modo si è assunta ( o
meglio è stata ricavata con altre tecniche) come informazione apriori che il segnale è
stato modulato in frequenza. Si può notare inoltre la corrispondenza tra le due
differenti frequenze e i simboli (le “oscillazioni” sono naturalmente dovute al
rumore), tipica per modulazioni FSK:
tempo
tempo
Fig. 11: Confronto segnale 2-FSK a radiofrequenza e suo “schema di modulazione”
Il passo successivo consiste nella determinazione delle lunghezze (in termini di
campioni) delle diverse transizioni tra “stati” rivelate. Il risultato è un set di valori di
cui fa parte il baud-length (vedi anche [74]). Il problema principale diventa quindi la
ricerca di un algoritmo di manipolazione di tali lunghezze in grado comunque di
fornire velocemente una stima accurata della lunghezza media delle transizioni e
quindi del baud-rate. In [75] ad esempio le transizioni tra stati sono rivelate con le
tecniche zero-crossing mentre il baud-rate è stimato con un algoritmo gerarchico di
raggruppamento delle lunghezze ottenute. Le tecniche appartenenti al terzo gruppo
hanno difficoltà maggiori nel riconoscere le varie transizioni ed hanno bisogno di
tempi più lunghi e di tecniche di rivelazioni più complesse, che le rendono più robuste
a SNR minori. La tecnica proposta ad esempio in [76] si basa sulla ciclostazionarietà
dei segnali digitali, mentre in [57] le transizioni tra simboli sono rilevate con l’uso di diverse misure basate sulle trasformate tempo-frequenza. Questi autori concentrano il loro studio solo su alcune classi di segnali digitali. In [13] gli autori utilizzano esplicitamente la stima del symbol-rate per distinguere tra modulazioni digitali e analogiche. Il loro metodo si basa sul “Block demodulation”, tecnica utilizzata generalmente per il recupero del timing (descritta in dettaglio in [14]) e schematicamente riportato in figura:
FFT
Estrazione componenti
di simbolo
IFFT
Estrazioni
“punti “di simbolo blocco di
memoria LPF
LPF
A/D
A/D
( )
I i '
( )
' Q i π
2( )
2( )
2( )
I2i
( )
Q2 i
Fs
( )
x t fc'
Quasi synchronous orthogonal demodulator
Fig. 12: Stima symbol-rate tramite “Block Modulation method”
Il primo blocco (detto demodulatore ortogonale quasi-sincrono) calcola le componenti in fase ed in quadratura del segnale (è come se si stesse ipotizzando di trattare solo con segnali digitali). Non avendo naturalmente nessuna informazione circa il sincronismo di fase e considerando anche un errore di stima della frequenza portante, all’uscita del blocco (prima del campionamento) si ha:
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
0 0
0 0
' cos 2 sin 2
' cos 2 sin 2
I t I t ft Q t ft
Q t Q t ft I t ft
π θ π θ
π θ π θ
= ∆ + − ∆ +
= ∆ + + ∆ +
Per eliminare il contributo dell’offset di frequenza e dell’errore di fase iniziale si calcola la somma dei quadrati dei campioni ottenuti:
( ) ( ) ( ) ( )
2 2 2 2
' '
I i + Q i = I i + Q i
Da questi campioni è possibile estrarre tramite FFT le componenti del symbol rate:
frequenza
po te n z a
f
bFig. 13: Componente frequenziale del symbol-rate
Non essendoci naturalmente sincronismo tra tempo di simbolo e tempo di campionamento, sono scelte come componenti di simbolo il picco massimo e quello più grande tra i due adiacenti. La frequenza di simbolo sarà infatti compresa tra questi due valori frequenziali. Antitrasformando i simboli estratti e calcolandone l’arcotangente si ottiene :
( )
Re cos(2 )
Im sin 2
b
b