Esercizio - Train your brain 1 - media mobile, FIR e proprietà dei sistemi
In questa pagina 6
Testo ("Train your brain" della lezione 2 del corso Multimedia Signal Processing, UniPD: otto brevi esercizi, riportati sotto). I primi cinque riguardano filtri FIR, schemi a blocchi e cascata; gli ultimi tre il test di invarianza temporale e di linearità. L'ingresso degli esercizi 1 e 2 è per e zero altrove (come in Sistemi a tempo discreto e filtri FIRUn sistema a tempo discreto trasforma una sequenza x[n] in una sequenza y[n]. Il filtro FIR causale di ordine M calcola y[n] = Σ b_k x[n-k] (k = 0..M): è una media mobile pesata di L = M+1 campioni, la sua risposta impulsiva h[n] coincide con i coefficienti b_k e l'uscita ha supporto lungo N+M se l'ingresso è lungo N. La media mobile è un passa-basso che ritarda di M/2 campioni; la versione centrata non è causale. Gli schemi a blocchi usano solo moltiplicatori, sommatori e ritardi unitari, senza anelli (feed-forward).Sistemi a tempo discreto e filtri FIR →).
Teoria usata: Sistemi a tempo discreto e filtri FIRUn sistema a tempo discreto trasforma una sequenza x[n] in una sequenza y[n]. Il filtro FIR causale di ordine M calcola y[n] = Σ b_k x[n-k] (k = 0..M): è una media mobile pesata di L = M+1 campioni, la sua risposta impulsiva h[n] coincide con i coefficienti b_k e l'uscita ha supporto lungo N+M se l'ingresso è lungo N. La media mobile è un passa-basso che ritarda di M/2 campioni; la versione centrata non è causale. Gli schemi a blocchi usano solo moltiplicatori, sommatori e ritardi unitari, senza anelli (feed-forward).Sistemi a tempo discreto e filtri FIR → (media mobile, causalità, forma diretta e trasposta), Sistemi LTI e convoluzione discretaUn sistema lineare e tempo-invariante (LTI) è completamente descritto dalla sua risposta impulsiva h[n]: y[n] = Σ x[k] h[n-k] = x[n] * h[n] (somma di convoluzione). Si ricava scomponendo x in impulsi traslati e usando linearità e invarianza. La convoluzione è commutativa, associativa e distributiva; una cascata di LTI equivale a un solo filtro con h = h1 * h2 e l'ordine non conta. Se x ha lunghezza N e h lunghezza L, y ha lunghezza N+L-1. Si calcola col metodo della finestra scorrevole o a tabella. I FIR sono LTI; altri sistemi (n·x[n], x[-n], x²) non lo sono.Sistemi LTI e convoluzione discreta → (cascata, metodo tabellare, test di invarianza e linearità).
1 - media mobile centrata
Testo. : (Q1) è causale? (Q2) supporto dell'uscita? (Q3) confronto tra i grafici di e .
Svolgimento. ; ; ; ; ; ; ; ; .
(verificato con Python). Q1: non causale, perché usa (il futuro) e infatti anche se . Q2: supporto . Q3: ha lo stesso baricentro di (picco in ) ma è più "liscia" e più larga di due campioni (un campione per parte): effetto passa-basso della media. Il grafico di è quello di Sistemi a tempo discreto e filtri FIRUn sistema a tempo discreto trasforma una sequenza x[n] in una sequenza y[n]. Il filtro FIR causale di ordine M calcola y[n] = Σ b_k x[n-k] (k = 0..M): è una media mobile pesata di L = M+1 campioni, la sua risposta impulsiva h[n] coincide con i coefficienti b_k e l'uscita ha supporto lungo N+M se l'ingresso è lungo N. La media mobile è un passa-basso che ritarda di M/2 campioni; la versione centrata non è causale. Gli schemi a blocchi usano solo moltiplicatori, sommatori e ritardi unitari, senza anelli (feed-forward).Sistemi a tempo discreto e filtri FIR →.
2 - filtro di lunghezza 4
Testo. Calcolare per il filtro con e lo stesso ingresso.
Svolgimento. . Esempi: ; ; ; ; ; ; ; ; .
L'uscita ha campioni ( con , ), da a (verificato con la convoluzione).
3 - equazione dalla forma diretta
Testo. Schema in forma diretta con tre ritardi e pesi , , , sui segnali : scrivere l'equazione alle differenze.
Svolgimento. Le uscite dei ritardi sono ; ognuna è moltiplicata per il proprio peso e le uscite si sommano: .
4 - equazione dalla forma trasposta
Testo. Schema trasposto: va in parallelo a quattro moltiplicatori e le somme parziali percorrono una catena di ritardi. Ricavare l'equazione.
Svolgimento. Si dà un nome al segnale all'ingresso di ciascun ritardo: , , , . Sostituendo all'indietro: ; ; e quindi , la stessa equazione della forma diretta. Le due strutture sono equivalenti dal punto di vista ingresso-uscita (ma differiscono per ordine di calcolo e rumore di arrotondamento).
5 - cascata e costo di realizzazione
Testo. Cascata di per e per (zero altrove): risposta impulsiva equivalente e confronto tra le due realizzazioni.
Svolgimento. con il metodo tabellare (tre righe di spostate di colonne, e somma per colonna):
| shift | ||||||
| shift | ||||||
| shift | ||||||
Quindi (trapezio, campioni; verificato). Due realizzazioni: (1) un solo filtro ; (2) due equazioni in cascata , .
Costo per campione di uscita. (1): moltiplicazioni e somme. (2): nessuna moltiplicazione e somme. Nota sui conti del corso: il corso scrive addizioni e moltiplicazioni per (1) e addizioni per (2) contando i termini di ogni somma (; ) invece delle somme effettive (uno in meno per ciascuna: ; ): in entrambi i conteggi la differenza vera è che la realizzazione (2) elimina le moltiplicazioni. Il motivo pratico: un moltiplicatore vale parecchie addizioni, su FPGA occupa più area e usa più transistor, quindi consuma più potenza.
6, 7, 8 - invarianza temporale e linearità
Per ogni sistema si confrontano i due percorsi: ritardo dopo il sistema, , e ritardo prima, .
6. . Dopo: . Prima: . Diversi: non tempo-invariante (il coefficiente si trasla solo nel primo percorso).
7. . Dopo: . Prima: . Uguali: tempo-invariante. (Non è lineare: .)
8. (ribaltamento). Invarianza: dopo: ; prima: e . Diversi ( contro ): non tempo-invariante. Linearità: scalamento ✓ e sovrapposizione ✓: lineare. Errore tipico: nel percorso "prima" sostituire anche dentro il ribaltamento e ottenere ; il ritardo si applica all'ingresso e solo dopo il sistema lo ribalta.
Versione ripasso
1 - media centrata. con per : , , , , , , . Supporto . Non causale, perché usa .
2 - FIR di lunghezza 4. : per . Supporto di lunghezza .
3 - forma diretta. Con , , , : .
4 - forma trasposta. Con , , , si ottiene : stessa equazione della diretta, ma ordine di calcolo diverso.
5 - cascata. . Realizzazione (1): moltiplicazioni e somme per campione. Realizzazione (2), in cascata: nessuna moltiplicazione e somme.
6-8 - invarianza e linearità.
- : non tempo-invariante, perché il coefficiente non si trasla.
- : tempo-invariante, non lineare.
- : non tempo-invariante, ma lineare.
Teoria: Sistemi a tempo discreto e filtri FIRUn sistema a tempo discreto trasforma una sequenza x[n] in una sequenza y[n]. Il filtro FIR causale di ordine M calcola y[n] = Σ b_k x[n-k] (k = 0..M): è una media mobile pesata di L = M+1 campioni, la sua risposta impulsiva h[n] coincide con i coefficienti b_k e l'uscita ha supporto lungo N+M se l'ingresso è lungo N. La media mobile è un passa-basso che ritarda di M/2 campioni; la versione centrata non è causale. Gli schemi a blocchi usano solo moltiplicatori, sommatori e ritardi unitari, senza anelli (feed-forward).Sistemi a tempo discreto e filtri FIR → (media mobile, causalità, forma diretta e trasposta), Sistemi LTI e convoluzione discretaUn sistema lineare e tempo-invariante (LTI) è completamente descritto dalla sua risposta impulsiva h[n]: y[n] = Σ x[k] h[n-k] = x[n] * h[n] (somma di convoluzione). Si ricava scomponendo x in impulsi traslati e usando linearità e invarianza. La convoluzione è commutativa, associativa e distributiva; una cascata di LTI equivale a un solo filtro con h = h1 * h2 e l'ordine non conta. Se x ha lunghezza N e h lunghezza L, y ha lunghezza N+L-1. Si calcola col metodo della finestra scorrevole o a tabella. I FIR sono LTI; altri sistemi (n·x[n], x[-n], x²) non lo sono.Sistemi LTI e convoluzione discreta → (cascata, metodo tabellare, test di invarianza e linearità).
Errori tipici:
- Confondere il percorso "prima" e "dopo" del ritardo nel test di invarianza.
- Nel ribaltamento applicare il ritardo anche dentro ottenendo .
- Dire che la forma trasposta cambia l'equazione: cambia solo l'ordine di calcolo.
- Contare le moltiplicazioni della cascata come se fossero anche in due stadi.