[離散時間信號處理學習筆記] 14. 多采樣率信號處理


多采樣率信號處理一般是指利用增采樣、減采樣、壓縮器和擴展器等方式來提高信號處理系統效率的技術(These multirate techniques refer in general to utilizing upsampling, downsampling, compressors, and expanders in a variety of ways to increase the efficiency of signal-processing systems. )本文章主要討論多采樣率技術中的兩個研究成果:濾波與壓縮器/擴展器的互換;多相分解。

 

壓縮器/擴展器的時域與頻域表示

盡管上一篇文章中已經討論過這部分內容,不過由於這部分是理解本文所必須的關鍵知識點,這里將在時域與頻域展開更詳細的分析。

 

壓縮器

假設壓縮器的壓縮率為$M$,那么壓縮器在時域上的表示為

$x_d[n] = x[nM]$

$x[n]$的采樣頻率為$T$,那么$x_d[n]$的采樣頻率為$T_d = MT$,按照離散序列與連續信號在頻域上的關系,有

$\begin{align*}
X(e^{j\omega}) &= \frac{1}{T}\sum_{k=-\infty}^{\infty}X_c\left[ j\left(\frac{\omega}{T}-\frac{2\pi k}{T}\right)\right ]\\
X_d(e^{j\omega}) &= \frac{1}{MT}\sum_{r=-\infty}^{\infty}X_c\left[ j\left(\frac{\omega}{MT}-\frac{2\pi r}{MT}\right)\right ]
\end{align*}$

壓縮前的序列頻譜$X(e^{j\omega})$與壓縮后的序列頻譜$X_d(e^{j\omega})$之間有如下關系

$\begin{align*}
X_d(e^{j\omega}) &= \frac{1}{MT}\sum_{r=-\infty}^{\infty}X_c\left[ j\left(\frac{\omega}{MT}-\frac{2\pi r}{MT}\right)\right ] \\
& = \frac{1}{MT}\left\{\cdot\cdot\cdot+X_c\left[j\left(\frac{\omega}{MT}-\frac{-2\pi}{MT} \right ) \right ] +X_c\left[ j\left(\frac{\omega}{MT}-\frac{0}{MT}\right)\right ] + X_c\left[j\left(\frac{\omega}{MT}-\frac{2\pi}{MT} \right ) \right ]+\cdot\cdot\cdot \right \}\\
& = \frac{1}{MT}\left\{\cdot\cdot\cdot+X_c\left[j\left(\frac{\omega}{MT}-\frac{0}{MT} \right ) \right ]+\cdot\cdot\cdot +X_c\left[ j\left(\frac{\omega}{MT}-\frac{2(M-1)\pi}{MT}\right)\right ]\right.\\
&\quad\qquad\qquad\left.+ X_c\left[j\left(\frac{\omega}{MT}-\frac{2M\pi}{MT} \right ) \right ]+\cdot\cdot\cdot+ X_c\left[j\left(\frac{\omega}{MT}-\frac{2M\pi}{MT} -\frac{2(M-1)\pi}{MT}\right ) \right ]+\cdot\cdot\cdot \right \}\\
\end{align*}$

$\begin{align*}
\qquad\quad\ &= \frac{1}{MT}\left\{\cdot\cdot\cdot+\sum_{i=0}^{M-1}X_c\left[j\left(\frac{\omega}{MT}-\frac{2i\pi}{MT} \right ) \right ]+\sum_{i=0}^{M-1}X_c\left[j\left(\frac{\omega}{MT}-\frac{2i\pi}{MT}-\frac{2\pi}{T} \right ) \right ]+\cdot\cdot\cdot\right\}\\
&= \frac{1}{MT}\sum_{k=-\infty}^{\infty} \sum_{i=0}^{M-1}X_c\left[j\left(\frac{\omega}{MT}-\frac{2\pi i}{MT}-\frac{2\pi k}{T} \right ) \right ] \\
&=\frac{1}{M}\sum_{i=0}^{M-1}\left\{\frac{1}{T}\sum_{k=-\infty}^{\infty}X_c\left[j\left(\frac{\omega-2\pi i}{MT}-\frac{2\pi k}{T} \right ) \right ]\right\}\\
&=\frac{1}{M}\sum_{i=0}^{M-1}X(e^{j(\omega-2\pi i)/M})
\end{align*}$

如下圖所示

compressor

 

擴展器

假設擴展器的擴展率為$L$,那么擴展器在時域上的表示為

$x_e[n] = \left\{\begin{matrix}
x[n/L], &n=0,\pm L,\pm 2L,\cdot\cdot\cdot \\
0, &else
\end{matrix}\right.$

擴展前的序列頻譜$X(e^{j\omega})$與擴展后的序列頻譜$X_e(e^{j\omega})$之間有如下關系

$\begin{align*}
X_e(e^{j\omega}) &= \sum_{n=-\infty}^{\infty}x_e[n]e^{-j\omega n}\\
&=\sum_{n=-\infty}^{\infty}x[n/L]e^{-j\omega n}\quad n=0,\pm L,\pm 2L,\cdot\cdot\cdot\\
&=\sum_{k=-\infty}^{\infty}x[k]e^{-j\omega kL}\quad letting\ n=kL\\
&=X(e^{j\omega L})
\end{align*}$

如下圖所示

expander

 

 

濾波與壓縮器/擴展器的互換

濾波器與壓縮器互換

如上一篇文章所描述的減采樣就是一個濾波器與壓縮器的級聯系統。對於這種級聯方式,以下兩個系統是等價的

image

證明

$\begin{align*}
Y_{R}(e^{j\omega})
&= \frac{1}{M}\sum_{i=0}^{M-1}X_b(e^{j(\omega-2\pi i)/M}) \quad compress\ X_b(e^{j\omega})\ with\ M\\
&= \frac{1}{M}\sum_{i=0}^{M-1}X(e^{j(\omega-2\pi i)/M})H(e^{j(\omega-2\pi i)/M \cdot M})\\
&= \frac{1}{M}\sum_{i=0}^{M-1}X(e^{j(\omega-2\pi i)/M})H(e^{j(\omega-2\pi i)})\\
&= H(e^{j\omega})\frac{1}{M}\sum_{i=0}^{M-1}X(e^{j(\omega-2\pi i)/M})\quad compress\ X(e^{j\omega})\ with\ M\\
&= H(e^{j\omega})X_a(e^{j\omega})\\
&= Y_L(e^{j\omega})
\end{align*}$

這個證明過程運用了前面一小節中的壓縮器頻譜運算,$Y_{R}(e^{j\omega}) = Y_{L}(e^{j\omega})$說明右邊的系統跟左邊的系統是完全等價的。這兩個等價系統也很容易理解,觀察下圖

Cinterchange

根據前面我們對擴展器的討論,我們可以把$H(z^M)$理解為對$H(z)$做了因子為$M$的擴展。兩個系統分別對應上圖的第二第三行:

  • 上圖第二行先對$x[n]$進行因子為$M$的壓縮得到$x_a[n]$,然后級聯一個濾波器$H(z)$
  • 上圖第三行先用濾波器$H(z^M)$對$x[n]$進行濾波得到$x_b[n]$,然后對$x_b[n]$進行因子為$M$的壓縮

 

濾波器與擴展器互換

如上一篇文章所描述的增采樣就是一個濾波器與擴展器的級聯系統。對於這種級聯方式,以下兩個系統是等價的

image

證明

$\begin{align*}
Y_{L}(e^{j\omega})
&= X_a(e^{j\omega L}) \quad expand\ X_a(e^{j\omega})\ with\ L\\
&= X(e^{j\omega L})H(e^{j\omega L}) \\
&= X_b(e^{j\omega})H(e^{j\omega L})\\
&= Y_R(e^{j\omega})
\end{align*}$

這個證明過程運用了前面一小節中的擴展器頻譜運算,$Y_{L}(e^{j\omega}) = Y_{R}(e^{j\omega})$說明右邊的系統跟左邊的系統是完全等價的。這兩個等價系統也很容易理解,觀察下圖

Einterchange

同樣,根據我們前面對擴展器的討論,我們可以吧$H(z^L)$理解為對$H(z)$進行了因子為$L$的擴展。兩個系統分別對應上圖的第二第三行:

  • 上圖第二行先用濾波器$H(z)$對$x[n]$進行濾波得到$x_a[n]$,然后對$x_a[n]$進行因子為$L$的擴展
  • 上圖第三行先對$x[n]$進行因子為$L$的擴展得到$x_b[n]$,然后級聯一個濾波器$H(z^L)$

 

多級抽取和內插

當抽取或內插率較大時,即$M$或者$L$會非常大,這種情況下對$M$或者$L$進行分解,如$M = M_1M_2$,把單級抽取轉換為多級抽取將會使得系統更為高效,具體原因以后(書中第七章)討論。如下是兩級抽取器:

image

按照上面的步驟反過來,則能把一個一級抽取轉換為二級抽取,該一級抽取的的濾波器的系統函數按照如下方式進行分解:

$H(z) = H_1(z)H_2(z^{M_1})$

原濾波器的脈沖響應則為分解出來的兩個濾波器的脈沖響應的卷積,如下:

$\displaystyle{h[n] = h_1[n]* \sum_{k=-\infty}^{\infty}h_2[k]\delta[n-kM_1]}$

按照這種方式能把一級抽取器擴展到多級抽取。同理,上述理論也能應用到內插處理中。

 

 

多相分解

對一個序列進行多相分解,就是把該序列表示成M組子序列的疊加。如下圖:

multiphase

為了得到這M組子序列,可以采用以下的分解方法:

image

步驟解析如下

  • 首先是對$h[n]$進行分解能得到$\color{red}{e_k[n]}$
    • 在z變換中,頻域上的$H(z)\cdot z^k$就相當於時域上$h[n] \delta[n+k]$,即進行相位為$k$的移動,得到$h[n+k] $
    • 對$h[n+k]$進行因子為$M$的壓縮,得到$e_k[n]$
  • 接下來是復原為原來的$h[n]$:
    • 對$e_k[n]$進行因子為$M$的擴展,得到$h_k[n]$
    • 分別對$M$個$h_k[n]$進行相應的移位,然后就能合並得到$h[n]$

下面是一個$M=4,k=3$的例子

MultiphaseDecomposition

該過程在頻域上表示為:

$\displaystyle{ H(z)=\sum_{k=0}^{M-1}E_k(z^M)z^{-k} }$

即系統函數$H(z)$可以被分解成多個經過延遲的濾波器之和,因此就可以把該系統表示成如下並聯結構:

image

 

 

抽取/內插濾波器的多相實現

多相分解能降低抽取以及內插實現的計算量。直觀地解釋就是在抽取的時候,實際上所需要的序列數量只有原序列數量的$\frac{1}{M}$;在內插的時候,對$x[n]$進行因子為$L$的擴展后,每$L$個樣本才會有一個非零樣本,而零樣本是不需要計算的。詳情請看下面的分析。

 

抽取濾波器

原抽取濾波器有如下形式

image

把抽取濾波器多相分解成如下圖左邊的形式,然后濾波器與壓縮器進行互換就能得到右圖的形式。

image

假設輸入序列$x[n]$的采樣率為一個單位時間,即一個單位時間采集一個樣本。假設濾波器$h[n]$為有限長度濾波器(FIR),長度為N個點,那么原抽取濾波器在每個單位時間需要進行$N$次乘法以及$N-1$次加法;在采用多相分解實現后,對每個分量來說,每$M$個單位時間才采集一次,即每一個時間單位采集$\frac{1}{M}$次,並且濾波器變為$e_k[n]$,這些濾波器的長度為$\frac{N}{M}$,因此對於每一個分量來說,每個單位時間的運算量為$\frac{1}{M}\frac{N}{M}$次乘法、$\frac{1}{M}\left(\frac{N}{M}-1\right)$次加法。由於共有$M$個分量,因此整個系統在每個單位時間的運算量為乘法$\frac{N}{M}$次、加法$\left(\frac{N}{M}-1\right)+(M-1)$次。

 

內插濾波器

原內插濾波器有如下形式:

image

把內插濾波器多相分解為如下圖左邊的形式,然后濾波器與擴展器進行互換就能得到右圖的形式。

image

假設輸入序列$x[n]$的采樣率為一個單位時間,即一個單位時間采集一個樣本。假設濾波器$h[n]$為有限長度濾波器(FIR),長度為N個點,那么在對$x[n]$進行因子為$L$的增采樣后,內插濾波器在每個單位時間需要進行$NL$次乘法以及$L(N-1)$次加法;在采用多相分解實現后,對每個分量來說,每一個單位時間采集一次,並且濾波器變為$e_k[n]$,這些濾波器的長度為$\frac{N}{L}$,因此對於每一個分量來說,每個單位時間的運算量為$\frac{N}{L}$次乘法、$\left(\frac{N}{L}-1\right)$次加法。由於共有$L$個分量,因此整個系統在每個單位時間的運算量為乘法$N$次、加法$N-L+(L-1)$次。

 

 

多采樣濾波器組

這一小節主要描述了一個使用了多相抽取以及內插結構的系統。

理想雙信道分解/合成系統

如下圖所示為一個語音編碼中常用的對音頻信號進行雙信道分解(analysis)以及合成(synthesis)系統的結構框圖。對結構中各部分的解釋如下:

  1. 系統分解部分目的是對音頻進行高頻以及低頻的划分,兩個信道的帶寬分別為$|\omega|<\frac{\pi}{2}$以及$\frac{\pi}{2}<|\omega|<\pi$,這部分的分解分別由低通濾波器$h_0[n]$以及高通濾波器$h_1[n]$完成。通常取$h_1[n] = e^{j\pi n}h_0[n]$,這意味着只需要對低通濾波器頻譜左移$\pi$即可得到高通濾波器頻譜,$H_1(e^{j\omega}) = H_0(e^{j(\omega-\pi)})$。
  2. 由於對源信號並行進行了兩組濾波,樣本數增加了一倍。為了保持濾波后信號的總樣本數不變,需要對濾波后的信號進行壓縮,壓縮倍率為2,也就是使得低頻序列$v_0[n]$以及高頻序列$v_1[n]$各占一半的樣本數。對信號進行壓縮意味着信號頻譜的擴展,濾波后的信號頻譜的帶寬分別為$|\omega|<\frac{\pi}{2}$以及$\frac{\pi}{2}<|\omega|<\pi$,而壓縮后會使得兩個信道的信號頻譜都擴展到了$|\omega|<\pi$。
  3. 然后可以對$v_0[n],v_1[n]$進行各種處理。
  4. 系統合成部分的目的就是把兩個信道的音頻恢復成為全帶寬的音頻,對於每一個信道來說,此時的樣本數只有原樣本數的一半,因此需要先把樣本進行2倍擴展。
  5. 最后分別通過一個低通濾波器以及高通濾波器完成重構,再把得到的信號相加即可得到全帶寬音頻。

image

理想情況下會有如下頻譜變化:

DualSpectrum

式子推導如下:

$\begin{align*}
Y(e^{j\omega})&=expand\bigg\{compress\bigg\{X(e^{j\omega})H_0(e^{j\omega})\bigg\}\bigg\}G_0(e^{j\omega})+expand\bigg\{compress\bigg\{X(e^{j\omega})H_1(e^{j\omega})\bigg\}\bigg\}G_1(e^{j\omega})\\
&=expand\left\{\frac{1}{2}\bigg[X(e^{j\omega/2})H_0(e^{j\omega/2})+X(e^{j(\omega-\pi)/2})H_0(e^{j(\omega-\pi)/2})\bigg]\right\}G_0(e^{j\omega})\\
&\quad + expand\ \left\{\frac{1}{2}\bigg[X(e^{j\omega/2})H_1(e^{j\omega/2})+X(e^{j(\omega-\pi)/2})H_1(e^{j(\omega-\pi)/2})\bigg]\right\}G_1(e^{j\omega})\\
&= \frac{1}{2}\bigg[X(e^{j\omega})H_0(e^{j\omega})+X(e^{j(\omega-\pi)})H_0(e^{j(\omega-\pi)})\bigg]G_0(e^{j\omega})\\
&\quad+\frac{1}{2}\bigg[X(e^{j\omega})H_1(e^{j\omega})+X(e^{j(\omega-\pi)})H_1(e^{j(\omega-\pi)})\bigg]G_1(e^{j\omega})\\
&=\frac{1}{2}\bigg[G_0(e^{j\omega})H_0(e^{j\omega})+G_1(e^{j\omega})H_1(e^{j\omega})\bigg]X(e^{j\omega})\\ &\quad+\frac{1}{2}\bigg[G_0(e^{j\omega})H_0(e^{j(\omega-\pi)})+G_1(e^{j\omega})H_1(e^{j(\omega-\pi)}) \bigg]X(e^{j(\omega-\pi)})
\end{align*}$

 

對於上述式子,如果是理想濾波器,分頻的低通濾波器$H_0(e^{j\omega})$與重構的低通濾波器$G_0(e^{j\omega})$的取值范圍是僅在$|\omega|<\frac{\pi}{2}$處不為0,因此$G_0(e^{j\omega})H_0^{e^{j(\omega-\pi)}}$的值為0;同理,理想濾波器的情況下,$G_1(e^{j\omega})H_1(e^{j(\omega-\pi)})$的值為0,所以上述式子的第二項在理想濾波器的情況下應為0。另外,第二項中的頻譜包含$\omega-\pi$相關項,而$\omega-\pi$的相關項是由於信號的壓縮帶來的,因此這一項表征了壓縮操作中潛在的混疊失真,而上述式子的第一項表征的是式子在理想情況下的分解與重構。

 

一種能消除混疊的重構系統

現實中不可能完全實現上述理想濾波器,不過我們也可以通過選取滿足下述條件的濾波器來消除混疊:

$G_0(e^{j\omega})H_0(e^{j(\omega-\pi)})+G_1(e^{j\omega})H_1(e^{j(\omega-\pi)})=0$

該條件被稱為混疊抵消條件,滿足該式子的一組條件為

$\color{red}{\begin{align*}
h_1[n] = e^{j\pi n}h_0[n]&\Leftrightarrow H_1(e^{j\omega}) = H_0(e^{j(\omega-\pi)})\\
g_0[n] = 2h_0[n]&\Leftrightarrow G_0(e^{j\omega}) = 2H_0(e^{j\omega})\\
g_1[n] = -2h_1[n]&\Leftrightarrow G_1(e^{j\omega}) = -2H_0(e^{j(\omega-\pi)})
\end{align*}}$

把這些式子代入頻譜函數得到

$Y(e^{j\omega}) = \Big[H_0^2(e^{j\omega})-H_0^2(e^{j(\omega-\pi)})\Big]X(e^{j\omega})$

因此完美重構(可能帶M個樣本延遲)要求

$\color{red}{H_0^2(e^{j\omega})-H_0^2(e^{j(\omega-\pi)}) = e^{-j\omega M}}$

也就是說,在設計分解/合成系統的時候,如果能找到一個符合上面式子的濾波器$H_0(e^{j\omega})$,就能使用前面的式子來設計$H_1(e^{j\omega}),G_0(e^{j\omega}),G_1(e^{j\omega})$,得到一個完美重構系統。不過這只是其中的一種分解/合成系統,這類系統的頻譜並不能很好地對源信號進行分頻,變換過程與前面描述的理想重構系統並不一樣(書中稍有涉獵)。

對於這里所描述的這種系統,可以通過多相分解來大幅降低計算量。

因為系統的壓縮以及擴展的倍率為2,因此把$h_0[n]$分成兩個序列分量$e_{00}[n],e_{01}[n]$,把$g_0[n]$分成兩個序列分量$f_{00}[n],f_{01}[n]$,

image

結合前面的條件,有

$\begin{align*}
e_{00}[n] &=h_0[2n]\\
e_{01}[n] &=h_0[2n+1]\\
e_{10}[n] &=h_1[2n]=e^{j2\pi n}h_0[2n]=e_{00}[n]\\
e_{11}[n] &=h_1[2n+1]=e^{j(2n+1)\pi}h_0[2n+1]=-e_{01}[n]\\
f_{00}[n] &=g_0[2n]=2h_0[2n]=2e_{00}[n]\\
f_{01}[n] &=g_0[2n+1]=2h_0[2n+1]=2e_{01}[n]\\
f_{10}[n] &=g_1[2n]=-2h_1[2n]=-2e_{00}[n]=-f_{00}[n]\\
f_{11}[n] &=g_1[2n+1]=-2h_1[2n+1]=2e_{01}[n]=f_{01}[n]
\end{align*}$

 

因此該系統可以優化為

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM