Esercizio - Esercitazione 9 - filtri FIR e risposta in frequenza
In questa pagina 8
Testo (esercitazione della lezione 9 del corso Multimedia Signal Processing, UniPD, parti "Exercises on FIR filters" ed "Exercises on frequency response"; i testi brevi sono riportati). Otto esercizi: media mobile con ingresso gradino ed esponenziale, due esercizi su un sistema LTI noto solo da coppie ingresso-uscita, risposta in frequenza di quattro filtri FIR (con sinusoidi, impulso e gradino), cascata di due filtri. Gli esercizi sulla zeta della stessa esercitazione sono in Esercizio - Esercitazione 9 - funzione di sistema e zeri.
Testo. Valutare la media mobile y[n]=L1∑k=0L−1x[n−k] per x[n]=u[n]: tracciare u[n], calcolare y[n] per −5≤n≤10 con L=5, tracciarlo, e ricavare una formula valida per ogni L.
Grafico interattivo: Media mobile a L = 5 punti con ingresso gradino: 0 per n < 0, rampa 1/5, 2/5, 3/5, 4/5, poi 1 (da n = L-1 = 4)
FIR 2 - media mobile di un esponenziale
Testo. Per x[n]=(0,5)nu[n] e L=4 calcolare y[n] per −5≤n≤10; per x[n]=αnu[n] ricavare la formula generale per ogni α, L, n≥0 (si può usare ∑k=MNαk=1−ααM−αN+1).
Svolgimento numerico.y[n]=0 per n<0; y[0]=41(0+0+0+1)=0,25; y[1]=41(0+0+1+0,5)=0,375; y[2]=41(1+0,5+0,25)=0,4375; y[3]=41(1+0,5+0,25+0,125)=0,46875. Da n=4 la finestra è piena: y[n]=41(0,5n+0,5n−1+0,5n−2+0,5n−3)=0,5n⋅41+2+4+8=3,75⋅0,5n, quindi y[4]=0,234375, y[5]=0,1171875,…,y[10]=0,003662 (verificato).
Formula generale. Con x[n−k]=αn−ku[n−k] e u[n−k]=0 per k>n:
n<0: y[n]=0;
0≤n≤L−1 (finestra parziale, i termini sono k=0,…,n): y[n]=L1∑k=0nαn−k=Lαn∑k=0n(α−1)k=Lαn1−α−11−α−(n+1)=L1α−1αn+1−1 (ragione α−1);
I due casi coincidono in n=L−1. Per α=1 le formule sono del tipo 0/0 e si ricade nel caso del gradino. Controllo: con α=0,5, L=4, n=4 si ha 40,51⋅0,5−10,0625−1=0,234375, come sopra (e le due formule sono state confrontate con la convoluzione numerica per α=0,7, L=5).
Nota sul testo della soluzione del corso. La soluzione scrive il caso n≥L nella forma Lαn⋅αL−αL−1αL−1: è equivalente a quella qui sopra (è la stessa formula con numeratore e denominatore moltiplicati per αL−1).
FIR 3 - un LTI noto da coppie ingresso-uscita
Testo. Un LTI S ha dato x1[n]=δ[n]−δ[n−1]→y1[n]=δ[n]−δ[n−1]+2δ[n−3] e cos(2πn)→2cos(2πn−4π). Trovare l'uscita per x[n]=7δ[n]−7δ[n−2].
Svolgimento. Si scrive x come combinazione di x1 e delle sue traslate: x1[n]+x1[n−1]=δ[n]−δ[n−1]+δ[n−1]−δ[n−2]=δ[n]−δ[n−2], quindi x[n]=7x1[n]+7x1[n−1]. Per linearità e invarianza temporale:
y[n]=7y1[n]+7y1[n−1]=7δ[n]−7δ[n−1]+14δ[n−3]+7δ[n−1]−7δ[n−2]+14δ[n−4]=7δ[n]−7δ[n−2]+14δ[n−3]+14δ[n−4].
Valori: y={7,0,−7,14,14} per n=0,…,4 (verificato). La seconda coppia (il coseno) non serve. Osservazione: le due coppie non sono compatibili con un unico LTI. Dalla prima si ricava H(ω^)=X1Y1=1+1−e−jω^2e−j3ω^, che a ω^=2π vale 2+j (modulo 5≈2,24, fase +0,15π), mentre la seconda coppia richiederebbe modulo 2 e fase −4π. Per rispondere alla domanda basta comunque la prima.
FIR 4 - risposta al gradino nota
Testo. Per un LTI la risposta al gradino è y1[n]=δ[n]+2δ[n−1]−δ[n−2]. Trovare l'uscita per x2[n]=3u[n]−2u[n−4].
Svolgimento. Per linearità e invarianza, y2[n]=3y1[n]−2y1[n−4]=3δ[n]+6δ[n−1]−3δ[n−2]−2δ[n−4]−4δ[n−5]+2δ[n−6]. Lista: y2={3,6,−3,0,−2,−4,2} per n=0,…,6, zero altrove (verificato).
Risposta in frequenza 1 - y[n]=2x[n]−3x[n−1]+2x[n−2]
Testo. Trovare H(ω^) in forma polare, il periodo, e l'uscita per x[n]=sin(13πn) nella forma Acos(ω^0n+φ).
Svolgimento.H=2−3e−jω^+2e−j2ω^=e−jω^(2ejω^−3+2e−jω^)=e−jω^(4cosω^−3) (coefficienti simmetrici: si raccoglie il ritardo centrale). Il fattore reale 4cosω^−3 cambia segno: è positivo per ∣ω^∣<arccos43=0,723 e negativo oltre. Quindi in forma polare ∣H∣=∣4cosω^−3∣ e
∠H={−ω^−ω^±πse 4cosω^−3>0se 4cosω^−3<0
La soluzione del corso scrive "fase =−ω^" senza il salto di π: vale solo dove il fattore è positivo, quindi per ∣ω^∣<0,723 (che include però il punto usato sotto). Periodo:2π (è una funzione di cosω^ e e−jω^).
Uscita.ω^0=13π=0,2417<0,723: 4cos13π−3=0,8838, fase −13π=−0,0769π. Il seno si riscrive sin13πn=cos(13πn−2π), quindi
y[n]=0,8838cos(13πn−2π−13π)=0,8838cos(13πn−0,577π)
(verificato con la convoluzione, dopo il transitorio di 2 campioni).
Risposta in frequenza 2 - y[n]=x[n]+2x[n−1]+x[n−2]
Testo. Risposta in frequenza e suo grafico; uscita per x[n]=10+4cos(0,5πn+4π), per l'impulso unitario e per il gradino.
Sinusoide.H(0)=4, H(2π)=2e−jπ/2. Quindi y[n]=4⋅10+2⋅4cos(0,5πn+4π−2π)=40+8cos(0,5πn−4π).
Impulso:y=h=δ[n]+2δ[n−1]+δ[n−2].
Gradino:y[n]=u[n]+2u[n−1]+u[n−2] vale 0 per n<0, poi 1,3,4,4,4,… (per n≥2 vale 4=H(0), la somma dei coefficienti).
Risposta in frequenza 3 - media mobile a 4 punti
Testo.y[n]=41∑k=03x[n−k]: h[n], H e grafico; uscita per x[n]=5+4cos(0,2πn)+3cos(0,5πn+4π) e per lo stesso ingresso moltiplicato per u[n] (da dove le uscite coincidono).
Svolgimento.h[n]=41(δ[n]+δ[n−1]+δ[n−2]+δ[n−3]) e H=41(1+e−jω^+e−j2ω^+e−j3ω^)=41e−j23ω^(ej23ω^+ej21ω^+e−j21ω^+e−j23ω^)=21e−j23ω^(cos23ω^+cos2ω^). Con la formula di prostaferesi cosA+cosB=2cos2A+Bcos2A−B l'ampiezza è cosω^cos2ω^, uguale a 4sin(ω^/2)sin2ω^ (la forma di Dirichlet con L=4). Fase: lineare −23ω^ (con salti di π dove l'ampiezza è negativa). Zeri in ω^=±2π,π.
Uscita. Tre frequenze: H(0)=1; H(0,2π)=0,769e−j0,3π (modulo cos(0,2π)cos(0,1π)=0,809⋅0,951=0,769, fase −23⋅0,2π=−0,3π); H(0,5π)=0 (zero di cosω^): la terza componente è soppressa. Quindi
y[n]=5+4⋅0,769cos(0,2πn−0,3π)=5+3,078cos(0,2πn−0,3π).Ingresso causale. Con x1[n]=x[n]u[n] la finestra di 4 campioni è piena per n≥3 (M=3): y1[n]=y[n] per n≥3. Valori, calcolati con la ricorsione diretta (y bilatero, yc causale):
n
−1
0
1
2
3
4
y[n]
5,000
6,809
7,927
7,927
6,809
5,000
yc[n]
0
2,780
4,309
5,338
6,809
5,000
La tabella della soluzione del corso riporta y[−1]=4,029 e yc[2]=5,388: i valori giusti sono y[−1]=5 (dalla formula, 5+3,078cos(−0,5π)=5) e yc[2]=5,338 (probabile inversione di cifre). Le altre voci coincidono.
Risposta in frequenza 4 - cascata
Testo. Cascata di H1(ω^)=1+2e−jω^+e−j2ω^ e h2[n]=δ[n]−δ[n−1]+δ[n−2]−δ[n−3]: H, h[n] complessiva e equazione alle differenze.
Svolgimento. La risposta complessiva è il prodotto, con z=e−jω^ (variabile del polinomio): H1=1+2z+z2=(1+z)2 e H2=1−z+z2−z3=(1−z)(1+z2) (si raccoglie a coppie: (1−z)+z2(1−z)). Allora
H=(1+z)2(1−z)(1+z2)=(1+z)1−z2(1+z)(1−z)(1+z2)=(1+z)(1−z4)=1+z−z4−z5.
Quindi H(ω^)=1+e−jω^−e−j4ω^−e−j5ω^, h[n]=δ[n]+δ[n−1]−δ[n−4]−δ[n−5] (lo stesso con la convoluzione numerica {1,2,1}∗{1,−1,1,−1}), e
y[n]=x[n]+x[n−1]−x[n−4]−x[n−5].Nota sulla soluzione del corso. Il risultato finale è giusto, ma i passaggi intermedi sono scritti con H1=1+e−jω^ e H2=1−e−jω^, che non sono le risposte del testo (si ottiene lo stesso prodotto solo perché (1+z)2(1−z)(1+z2)=(1+z)(1−z4)), e l'elenco dei coefficienti è scritto {1,−1,0,0,−1,1} invece di {1,1,0,0,−1,−1} (l'equazione alle differenze è comunque quella corretta).
FIR 1 - media mobile di un gradino.y[n]=L1∑k=0L−1x[n−k] con x=u[n]:
y[n]=⎩⎨⎧0Ln+11n<00≤n≤L−1n≥L−1
Con L=5: 0 per n<0, poi 51,52,53,54,1 per n=0,…,4, e 1 dopo. Rampa di transitorio di L−1 passi, poi regime H(0)=1.
FIR 2 - media mobile di un esponenziale.x=(0,5)nu[n], L=4: y[0]=0,25, y[1]=0,375, y[2]=0,4375, y[3]=0,46875; da n=4, y[n]=3,75⋅0,5n. Per x=αnu[n]:
0≤n≤L−1: y[n]=L1α−1αn+1−1;
n≥L−1: y[n]=Lαn−L+1α−1αL−1.
FIR 3 - LTI da coppie.x1=δ[n]−δ[n−1], y1=δ[n]−δ[n−1]+2δ[n−3]. Per x=7δ[n]−7δ[n−2] si ha x=7x1[n]+7x1[n−1], quindi y=7y1[n]+7y1[n−1], cioè y={7,0,−7,14,14} per n=0,…,4. La seconda coppia (il coseno) non serve.
FIR 4 - risposta al gradino.y1=δ[n]+2δ[n−1]−δ[n−2] e x2=3u[n]−2u[n−4]: y2=3y1[n]−2y1[n−4]={3,6,−3,0,−2,−4,2} per n=0,…,6.
Risposta in frequenza 1 - y=2x[n]−3x[n−1]+2x[n−2].H=e−jω^(4cosω^−3). Il fattore reale cambia segno: ∣H∣=∣4cosω^−3∣, con fase −ω^ dove il fattore è positivo e −ω^±π dove è negativo. Periodo 2π. Per sin13πn: H(13π)=0,8838, quindi y[n]=0,8838cos(13πn−0,577π) dopo il transitorio.
Risposta in frequenza 2 - y=x[n]+2x[n−1]+x[n−2].H=(2+2cosω^)e−jω^, passa-basso, H(0)=4, H(2π)=2e−jπ/2. Per x=10+4cos(0,5πn+4π): y=40+8cos(0,5πn−4π). Impulso: h={1,2,1}. Gradino: 0 per n<0, poi 1,3,4,4,…
Risposta in frequenza 3 - media mobile a 4 punti.H=21e−j23ω^(cos23ω^+cos2ω^), zeri in ±2π e π. Per x=5+4cos(0,2πn)+3cos(0,5πn+4π): H(0)=1, H(0,2π)=0,769e−j0,3π, H(0,5π)=0. Quindi y[n]=5+3,078cos(0,2πn−0,3π) a regime. Con ingresso causale il regime vale per n≥3; y[−1]=5 e yc[2]=5,338.
Risposta in frequenza 4 - cascata.H1=1+2z+z2=(1+z)2, H2=1−z+z2−z3=(1−z)(1+z2), con z=e−jω^. Il prodotto è (1+z)(1−z4)=1+z−z4−z5, quindi h={1,1,0,0,−1,−1} e y[n]=x[n]+x[n−1]−x[n−4]−x[n−5].