摘 要:隨著數字信號的迅速發展,在現代數字系統中對超過單一采樣率的處理已經越來越普遍,這直接導致了多采樣率處理作為數字信號處理(DSP)中一個新的分支領域的出現。其中在進行D/A(數字/模擬)轉換的場合,往往需要提高數字信號采樣率來降低對模擬濾波器的要求。論述利用插值的方法來提高采樣速率,介紹了內插原理和給出了一種多相濾波器的設計方法,使性能和資源占有率得到較大的突破,最大限度地減少資源消耗。
關鍵詞:內插;多速率采樣;多相濾波器;數字信號處理
中圖分類號:TN713.7文獻標識碼:B文章編號:1004373X(2008)1906903
Design of Heightening Sampling Rate for Filter by Interpolation
XU Yan,SUN Lihua
(School of Information Engineering,Nanchang University,Nanchang,330031,China)
Abstract:With the rapid development of digital signal,multirate process has become more and more common in the modern digital system,which lead directly to the multi-sampling rate processing as a new branch of the emergence in the field of DigitalSignal Processing (DSP).When implementing D/A (digital/analog) conversion ,the sampling rate of digital signal is often needed to be increased to reducing the requirement of analog filter.In order to improve sampling rate by using interpolation,the theory of interpolation are introduced,the poly-phase filter design is given.This means may reduce consumed resourceto a bare minimum based on improving the performance of filter and the usage of resource remarkably.
Keywords:interpolation;multiple rate sampling;poly-phase filter;digital signal processing
1 引 言
數字信號由于其在傳輸、存儲和計算上的便捷性,正在得到越來越廣泛的應用。在一個數字信號處理系統中往往會存在多種采樣速率,它能夠方便信號處理,減少運算量,所以多采樣數字信號處理在數字信號處理中占有重要地位,并廣泛應用于通信、數字音響處理、天線及雷達、圖像處理等領域。數字音頻應用中,常見的格式有如下幾種:CD制式,采樣率為44.1 kHz,精度16 b;DVD制式,采樣率可為48 kHz/96 kHz/192 kHz,精度為16 b/20 b/24 b;HDCD格式,最高可達到88.2 kHz采樣速率和20 b精度[1]。不同制式采樣率也有所不同。在要求數據率為48 kHz的系統中處理數據率44.1kHz的CD音頻數據,首先就要將CD數據提升到48 kHz,這樣就要用到多采樣速率處理[2]。速率轉換的目的主要是兩個:其一就是為了簡化數據處理;第二就是實現不同速率要求的系統兼容。采樣速率轉換通常采取最基本的兩種操作就是降采樣(decimation)和插值(interpolation)。前者是降低采樣率以去掉多余數據的過程,而后者是提升采樣率以增加數據的過程。
2 內插原理
插值運算[3]的作用是增加取樣頻率,在任何兩個輸入x(n)和x(n-1)之間插入L-1個抽樣值。內插過程又分零插值和線性插值等幾種。零插值運算的一般方法是先在輸入信號采樣數據每相鄰兩點之間插入L-1個零。線性插值運算的一般方法是在任何兩個輸入x(n)和x(n-1)之間插入L-1個值,這些值位于連接這兩個數據值的直線上。零插值器不影響原來的頻譜結構,但線性插值則不同,線性插值不能充分衰減信號頻譜的鏡像,因而有其應用的局限性。所以雖然在插值濾波中運用到很多算法,但對于數字音頻來說,選擇插零算法。
在信號理論中,對序列x(n)進行整數倍內插,相當于對原序列在時域進行擴展。因為序列在時域擴展由于信號采樣率提高了L倍,則在頻域產生的L-1個鏡像頻率由鏡像低通濾波器去濾除。鏡像濾波器一般都用FIR數字濾波器來實現,也稱之為多采樣濾波器(multirate filter),L為轉換因子。此時多采樣濾波器為插值濾波器,相應的L為插值因子。實現插值因子的一個最簡單方法是在離散時間域進行插值,過程如圖1所示。
圖1 實現插值的方法
若設原始采樣序列為x(n),則經過內插后組成一個新的序列xρ(n)。
xρ(n)=x(n/L)n=0,±L,±2L,…
0n=其他
(1)
將xρ(n)通過一個截止頻率為ω=π/L的低通濾波器,經濾波后這些插進的零值點將不再是零,從而得到插值后的輸出信號xb(n)。將一次采樣信號x(n)的采樣率增加L倍意味著必須在x(n)的每兩個數據之間插入L-1個新的采樣值,采樣率增加的過程在數學上就是插值的過程。如果將采樣率增加L倍,那么新的采樣率和采樣周期分別為:fs1=Lfs,T1=1/fs1=T/L。由于采樣率的增加,在新信號xb(n)的頻譜中不僅包含x(n)的基帶頻譜,還包含這個頻譜的周期重復,必須采用低通濾波器h(m)來濾除這些重復的鏡像,保證輸出信號xb(n)中僅包含原信號的基帶頻譜,同時還需要保證輸出信號的幅度不發生變化。
圖2 內插前后的兩種不同采樣序列
3 多相濾波器的設計
由于多相濾波器能在低的采樣率下輸出高采樣率信號。利用該特點,下面采用多相濾波器的數字信號處理單元來提高采樣率。
3.1 多相濾波器原理
設單元的輸入采樣速率為fs,而把輸出的速率增大到Lfs,其中L為2的指數。設1/fs秒輸人一個數據,L個濾波器分別在L個不同時隙輸出數據。由于多相濾波器是一個周期為L的周期時變濾波器,L個時隙的總長度為1/fs,以完成L倍內插。一般情況下,L個濾波器都是相同階數FIR濾波器。假設輸入原采樣序列為x(n),第m個FIR濾波器系數為hm-1(n),假定濾波器階數都是N階,輸出序列為y(n)。L個濾波器產生如下表達式:
y(nL)=∑N-1m=0x(n-m)h0(m)
y(nL+1)=∑N-1m=0x(n-m)h1(m)
……
y(nL+L-1)=∑N-1m=0x(n-m)hL-1(m)
(2)
即當在t時刻輸入一個數據x(n)時,相應地在該時刻產生一個輸出值y(nL);同理在t+1Lfs時刻產生一個輸出y(nL+1),以此類推,在時刻t+L-1Lfs產生輸出為y(nL+L-1)。多相濾波器第p個支路的輸出產生Yp(n),并有Y(nL+p)=Yp(n)(p=0,1,…,L-1)。因此對每個輸入x(n),多相網絡L個分支的每一個分支提供一個非零輸出,由此可推導出多相插值濾波器結構。該結構是將插值濾波器直接式結構對存儲量的要求分配給所有的多相濾波器,多相插值濾波器可以將多相濾波器各自的抽頭與其他多相濾波器對應的抽頭的部分積,在存入移位寄存器之前求和,共享各個濾波器中的累加器和移位寄存器,從而可以使存儲量的要求和總的運算量均減少L倍。
圖3 FIR多相插值濾波器結構
3.2 設計思路
由上面原理可知,多相插值濾波器設計關鍵在于濾波器系數hi(n)(i=0,1,…,L-1)的選擇,按照內插原理先對輸入的序列進行插值,得到一個新的序列xρ(n),經過這種內插后,問題轉化為對xρ(n)用LN階FIR濾波器h′(n)濾波。
h′(n)=h0nL
n=0,L,2L,…,(N-1)L
h1n-1L
n=1,L+1,2L+1,…,(N-1)L+1
…… …
hL-1n-L+1L
n=L-1,2L-1,…,NL-1
(3)
由式(3)可知,問題就轉化為設計一個恒定的采樣率的濾波器h′(n)。
現在就頻域進行分析:
(1) x(n)的離散傅里葉變換為:
X(ejω)=∑∞-∞x(n)e-jωn
(4)
(2) 將式(1)代入式(4),得xρ(n)的離散傅里葉變換為:
Xρ(ejω)=∑∞-∞xρ(n)e-jωn=∑∞-∞x(n/L)e-jωn
=∑∞-∞x(m)e-jωmL=X(ejLω)
(5)
Xρ(ejω)=X(ejLω)
(6)
因為X(ejω)的周期為2π,由式(6)得出Xρ(ejω)的周期為2π/L。這說明Xρ(ejω)在(-π/L~π/L)內等于X(ejω)。即經過內插后,xρ(n)的頻譜不僅含有原來的基帶成分,而且還有原來頻譜的鏡像成分?,F假定(L=8)即將采樣率提高8倍,當采樣頻率提高L倍后,頻譜縮減L倍,因此,Xρ(ejω)在(-π/8~π/8)內等于X(ejω),即原序列x(n)的頻譜(-π≤ω≤π)被均勻地壓縮到
xρ(n)頻譜(-π/L≤w≤π/L)段,且毫無混疊出現;我們只要設計(-π/L~π/L)的頻響來實現對x(n)的濾波,而大于π/L的部分都屬于h′(n)阻帶的部分。這樣就完成了恒定采樣速率的濾波器h′(n)的設計。
4 結 語
隨著數字技術的迅速發展和成熟,尤其是微處理器及專用數字處理芯片的迅速發展和廣泛應用,使得數字信號的大量存儲、快速處理變得簡便,因而用數字技術處理模擬信號己越來越受到重視,所以A/D變換和D/A變換就越來越普遍。在一些需要進行D/A變換的場合,進行內插,提高基帶的采樣率可以有效的降低對混頻后的諧波抑制濾波器的要求,這也是內插處理經常運用在上變頻器件中的原因。盡管通用的過采樣法是提高分辨率和信噪比的十分有效的方法,但卻是以有效的數據吞吐量減少,采樣所占時間份額加大為代價。而本文介紹的多相濾波器能工作在低的采樣率下,而產生高采樣率的輸出信號,且保證結果不發生頻譜混疊。
參考文獻
[1]洪亮.可重構24 b音頻過采樣DAC的FPGA實現研究[D].上海:華東師范大學,2006.
[2]余心樂,楊占昕.插值濾波器的DSP實現及有限字長效應分析[J].北京廣播學院學報:自然科學版,2005,12(2):37-42.
[3]胡廣書.現代信號處理教程[M].北京:清華大學出版社,2004.
[4]丁玉美,高西全.數字信號處理[M].西安:西安電子科技大學出版社,1994.
[5]舒中賓.一種提高ADC分辨率的插值濾波方法[J].現代電子技術,2005,28(17):35-37.
[6]閆華,楊軍.一種用于數字音頻的插值濾波器設計[J].現代電子技術,2007,30(6):1-3.
作者簡介 徐 燕 女,1982年出生,浙江紹興人,研究生。主要研究方向為通信與信息系統,
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文