Esercizio - banda di un prodotto e convoluzione di sinc
In questa pagina 3
Testo (dispense del corso Teoria dei Segnali, UniPD, Es. 3.4I, 3.4L).
- Es. 3.4I. Provare che il prodotto di due segnali (reali) a banda rispettivamente e è un segnale a banda limitata con , e quindi, in particolare, che la banda di è .
- Es. 3.4L. Calcolare la convoluzione dei segnali e .
Teoria usata: 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 →, 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 →, 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 →, 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 →.
Convenzioni: . Un segnale reale ha banda (limitata) se la sua trasformata è nulla fuori da , cioè è l'estensione spettrale (il più piccolo intervallo simmetrico fuori dal quale ).
Es. 3.4I - la banda di un prodotto
Idea. Il prodotto nel tempo è la convoluzione delle trasformate: , Il problema diventa: dove è non nulla la convoluzione di due funzioni nulle fuori da e ?
Dimostrazione. Fissiamo con . Nell'integrale l'integrando è non nullo solo se contemporaneamente (altrimenti ) e (altrimenti ). Ma per la disuguaglianza triangolare che contraddice . Dunque per quei l'integrando è nullo per ogni e . Quindi è a banda limitata e .
Uguaglianza. Vediamo perché non si può fare meglio. Supponiamo che e siano le bande vere, cioè gli spettri non siano nulli subito dentro i bordi (dentro e per ogni ), e che in quei tratti e non cambino segno (come avviene per i segnali di uso pratico: rettangoli, triangoli, esponenziali...). Per con piccolo, l'integrando è non nullo solo per , dove è a distanza al più dal bordo di e è a distanza al più dal bordo di : l'integrando non cambia segno e non è nullo, quindi . Perciò è non nulla arbitrariamente vicino a e (Per spettri molto particolari, con segni che cambiano in modo da cancellarsi, potrebbe valere solo ; la dispensa enuncia l'uguaglianza, vera nei casi normali.)
Caso particolare. Per si ottiene : quadrare un segnale raddoppia la banda. Si noti che è reale anche quando lo è . L'interpretazione è che l'elevamento al quadrato crea frequenze somma, come ha frequenza doppia.
Interpretazione sul tempo (dualità). Con lo stesso ragionamento, la durata di una convoluzione nel tempo è la somma delle durate; qui è la banda di un prodotto a essere la somma delle bande.
Esempi.
- Due coseni. ha banda , ha banda (con ). Il prodotto è (formule di prostaferesi): la frequenza massima è ✓. Per , Hz: componenti a e Hz, banda Hz.
- Il quadrato di un sinc. ha , . ha trasformata , nulla fuori da : banda ✓ (vedi Esercizio - dimensioni di una trasformata, modulazione e sinc quadro). Il rettangolo di larghezza convoluto con sé stesso dà un triangolo di base .
- Rettangolo e triangolo. Se () e (), la convoluzione numerica ha supporto : ✓.
Conseguenza per il campionamento. Per ricostruire dai suoi campioni occorre (teorema del campionamento, 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 →) una frequenza di campionamento . Per ricostruire servono : operare un'elevazione al quadrato richiede di raddoppiare la frequenza di campionamento, altrimenti si ha aliasing.
Es. 3.4L - convoluzione di due sinc
Trasformate. Dalla coppia (la trasformata di rect con la regola di simmetria e di scala; area ): Si noti che il calcolo diretto dell'integrale di convoluzione è difficile (primitive non elementari); in frequenza è un prodotto.
Prodotto in frequenza. Per la regola di convoluzione : vale per . Il prodotto di due rect centrati in vale dove valgono entrambi, cioè per , perché il più piccolo tra due inversi è l'inverso del più grande: (Il rect più stretto "vince": è quello di banda minore, cioè con maggiore.)
Antitrasformata. Dalla stessa coppia con , il segnale che ha trasformata è . Quindi perché (il prodotto ).
Controlli e interpretazione.
- Area: l'area di è (); l'area della convoluzione deve essere il prodotto delle aree: . Dal risultato: area ✓.
- Caso : . Il sinc è, a meno del fattore , "idempotente" rispetto alla convoluzione.
- Lettura da filtro: è la risposta impulsiva di un filtro passa-basso ideale con guadagno e banda . Se ha banda minore (, banda ) passa intatto, moltiplicato per : ✓ (il risultato con e ). Se invece ha banda maggiore, il filtro la taglia a e il risultato è proporzionale a : .
- Valore in : . Per , : .
Grafico interattivo: T1 = 2, T2 = 3: x = sinc(t/2), y = sinc(t/3) e la loro convoluzione x*y = 2·sinc(t/3) = T_min·sinc(t/T_max): ha la forma del più largo dei due (banda minore) e altezza T_min
Controllo
import numpy as np
from scipy.integrate import quad
# 3.4I: X = tri(f), Y = rect(f); la convoluzione ha supporto [-1.5, 1.5] = Bx + By
df = 0.001
f = np.arange(-4, 4 + df/2, df)
X = np.maximum(0, 1 - abs(f))
Y = (abs(f) < 0.5).astype(float)
S = np.convolve(X, Y, mode="same") * df
print(f[abs(S) > 1e-9].min(), f[abs(S) > 1e-9].max()) # -1.498 1.499
# x = sinc(t): lo spettro di x^2 (FFT su una griglia fitta) è tri(f), nullo fuori da [-1, 1]
dt, N = 0.05, 2**18
t = (np.arange(N) - N//2) * dt
fr = np.fft.fftshift(np.fft.fftfreq(N, dt))
X2 = np.fft.fftshift(np.fft.fft(np.fft.ifftshift(np.sinc(t)**2))) * dt
m = abs(fr) < 3
print(np.max(abs(X2[m].real - np.maximum(0, 1 - abs(fr[m]))))) # 1.5e-05
# 3.4L: integrale di convoluzione calcolato direttamente (T1 = 2, T2 = 3), a confronto con T_min sinc(t/T_max)
T1, T2 = 2.0, 3.0
u = np.arange(-6000, 6000 + 0.005, 0.01)
for t0 in (0, 1, 1.5, 3, 4.5):
num = np.trapezoid(np.sinc(u/T1) * np.sinc((t0 - u)/T2), u)
print(t0, round(num, 5), round(min(T1, T2)*np.sinc(t0/max(T1, T2)), 5))Risultati: il supporto del prodotto è (atteso ); lo spettro di differisce da per meno di ed è nullo (entro ) per ; il prodotto di due coseni coincide con la somma di prostaferesi a . Per le convoluzioni (T1 = 2, T2 = 3) il confronto tra integrale numerico e formula dà per , valori identici. Controllati anche i casi .
Versione ripasso
- 3.4I (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 →): . Se per e per , per l'integrando è sempre nullo (disuguaglianza triangolare): ; in particolare (serve per campionare ).
- 3.4L: ; prodotto ; antitrasformando (area , ok).
- Errori tipici: fare il prodotto dei rect e prendere il più largo invece del più stretto; dimenticare il fattore nell'antitrasformata.