升採樣
升採樣是一種插值的過程,應用於數碼訊號處理,當一串數列或連續的訊號經過升採樣後,輸出的結果約略等於訊號經由更高的取樣速率採樣後所得的序列,舉例來說,一個取樣率為44,100 赫茲的16位元數碼音樂訊號若被升採樣到55,125 赫茲,則此時升採樣因子為5/4,升採樣後的訊號擁有更高的位元率。
升採樣因子(常用表示符號為"L")一般是大於1的整數或有理數。這個因子表達採樣週期變成原來的1/L倍,或者等價表示採樣率變成原來的L倍。
整數倍升採樣
以L整數倍插值的過程可以被分解為兩個步驟的過程,分解成兩部的過程會讓升採樣在實作上更為有效率:
- 創造一個數列, 是由原來的取樣點, 以中間間格L-1個零點方式構成。
- 將不連續的點以低通濾波器平滑化,平滑化的結果會使零點消失。
在升採樣的應用當中,這個低通濾波器稱為插值濾波器,如何設計插值濾波器會在下列段落中討論。
若用有限脈衝響應的方式設計插值濾波器,硬件效率會被提升,因為第一個步驟中插入的零點對於計算內積不會有任何的貢獻或影響,可以很輕易地直接在取資料或計算過程中省略掉與零點相關的資料點或計算過程。經由有效率的有限脈衝響應數碼濾波器過濾後,每個輸出取樣點的計算公式為兩個序列的內積:
其中 h[•] 序列是插值濾波器的脈衝響應,K是使 h[j+kL] 不為零的最大值,在這個例子中L=2, h[•] 可以被設計成半頻濾波器,半頻濾波器有將近一半的脈衝響應系數為零,在計算內積的過程中這些零點可以被直接忽略。每隔L點取樣脈衝響應的採樣點組成一組次序列,在這個例子中,我們有L組這樣的次序列(稱為項位)同時多工處理,每個脈衝響應的次序列對相同的資料序列x[•]進行慮波,產生長度為L的序列y[•]的一個取樣點。在多處理器的架構下,這些內積可以被平行化計算,在這樣的架構下我們稱這個低通濾波器為多項位濾波器。
插值濾波器設計
令X(f)為任何方程式,x(t)的傅利葉轉換,x(t)以取樣週期為T的間隔取樣出來的點等價於x[n]序列,x[n]序列的離散時間傅利葉轉換為x(f)週期性疊加的傅利葉級數表示:
當T的單位為秒,f的單位為赫茲。以L倍快的速率(以T/L的間隔)取樣使採樣頻率增加了L倍:
這個公式代表插值過後的結果,作為例子,這兩個公式的表示結果可以由圖一中最上面的兩張圖所見。
當資料序列被插入額外的零點後,這些零點增加資料數率,但他們並不會對頻譜上的分佈造成影響,當這些零點被插值濾波器取代後影響才會顯現。
許多濾波器設計的方法使用頻率的單位為週期數/取樣點,這個單位可以根據新的資料速率(L/T)經由頻率的標準化得到。對頻率標準化的結果可由圖一的第三圖所示,其中同樣標示出讓第三張圖類似於第二張圖所需要的插值濾波器的通帶,這個插值濾波器的截止頻率為 ,以實際頻率換算,截止頻率為 赫茲,這個頻率為原來資列序列的奈奎氏取樣頻率。
運用Z轉換可以得到相同的結果,受限於複數變數 的限制,得到的轉換為相同的傅利葉級數但頻率標準化的頻率不同,與公式1比較,我們推論出:
這個結果可以由圖一中第四張圖所見,當零點插入到資料序列中,Z轉換的形式變成:
這個結果可以由圖一中最下方的圖所見,在橫軸中,有效的資料速率永遠為常數 2π (radians/sample) (徑度/取樣)而不是1,在這個單位下,插值濾波器的頻寬為 π/L, 如最下方的圖所示,這個值對應到的物理頻率為 赫茲,等於原始資料頻率的奈奎氏取樣速率。
分數倍升採樣
令 M/L代表降採樣因子,M,L都是整數,M>L
- 以L倍頻率升採樣
- 以1/M倍頻降採樣
升採樣的過程需要低通濾波器過濾資料數率增加的訊號,降採樣的過程需要低通濾波器過濾輸入訊號,因此這兩個濾波過程可以被和而為一,藉由用單一個低通濾波器取代,此單一低通濾波器的截止頻率為兩者低通濾波器的低者。當L > M,插值濾波器的截止頻率, (週期數/取樣),會是較低的頻率。
參見
參考資料
- Oppenheim, Alan V.; Schafer, Ronald W.; Buck, John R. Discrete-Time Signal Processing 2nd. Prentice Hall. 1999. ISBN 0-13-754920-2.
- Proakis, John G. Digital Signal Processing: Principles, Algorithms and Applications 3rd. India: Prentice-Hall. 2000. ISBN 8120311299.