Esercizio - sinc modulato, estensione spettrale e campionamento a massima efficienza (prova scritta del 3 settembre 2025)
Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.
In questa pagina 4
Testo (prova scritta del corso Teoria dei Segnali, UniPD, 3 settembre 2025, problema 2). Considerare il segnale
- Determinare l'estensione spettrale e la larghezza di banda del segnale .
- Determinare lo schema di campionamento e successiva interpolazione che permetta la perfetta ricostruzione di con la massima efficienza. Indicare frequenza di campionamento e risposta impulsiva del filtro interpolatore.
- Scrivere una procedura Matlab che realizzi la ricostruzione di e la sua rappresentazione grafica a partire dai suoi campioni salvati in un vettore
y_cdi lunghezza opportuna.
Teoria usata: Trasformata di FourierLa trasformata di Fourier $S(f)=\int s(t)e^{-i2\pi ft}dt$ associa a un segnale continuo (anche aperiodico) la sua rappresentazione in frequenza; l'antitrasformata $s(t)=\int S(f)e^{i2\pi ft}df$ lo ricostruisce, perché gli esponenziali $e^{i2\pi ft}$ sono ortogonali su tutto $\mathbb R$ ($\int e^{i2\pi ft}dt=\delta(f)$). Per un segnale reale $S(-f)=S^(f)$. Si calcola per i segnali notevoli (rect $\leftrightarrow$ sinc, $e^{-\alpha t}\mathbf 1(t)\leftrightarrow\frac1{\alpha+i2\pi f}$, gaussiana, $\delta\leftrightarrow1$, $1\leftrightarrow\delta$, gradino) e per i segnali periodici, la cui trasformata è un treno di impulsi di area $S_n$ in $nF$.Trasformata di Fourier →, Proprietà della trasformata di FourierLe regole della trasformata di Fourier trasformano operazioni sui segnali in operazioni sulle trasformate: linearità, ribaltamento, coniugio, traslazione nel tempo ($\times e^{-i2\pi ft_0}$) e in frequenza, convoluzione $\leftrightarrow$ prodotto, cambio di scala $s(at)\to\frac1{|a|}S(f/a)$, derivazione ($\times i2\pi f$), integrazione, regola di simmetria ($S(t)\to s(-f)$). Area $S(0)=\int s$, teorema di Parseval $\int|s|^2=\int|S|^2$. Durata e banda sono inversamente legati e un segnale non può avere durata e banda entrambe limitate; la banda del prodotto è la somma delle bande. Con queste regole si ricavano quasi tutte le trasformate senza integrare.Proprietà della trasformata di Fourier →, Segnali notevoli - gradino, rect, tri, sinc ed esponenzialiI segnali di uso più frequente sono la costante, la sinusoide $A_0\cos(2\pi f_0t+\varphi_0)$ e l'esponenziale complesso $Ae^{i2\pi f_0t}$ (periodici, a potenza finita), il gradino $\mathbf 1(t)$ e il segno, e gli impulsi a energia finita: $\operatorname{rect}$ (area $D$), $\operatorname{tri}$, $\operatorname{sinc}$ (area $1$), la gaussiana $e^{-\pi t^2}$ e gli esponenziali smorzati. Per ciascuno si sanno a memoria forma, area ed energia; gli altri segnali si ottengono da questi con traslazioni, scalature, somme e differenze.Segnali notevoli - gradino, rect, tri, sinc ed esponenziali →, Campionamento e ricostruzioneIl campionamento $s_c(nT)=s(nT)$ trasforma un segnale continuo in uno discreto e, in frequenza, ripete lo spettro con periodo $F_c=1/T$: $S_c(f)=\sum_kS(f-kF_c)$. Se le repliche si sovrappongono si ha aliasing e il segnale non è recuperabile. Un interpolatore $\mathbb Z(T)\to\mathbb R$ con risposta impulsiva $g$ produce $\tilde s(t)=\sum_nT g(t-nT)s(nT)$ e $\tilde S=G,S_c$. Teorema del campionamento: se $s$ ha banda $B$ e $F_c\ge2B$, l'interpolatore ideale $G=\operatorname{rect}(f/F_c)$ ricostruisce esattamente $s(t)=\sum s(nT)\operatorname{sinc}(F_c(t-nT))$. Se le ipotesi non valgono c'è un errore, in banda e fuori banda, riducibile con un prefiltro anti-aliasing.Campionamento e ricostruzione →, Interpolazione LTI e teorema del campionamentoIl campionatore R→Z(T) ripete lo spettro con periodo Fc = 1/T (Sc(f) = Σ S(f - kFc), senza fattore 1/T). Il filtro interpolatore Z(T)→R ha y(t) = Σ x(nT) g0(t-nT) con g0 = T g e in frequenza Y = G·X. Se S è nulla fuori da (-B,B) e Fc ≥ 2B, con g0(t) = sinc(Fc t) si ricostruisce esattamente s(t) dai campioni. Altrimenti c'è un errore (in banda per l'aliasing, fuori banda per la parte tagliata), ridotto da un prefiltro anti-aliasing.Interpolazione LTI e teorema del campionamento →, ConvoluzioneLa convoluzione $xy(t)=\int x(u),y(t-u),du$ combina due segnali ribaltando e traslando il secondo, moltiplicando e integrando. È commutativa, associativa, lineare; l'area del risultato è il prodotto delle aree; l'estensione è la somma delle estensioni (estremo con estremo); l'impulso $\delta$ è l'elemento neutro; la convoluzione con il gradino integra. Per due segnali periodici di uguale periodo si usa la convoluzione ciclica (integrale su un periodo). È l'operazione del filtraggio: l'uscita di un filtro è la convoluzione dell'ingresso con la risposta impulsiva.Convoluzione →, Risposta in frequenza e filtriLa risposta in frequenza G(f) = F[g] di un filtro LTI dà Y = G·X. Gli esponenziali complessi sono autofunzioni (autovalore G(f)), quindi un ingresso sinusoidale esce sinusoidale con ampiezza moltiplicata per |G(f0)| e fase aumentata di arg G(f0). Il filtro è reale se G è hermitiana, invertibile se G non si annulla. I filtri ideali sono rect in frequenza; non distorsione secondo Heaviside: |G| costante e fase lineare.Risposta in frequenza e filtri →.
(1) Spettro, estensione spettrale e larghezza di banda
- () : rettangolo di altezza e larghezza (da a );
- () : rettangolo di altezza e larghezza (da a ).
Passo 2: il prodotto diventa convoluzione. La trasformata di un prodotto di segnali è la convoluzione delle trasformate (Proprietà della trasformata di FourierLe regole della trasformata di Fourier trasformano operazioni sui segnali in operazioni sulle trasformate: linearità, ribaltamento, coniugio, traslazione nel tempo ($\times e^{-i2\pi ft_0}$) e in frequenza, convoluzione $\leftrightarrow$ prodotto, cambio di scala $s(at)\to\frac1{|a|}S(f/a)$, derivazione ($\times i2\pi f$), integrazione, regola di simmetria ($S(t)\to s(-f)$). Area $S(0)=\int s$, teorema di Parseval $\int|s|^2=\int|S|^2$. Durata e banda sono inversamente legati e un segnale non può avere durata e banda entrambe limitate; la banda del prodotto è la somma delle bande. Con queste regole si ricavano quasi tutte le trasformate senza integrare.Proprietà della trasformata di Fourier →). Il segnale (prima della modulazione) ha quindi dove è la lunghezza dell'intersezione tra e . Ci sono due casi:
- per il rettangolo stretto sta tutto dentro quello largo: (plateau);
- per l'intersezione si accorcia linearmente: , fino a in (somma dei semi-supporti: ).
è dunque un trapezio centrato in , con base , plateau di altezza . Controllo: l'area del trapezio deve essere . Con base maggiore , base minore e altezza l'area è ✓.
Passo 3: la modulazione. sposta lo spettro di : . Il trapezio ora sta tra e : Con V e MHz l'altezza è V/Hz, il plateau va da MHz a MHz.
Grafico interattivo: Spettro X(f) in µV/Hz (f in MHz): trapezio reale tra 0 e 2 MHz con plateau 2,25 tra 0,667 e 1,333 MHz; il segnale ha solo frequenze positive
Risposta.
- Estensione spettrale (insieme in cui ): .
- Larghezza di banda (misura dell'estensione): .
Lo spettro occupa solo frequenze positive perché il segnale è complesso (l'esponenziale ruota in un solo verso): è un segnale passa-banda complesso centrato in MHz.
(2) Schema di campionamento a massima efficienza per
Passo 1: spettro di . La parte reale si ottiene con , quindi (Proprietà della trasformata di FourierLe regole della trasformata di Fourier trasformano operazioni sui segnali in operazioni sulle trasformate: linearità, ribaltamento, coniugio, traslazione nel tempo ($\times e^{-i2\pi ft_0}$) e in frequenza, convoluzione $\leftrightarrow$ prodotto, cambio di scala $s(at)\to\frac1{|a|}S(f/a)$, derivazione ($\times i2\pi f$), integrazione, regola di simmetria ($S(t)\to s(-f)$). Area $S(0)=\int s$, teorema di Parseval $\int|s|^2=\int|S|^2$. Durata e banda sono inversamente legati e un segnale non può avere durata e banda entrambe limitate; la banda del prodotto è la somma delle bande. Con queste regole si ricavano quasi tutte le trasformate senza integrare.Proprietà della trasformata di Fourier →). Qui è reale (trapezio reale), quindi . Poiché è non nullo solo per , i due termini non si sovrappongono: è un segnale reale a spettro pari, con due trapezi simmetrici di altezza V/Hz: occupa , con un solo zero puntuale in (non un intervallo vuoto).
Grafico interattivo: Spettro Y(f) = ½X(|f|) del segnale reale y(t) = Re[x(t)] in µV/Hz (f in MHz): due trapezi simmetrici tra -2 e 2 MHz, con altezza 1,125 e uno zero (isolato) in f = 0
Passo 2: la condizione di campionamento. Il campionatore ripete lo spettro con periodo : . Un interpolatore LTI può restituire (cioè ) solo se le repliche non si sovrappongono su un insieme di misura positiva (Interpolazione LTI e teorema del campionamentoIl campionatore R→Z(T) ripete lo spettro con periodo Fc = 1/T (Sc(f) = Σ S(f - kFc), senza fattore 1/T). Il filtro interpolatore Z(T)→R ha y(t) = Σ x(nT) g0(t-nT) con g0 = T g e in frequenza Y = G·X. Se S è nulla fuori da (-B,B) e Fc ≥ 2B, con g0(t) = sinc(Fc t) si ricostruisce esattamente s(t) dai campioni. Altrimenti c'è un errore (in banda per l'aliasing, fuori banda per la parte tagliata), ridotto da un prefiltro anti-aliasing.Interpolazione LTI e teorema del campionamento →). Lo spettro di occupa un intervallo di lunghezza senza buchi (lo zero in è un punto, non un intervallo): le repliche, distanti , non si sovrappongono se e solo se Non esiste uno schema più efficiente (nemmeno a campionamento "passa-banda", che richiede uno spettro con intervalli vuoti): sotto le repliche si sovrappongono e la ricostruzione è impossibile. La massima efficienza (frequenza minima) è quindi Nota: campionare il segnale complesso (banda ) richiederebbe solo MHz, ma ogni campione è complesso, cioè due numeri reali: milioni di numeri reali al secondo, lo stesso conto di (un campione reale ogni s). Per reale non si può scendere sotto .
Passo 3: l'interpolatore. Alla frequenza minima le repliche si toccano nei punti , dove (il trapezio arriva a zero), e restano separate: il filtro deve lasciare passare esattamente la replica centrale e bloccare le altre, quindi deve essere un passa-basso ideale di banda con guadagno : Il guadagno è (e non o ) per la convenzione del corso: con senza fattori, . La funzione interpolatrice è e
Campioni. Poiché , (la fase ha parte reale ). Per dispari e il campione è nullo; per è : V, V, V, (perché ). Il fatto che i campioni dispari siano nulli è una coincidenza di fase di questo segnale (con un ritardo di campionamento diverso non lo sarebbero): l'informazione necessaria è comunque M di numeri reali al secondo.
(3) Ricostruzione in codice (Python, equivalente del Matlab)
Lunghezza del vettore. I campioni decadono come (prodotto dei due sinc): con campioni () l'ultimo vale al più mV, cioè del picco ( V). Il resto della serie è trascurabile e la ricostruzione è accurata a meno di qualche V.
import numpy as np
import matplotlib.pyplot as plt
A, F = 3.0, 2e6
Fc = 2*F # frequenza di campionamento minima: 4 MHz
Tc = 1/Fc # periodo di campionamento: 0,25 us
N = 100 # n = -N..N: 2N+1 = 201 campioni
n = np.arange(-N, N + 1) # indici dei campioni (nT_c)
y_c = np.real(A*np.sinc(F*n*Tc/3)*np.sinc(2*F*n*Tc/3)*np.exp(1j*np.pi*F*n*Tc)) # SOLO per provare il codice:
# nell'esame y_c e' dato (i campioni di y(nTc))
t = np.linspace(-5e-6, 5e-6, 2001) # istanti dove ricostruire (s)
y = np.sinc((t[:, None] - n[None, :]*Tc) / Tc) @ y_c # y(t) = sum_n y_c[n] sinc((t - n Tc)/Tc)
plt.plot(t*1e6, y, label="y ricostruito")
plt.plot(n*Tc*1e6, y_c, "o", label="campioni y_c")
plt.xlim(-5, 5); plt.xlabel("t (us)"); plt.ylabel("y(t) (V)"); plt.legend(); plt.grid()
plt.show()Spiegazione riga per riga (con il comando Matlab corrispondente):
np.sinc(Matlabsinc, del Signal Processing Toolbox): è la sinc normalizzata , la stessa del corso. Non va usata .- Asse degli istanti : gli indici (Matlab
n = -N:N) e gli istanti . Sey_cfosse indicizzato da in poi, si sposta con (Matlab:n = (1:length(y_c)) - (length(y_c)+1)/2), cioè il campione centrale è in . - Matrice di interpolazione: la formula è un prodotto matrice-vettore: le righe sono gli istanti (colonna) e le colonne i campioni (riga); per questo
t[:, None] - n[None, :]*Tccostruisce tutte le differenze (Matlabsinc((t(:) - n(:)'*Tc)/Tc) * y_c(:), cont(:)colonna en(:)'riga). - Peso : nessun fattore da aggiungere: la funzione interpolatrice è (il fattore del peso è già assorbito).
- Griglia fine per ( punti su s, cioè punti per ogni ): serve per disegnare la curva continua; i campioni si sovrappongono con
plot(..., 'o').
Controllo. Si confronta con analitico: lo scarto massimo su s è V, contro un picco di V, dovuto solo al troncamento a campioni. I campioni ricavati dalla formula hanno i valori elencati sopra (pari non nulli, dispari nulli).
Errori tipici
- Ricostruire e non : la risposta MHz vale per il segnale complesso; per lo spettro occupa e serve MHz.
- Dimenticare la traslazione di (la modulazione sposta l'estensione da a ) o prendere come larghezza di banda il semi-supporto invece della misura (la convoluzione somma le larghezze dei due rettangoli: ).
- Usare una sinc non normalizzata ( invece di ) nell'interpolazione: gli istanti degli zeri non coincidono più con i campioni.
Vedi anche: Esercizio - cascata interpolatore, filtro triangolare e campionatore (prova scritta del 6 febbraio 2026), Esercizio - processo gaussiano campionato, interpolato ed elevato al quadrato (prova scritta del 6 febbraio 2026).