Salta al contenuto
Note per Studenti Esercizio - Decimazione in più stadi

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 Fs=48F_s=48 kHz ha banda utile fino a fp=800f_p=800 Hz e deve essere decimato di M=24M=24 (uscita a 22 kHz), conservando la banda utile con attenuazione di almeno 6060 dB di tutto ciò che ripiegherebbe (per aliasing) dentro la banda utile. I filtri anti-aliasing sono FIR progettati con la finestra di Kaiser.

  1. Progettare il filtro nel caso a uno stadio, M=24M=24, e calcolarne la lunghezza.
  2. Ripetere per la decimazione in due stadi 8×38\times3 e 3×83\times8.
  3. 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 FinF_{\rm in} a Fout=Fin/MkF_{\rm out}=F_{\rm in}/M_k e lo spettro si ripete con periodo FoutF_{\rm out}. Le frequenze utili stanno in [0,fp][0,f_p] e le repliche vicine in [Fout−fp, Fout+fp][F_{\rm out}-f_p,\,F_{\rm out}+f_p] (e le analoghe attorno ai multipli di FoutF_{\rm out}): per non portare niente dentro la banda utile, il filtro deve lasciar passare [0,fp][0,f_p] e attenuare tutto da Fout−fpF_{\rm out}-f_p in avanti. Quindi: banda passante fino a fpf_p, banda oscura da Fout−fpF_{\rm out}-f_p, transizione Δf=Fout−2fp\Delta f=F_{\rm out}-2f_p, normalizzata alla frequenza di lavoro del filtro: Δω^2π=Fout−2fpFin\frac{\Delta\hat\omega}{2\pi}=\frac{F_{\rm out}-2f_p}{F_{\rm in}}. La lunghezza di Kaiser per As=60A_s=60 dB è N≃As−814,36 Δω^/2πN\simeq\frac{A_s-8}{14{,}36\,\Delta\hat\omega/2\pi} (kaiserord usa 2,2852{,}285 al posto di 14,36/2π14{,}36/2\pi, e arrotonda). Il costo di uno stadio con struttura polifase è (N+1)(N+1) moltiplicazioni per ogni campione in uscita dallo stadio: (N+1)Fout(N+1)F_{\rm out} al secondo.

1. Un solo stadio

Fout=2F_{\rm out}=2 kHz, banda oscura da 2000−800=12002000-800=1200 Hz, Δf=400\Delta f=400 Hz a Fin=48F_{\rm in}=48 kHz: Δω^2π=40048000=0,00833\frac{\Delta\hat\omega}{2\pi}=\frac{400}{48000}=0{,}00833 e N≃5214,36⋅0,00833=435(kaiserord: 437).N\simeq\frac{52}{14{,}36\cdot0{,}00833}=435\quad(\texttt{kaiserord}:\ 437). Costo: 438⋅2000=876 000438\cdot2000=876\,000 moltiplicazioni/s.

2. Due stadi

8×38\times3. Primo stadio: Fout=6F_{\rm out}=6 kHz, banda oscura da 52005200 Hz, Δf=4400\Delta f=4400 Hz a 4848 kHz (0,09170{,}0917): N≃5214,36⋅0,0917=39,5N\simeq\frac{52}{14{,}36\cdot0{,}0917}=39{,}5 (kaiserord\texttt{kaiserord}: 4141), costo 42⋅6000=252 00042\cdot6000=252\,000. Secondo stadio: Fin=6F_{\rm in}=6 kHz, Fout=2F_{\rm out}=2 kHz, banda oscura da 12001200 Hz, Δf=400\Delta f=400 Hz a 66 kHz (0,06670{,}0667): N≃54,3N\simeq54{,}3 (5656), costo 57⋅2000=114 00057\cdot2000=114\,000. Totale 366 000366\,000 moltiplicazioni/s, con 41+56=9741+56=97 coefficienti contro 437437.

3×83\times8. Primo stadio: Fout=16F_{\rm out}=16 kHz, banda oscura da 15 20015\,200 Hz, Δf=14 400\Delta f=14\,400 Hz a 4848 kHz (0,30{,}3): N=14N=14, costo 15⋅16 000=240 00015\cdot16\,000=240\,000. Secondo stadio: da 1616 kHz a 22 kHz, Δf=400\Delta f=400 Hz a 1616 kHz (0,0250{,}025): N=147N=147, costo 148⋅2000=296 000148\cdot2000=296\,000. Totale 536 000536\,000.

3. Tutte le fattorizzazioni

Con la stessa procedura (calcolata con kaiserord e il costo polifase ∑k(Nk+1)Fout,k\sum_k(N_k+1)F_{{\rm out},k}):

stadi ordini dei filtri moltiplicazioni/s
2424 437437 876 000876\,000
12×212\times2 74, 3874,\ 38 378 000378\,000
2×122\times12 9, 2199,\ 219 680 000680\,000
8×38\times3 41, 5641,\ 56 366 000366\,000
3×83\times8 14, 14714,\ 147 536 000536\,000
6×46\times4 29, 7429,\ 74 390 000390\,000
4×64\times6 18, 11018,\ 110 450 000450\,000
4×3×24\times3\times2 18, 20, 3818,\ 20,\ 38 390 000390\,000
3×2×43\times2\times4 14, 11, 7414,\ 11,\ 74 486 000486\,000
2×3×42\times3\times4 9, 15, 749,\ 15,\ 74 518 000518\,000

Commenti:

  • Ogni fattorizzazione in più stadi costa meno dello stadio unico: il risparmio va dal 22%22\% (2×122\times12) al 58%58\% (8×38\times3).
  • Il fattore più grande per primo conviene: 12×212\times2 (378 000378\,000) batte 2×122\times12 (680 000680\,000), 8×38\times3 (366 000366\,000) batte 3×83\times8 (536 000536\,000), 6×46\times4 (390 000390\,000) batte 4×64\times6 (450 000450\,000). 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 (8×38\times3) è a due stadi, e le terne costano di più (390 000390\,000 e oltre).

Per l'interpolazione vale il risultato speculare (fattore piccolo per primo, stessi costi con l'ordine invertito: 3×83\times8 costa 366 000366\,000 come 8×38\times3 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 kk la frequenza è Fout=Fin/MkF_{\rm out}=F_{\rm in}/M_k. Il filtro lascia passare [0,fp][0,f_p] e attenua da Fout−fpF_{\rm out}-f_p in avanti. Transizione Δf=Fout−2fp\Delta f=F_{\rm out}-2f_p, normalizzata: Δω^2π=Fout−2fpFin\frac{\Delta\hat\omega}{2\pi}=\frac{F_{\rm out}-2f_p}{F_{\rm in}}. Kaiser per As=60A_s=60 dB: N≃As−814,36 Δω^/2πN\simeq\frac{A_s-8}{14{,}36\,\Delta\hat\omega/2\pi}. Costo polifase di uno stadio: (N+1)Fout(N+1)F_{\rm out} moltiplicazioni/s.

Esercizio 1 - uno stadio, M=24M=24. Fout=2F_{\rm out}=2 kHz, banda oscura da 12001200 Hz, Δf=400\Delta f=400 Hz: Δω^2π=40048000=0,00833\frac{\Delta\hat\omega}{2\pi}=\frac{400}{48000}=0{,}00833, N≃5214,36⋅0,00833=435N\simeq\frac{52}{14{,}36\cdot0{,}00833}=435 (kaiserord: 437437). Costo 438⋅2000=876 000438\cdot2000=876\,000 moltiplicazioni/s.

Esercizio 2 - due stadi.

  • 8×38\times3: primo stadio Fout=6F_{\rm out}=6 kHz, N≃39,5N\simeq39{,}5 (kaiserord: 4141), costo 252 000252\,000. Secondo stadio da 66 kHz a 22 kHz, N≃54,3N\simeq54{,}3 (kaiserord: 5656), costo 114 000114\,000. Totale 366 000366\,000 moltiplicazioni/s.
  • 3×83\times8: primo stadio Fout=16F_{\rm out}=16 kHz, N=14N=14, costo 240 000240\,000. Secondo stadio da 1616 kHz a 22 kHz, N=147N=147, costo 296 000296\,000. Totale 536 000536\,000.

Esercizio 3 - confronto. Stadio unico 876 000876\,000; 12×212\times2 378 000378\,000; 2×122\times12 680 000680\,000; 8×38\times3 366 000366\,000 (minimo); 3×83\times8 536 000536\,000; terne fra 390 000390\,000 e 518 000518\,000. 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 4848 kHz invece che alla sua frequenza di ingresso.
  • Calcolare il costo sulla frequenza di ingresso invece che su quella di uscita.

Teoria collegata