Salta al contenuto
Note per Studenti Esercizio - cascata interpolatore, filtro triangolare e campionatore (prova scritta del 6 febbraio 2026)

Esercizio - cascata interpolatore, filtro triangolare e campionatore (prova scritta del 6 febbraio 2026)

Esame

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, 6 febbraio 2026, problema 1). Data la cascata di trasformazioni lineari

x(t), t∈Z(T) → ↑ g1(⋅)  y(t), t∈R → g2(⋅)  z(t), t∈R → ↓  zc(t), t∈Z(T)x(t),\ t\in\mathbb Z(T)\ \xrightarrow{\ \uparrow\ g_1(\cdot)\ }\ y(t),\ t\in\mathbb R\ \xrightarrow{\ g_2(\cdot)\ }\ z(t),\ t\in\mathbb R\ \xrightarrow{\ \downarrow\ }\ z_c(t),\ t\in\mathbb Z(T)

con g1(t)=g2(t)=triang⁡(tT)g_1(t)=g_2(t)=\operatorname{triang}\left(\frac tT\right) (il primo blocco è un interpolatore Z(T)→R\mathbb Z(T)\to\mathbb R, il secondo un filtro continuo, l'ultimo un campionatore R→Z(T)\mathbb R\to\mathbb Z(T)):

  1. per T=1 μT=1\ \mus e ingresso x(nT)=−1x(nT)=-1 se n=0n=0, x(nT)=1x(nT)=1 se n=±2n=\pm2, x(nT)=0x(nT)=0 altrimenti, dare una rappresentazione grafica accurata di y(t)y(t) e calcolarne l'energia;
  2. identificare la trasformazione equivalente alla cascata, scrivendo la sua risposta impulsiva e la sua risposta in frequenza. Si tratta di una trasformazione invertibile?
  3. scrivere una procedura Matlab che calcoli per via numerica e rappresenti graficamente la trasformata di Fourier Zc(f)Z_c(f) dell'uscita corrispondente al segnale y(t)=2 e−t/T 1(t)y(t)=2\,e^{-t/T}\,1(t), t∈Rt\in\mathbb R.

Teoria usata: 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 →, 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 →, 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 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 →, 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 →, Trasformazioni e sistemi - proprietàUna trasformazione manda un segnale d'ingresso su I in un segnale d'uscita su U, y = φ[x]. Si classifica per invertibilità, memoria, causalità, stabilità BIBO, linearità, tempo-invarianza e realtà. Una trasformazione lineare ha un nucleo h(t,u) = risposta all'impulso applicato in u; la finestra y = w·x è lineare ma NON tempo-invariante. Le tf LTI (filtri) sono il caso con h(t,u) = g(t-u).Trasformazioni e sistemi - proprietà →, Sistemi lineari tempo-invarianti e risposta impulsivaUna tf lineare e tempo-invariante (LTI, filtro) ha nucleo h(t,u) = g(t-u): l'uscita è la convoluzione y = gx con la risposta impulsiva g (uscita all'impulso ideale nell'origine). Causale se e solo se g è causale; stabile BIBO se e solo se g è assolutamente integrabile (sommabile); reale se e solo se g è reale. Cascata: g = g2g1; parallelo: g1+g2; retroazione: Ge = G/(1+HG) in frequenza.Sistemi lineari tempo-invarianti e risposta impulsiva →, 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 →, 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 →.

(1) Il segnale y(t)y(t) e la sua energia

Regola dell'interpolatore. Un interpolatore Z(T)→R\mathbb Z(T)\to\mathbb R con risposta impulsiva g1g_1 somma sul reticolo con il peso TT dell'integrale di Haar: y(t)=∑nT g1(t−nT) x(nT)=∑nx(nT) g0(t−nT),g0(t)=T g1(t)y(t)=\sum_{n}T\,g_1(t-nT)\,x(nT)=\sum_n x(nT)\,g_{0}(t-nT),\qquad g_0(t)=T\,g_1(t) (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 →). La funzione g0=Ttriang⁡(t/T)g_0=T\operatorname{triang}(t/T) è la funzione interpolatrice: un triangolo di altezza TT e base 2T2T.

Perché compare il fattore TT. Sul reticolo Z(T)\mathbb Z(T) l'impulso ideale vale 1T\frac1T in 00 (area 11). Se all'ingresso c'è δZ(T)\delta_{\mathbb Z(T)}, cioè x(0)=1Tx(0)=\frac1T, l'uscita deve essere g1(t)g_1(t) stessa: T g1(t)⋅1T=g1(t)T\,g_1(t)\cdot\frac1T=g_1(t). Senza il fattore TT questa proprietà (la risposta all'impulso è la risposta impulsiva) non varrebbe.

Calcolo. I soli campioni non nulli sono x(0)=−1x(0)=-1, x(±2T)=1x(\pm2T)=1, quindi y(t)=T[−triang⁡(tT)+triang⁡(t−2TT)+triang⁡(t+2TT)].y(t)=T\left[-\operatorname{triang}\left(\frac tT\right)+\operatorname{triang}\left(\frac{t-2T}{T}\right)+\operatorname{triang}\left(\frac{t+2T}{T}\right)\right]. Ogni triangolo ha il vertice nell'istante del suo campione e si annulla nei due istanti vicini ±T\pm T: l'interpolatore triangolare è quindi la interpolazione lineare tra i valori T x(nT)T\,x(nT) (con T=10−6T=10^{-6} s i valori sono −10−6-10^{-6} e +10−6+10^{-6} in unità di xx). Nei punti di campionamento y(nT)=T x(nT)y(nT)=T\,x(nT): y(−2T)=Ty(-2T)=T, y(0)=−Ty(0)=-T, y(2T)=Ty(2T)=T; in ±T\pm T e in ±3T\pm3T il segnale vale 00 (il campione intermedio x(±T)=0x(\pm T)=0 e quelli oltre i vertici sono nulli).

Grafico interattivo: y(t) diviso per T (t in µs): spezzata che unisce i punti (-2, 1), (0, -1), (2, 1) con zeri in ±1, ±3: interpolazione lineare dei campioni, con y(nT) = T·x(nT)

Energia. Ey=∫R∣y(t)∣2dtE_y=\int_{\mathbb R}|y(t)|^2dt (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 →). I tre triangoli hanno supporti (−3T,−T)(-3T,-T), (−T,T)(-T,T), (T,3T)(T,3T): si toccano solo nei punti dove si annullano, quindi il quadrato della somma è la somma dei quadrati (i prodotti incrociati sono nulli, perché in ogni istante al più un triangolo è diverso da zero). Per un triangolo: ∫−TT(1−∣t∣T)2dt=2T∫01(1−u)2du=2T3.\int_{-T}^{T}\left(1-\frac{|t|}{T}\right)^2dt=2T\int_0^1(1-u)^2du=\frac{2T}{3}. Perciò Ey=3⋅T2⋅2T3=2T3=2⋅(10−6)3=2⋅10−18E_y=3\cdot T^2\cdot\frac{2T}{3}=2T^3=2\cdot(10^{-6})^3=2\cdot10^{-18} (in unità di x2x^2 per s3^3). Verifica numerica: integrando y2y^2 su una griglia con 200200 punti per TT si ottiene 2,00003⋅10−182{,}00003\cdot10^{-18}.

Perché è comodo questo ingresso. Tra due campioni non nulli c'è sempre almeno un campione nullo, per cui i triangoli non si sovrappongono. Se due campioni non nulli fossero adiacenti, comparirebbe il termine incrociato ∫triang⁡tTtriang⁡t−TT dt=T6\int\operatorname{triang}\frac tT\operatorname{triang}\frac{t-T}T\,dt=\frac T6.

(2) La trasformazione equivalente

Passo 1: i tre blocchi. Il filtro g2g_2 è LTI, quindi la convoluzione (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 →) con g2g_2 è lineare e commuta con le traslazioni: filtrare la somma y=∑nx(nT) T g1(⋅−nT)y=\sum_nx(nT)\,T\,g_1(\cdot-nT) equivale a filtrare ogni triangolo traslato e a sommare i risultati, z(t)=(g2∗y)(t)=∑nx(nT) T (g1∗g2)(t−nT).z(t)=(g_2*y)(t)=\sum_nx(nT)\,T\,(g_1*g_2)(t-nT). Ogni triangolo T g1(t−nT)T\,g_1(t-nT) diventa così T (g1∗g2)(t−nT)T\,(g_1*g_2)(t-nT).

Passo 2: campionamento. Il campionatore tiene i valori in t=mTt=mT: zc(mT)=∑nT (g1∗g2)((m−n)T) x(nT).z_c(mT)=\sum_nT\,(g_1*g_2)\big((m-n)T\big)\,x(nT). È una convoluzione sul reticolo Z(T)\mathbb Z(T) (somma con peso TT): la trasformazione equivalente è un filtro LTI Z(T)→Z(T)\mathbb Z(T)\to\mathbb Z(T) con risposta impulsiva g(kT)=(g1∗g2)(kT),k∈Z.g(kT)=(g_1*g_2)(kT),\qquad k\in\mathbb Z.

Passo 3: i valori della convoluzione. Servono i soli campioni k∈Zk\in\mathbb Z. Il supporto di g1∗g2g_1*g_2 è (−2T,2T)(-2T,2T) (somma dei due supporti (−T,T)(-T,T)), quindi g(±2T)=0g(\pm2T)=0 e g(kT)=0g(kT)=0 per ∣k∣≥2|k|\ge2. Restano:

  • k=0k=0: (g1∗g2)(0)=∫triang⁡2tT dt=2T3(g_1*g_2)(0)=\int\operatorname{triang}^2\frac tT\,dt=\frac{2T}3, come nel punto (1);
  • k=±1k=\pm1: (g1∗g2)(T)=∫triang⁡tTtriang⁡T−tT dt=∫0T(1−tT)tT dt=T(12−13)=T6(g_1*g_2)(T)=\int\operatorname{triang}\frac tT\operatorname{triang}\frac{T-t}T\,dt=\int_0^T\left(1-\frac tT\right)\frac tT\,dt=T\left(\frac12-\frac13\right)=\frac T6 (le due code si sovrappongono solo su (0,T)(0,T); per simmetria vale lo stesso in −T-T).

(Come controllo: in forma chiusa g1∗g2=T β(t/T)g_1*g_2=T\,\beta(t/T) con β\beta la B-spline cubica, β(0)=23\beta(0)=\frac23, β(±1)=16\beta(\pm1)=\frac16.) Dunque, scrivendo gli impulsi ideali su Z(T)\mathbb Z(T) (valore 1T\frac1T in 00): g(t)=T2[23 δZ(T)(t)+16 δZ(T)(t−T)+16 δZ(T)(t+T)]\boxed{g(t)=T^2\left[\frac23\,\delta_{\mathbb Z(T)}(t)+\frac16\,\delta_{\mathbb Z(T)}(t-T)+\frac16\,\delta_{\mathbb Z(T)}(t+T)\right]} cioè g(0)=2T3g(0)=\frac{2T}3, g(±T)=T6g(\pm T)=\frac T6. In termini di ingresso/uscita: zc(nT)=T2[23x(nT)+16x(nT−T)+16x(nT+T)],z_c(nT)=T^2\left[\frac23x(nT)+\frac16x(nT-T)+\frac16x(nT+T)\right], un filtro FIR simmetrico, non causale (usa x(nT+T)x(nT+T)).

Passo 4: risposta in frequenza. Trasformata discreta di gg, con la somma pesata da TT (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 →): G(f)=∑kT g(kT) e−i2πfkT=T[2T3+T6(e−i2πfT+ei2πfT)]=T23(2+cos⁡2πfT)G(f)=\sum_kT\,g(kT)\,e^{-i2\pi fkT}=T\left[\frac{2T}3+\frac T6\left(e^{-i2\pi fT}+e^{i2\pi fT}\right)\right]=\boxed{\frac{T^2}{3}\Big(2+\cos 2\pi fT\Big)} periodica di periodo 1T\frac1T. Si ritrova lo stesso risultato per un'altra strada, la ripetizione periodica dei prodotti delle risposte in frequenza continue, dove G1(f)=G2(f)=Tsinc⁡2(Tf)G_1(f)=G_2(f)=T\operatorname{sinc}^2(Tf) (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 →): l'interpolatore moltiplica per G1G_1, il filtro per G2G_2 e il campionatore ripete con periodo 1T\frac1T senza fattore 1T\frac1T: G(f)=∑kT2sinc⁡4(T(f−k/T)).G(f)=\sum_{k}T^2\operatorname{sinc}^4\big(T(f-k/T)\big). Controlli: in f=0f=0 solo k=0k=0 contribuisce e G(0)=T2G(0)=T^2, che coincide con T23(2+1)=T2\frac{T^2}3(2+1)=T^2; in f=12Tf=\frac1{2T} i termini della serie sono sinc⁡4(±12),sinc⁡4(±32),…\operatorname{sinc}^4\left(\pm\frac12\right),\operatorname{sinc}^4\left(\pm\frac32\right),\dots e valgono 16π4m4\frac{16}{\pi^4m^4} con m=1,3,5,…m=1,3,5,\dots (ciascuno due volte), da cui 32π4∑m dispari1m4=32π4⋅π496=13\frac{32}{\pi^4}\sum_{m\ \text{dispari}}\frac1{m^4}=\frac{32}{\pi^4}\cdot\frac{\pi^4}{96}=\frac13, e la formula dà T23(2−1)=T23\frac{T^2}{3}(2-1)=\frac{T^2}3. ✓

Grafico interattivo: Risposta in frequenza G(f)/T² = (2 + cos 2πfT)/3 con x = fT (periodica di periodo 1): oscilla tra 1 in x = 0 e 1/3 in x = ±1/2, e non si annulla mai

Passo 5: invertibilità. Un filtro LTI è invertibile se la sua risposta in frequenza non si annulla (Sistemi lineari tempo-invarianti e risposta impulsivaUna tf lineare e tempo-invariante (LTI, filtro) ha nucleo h(t,u) = g(t-u): l'uscita è la convoluzione y = gx con la risposta impulsiva g (uscita all'impulso ideale nell'origine). Causale se e solo se g è causale; stabile BIBO se e solo se g è assolutamente integrabile (sommabile); reale se e solo se g è reale. Cascata: g = g2g1; parallelo: g1+g2; retroazione: Ge = G/(1+HG) in frequenza.Sistemi lineari tempo-invarianti e risposta impulsiva →). Qui T23≤G(f)≤T2per ogni f,\frac{T^2}3\le G(f)\le T^2\quad\text{per ogni }f, quindi G(f)≠0G(f)\ne0: sì, la trasformazione è invertibile, con inversa LTI di risposta in frequenza H(f)=1G(f)=3T2(2+cos⁡2πfT)H(f)=\frac1{G(f)}=\frac{3}{T^2(2+\cos2\pi fT)}. L'inversa è un filtro a risposta impulsiva infinita; sviluppando 12+cos⁡θ\frac1{2+\cos\theta} in serie di Fourier si trova h(kT)=3T3(3−2)∣k∣,h(kT)=\frac{\sqrt3}{T^3}\left(\sqrt3-2\right)^{|k|}, che decade geometricamente (fattore ∣3−2∣≈0,268|\sqrt3-2|\approx0{,}268): è un filtro stabile. (Coefficienti verificati numericamente: 13\frac1{\sqrt3}, −0,1547-0{,}1547, 0,04150{,}0415, …\dots) Il risultato è che la cascata, pur passando per un segnale continuo e un campionamento, non perde informazione: da zcz_c si risale a xx.

Applicazione ai dati del punto (1). Dalla formula del filtro, con x=(…,0,1,0,−1,0,1,0,… )x=(\dots,0,1,0,-1,0,1,0,\dots) (il valore −1-1 in n=0n=0): zc(nT)/T2=16, 23, 0, −23, 0, 23, 16(n=−3,…,3),z_c(nT)/T^2=\frac16,\ \frac23,\ 0,\ -\frac23,\ 0,\ \frac23,\ \frac16\qquad(n=-3,\dots,3), e nullo altrove. Confermato campionando numericamente g2∗yg_2*y.

(3) Procedura per Zc(f)Z_c(f) (Python, equivalente del Matlab)

Il segnale y(t)=2e−t/T1(t)y(t)=2e^{-t/T}1(t) entra direttamente in g2g_2 (il blocco interpolatore è già stato attraversato). Quindi z=g2∗yz=g_2*y, zc(nT)=z(nT)z_c(nT)=z(nT) e Zc(f)=∑nT zc(nT) e−i2πfnT=∑kZ(f−k/T),Z(f)=G2(f) Y(f)=Tsinc⁡2(Tf)⋅2T1+i2πfT.Z_c(f)=\sum_nT\,z_c(nT)\,e^{-i2\pi fnT}=\sum_kZ(f-k/T),\qquad Z(f)=G_2(f)\,Y(f)=T\operatorname{sinc}^2(Tf)\cdot\frac{2T}{1+i2\pi fT}.

Il calcolo numerico ripete questi passaggi: griglia fine per il tempo continuo, convoluzione, campionamento, trasformata discreta.

python
import numpy as np
import matplotlib.pyplot as plt

T  = 1e-6                      # periodo (s)
L  = 200                       # campioni della griglia "continua" per ogni T
dt = T / L                     # passo della griglia fine
tri = lambda u: np.maximum(0, 1 - np.abs(u))

ty = np.arange(0, 40*T, dt)    # y(t) = 2 e^{-t/T} 1(t); oltre 40T e^{-40} e' trascurabile
y  = 2*np.exp(-ty/T)
y[0] = 1.0                     # 1(0) = 1/2: meta' del salto da 0 a 2

tg = np.arange(-T, T + dt/2, dt)    # g2 = triang(t/T) campionata con lo stesso dt, su [-T, T]
g2 = tri(tg/T)

z  = np.convolve(y, g2) * dt        # integrale di convoluzione = somma * dt   (Matlab: conv(y,g2)*dt)
tz = ty[0] + tg[0] + np.arange(len(z))*dt   # l'asse di z inizia alla somma degli inizi

n  = np.arange(-1, 40)              # istanti nT in cui z puo' essere non nullo
zc = z[np.round((n*T - tz[0]) / dt).astype(int)]     # campionamento: z(nT)

f  = np.linspace(-1.5/T, 1.5/T, 1201)                # asse delle frequenze (Hz): 3 periodi 1/T
Zc = T * np.exp(-2j*np.pi*np.outer(f, n*T)) @ zc     # Zc(f) = sum_n T zc(nT) e^{-i 2 pi f nT}

fig, ax = plt.subplots(2, 1, sharex=True)
ax[0].plot(f/1e6, np.abs(Zc));   ax[0].set_ylabel("|Zc(f)|")
ax[1].plot(f/1e6, np.angle(Zc)); ax[1].set_ylabel("fase (rad)"); ax[1].set_xlabel("f (MHz)")
plt.show()

Spiegazione delle scelte (con il comando Matlab corrispondente):

  • Griglia fine dt=T/200dt=T/200. Il segnale è continuo: lo si rappresenta con molti campioni per TT, in modo che la somma ∑… dt\sum\dots\,dt approssimi bene l'integrale.
  • y(0)=1y(0)=1. Il gradino continuo vale 12\frac12 nell'origine (1(0)=121(0)=\frac12) e il salto 0→20\to2 viene così contato per metà, come fa l'integrale.
  • Fattore dtdt nella convoluzione: np.convolve (in Matlab conv) calcola solo la somma ∑y(k)g(n−k)\sum y(k)g(n-k); l'integrale di convoluzione richiede ⋅ dt\cdot\,dt.
  • Asse dei tempi di zz. La convoluzione di due segnali che iniziano in 00 e in −T-T inizia in −T-T (somma degli estremi inferiori). Da questo si ricava l'indice di ogni istante nTnT.
  • Campionamento. Si prelevano gli indici corrispondenti agli istanti nTnT (in Matlab zc = z(1:L:end) quando l'inizio coincide con un multiplo di TT).
  • Trasformata. Si usa la definizione discreta con il peso TT: Zc(f)=T∑nzc(nT)e−i2πfnTZ_c(f)=T\sum_nz_c(nT)e^{-i2\pi fnT}. È una moltiplicazione matrice-vettore (in Matlab T*exp(-1i*2*pi*f(:)*(n*T))*zc(:)); con una griglia ff arbitraria evita lo zero padding e le fftshift. Con la FFT servirebbero zero padding, il fattore TT e fftshift per centrare l'asse.
  • Intervallo di frequenza [−1,5/T, 1,5/T][-1{,}5/T,\ 1{,}5/T]: si vedono tre periodi, perché ZcZ_c è periodica di periodo 1T=1\frac1T=1 MHz.

Controllo. Si confronta con la serie delle repliche Zc(f)=2T2∑ksinc⁡2(fT−k)1+i2π(fT−k)Z_c(f)=2T^2\sum_k\frac{\operatorname{sinc}^2(fT-k)}{1+i2\pi(fT-k)}: lo scarto massimo relativo è 4⋅10−64\cdot10^{-6} e Zc(0)=2T2Z_c(0)=2T^2 (perché sinc⁡(k)=0\operatorname{sinc}(k)=0 per k≠0k\ne0, quindi Zc(0)=Z(0)=T⋅2TZ_c(0)=Z(0)=T\cdot2T). Un modo più semplice di scrivere il risultato è Zc(f)2T2=sin⁡2(πfT)π2∑k1−i2π(fT−k)(fT−k)2[1+4π2(fT−k)2],\frac{Z_c(f)}{2T^2}=\frac{\sin^2(\pi fT)}{\pi^2}\sum_k\frac{1-i2\pi(fT-k)}{(fT-k)^2\left[1+4\pi^2(fT-k)^2\right]}, con parte reale e immaginaria mostrate qui sotto (serie troncata a ∣k∣≤3|k|\le3, con ff espressa in MHz perché T=1 μT=1\ \mus).

Grafico interattivo: Zc(f)/(2T²): parte reale (picco 1 in f = 0) e parte immaginaria, periodiche di periodo 1 MHz (T = 1 µs, serie delle repliche troncata a |k| ≤ 3)

Errori tipici

  • Dimenticare il peso TT dell'interpolatore e della convoluzione sul reticolo: l'energia verrebbe 2T2T invece di 2T32T^3 e G(f)G(f) perderebbe un fattore T2T^2.
  • Prendere la risposta impulsiva equivalente g1∗g2g_1*g_2 continua invece dei suoi campioni in kTkT: la trasformazione equivalente è su Z(T)\mathbb Z(T), non su R\mathbb R.
  • Dire che il campionatore rende la cascata non invertibile: lo sarebbe da solo; qui il filtro equivalente ha G(f)≥T2/3>0G(f)\ge T^2/3>0 e si inverte.

Vedi anche: Esercizio - cascata di filtri discreti con decimazione (prova scritta del 17 settembre 2025), Esercizio - segnale discreto esponenziale, finestra triangolare e campionamento (prova scritta del 3 settembre 2025).

Esercizi su questo argomento

Teoria collegata