Analizzatore di spettro numerico a FFT
La ricostruzione del segnale nel rispetto del teorema del campionamento!!!
•LPF: filtro anti‐aliasing
fil
i li i
•Numero finito di campioni!!!!!
Analizzatore di spettro numerico a FFT
L'analizzatore di spettro numerico ha un circuito che, nello
stadio d’ingresso, risulta assai simile a quello dell'oscilloscopio
numerico:
•circuito adattatore di ingresso (attenuatore variabile seguito da
un amplificatore a guadagno fisso),
•circuito di campionamento e conversione (sample‐hold
(sample hold e
convertitore AD)
•una memoria RAM;
•a differenza dell'oscilloscopio, però, qui troviamo anche un
filtro "passa‐basso"
passa basso la cui funzione verrà descritta nel seguito.
•Un dispositivo aritmetico‐logico (ULC + DSP) ha il duplice
compito di supervisionare il funzionamento dei vari blocchi e di
elaborare i dati memorizzati nella RAM secondo un algoritmo
che implementa la trasformata discreta di Fourier.
Il risultato dell'analisi (diagramma di ampiezza e/o di fase) viene
fornito dalla traccia su di uno schermo di CRT.
Analizzatore di spettro numerico a FFT
L'analisi del segnale ha inizio con una fase di campionamento nella quale il sample‐hold ed il convertitore AD acquisiscono, ad istanti equispaziati di Ts, i valori del segnale da analizzare. istanti equispaziati di T
i valori del segnale da analizzare
1° vincolo imposto dal teorema del campionamento
Affinchè la successione dei campioni conservi le informazioni del segnale originale (condizione questa indispensabile per poter
segnale originale (condizione questa indispensabile per poter ricavare lo spettro dai dati campionati) il valore massimo di Ts
deve rispettare il primo vincolo stabilito dal teorema del campionamento. Deve così risultare: Ts>2B
in cui B rappresenta la "banda" del segnale sotto analisi.
Proprio per garantire che la condizione sopra citata possa essere verificata viene inserito nello strumento il filtro "passa‐basso" di ingresso: la sua frequenza di taglio (o, meglio, la sua frequenza di arresto o "stop‐frequency") viene fissata a metà della f
frequenza massima di campionamento concessa dal blocco S‐H / i
di
i
t
d l bl
S H/
ADC.
2° vincolo imposto dal teorema del campionamento
Il soddisfacimento del secondo vincolo imposto dal teorema di Shannon è impossibile per molteplici cause: in primo luogo
Shannon è impossibile per molteplici cause: in primo luogo perché lo strumento non dispone di una RAM in grado di memorizzare un numero infinito di campioni, in secondo luogo perché lo strumento non può evidentemente aver iniziato il campionamento ad un istante che precede di un tempo infinito p
p
p
quello corrente (cosa vuol dire poi "tempo infinito"? basta 1 anno oppure bisogna spingersi ancora prima…?!) e concludere la sua azione ad un istante che segue di un tempo infinito quello corrente.
Analizzatore di spettro numerico a FFT
2° vincolo imposto dal teorema del campionamento
Dal segnale ideale a quello reale…..
Il segnale
l reale
l campionato
i
sii ottiene
i
moltiplicando
l i li d il segnale
l
teoricamente campionato per un tempo infinito per una
finestra "rettangolare“, che annulla tutti i campioni esterni,
quelli cioè che precedono l'inizio della finestra e seguono il
termine della stessa finestra lasciando invece immutati i valori
dei campioni interni. Questa finestra deve avere una durata pari
al periodo del segnale sotto analisi.
Analizzatore di spettro numerico a FFT
Il leakage
Nella realtà, però, non è possibile rendere la durata
dell'intervallo di osservazione [0,T0] pari esattamente al periodo
T del segnale sotto analisi per due principali motivi:
T è incognito,
la frequenza di campionamento è imposta da un oscillatore
quarzato pertanto può essere variata con discontinuità ed il
numero di campioni che possono essere acquisiti è limitato dalla
capacità della RAM e, affinché l'algoritmo che calcola la
trasformata di Fourier operi al meglio,
meglio esso deve essere pari ad
una potenza di 2.
La situazione reale è schematizzabile nella figura.
Analizzatore di spettro numerico a FFT
….Il leakage…..
Obiettivo: analisi spettrale
p
del
segnale campionato!!!!
Cosa comporta l’effetto del leakage sull’analisi in frequenza???
Vediamo, con l'aiuto della figura seguente, cosa
effettivamente significhi campionare per un tempo
finito e poi rendere periodica la sequenza dei
campioni acquisiti.
CASO
O T0=TT
Analizzatore di spettro numerico a FFT CASO T0=T
CASO
O T0=TT
Analizzatore di spettro numerico a FFT CASO T0=T
Analizzatore di spettro numerico a FFT CASO T0=T
Analizzatore di spettro numerico a FFT CASO T0=T
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
• Funzione periodica con periodo NFs
• Presenta N zeri per periodo alle frequenze 1/NTs
• Assume valore massimo nell'origine pari a NTs
• Il lobo
l b principale
i i l ha
h ampiezza
i
2/(NTs)
Analizzatore di spettro numerico a FFT CASO T0=T
Analizzatore di spettro numerico a FFT CASO T0=T
Analizzatore di spettro numerico a FFT CASO T0=T
CA
ASO T0==T
Analizzatore di spettro numerico a FFT
Analizzatore di spettro numerico a FFT CASO T0=T
Siamo riusciti a ricostruire l’informazione
originale perché T=T0!!
-1/T
1/T
Analizzatore di spettro numerico a FFT
Nel diagramma 1 sono riportati l'andamento nel tempo e lo spettro del segnale di periodo T sotto analisi (si è, per semplicità, fatto riferimento ad un segnale di tipo cosinusoidale).
ad un segnale di tipo cosinusoidale). Nel diagramma 2 vediamo la funzione di campionamento (successione di infinite delta di Dirac) ed il suo spettro che, come sappiamo, è costituito da una successsione di infinite delta di Dirac spaziate di 1/TS. L'effetto del campionamento è rappresentato, nel dominio del tempo, dal prodotto fra il segnale sotto analisi e la funzione di campionamento
dal prodotto fra il segnale sotto analisi e la funzione di campionamento e, nel dominio della frequenza, dalla convoluzione degli spettri: il diagramma 3 rappresenta andamento e spettro del segnale campionato. La impossibilità di operare con un numero infinito di campioni a cui si è f
fatto riferimento introducendo il leakage impone di operare una if i
i
d
d il l k
i
di
"finestratura" moltiplicando l'andamento del segnale campionato per la funzione "finestra" (nell'esempio si usa una finestra rettangolare): il grafico 4 riporta andamento e spettro di tale finestra e l'operazione di finestratura comportando il prodotto nel dominio del tempo equivale alla convoluzione degli spettri nel dominio della frequenza. Il grafico 5 mostra il risultato della finestratura nel caso in cui la durata della finestra coincida con il periodo del segnale sotto analisi. A questo punto si deve rendere periodico il segnale così ottenuto: la p
periodicizzazione viene ottenuta effettuando la convoluzione nel tempo p
del segnale finestrato (grafico 5) e del segnale riportato nel grafico 6. La convoluzione nel dominio del tempo porta al prodotto nel dominio della frequenza pertanto lo spettro del segnale verrà campionato con un passo in frequenza pari a 1/T0. Nell'ultimo
Nell
ultimo grafico vengono quindi riportati l
grafico vengono quindi riportati l'andamento
andamento del segnale del segnale
periodicizzato ed il suo spettro campionato. Nell’ultima figura seguente viene riportata in scala espansa lo spettro del grafico 7. Analizzatore di spettro numerico a FFT
Come si può notare, alle ascisse di
campionamento diverse da ±1/T0 la
composizione dei lobi laterali dello
spettro
della
finestra
fornisce
un'ampiezza nulla pertanto l'insieme
delle fasi che si sono succedute non
hanno portato ad alterazioni rilevabili
dello spettro che si ottiene e non si è
verificato il leakage!!!!
Analizzatore di spettro numerico a FFT CASO T0
≠ T
Analizzatore di spettro numerico a FFT Leakage
CASO T0 ≠ T
Analizzatore di spettro numerico a FFT
I primi tre diagrammi sono identici a quelli già esaminati nel caso
precedente: al diagramma 4, invece, si introduce una finestra la cui
durata T0 differisce da T.
Nel diagramma 5 sono riportati l'andamento della successione dei
campioni acquisiti ed il suo spettro.
Rendiamo ora periodica la successione del grafico 5 mediante la
convoluzione del suo andamento temporale con quello della funzione
riportata nel grafico 6.
6 Ancora alla convoluzione nel tempo corrisponde
il prodotto (cioè il campionamento) nel dominio della frequenza.
Il diagramma 7 riporta l'andamento della funzione periodicizzata ed il
relativo spettro campionato.
Come è evidente lo spettro del diagramma 7 riporta
delle componenti che originariamente non erano
presenti.i
Esse sono state provocate dal fatto che la durata T0
della finestra non corrisponde ad un multiplo del
periodo del segnale
p
g
originale
g
e sono chiamate
"errore di leakage".
Analizzatore di spettro numerico a FFT
Le finestrature non rettangolari
Per evitare l'insorgere di evidenti armoniche a causa
del leakage si abbandona la finestra rettangolare
utilizzata nell'esempio e si utilizzano finestre dotate di
spettri caratterizzati da "lobi" laterali meno
pronunciati: la prima finestra che è stata introdotta è
quella di Hanning, il cui andamento è espresso dalla:
La finestra di Hanning determina ancora un errore di
leakage qualora T0 non sia multiplo del periodo del
segnale ma, grazie alla modesta ampiezza dei lobi
laterali del suo spettro, le ampiezze delle armoniche
introdotte sono estremamente inferiori a quelle che
possono essere determinate dalla finestra
rettangolare.
rettangolare
Analizzatore di spettro numerico a FFT Un po’ di matematica…………..
CASO
O T0=TT
Analizzatore di spettro numerico a FFT CASO T0=T
Analizzatore di spettro numerico a FFT CASO T0=T
∞
s (t ) = ∑ δ (t − nTs )
CASO
O T0=TT
n =∞
Analizzatore di spettro numerico a FFT CASO T0=T
∞
s (t ) = ∑ δ (t − nTs )
n =∞
1
F (e
jωTs
)=
∞
Ts
Ts )e − jωnTs
∑ f (nT
n =∞
DTFT
Analizzatore di spettro numerico a FFT CASO T0=T
∞
s (t ) = ∑ δ (t − nTs )
n =∞
1
F (e
jωTs
)=
∞
Ts
Ts )e − jωnTs
∑ f (nT
n =∞
⎧1 n = n0 , . . ., n0 + N − 1
WR (nTs ) = ⎨
altrove
⎩0
DTFT
Analizzatore di spettro numerico a FFT
L’operazione di finestratura
⎧1 n = n0 , . . ., n0 + N − 1
WR (nTs ) = ⎨
altrove
⎩0
)=e
0
WR (e
jωTs
− jn ωTs
sin(ωTs )
sin((ωTs / N )
-1/NTs 1/NTs
-1/T0
1/T0
• Funzione periodica con periodo NFs
• Presenta N zeri per periodo alle frequenze 1/NTs
• Assume valore massimo nell'origine pari a NTs
• Il lobo principale ha ampiezza 2/(NTs)
Analizzatore di spettro numerico a FFT CASO T0=T
∞
s (t ) = ∑ δ (t − nTs )
n =∞
1
F (e
jωTs
)=
∞
Ts
Ts )e − jωnTs
∑ f (nT
n =∞
DTFT
⎧1 n = n0 , . . ., n0 + N − 1
WR (nTs ) = ⎨
altrove
⎩0
-1/T 1/T
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
Un esempio…….
esempio
Segnale monofrequenziale a frequenza f0=1/T
x 0 ( t ) = A0 e
j 2πf 0t
Segnale campionato con frequenza F
g
p
q
s=1/Ts
x 0 ( nT s ) = A 0 e
j 2 π f 0 nT s
DTFT del segnale campionato
0
+∞
0
n = −∞
0
) = ∑ A e jω nTs e − jωnTs = A δ (ω − ω )
0
0
X (e
jωTs
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
Nel caso dell’esempio del segnale sinusoidale si ottiene quindi:
⎧ A0 e − j 2πf 0 nTs
x(nTs ) = x0 (nTs )WR (nTs ) = ⎨
0
⎩
n = 0, . . ., N − 1
altrove
DTFT di x(nT)
X (e
jωTs
)=
+∞
− jωnTs
jωTs
jωTs
x
(
nT
)
e
=
X
(
e
)
*
W
(
e
)=
∑ s
R
0
k = −∞
= A0δ (ω − ω0 ) *WR (e jωTs )
X (e jωTs ) = A0 WR (e j (ω −ω0 )Ts )
Analizzatore di spettro numerico a FFT CASO T0=T
∞
s (t ) = ∑ δ (t − nTs )
n =∞
1
F (e
jωTs
)=
∞
Ts
Ts )e − jωnTs
∑ f (nT
n =∞
DTFT
⎧1 n = n0 , . . ., n0 + N − 1
WR (nTs ) = ⎨
altrove
⎩0
-1/T
1/T
E’ necessario campioniare la DTFT con frequenza 1/T0!
Questo corrisponde ad un’operazione di periodicizzazione.
Analizzatore di spettro numerico a FFT CASO T0=T
∞
s (t ) = ∑ δ (t − nTs )
n =∞
1
F (e
jωTs
)=
∞
Ts
Ts )e − jωnTs
∑ f (nT
n =∞
DTFT
⎧1 n = n0 , . . ., n0 + N − 1
WR (nTs ) = ⎨
altrove
⎩0
-1/T
1/T
Analizzatore di spettro numerico a FFT CASO T0=T
1
Dalla DTFT alla DFT
F (e
jωTs
)=
∞
n =∞
2
2
Ts
∑ f (nTs )e
− jωnTs
0
ω → πk / T = πk / NTS
n=
0
F ( k ) = ∑ f ( n )e
−j
2
1
N−
πkn
N
DFT
Analizzatore di spettro numerico a FFT CASO T0=T
∞
s (t ) = ∑ δ (t − nTs )
n =∞
1
F (e
jωTs
)=
∞
Ts
Ts )e − jωnTs
∑ f (nT
n =∞
DTFT
⎧1 n = n0 , . . ., n0 + N − 1
WR (nTs ) = ⎨
altrove
⎩0
-1/T
1/T
Analizzatore di spettro numerico a FFT Leakage
CASO T0 ≠ T
Analizzatore di spettro numerico a FFT ……in
in sintesi…..
sintesi
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
Un segnale campionato può essere rappresentato
come:
f s (t ) = f (t ) s(t )
•il segnale s(t) è un segnale periodico di periodo T; è
quindi possibile farne lo sviluppo in serie di Fourier:
s (t ) =
∞
t ∈ (− ∞, ∞ )
jnω t
μ
e
∑ n
s
n = −∞
T /2
1
− jnω s t
μn =
s (t )e
dt
∫
T −T / 2
Quindi, il segnale campionato assume la forma:
f s (t ) = f (t )
Fs (ω ) =
=
∞
∑
n = −∞
μn
∞
∑
n = −∞
∞
∫
−∞
μn
∞
∑μne
n=−∞
∞
∫
jnωst
=
∞
jnω t
(
)
μ
f
t
e
∑ n
s
n=−∞
f (t )e jnωs t e − jωt dt =
−∞
∞
f (t )e − j (ω − nωs )t dt = ∑ μ n F (ω − nω s )
n = −∞
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
n =∞
Ts
1
s (t ) = ∑ δ (t − nTs )
−Ts /
s (t ) =
s
1
∞
− jnω t
(
)
t
e
dt =
δ
∫
2
μn =
2
1
Nel caso del campionamento ideale nel dominio
Ts /
della frequenza si ha:
∞
1
Ts
∑e
Fs (ω ) =
∞
∞
n =∞
n =∞
j ωst
jn
n =∞
Ts
.
∞
Ts
∑ F (ω − nω s ).
n =∞
f s (t ) = f (t ) ∑ δ (t − nTs ) = ∑ f (t )δ (t − nTs ) =
∞
= ∑ f (nTs )δ (t − nTs )
n =∞
+∞ ∞
Fs (ω ) = ∫ ∑ f (nTs )δ (t − nTs )e − jωt dt =
−∞ n =∞
∞
= ∑ f (nTs )e − jωnTs
1
n =∞
F (ω − nω s ) =
∞
Ts
∑ f (nTs )e
n =∞
− jωnTs
DTFT
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
• Gli analizzatori digitali di spettro considerano una porzione finita del
segnale campionato composta da N
campioni
• Tale segnale può essere ottenuto per prodotto con una finestra
rettangolare WR( ) di ampiezza unitaria e durata T0=NTs
⎧1 n = n0 , . . ., n0 + N − 1
WR (nTs ) = ⎨
altrove
⎩0
+∞
∑e
n=
0
)=e
N−
0
WR (e
jωTs
0
=e
− jn ωTs
1
n = −∞
= ∑ WR (nTs )e − jnωTs =
− jn ωTs
n=n
0
) = ∑ WR (nTs )e
n +N−
− jnωTs
1
0
WR (e
jωTs
− jnωTs
sin(ωTs )
sin(ωTs / N )
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
Nucleo di Dirichlet
Nucleo di Dirichlet
WR (e
jωTs
)=e
− jn0ωTs
sin(ωTs )
sin(ωTs / N )
• Funzione periodica con periodo NFs
• Presenta N zeri per periodo alle frequenze 1/NTs
• Assume valore massimo nell'origine pari a NTs
• Il lobo
l b principale
i i l ha
h ampiezza
i
2/(NTs)
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
La DTFT è continua nelle frequenze!!!!!
E’ necessario campionarla!!!
La campioniamo alla frequenza 1/T0 con T0
periodo della finestratura: DFT !!!!
Questa
operazione
porta
alla
“P i di i
“Periodicizzazione”
i
” del
d l segnale
l finestrato!!!!
fi t t !!!!
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
LLa DFT fornisce
f i
M campioni
i i della
d ll DTFT
spaziati di un quanto frequenziale:
F=1/T0
ap
partire dalla frequenza
q
0;;
N −1
F ( n ) = ∑ f ( k )e
k =0
− j 2 πNkn
Analizzatore di spettro numerico a FFT
L’analisi spettrale di un segnale campionato
Il campionamento della DTFT avviene alla
frequenza 1/T0
Se 1/T0 è un multiplo della frequenza del segnale,
1/T, si parlerà di campionamento coerente e non
si avrà distorsione di informazione.
f
Cioè i
campioni della DTFT coincideranno con le righe
del segnale campionato (in figura 3)!!!
Altrimenti si parlerà di campionamento non
coerente, si avrà distorsione (fenomeno del
leakage).
Scarica

Analizzatore di spettro numerico a FFT La ricostruzione del segnale