Esercizio - Decimazione in più stadi
In questa pagina 4
Testo (esercizio costruito sulla realizzazione multistadio delle lezioni 20 e 21 del corso Multimedia Signal Processing, UniPD). Un segnale audio a kHz ha banda utile fino a Hz e deve essere decimato di (uscita a kHz), conservando la banda utile con attenuazione di almeno dB di tutto ciò che ripiegherebbe (per aliasing) dentro la banda utile. I filtri anti-aliasing sono FIR progettati con la finestra di Kaiser.
- Progettare il filtro nel caso a uno stadio, , e calcolarne la lunghezza.
- Ripetere per la decimazione in due stadi e .
- Confrontare il costo (moltiplicazioni al secondo) di tutte le fattorizzazioni e commentare l'ordine dei fattori.
Teoria usata: Elaborazione multirate - decimazione e interpolazioneL'elaborazione multirate cambia la frequenza di campionamento di un segnale. Interpolazione per $L$ (da $F_s$ a $LF_s$): l'espansore inserisce $L-1$ zeri fra i campioni, $W(\hat\omega)=X(L\hat\omega)$, lo spettro si ripete $L$ volte nell'asse più ampio; un passabasso con taglio $\pi/L$ e guadagno $L$ elimina le immagini, e con il sinc ideale $h[n]=\operatorname{sinc}(n/L)$ i campioni originali sono conservati ($y[nL]=x[n]$); in pratica FIR a finestre o interpolatore lineare (triangolo). Decimazione per $M$ (da $F_s$ a $F_s/M$): $y[n]=x[nM]$, $Y(\hat\omega)=\frac1M\sum_{k=0}^{M-1}X\big(\frac{\hat\omega-2\pi k}M\big)$, repliche sovrapposte (aliasing) se la banda supera $\pi/M$: si fa precedere da un passabasso con taglio $\pi/M$. Conversione razionale $F_s'=\frac LMF_s$ ($L,M$ coprimi): espansore $L$, un solo passabasso di taglio $\min(\frac\pi L,\frac\pi M)$ e guadagno $L$, decimatore $M$; $y[n]=\sum_kx[k],g[nM-kL]$ non è una convoluzione e il sistema è periodicamente tempo-invariante. Realizzare il tutto in più stadi (fattori piccoli prima per l'interpolazione, grandi prima per la decimazione) e con strutture polifase riduce molto il costo.Elaborazione multirate - decimazione e interpolazione →, Progetto di filtri FIR con il metodo delle finestreUn filtro FIR a fase lineare di tipo I (ordine $N$ pari, $h[n]=h[N-n]$) ha risposta $H(e^{j\hat\omega})=e^{-j\hat\omega N/2}\bar H(\hat\omega)$ con ampiezza $\bar H(\hat\omega)=\sum_{n=0}^{N/2}p_n\cos(n\hat\omega)$. Per approssimare un'ampiezza desiderata $D(\hat\omega)$ (passa-basso: $1$ in banda passante, $0$ in banda oscura, con tolleranze $\delta_p,\delta_s$ e frequenze $\hat\omega_p,\hat\omega_s$) ci sono tre metodi. Finestre: si tronca la serie di Fourier di $D$, cioè $h[n]=h_d[n-N/2],w[n]$ con $h_d[n]=\frac{\hat\omega_0}{\pi}\operatorname{sinc}\frac{\hat\omega_0 n}{\pi}$; la rettangolare è ottima in errore quadratico ma dà il fenomeno di Gibbs (9%, $21$ dB), le finestre rastremate (Hann, Hamming, Blackman, Kaiser) abbassano i lobi laterali allargando la transizione ($\hat\omega_s-\hat\omega_p\simeq\alpha,2\pi/L$). Campionamento in frequenza: $h=\mathrm{IDFT}$ dei campioni di $D$, esatto solo sui campioni. Minimax (Parks-McClellan): errore pesato minimo nel caso peggiore, soluzione equiripple con almeno $r+2$ alternanze, ordine più basso a parità di specifiche.Progetto di filtri FIR con il metodo delle finestre →.
Regola di progetto del filtro di uno stadio
Dopo il decimatore di uno stadio la frequenza scende da a e lo spettro si ripete con periodo . Le frequenze utili stanno in e le repliche vicine in (e le analoghe attorno ai multipli di ): per non portare niente dentro la banda utile, il filtro deve lasciar passare e attenuare tutto da in avanti. Quindi: banda passante fino a , banda oscura da , transizione , normalizzata alla frequenza di lavoro del filtro: . La lunghezza di Kaiser per dB è (kaiserord usa al posto di , e arrotonda). Il costo di uno stadio con struttura polifase è moltiplicazioni per ogni campione in uscita dallo stadio: al secondo.
1. Un solo stadio
kHz, banda oscura da Hz, Hz a kHz: e Costo: moltiplicazioni/s.
2. Due stadi
. Primo stadio: kHz, banda oscura da Hz, Hz a kHz (): (: ), costo . Secondo stadio: kHz, kHz, banda oscura da Hz, Hz a kHz (): (), costo . Totale moltiplicazioni/s, con coefficienti contro .
. Primo stadio: kHz, banda oscura da Hz, Hz a kHz (): , costo . Secondo stadio: da kHz a kHz, Hz a kHz (): , costo . Totale .
3. Tutte le fattorizzazioni
Con la stessa procedura (calcolata con kaiserord e il costo polifase ):
| stadi | ordini dei filtri | moltiplicazioni/s |
|---|---|---|
Commenti:
- Ogni fattorizzazione in più stadi costa meno dello stadio unico: il risparmio va dal () al ().
- Il fattore più grande per primo conviene: () batte (), () batte (), () batte (). Il motivo: il primo stadio lavora a frequenza alta ma con transizione larga (pochi coefficienti) e riduce subito la frequenza; lo stadio con la transizione stretta lavora quando la frequenza è già bassa.
- Più stadi non sono automaticamente meglio: il minimo () è a due stadi, e le terne costano di più ( e oltre).
Per l'interpolazione vale il risultato speculare (fattore piccolo per primo, stessi costi con l'ordine invertito: costa come in decimazione, vedi la tabella in Elaborazione multirate - decimazione e interpolazioneL'elaborazione multirate cambia la frequenza di campionamento di un segnale. Interpolazione per $L$ (da $F_s$ a $LF_s$): l'espansore inserisce $L-1$ zeri fra i campioni, $W(\hat\omega)=X(L\hat\omega)$, lo spettro si ripete $L$ volte nell'asse più ampio; un passabasso con taglio $\pi/L$ e guadagno $L$ elimina le immagini, e con il sinc ideale $h[n]=\operatorname{sinc}(n/L)$ i campioni originali sono conservati ($y[nL]=x[n]$); in pratica FIR a finestre o interpolatore lineare (triangolo). Decimazione per $M$ (da $F_s$ a $F_s/M$): $y[n]=x[nM]$, $Y(\hat\omega)=\frac1M\sum_{k=0}^{M-1}X\big(\frac{\hat\omega-2\pi k}M\big)$, repliche sovrapposte (aliasing) se la banda supera $\pi/M$: si fa precedere da un passabasso con taglio $\pi/M$. Conversione razionale $F_s'=\frac LMF_s$ ($L,M$ coprimi): espansore $L$, un solo passabasso di taglio $\min(\frac\pi L,\frac\pi M)$ e guadagno $L$, decimatore $M$; $y[n]=\sum_kx[k],g[nM-kL]$ non è una convoluzione e il sistema è periodicamente tempo-invariante. Realizzare il tutto in più stadi (fattori piccoli prima per l'interpolazione, grandi prima per la decimazione) e con strutture polifase riduce molto il costo.Elaborazione multirate - decimazione e interpolazione →).
Versione ripasso
Regola di progetto. Dopo lo stadio la frequenza è . Il filtro lascia passare e attenua da in avanti. Transizione , normalizzata: . Kaiser per dB: . Costo polifase di uno stadio: moltiplicazioni/s.
Esercizio 1 - uno stadio, . kHz, banda oscura da Hz, Hz: , (kaiserord: ). Costo moltiplicazioni/s.
Esercizio 2 - due stadi.
- : primo stadio kHz, (
kaiserord: ), costo . Secondo stadio da kHz a kHz, (kaiserord: ), costo . Totale moltiplicazioni/s. - : primo stadio kHz, , costo . Secondo stadio da kHz a kHz, , costo . Totale .
Esercizio 3 - confronto. Stadio unico ; ; ; (minimo); ; terne fra e . Il fattore grande va per primo: lo stadio a frequenza alta ha transizione larga e pochi coefficienti.
Teoria: Elaborazione multirate - decimazione e interpolazioneL'elaborazione multirate cambia la frequenza di campionamento di un segnale. Interpolazione per $L$ (da $F_s$ a $LF_s$): l'espansore inserisce $L-1$ zeri fra i campioni, $W(\hat\omega)=X(L\hat\omega)$, lo spettro si ripete $L$ volte nell'asse più ampio; un passabasso con taglio $\pi/L$ e guadagno $L$ elimina le immagini, e con il sinc ideale $h[n]=\operatorname{sinc}(n/L)$ i campioni originali sono conservati ($y[nL]=x[n]$); in pratica FIR a finestre o interpolatore lineare (triangolo). Decimazione per $M$ (da $F_s$ a $F_s/M$): $y[n]=x[nM]$, $Y(\hat\omega)=\frac1M\sum_{k=0}^{M-1}X\big(\frac{\hat\omega-2\pi k}M\big)$, repliche sovrapposte (aliasing) se la banda supera $\pi/M$: si fa precedere da un passabasso con taglio $\pi/M$. Conversione razionale $F_s'=\frac LMF_s$ ($L,M$ coprimi): espansore $L$, un solo passabasso di taglio $\min(\frac\pi L,\frac\pi M)$ e guadagno $L$, decimatore $M$; $y[n]=\sum_kx[k],g[nM-kL]$ non è una convoluzione e il sistema è periodicamente tempo-invariante. Realizzare il tutto in più stadi (fattori piccoli prima per l'interpolazione, grandi prima per la decimazione) e con strutture polifase riduce molto il costo.Elaborazione multirate - decimazione e interpolazione →, Progetto di filtri FIR con il metodo delle finestreUn filtro FIR a fase lineare di tipo I (ordine $N$ pari, $h[n]=h[N-n]$) ha risposta $H(e^{j\hat\omega})=e^{-j\hat\omega N/2}\bar H(\hat\omega)$ con ampiezza $\bar H(\hat\omega)=\sum_{n=0}^{N/2}p_n\cos(n\hat\omega)$. Per approssimare un'ampiezza desiderata $D(\hat\omega)$ (passa-basso: $1$ in banda passante, $0$ in banda oscura, con tolleranze $\delta_p,\delta_s$ e frequenze $\hat\omega_p,\hat\omega_s$) ci sono tre metodi. Finestre: si tronca la serie di Fourier di $D$, cioè $h[n]=h_d[n-N/2],w[n]$ con $h_d[n]=\frac{\hat\omega_0}{\pi}\operatorname{sinc}\frac{\hat\omega_0 n}{\pi}$; la rettangolare è ottima in errore quadratico ma dà il fenomeno di Gibbs (9%, $21$ dB), le finestre rastremate (Hann, Hamming, Blackman, Kaiser) abbassano i lobi laterali allargando la transizione ($\hat\omega_s-\hat\omega_p\simeq\alpha,2\pi/L$). Campionamento in frequenza: $h=\mathrm{IDFT}$ dei campioni di $D$, esatto solo sui campioni. Minimax (Parks-McClellan): errore pesato minimo nel caso peggiore, soluzione equiripple con almeno $r+2$ alternanze, ordine più basso a parità di specifiche.Progetto di filtri FIR con il metodo delle finestre →.
Errori tipici:
- Normalizzare la transizione dello stadio 2 a kHz invece che alla sua frequenza di ingresso.
- Calcolare il costo sulla frequenza di ingresso invece che su quella di uscita.