Vai al contenuto
Elaborazione Numerica dei Segnali

Analisi spettrale: dispersione, finestre, periodogramma e metodo di Welch

DFT di un blocco finito e dispersione spettrale dimostrata, risoluzione, dinamica e perdita a festone, zero padding con dimostrazione, periodogramma, metodo di Welch e riduzione della varianza, spettrogramma.

Calcolare lo spettro di un segnale misurato sembra facile: si prende un blocco di campioni e si calcola la FFT. Ma il risultato dipende da come si è tagliato il blocco, e su un segnale rumoroso è sorprendentemente inaffidabile. In questa lezione vediamo la dispersione spettrale con la sua dimostrazione, la risoluzione e la perdita a festone, perché aggiungere zeri non aumenta la risoluzione, il periodogramma e il metodo di Welch con la dimostrazione della riduzione della varianza, e lo spettrogramma.

La DFT di un blocco finito

Analizzando N campioni si osserva il segnale attraverso una finestra rettangolare, e la DFT dà N campioni della DTFT del segnale finestrato, nelle frequenze 2\pi k/N (i bin). Con frequenza di campionamento f_s i bin sono distanti f_s/N: con 1 kHz e 1000 campioni, 1 Hz.

Teorema. Per x[n] = e^{j\omega_0 n}, n = 0, \dots, N-1, la DFT vale

    \[ X[k] = \sum_{n=0}^{N-1}e^{j(\omega_0 - 2\pi k/N)n} = e^{j(N-1)\Delta_k/2}\,\frac{\sin(N\Delta_k/2)}{\sin(\Delta_k/2)},\qquad \Delta_k = \omega_0 - \frac{2\pi k}{N} \]

Se \omega_0 coincide con un bin, \omega_0 = 2\pi k_0/N, la DFT è N nel bin k_0 e zero in tutti gli altri; altrimenti è diversa da zero in tutti i bin.

Dimostrazione. È la stessa serie geometrica della media mobile (lezione sulla DTFT), di ragione e^{j\Delta_k}. Se \omega_0 = 2\pi k_0/N, per k \ne k_0 si ha N\Delta_k/2 = \pi(k_0 - k), multiplo di \pi: il seno al numeratore è nullo mentre quello al denominatore no. Per k = k_0 tutti i termini valgono 1. Se \omega_0 cade tra due bin, N\Delta_k/2 non è mai multiplo di \pi e nessun termine si annulla. ∎

DFT a 32 punti di una sinusoide che cade esattamente su un bin e di una che cade a metà tra due bin
In alto la sinusoide compie un numero intero di periodi nel blocco: tutta l’energia sta in un solo bin. In basso compie un numero non intero di periodi: l’energia si disperde su tutti i bin, con due righe principali più basse. La curva tratteggiata è la trasformata della finestra rettangolare.

È la dispersione spettrale (leakage): una sinusoide pura appare come un picco circondato da una “gonna” che si estende su tutto lo spettro, scendendo lentamente (i lobi laterali della finestra rettangolare, a −13 dB il primo). Il motivo fisico è che la DFT tratta il blocco come un periodo di un segnale periodico: se il numero di periodi non è intero, alla giunzione c’è un salto, e il salto ha uno spettro largo.

Risoluzione, dinamica e perdita a festone

Le conseguenze si gestiscono con le finestre della lezione sui FIR, applicate questa volta al segnale:

  • risoluzione: due sinusoidi si distinguono se sono più distanti della larghezza del lobo principale, circa 4\pi/N per la rettangolare e 8\pi/N per Hann e Hamming. Per risolvere frequenze vicine servono blocchi lunghi;
  • dinamica: una sinusoide debole vicina a una forte resta nascosta nei lobi laterali di quest’ultima. Le finestre con lobi bassi (Hann, Blackman, Kaiser) permettono di vedere componenti 60-100 dB sotto;
  • perdita a festone (scalloping): se la frequenza cade a metà tra due bin, il picco misurato è più basso. Con la finestra rettangolare il valore è 1/(N\sin(\pi/(2N))) \approx 2/\pi, cioè −3,9 dB. Le finestre a sommità piatta (flat-top) lo riducono sotto 0,01 dB e si usano per misurare ampiezze con precisione.

Aggiungere zeri non aumenta la risoluzione

Allungare il blocco con zeri prima della FFT (zero padding) produce un grafico più fitto e liscio, ma non separa due sinusoidi vicine.

Teorema. La DFT a N' \gt  N punti del blocco allungato con zeri dà i campioni della stessa DTFT del blocco originale, nelle frequenze 2\pi k/N'.

Dimostrazione. X'[k] = \sum_{n=0}^{N'-1}x'[n]e^{-j2\pi kn/N'} = \sum_{n=0}^{N-1}x[n]e^{-j(2\pi k/N')n}, perché i campioni aggiunti sono nulli; e questa è la DTFT del blocco originale calcolata in \omega = 2\pi k/N'. ∎

La funzione campionata è sempre la stessa, con lo stesso lobo principale: lo zero padding interpola, utile per leggere meglio la posizione di un picco, ma l’informazione è quella degli N campioni misurati.

Il periodogramma e il metodo di Welch

Per un segnale aleatorio, come il rumore, interessa la densità spettrale di potenza (lezione sui processi aleatori di Teoria dei segnali). La stima immediata è il periodogramma |X[k]|^2/N. Ha un difetto serio: la sua deviazione standard in ogni bin è dell’ordine del valore stesso, e non diminuisce allungando il blocco. Con più campioni si hanno più bin, ma ciascuno resta altrettanto rumoroso: lo spettro stimato di un rumore bianco appare come un’erba fitta invece che come una linea piatta.

Il metodo di Welch divide il segnale in K segmenti (spesso sovrapposti al 50 %), applica una finestra a ciascuno, ne calcola il periodogramma e fa la media.

Teorema. Se i K periodogrammi sono indipendenti e hanno la stessa varianza \sigma^2, la loro media ha varianza \sigma^2/K.

Dimostrazione. È lo stesso risultato della media di n letture (lezione sull’incertezza di Misure elettriche): \mathrm{Var}\big(\frac{1}{K}\sum P_i\big) = \frac{1}{K^2}\sum\mathrm{Var}(P_i) = \sigma^2/K. ∎

Il prezzo è la risoluzione: ogni segmento è K volte più corto. È il compromesso fondamentale dell’analisi spettrale: risoluzione contro varianza, a parità di durata del segnale. Gli analizzatori di spettro numerici fanno esattamente questo, con la media di molte FFT.

Lo spettrogramma

Per i segnali che cambiano nel tempo, come la voce o la musica, si calcola la DFT su finestre successive e si dispongono i risultati uno accanto all’altro: è lo spettrogramma (trasformata di Fourier a tempo breve, STFT). Una finestra lunga dà buona risoluzione in frequenza ma confonde gli eventi rapidi; una corta il contrario. Il prodotto delle due risoluzioni non può scendere sotto un limite, come nel principio di indeterminazione: \Delta t\,\Delta f è almeno dell’ordine di 1. Le trasformate wavelet scelgono finestre lunghe per le basse frequenze e corte per le alte, adattandosi a molti segnali naturali.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x