Esercizio - decimazione, interpolazione esponenziale e convoluzione di segnali discreti (prova scritta del 19 giugno 2025)
Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.
In questa pagina 5
Testo (prova scritta del corso Teoria dei Segnali, UniPD, 19 giugno 2025, problema 1). Il segnale , , illustrato in figura, ha solo quattro campioni non nulli: È in ingresso alla cascata
con , , .
- Determinare l'espressione del segnale e della sua trasformata di Fourier, e rappresentarli graficamente.
- Calcolare l'energia del segnale per ms.
- Scrivere un brano di codice Matlab che permetta di calcolare per via numerica e rappresentare graficamente il risultato della convoluzione per ms.
Teoria usata: Segnali a tempo discretoUn segnale a tempo discreto è una funzione complessa $s(nT)$ definita sui multipli interi del quanto temporale $T$ (insieme $\mathbb Z(T)$, velocità $F_p=1/T$). Le definizioni sono quelle dei segnali continui con la somma al posto dell'integrale e il quanto $T$ al posto di $dt$: area $\sum T,s(nT)$, energia $\sum T|s(nT)|^2$, convoluzione $\sum T,x(kT)y(nT-kT)$. L'impulso ideale discreto vale $1/T$ nell'origine. Esponenziali e sinusoidi discreti sono periodici solo se $f_0/F_p$ è razionale e hanno frequenza ambigua a meno di multipli di $F_p$. I segnali periodici con periodo $NT$ sono descritti da $N$ valori e si trattano al calcolatore.Segnali a tempo discreto →, 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 →, Trasformata di Fourier a tempo discretoLa trasformata di Fourier di un segnale discreto è $S(f)=\sum_nT,s(nT),e^{-i2\pi fnT}$: una funzione continua e periodica in $f$ di periodo $F_p=1/T$. L'antitrasformata è l'integrale su un periodo, $s(nT)=\int_0^{F_p}S(f)e^{i2\pi fnT}df$. Le regole sono quelle del caso continuo (traslazione, convoluzione $\leftrightarrow$ prodotto, Parseval $\sum T|s|^2=\int_0^{F_p}|S|^2$), con incremento e somma corrente al posto di derivata e integrale. Per segnali reali $S(f)=S^(-f)$, quindi basta $[0,F_p/2]$. Esempi: $\delta\to1$, $1\to\delta_{F_p}$, rect $\to$ sinc periodico, $a^n\mathbf 1_0\to\frac T{1-ae^{-i2\pi fT}}$.Trasformata di Fourier a tempo discreto →, 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 →, Energia, potenza e valor medio dei segnaliSu un segnale continuo si calcolano quattro numeri riassuntivi: l'area $\int s,dt$, il valor medio (componente continua) $\lim\frac1{2T}\int_{-T}^Ts,dt$, l'energia $\int|s|^2dt$ e la potenza media $\lim\frac1{2T}\int_{-T}^T|s|^2dt$. Un segnale ad energia finita ha potenza nulla e uno a potenza finita non nulla ha energia infinita. Per un segnale periodico di periodo $T_p$ area ed energia si calcolano su un periodo; un segnale periodico è la ripetizione periodica $\sum_ku(t-kT_p)$ di un suo periodo. Valgono per traslazione l'invarianza, per scala $s(at)$ la divisione per $|a|$.Energia, potenza e valor medio dei segnali →, 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 →.
Grafico interattivo: Il segnale x(nT) della figura: x(-T) = 1, x(0) = 0, x(T) = 2, x(2T) = -1, zero altrove (asse in n = t/T)
Le convenzioni su che servono
- L'integrale su è la somma pesata con : la convoluzione è .
- Il decimatore tiene un campione ogni 8 ( multiplo di 8) e scarta gli altri.
- L'interpolatore ha come dominio di ingresso , quindi somma con il peso del passo di ingresso, : .
- vale 1 per , cioè sui campioni (nove campioni, non è intero), 0 altrove. è il gradino discreto con .
(1) Il segnale e la sua trasformata
Primo blocco. : È per la somma di in una finestra mobile di 9 campioni centrata in . I campioni non nulli di stanno in (valore 1), (valore 2), (valore ). Il campione rientra nella finestra se , cioè :
- per ; per ; per .
Sommando per ogni (la somma divisa per ):
| 0 | 1 | 1 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 0 |
Controllo: la somma di è (ogni campione di compare in 9 finestre).
Decimazione. Il decimatore tiene nei multipli di 8, : nell'intervallo dove () c'è solo , con . Quindi perché l'impulso ideale di vale in e . Per ms: .
Trasformata. Su la trasformata è (Trasformata di Fourier a tempo discretoLa trasformata di Fourier di un segnale discreto è $S(f)=\sum_nT,s(nT),e^{-i2\pi fnT}$: una funzione continua e periodica in $f$ di periodo $F_p=1/T$. L'antitrasformata è l'integrale su un periodo, $s(nT)=\int_0^{F_p}S(f)e^{i2\pi fnT}df$. Le regole sono quelle del caso continuo (traslazione, convoluzione $\leftrightarrow$ prodotto, Parseval $\sum T|s|^2=\int_0^{F_p}|S|^2$), con incremento e somma corrente al posto di derivata e integrale. Per segnali reali $S(f)=S^*(-f)$, quindi basta $[0,F_p/2]$. Esempi: $\delta\to1$, $1\to\delta_{F_p}$, rect $\to$ sinc periodico, $a^n\mathbf 1_0\to\frac T{1-ae^{-i2\pi fT}}$.Trasformata di Fourier a tempo discreto →), periodica di periodo . Un solo campione non nullo: (una costante è periodica di qualunque periodo). Per ms: , e il periodo Hz non si vede.
Controllo in frequenza. Il decimatore ripete con periodo , (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 →), con , (nucleo di Dirichlet, 9 campioni) e . Numericamente la somma delle otto repliche vale in ogni frequenza provata (per esempio , , , , Hz), coerente con il risultato.
Grafico interattivo: v(8kT)/T² (k = t/8T): un solo campione non nullo, v(0) = 2T = 16T²·(1/8T), cioè 16 in unità di T²; è un impulso ideale su Z(8T)
Grafico interattivo: V(f)/T² in funzione di f·8T (unità del periodo): costante uguale a 16 per ogni frequenza, perché v ha un solo campione
(2) Energia di
Il segnale . ha un solo campione non nullo, , quindi nella somma dell'interpolatore resta il solo termine : e per . Con ms: , , e così via con ragione .
Energia su : somma pesata con dei quadrati (Energia, potenza e valor medio dei segnaliSu un segnale continuo si calcolano quattro numeri riassuntivi: l'area $\int s,dt$, il valor medio (componente continua) $\lim\frac1{2T}\int_{-T}^Ts,dt$, l'energia $\int|s|^2dt$ e la potenza media $\lim\frac1{2T}\int_{-T}^T|s|^2dt$. Un segnale ad energia finita ha potenza nulla e uno a potenza finita non nulla ha energia infinita. Per un segnale periodico di periodo $T_p$ area ed energia si calcolano su un periodo; un segnale periodico è la ripetizione periodica $\sum_ku(t-kT_p)$ di un suo periodo. Valgono per traslazione l'invarianza, per scala $s(at)$ la divisione per $|a|$.Energia, potenza e valor medio dei segnali →). È una serie geometrica di ragione (Segnali a tempo discretoUn segnale a tempo discreto è una funzione complessa $s(nT)$ definita sui multipli interi del quanto temporale $T$ (insieme $\mathbb Z(T)$, velocità $F_p=1/T$). Le definizioni sono quelle dei segnali continui con la somma al posto dell'integrale e il quanto $T$ al posto di $dt$: area $\sum T,s(nT)$, energia $\sum T|s(nT)|^2$, convoluzione $\sum T,x(kT)y(nT-kT)$. L'impulso ideale discreto vale $1/T$ nell'origine. Esponenziali e sinusoidi discreti sono periodici solo se $f_0/F_p$ è razionale e hanno frequenza ambigua a meno di multipli di $F_p$. I segnali periodici con periodo $NT$ sono descritti da $N$ valori e si trattano al calcolatore.Segnali a tempo discreto →): Per s: , , quindi in unità di per s (le dimensioni vengono dai pesi e : in dà in e in ). La somma numerica diretta di 4000 termini dà .
Grafico interattivo: y(nT)/T² = 16·e^(-n/3) per n ≥ 0: decade esponenzialmente con ragione e^(-1/3) ≈ 0,72; è il solo termine k = 0 dell'interpolatore
(3) Il codice per
Su la convoluzione ha il peso : . In forma chiusa, con su e per :
- per la somma ha termini , cioè : (cresce da in );
- per i nove termini ci sono tutti: (decade).
Il massimo è in : per ms. Il codice Python (in Matlab: g = T*conv(g1,g2) e stem):
import numpy as np
import matplotlib.pyplot as plt
T = 10e-3
n1 = np.arange(-4, 5) # g1 = rect(t/9T): vale 1 per |n| <= 4
g1 = np.ones(n1.size)
n2 = np.arange(0, 61) # g2 = e^{-t/3T} 1_0(t), troncata a 60 campioni
g2 = np.exp(-n2 / 3)
g = T * np.convolve(g1, g2) # il peso T della convoluzione su Z(T)
n = np.arange(n1[0] + n2[0], n1[-1] + n2[-1] + 1) # asse: da -4 a 64
ok = n <= 56 # oltre, la troncatura di g2 falsa i valori
plt.stem(n[ok] * T, g[ok])
plt.xlabel("t (s)"); plt.ylabel("g(t)")
plt.show()Perché è scritto così:
np.convolve(Matlabconv) è la somma di convoluzione senza peso: la convoluzione del corso su ha il fattore , per questo si moltiplica perT. Senza di esso risulta volte troppo grande.- L'asse dei tempi non parte da 0: l'indice 0 del risultato corrisponde a (la convoluzione di due segnali con inizio e inizia in ), per questo
nè costruito dagli estremi. - Troncatura di : è infinita (un'esponenziale), nel vettore se ne tengono 61 campioni; il campione di usa fino a , quindi i valori sono esatti per e oltre sono falsati dal troncamento (per questo
ok). Si è controllato che i valori coincidono con la forma chiusa (, , , , ).
Grafico interattivo: g(nT)/T = (g1 * g2)(nT)/T: cresce da 1 in n = -4 fino al massimo 3,35 in n = 4 (quando tutti i nove campioni di g1 sovrappongono la coda di g2), poi decade come e^(-n/3)
Errori tipici
- Convolvere senza il peso (e, nell'interpolatore, con invece di ): le energie risultano sbagliate di potenze di 8 e .
- Pensare che la decimazione con fattore 8 tenga più di un campione: i campioni di sono tra e , solo è multiplo di 8.
- Contare male i campioni di : sono nove (), perché non sono campioni e il valore sul bordo non entra in gioco.
Vedi anche: Esercizio - interpolatore ideale, campionatore e quadrato (prova scritta del 30 maggio 2025), ConvoluzioneLa convoluzione $x*y(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 →.