Spettro dei segnali periodici e FFT dell'oscilloscopio
In questa pagina 5
Nel dominio del tempo un segnale è descritto da forma, ampiezza e durate. Nel dominio della frequenza lo stesso segnale è descritto dalle componenti sinusoidali che lo compongono: la loro ampiezza in funzione della frequenza è lo spettroinsieme delle componenti in frequenza del segnale, con la loro ampiezza e fase. Per i segnali di test della nota Segnali di test e parametri nel dominio del tempoGli strumenti si provano con segnali di test dai parametri noti. Sinusoide $v=V_{DC}+V_0\sin(2\pi f t+\varphi)$: picco $V_0$, picco-picco $V_{pp}=2V_0$, efficace $V_0/\sqrt2$. Onda rettangolare: $V_H$, $V_L$, periodo e duty cycle $d=\tau/T$ (tempi misurati a metà dei fronti, il tempo di salita va dal 10% al 90%). Triangolare e dente di sega: $V_{min}$, $V_{max}$, pendenza $m=(V_{max}-V_{min})/T_R$. Segnali modulati: AM $A_C(1+K_M\cos2\pi f_Mt)\cos2\pi f_Ct$ con $A_C=\frac{V_{pp,max}+V_{pp,min}}4$ e $K_M=\frac{V_{pp,max}-V_{pp,min}}{V_{pp,max}+V_{pp,min}}$; sweep lineare $f(t)=f_{start}+t,\frac{f_{stop}-f_{start}}{T_{sweep}}$ con segnale di sync.Segnali di test e parametri nel dominio del tempo → lo spettro è semplice da prevedere, ed è quello che l'oscilloscopio mostra con la funzione FFT (domanda frequente: "disegnare qualitativamente lo spettro del segnale").
Righe spettrali di un segnale periodico
Un segnale periodico di periodo ha una serie di Fouriersviluppo di un segnale periodico come somma di sinusoidi a frequenze multiple di 1/T (Serie di Fourier - analisi e sintesiUn segnale periodico di periodo $T$ si scrive come somma di esponenziali in relazione armonica, $x(t)=\sum_ka_ke^{jk\omega_0t}$ con $\omega_0=2\pi/T$, e i coefficienti si ottengono per proiezione, $a_k=\frac1T\int_Tx(t)e^{-jk\omega_0t}dt$. L'ortogonalità degli esponenziali dà la formula; la convergenza è in media quadratica (Riesz-Fischer), con il fenomeno di Gibbs nei salti.Serie di Fourier - analisi e sintesi →) e quindi uno spettro a righe alle frequenze La riga è il valore medio (componente continuavalore medio del segnale, spesso non mostrata); la riga è la fondamentalecomponente alla frequenza f_0; le altre sono le armonichecomponenti alle frequenze multiple intere della fondamentale. Ogni riga ha un'ampiezza che dipende dalla forma d'onda (Serie di Fourier - coefficienti di segnali notevoliCoefficienti di Fourier dei segnali periodici più frequenti: costante e sinusoidi (si leggono con Eulero), pettine ($a_k=1/T$), onda quadra con duty cycle $d$ ($a_k=d,\operatorname{sinc}(kd)$), coseno rettificato, dente di sega e onda triangolare. Utile anche il trucco della derivata: $a_k=b_k/(jk\omega_0)$ dove $b_k$ sono i coefficienti di $x'$.Serie di Fourier - coefficienti di segnali notevoli →).
Onda rettangolare e duty cycle
Per un'onda rettangolare tra e con durata dell'impulso e duty cycle : Il fattore è la funzione sinctrasformata di Fourier di un rettangolo: oscilla smorzandosi come 1/x, con zeri negli interi e fa da inviluppocurva che racchiude le ampiezze delle righe e ne descrive l'andamento delle righe: si annulla alle frequenze . Da questa formula si leggono le caratteristiche distintive che chiede il tema d'esame:
- le righe sono a distanza (periodo s kHz);
- l'ampiezza decresce circa come (in prima approssimazione "inversamente proporzionale all'ordine");
- il primo zero dell'inviluppo è a (s kHz, tra la terza e la quarta armonica);
- con ( per pari) le armoniche pari sono nulle; con compaiono anche quelle pari, e lo spettro non è più simmetrico come i due semiperiodi.
Numeri per s, s (, impulso V), verificati con una FFT:
| 0 | 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|---|
| frequenza (kHz) | 0 | 8,33 | 16,7 | 25,0 | 33,3 | 41,7 |
| ampiezza (V) | 0,267 | 0,473 | 0,317 | 0,125 | 0,033 | 0,110 |
Grafico interattivo: Ampiezze delle prime 16 righe di un'onda rettangolare 0-1 V con d = 26,7% (T = 120 µs, τ = 32 µs): la quarta e l'ottava riga sono quasi nulle perché cadono vicino agli zeri dell'inviluppo
Il segnale della prova del gennaio 2026 (impulsi di s ogni s, ) ha kHz e primo zero a kHz.
Altre forme d'onda
| segnale | armoniche presenti | decadimento dell'ampiezza |
|---|---|---|
| quadra () | solo dispari | |
| rettangolare () | tutte | con inviluppo sinc |
| triangolare simmetrica | solo dispari | |
| dente di sega | tutte |
Una forma d'onda con fronti più lenti ha meno contenuto ad alta frequenza: il tempo di salita limita lo spettro oltre (Banda, tempo di salita e accoppiamento AC-DC dell'ingressoLo stadio d'ingresso dell'oscilloscopio è un doppio bipolo con impedenza $Z_i=R_i\parallel C_i$ ($1\ \mathrm{M}\Omega$, decine di pF) e risposta $G(f)$ in banda $B$. Senza distorsione: $|G|$ costante e fase lineare. Tempo di salita dello strumento $T_r=0{,}35/B$; un fronte di durata $T_s$ si vede lungo $T_v=\sqrt{T_s^2+T_r^2}$, con errore $\simeq\frac12(T_r/T_s)^2$. Accoppiamento AC: capacità $C_{ac}$ in serie, filtro passa-alto $H(s)=\frac{sR_iC_{ac}}{1+sR_iC_{ac}}$, $f_T=\frac1{2\pi R_iC_{ac}}$ ($7{,}96$ Hz per $20$ nF); alla frequenza $f$: $|H|=\frac{f/f_T}{\sqrt{1+(f/f_T)^2}}$. Toglie la componente continua ma attenua e deforma le componenti lente.Banda, tempo di salita e accoppiamento AC-DC dell'ingresso →).
Una sinusoide distorta ha righe a e alle armoniche con ampiezze : dal rapporto si ricava la distorsione armonica totale (THD, Segnali di test e parametri nel dominio del tempoGli strumenti si provano con segnali di test dai parametri noti. Sinusoide $v=V_{DC}+V_0\sin(2\pi f t+\varphi)$: picco $V_0$, picco-picco $V_{pp}=2V_0$, efficace $V_0/\sqrt2$. Onda rettangolare: $V_H$, $V_L$, periodo e duty cycle $d=\tau/T$ (tempi misurati a metà dei fronti, il tempo di salita va dal 10% al 90%). Triangolare e dente di sega: $V_{min}$, $V_{max}$, pendenza $m=(V_{max}-V_{min})/T_R$. Segnali modulati: AM $A_C(1+K_M\cos2\pi f_Mt)\cos2\pi f_Ct$ con $A_C=\frac{V_{pp,max}+V_{pp,min}}4$ e $K_M=\frac{V_{pp,max}-V_{pp,min}}{V_{pp,max}+V_{pp,min}}$; sweep lineare $f(t)=f_{start}+t,\frac{f_{stop}-f_{start}}{T_{sweep}}$ con segnale di sync.Segnali di test e parametri nel dominio del tempo →). Un segnale AM ha tre righe: portante a e due righe laterali di ampiezza a (Filtri, modulazione e trasmissione AMIn frequenza un filtro LTI moltiplica: $Y(\omega)=H(\omega)X(\omega)$ (serie, parallelo, retroazione diventano $H_1H_2$, $H_1+H_2$, $\frac{H_1}{1+H_1H_2}$). I filtri ideali (passa-basso, passa-alto, passa-banda) hanno $h$ non causale e instabile; il filtro RC è il passa-basso reale. La modulazione $x(t)\cos\omega_0t$ trasla lo spettro in $\pm\omega_0$ e si demodula con la stessa portante e un passa-basso di guadagno 2.Filtri, modulazione e trasmissione AM →).
La FFT dell'oscilloscopio
L'oscilloscopio calcola la trasformata di Fourier discretacalcolo numerico dello spettro a partire da un numero finito di campioni, di solito con l'algoritmo FFT dei campioni della finestra visualizzata (Trasformata di Fourier discreta (TFD)La TFD è la serie di Fourier dei segnali discreti periodici di periodo $N$: servono solo $N$ armoniche, $X(k)=\frac1N\sum_{n=0}^{N-1}x(n)e^{-j2\pi kn/N}$ e $x(n)=\sum_{k=0}^{N-1}X(k)e^{j2\pi kn/N}$. È un prodotto matrice-vettore in $\mathbb{C}^N$ (la matrice di Fourier); la convoluzione circolare diventa prodotto, $N X(k)Y(k)$. La FFT la calcola in $O(N\log N)$.Trasformata di Fourier discreta (TFD) →, FFT e zero-padding - TF, TFtd e asse delle pulsazioniLa FFT dei campioni di un segnale a durata finita, moltiplicata per il passo $T_c$, approssima la trasformata di Fourier: $X(\omega_k)\approx T_c,\mathtt{fft}(x,M)[k]$ con $\omega_k=\frac{2\pi k}{MT_c}$ (e fattore di fase $e^{-j\omega t_0}$ se l'asse parte da $t_0$). Lo zero-padding ($M>N$) infittisce i punti della stessa TFtd senza aggiungere informazione; la risoluzione dipende dalla durata osservata. Per un segnale reale $|X|$ è simmetrico: il picco in $k$ ha un gemello in $M-k$.FFT e zero-padding - TF, TFtd e asse delle pulsazioni →). Tre grandezze governano il risultato.
Risoluzione in frequenza. Se la finestra dura (10 divisioni orizzontali con s/div), le righe della FFT sono distanziate di Con s/div si ha s e kHz; con s/div, ms e Hz. Per migliorare la risoluzione bisogna aumentare la durata dell'osservazione, cioè la scala dei tempi (secondi per divisione): non basta avere più campioni nella stessa finestra. Con kHz e una fondamentale di kHz ci sono solo righe tra e ; la riga kHz cade tra due righe della FFT.
Frequenza massima. Con frequenza di campionamentonumero di campioni al secondo prelevati dal convertitore A/D si può rappresentare fino a (Teorema del campionamento, interpolazione e aliasingTeorema di Shannon: un segnale a banda limitata $\omega_M$ si ricostruisce esattamente dai campioni se $T_c<\pi/\omega_M$ (frequenza di campionamento maggiore di quella di Nyquist $2f_{\max}$), con la formula di interpolazione ideale $x(t)=\sum_nx(nT_c)\operatorname{sinc}\left(\frac{t-nT_c}{T_c}\right)$. Sotto Nyquist c'è aliasing: le frequenze alte si confondono con quelle basse e l'informazione è persa.Teorema del campionamento, interpolazione e aliasing →); lo strumento limita comunque lo spettro con la banda analogica (per esempio MHz).
Zero-padding. Aggiungere zeri ai campioni infittisce le righe nel grafico ma non migliora la risoluzione: dà un'interpolazione dello stesso spettro (la risoluzione dipende solo da ).
Dispersione spettrale e campionamento coerente
Se nella finestra non entra un numero intero di periodi, la FFT "vede" un segnale con una discontinuità tra l'ultimo e il primo campione: l'energia delle righe si spande sui contenitori vicini (dispersione spettraleallargamento delle righe dovuto a una finestra che non contiene un numero intero di periodi, in inglese leakage) e l'ampiezza letta sul picco è sbagliata. Rimedi:
- campionamento coerentescelta di frequenza e finestra per cui in N campioni entra un numero intero di periodi: scegliere la finestra in modo da contenere periodi interi, ; con campioni, MHz e periodi si ha kHz esatti;
- usare una finestra di ponderazionefunzione che attenua i campioni ai bordi della finestra per ridurre la dispersione, per esempio la finestra di Hann (Hann, Hamming...), che riduce la dispersione al prezzo di allargare le righe e di cambiare la scala delle ampiezze.
Con acquisizione coerente l'ampiezza di una riga si ricava da (per una sinusoide di picco si legge ).
Esempio in Python
import numpy as np
fs = 1e9 # frequenza di campionamento: 1 GS/s
t = np.arange(0, 12 * 120e-6, 1 / fs)
v = ((t % 120e-6) < 32e-6).astype(float) # impulsi di 32 us ogni 120 us
X = np.fft.rfft(v) / len(v)
f = np.fft.rfftfreq(len(v), 1 / fs)
for k in range(1, 5):
i = np.argmin(abs(f - k / 120e-6))
print(k, f[i], 2 * abs(X[i])) # k, frequenza, ampiezza della rigaIl risultato (, , , V) coincide con la tabella ricavata dalla formula, perché in periodi interi la FFT è coerente.
Errori comuni
- Dire che si migliora la risoluzione in frequenzadistanza minima tra due righe che la FFT riesce a distinguere usando più punti nella stessa finestra o zero-padding: dipende solo dalla durata .
- Dimenticare che per compaiono le armoniche pari.
- Confondere la distanza tra le righe del segnale () con la risoluzione della FFT ().
- Leggere l'ampiezza di una riga da una FFT non coerente senza finestra: il valore sul picco è sottostimato.
Versione ripasso
- Periodico: righe a , (Serie di Fourier - analisi e sintesiUn segnale periodico di periodo $T$ si scrive come somma di esponenziali in relazione armonica, $x(t)=\sum_ka_ke^{jk\omega_0t}$ con $\omega_0=2\pi/T$, e i coefficienti si ottengono per proiezione, $a_k=\frac1T\int_Tx(t)e^{-jk\omega_0t}dt$. L'ortogonalità degli esponenziali dà la formula; la convergenza è in media quadratica (Riesz-Fischer), con il fenomeno di Gibbs nei salti.Serie di Fourier - analisi e sintesi →); riga = media.
- Rettangolare : media , riga di ampiezza , inviluppo con zeri a ; ampiezza ; : pari nulle, : anche pari. s, s: kHz, zero a kHz.
- Triangolare solo dispari ; dente di sega tutte ; AM: portante e due righe laterali a .
- FFT: (s/div: kHz; s/div: Hz); migliora solo allungando ; zero-padding = interpolazione; massimo (Teorema del campionamento, interpolazione e aliasingTeorema di Shannon: un segnale a banda limitata $\omega_M$ si ricostruisce esattamente dai campioni se $T_c<\pi/\omega_M$ (frequenza di campionamento maggiore di quella di Nyquist $2f_{\max}$), con la formula di interpolazione ideale $x(t)=\sum_nx(nT_c)\operatorname{sinc}\left(\frac{t-nT_c}{T_c}\right)$. Sotto Nyquist c'è aliasing: le frequenze alte si confondono con quelle basse e l'informazione è persa.Teorema del campionamento, interpolazione e aliasing →).
- Leakage: finestra con periodi interi (campionamento coerente ) o finestra di Hann.
- Errori: risoluzione con più punti, dimenticare le pari, confondere e .
- Tabella (s, s, V): righe (media), , , , , V a , , , , , kHz; s, s: kHz, zero a kHz.
- Coerente: (, MHz, : kHz); ampiezza riga .