Salta al contenuto
Note per Studenti Spettro dei segnali periodici e FFT dell'oscilloscopio

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 TT 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 fk=k f0,f0=1T,k=0,1,2,…f_k=k\,f_0,\qquad f_0=\frac1T,\quad k=0,1,2,\dots La riga k=0k=0 è il valore medio (componente continuavalore medio del segnale, spesso non mostrata); la riga k=1k=1 è la fondamentalecomponente alla frequenza f_0; le altre sono le armonichecomponenti alle frequenze multiple intere della fondamentale. Ogni riga ha un'ampiezza ckc_k 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 00 e AA con durata dell'impulso τ\tau e duty cycle d=τ/Td=\tau/T: v‾=A d,ampiezza della riga k:  2A d ∣sinc(kd)∣=2Aπk ∣sin⁡(πkd)∣,sinc(x)=sin⁡πxπx.\overline v=A\,d,\qquad \text{ampiezza della riga }k:\ \ 2A\,d\,\Big|\mathrm{sinc}(kd)\Big|=\frac{2A}{\pi k}\,\big|\sin(\pi kd)\big|,\qquad \mathrm{sinc}(x)=\frac{\sin\pi x}{\pi x}. Il fattore ∣sin⁡x/x∣|\sin x/x| è 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 f=1τ,2τ,…f=\frac1\tau,\frac2\tau,\dots. Da questa formula si leggono le caratteristiche distintive che chiede il tema d'esame:

  • le righe sono a distanza f0=1/Tf_0=1/T (periodo 120 μ120\ \mus ⇒\Rightarrow f0=8,33f_0=8{,}33 kHz);
  • l'ampiezza decresce circa come 1/k1/k (in prima approssimazione "inversamente proporzionale all'ordine");
  • il primo zero dell'inviluppo è a 1/τ1/\tau (τ=32 μ\tau=32\ \mus ⇒\Rightarrow 31,2531{,}25 kHz, tra la terza e la quarta armonica);
  • con d=50%d=50\% (sin⁡(πk/2)=0\sin(\pi k/2)=0 per kk pari) le armoniche pari sono nulle; con d≠50%d\ne50\% compaiono anche quelle pari, e lo spettro non è più simmetrico come i due semiperiodi.

Numeri per T=120 μT=120\ \mus, τ=32 μ\tau=32\ \mus (d=26,7%d=26{,}7\%, impulso A=1A=1 V), verificati con una FFT:

kk 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 58 μ58\ \mus ogni 192 μ192\ \mus, d=30,2%d=30{,}2\%) ha f0=5,21f_0=5{,}21 kHz e primo zero a 17,217{,}2 kHz.

Altre forme d'onda

segnale armoniche presenti decadimento dell'ampiezza
quadra (d=50%d=50\%) solo dispari 1/k1/k
rettangolare (d≠50%d\ne50\%) tutte 1/k1/k con inviluppo sinc
triangolare simmetrica solo dispari 1/k21/k^2
dente di sega tutte 1/k1/k

Una forma d'onda con fronti più lenti ha meno contenuto ad alta frequenza: il tempo di salita TrT_r limita lo spettro oltre f≈0,35/Trf\approx 0{,}35/T_r (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 f1f_1 e alle armoniche con ampiezze VnV_n: 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 AC(1+KMcos⁡2πfMt)cos⁡2πfCtA_C(1+K_M\cos2\pi f_Mt)\cos2\pi f_Ct ha tre righe: portante ACA_C a fCf_C e due righe laterali di ampiezza ACKM/2A_CK_M/2 a fC±fMf_C\pm f_M (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 Tw=10⋅ΔThT_w=10\cdot\Delta T_h (10 divisioni orizzontali con ΔTh\Delta T_h s/div), le righe della FFT sono distanziate di Δf=1Tw.\boxed{\Delta f=\frac1{T_w}.} Con 50 μ50\ \mus/div si ha Tw=500 μT_w=500\ \mus e Δf=2\Delta f=2 kHz; con 500 μ500\ \mus/div, Tw=5T_w=5 ms e Δf=200\Delta f=200 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 Δf=2\Delta f=2 kHz e una fondamentale di 8,338{,}33 kHz ci sono solo 44 righe tra 00 e f0f_0; la riga 8,338{,}33 kHz cade tra due righe della FFT.

Frequenza massima. Con frequenza di campionamentonumero di campioni al secondo prelevati dal convertitore A/D fsf_s si può rappresentare fino a fs/2f_s/2 (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 100100 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 TwT_w).

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 MM periodi interi, Nf0=MfsN f_0=Mf_s; con N=1000N=1000 campioni, fs=1f_s=1 MHz e M=7M=7 periodi si ha f0=7f_0=7 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 2∣X[k]∣/N2|X[k]|/N (per una sinusoide di picco V0V_0 si legge V0V_0).

Esempio in Python

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 riga

Il risultato (0,4730{,}473, 0,3170{,}317, 0,1250{,}125, 0,0330{,}033 V) coincide con la tabella ricavata dalla formula, perché in 1212 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 TwT_w.
  • Dimenticare che per d≠50%d\ne50\% compaiono le armoniche pari.
  • Confondere la distanza tra le righe del segnale (f0=1/Tf_0=1/T) con la risoluzione della FFT (1/Tw1/T_w).
  • Leggere l'ampiezza di una riga da una FFT non coerente senza finestra: il valore sul picco è sottostimato.

Versione ripasso

Esercizi su questo argomento

Teoria collegata