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).