黃浩,王法翔
(福州大學 物理與信息工程學院,福建福州,350108)
目前,工業(yè)生產(chǎn)自動化技術發(fā)展迅速,而準確地測量數(shù)據(jù)結(jié)果是自動化技術中最重要的一個組成部分。在自動化的流程當中,測量精度影響著工藝參數(shù)的準確性,甚至影響了工作效率與產(chǎn)品質(zhì)量。與各種傳感器聯(lián)系緊密的模數(shù)轉(zhuǎn)換器(analog digital converter,ADC)在工業(yè)中應盡呈現(xiàn)出高精度、低功耗的性能,并且需要適應各種不良環(huán)境。各類技術中,由于結(jié)構簡單和能對抗電路非理想影響,Sigma Delta 轉(zhuǎn)換技術是這種高分辨率應用中的首選[1]。
一般地,Sigma Delta ADC 包含模擬電路與數(shù)字降采樣濾波電路兩個部分,其中數(shù)字濾波電路由于需要較多的計算單元,硬件消耗較大[2],影響著整個ADC 的面積。同時,非理想的濾波器總是會引入量化噪聲,影響最終的性能。
1974 年,有學者第一次提出了一種具有降采樣數(shù)字濾波的多位過采樣Sigma Delta ADC[3],為數(shù)字濾波器的研究開創(chuàng)了先河。級聯(lián)式積分梳狀(cascaded integratorcomb,CIC)濾波器由于其特殊的結(jié)構與抽取和內(nèi)插功能,從此被廣泛應用于各種多速率系統(tǒng)。然而,單階CIC 濾波器阻帶衰減特性較差,主瓣衰減也不明顯,還會引入通帶衰減問題。目前一般在CIC 濾波器后級聯(lián)半帶濾波器[4]或利用線性內(nèi)插二階多項式(interpolated second-order polynomials,ISOP)濾波器[5]對CIC 濾波器造成的通帶衰減進行補償。同時,將濾波器的抽頭系數(shù)存入存儲器中也是減少一種硬件開銷的常用方式。
因此,一種優(yōu)秀的數(shù)字濾波器應該具有以下特點:(1)減少對原信號產(chǎn)生明顯的衰減;(2)減少計算單元的硬件消耗;(3)實現(xiàn)降采樣功能。
基于上述的分析,本文介紹了一種應用于Sigma Delta ADC 的數(shù)字降采樣濾波器設計,對整體架構進行分析與選擇,在CIC 濾波器后級聯(lián)反正弦濾波器與半帶濾波器進行補償,同時引入非遞歸結(jié)構降低延時。最后對加法器、乘法器進行復用,以達到降低面積與功耗的效果。
一般來說,Sigma Delta ADC 主要包括三個部分,前級抗混疊濾波器,調(diào)制器,數(shù)字降采樣濾波器。
Sigma Delta 調(diào)制器由于其過采樣技術與噪聲整形技術能夠獲得較高的精度:帶內(nèi)噪聲由于過采樣被抬高到了帶外,簡略的示意圖如圖1 所示。N1為原本的噪聲,N2為過采樣后的噪聲,可以看到噪聲的總量不變,但是帶內(nèi)的噪聲減少了。因此,調(diào)制器的高速輸出想要轉(zhuǎn)換成數(shù)字信號供后級設備使用,就必須級聯(lián)數(shù)字濾波器進行低通濾波與降采樣[6]。
圖1 Sigma Delta 噪聲頻譜示意圖
本文提出的數(shù)字濾波器各級指標如表1 所示,由CIC濾波器、Arcsine 濾波器、HalfBand 濾波器級聯(lián)而成,級聯(lián)結(jié)構如圖2 所示。使用多級級聯(lián)的數(shù)字濾波器可以顯著降低濾波器的階數(shù),若使用一級FIR 濾波器達到該指標,經(jīng)設計需要1798 階。在實際應用中,這種階數(shù)是設計者無法接受的。采取級聯(lián)結(jié)構,只需要4 階CIC 濾波器,48 階Arcsine 濾波器,64 階HalfBand 濾波器即可。
圖2 數(shù)字濾波器結(jié)構圖
本文提出的數(shù)字濾波器結(jié)構則如圖2 所示,Arcsine 濾波器與HalfBand 濾波器均為FIR 濾波器。由CIC 濾波器先完成32 倍的降采樣,再由兩級FIR 濾波器完成2 倍降采樣,最終實現(xiàn)128 倍降采樣,輸出數(shù)據(jù)速率為2000 SPS。
CIC 濾波器是一種特殊的濾波器,主要應用在多抽取率系統(tǒng),用于數(shù)字信號的插曲和內(nèi)插。正如前文所述,單級CIC 濾波器的衰減特性較差,故一般多用多級級聯(lián)。多級級聯(lián)的CIC 濾波器系統(tǒng)函數(shù)為:
其中,N為級聯(lián)的濾波器個數(shù),R為抽取倍數(shù),M為濾波器的延遲因子。
CIC 濾波器在降采樣系統(tǒng)應用中是主流,這主要是由于它能在不使用乘法器的情況下減少采樣率。在Sigma Delta ADC 的應用中,多個CIC 濾波器級聯(lián)能有效抑制信號帶外噪聲。一般來說,CIC 濾波器的階數(shù)應為N=L+1,其中L為所設計的調(diào)制器的階數(shù)。當N
一般來說,CIC 濾波器有遞歸型與非遞歸型兩種。非遞歸型CIC 濾波器速度更快,但是卻不適用于本文。這是由于在音頻、心電等應用中,我們通常需要一個線性相位的FIR 濾波器以避免相位失真[8]。以本文為例,非遞歸的CIC濾波器的系統(tǒng)函數(shù)另一種實現(xiàn)方式可由下式推導得出:
對比兩種系統(tǒng)函數(shù),使用(1)式進行FIR 的窗函數(shù)或等波紋設計法實現(xiàn)的線性相位濾波器能夠在多種應用中表現(xiàn)更好。本文所設計的CIC 濾波器的頻譜特性如圖3 所示。
圖3 CIC 濾波器幅頻曲線
作為一種有效進行多速率信號處理任務的濾波器,CIC濾波器也有缺點。如圖3 所示,當CIC 濾波器的抽取倍數(shù)較大或階數(shù)較高時,濾波器的通帶衰減非常嚴重。通常會使用可編程的其他濾波器來提升CIC 濾波器的通帶響應,但這引入了大量的硬件消耗。引入固定系數(shù)的第二級濾波器最早可追溯至A.Y.Kwentus,這樣可以減少硬件消耗[9]。關于CIC 濾波器的補償問題,將在后文進行更為詳細的敘述。
CIC濾波器的結(jié)構依次為積分器,抽取器,梳狀器的級聯(lián)。這樣的結(jié)構使得梳狀器能工作在采樣頻率/R 的速率下,有利于降低功耗。在積分器中應設置好位寬防止出現(xiàn)溢出[10],內(nèi)部寄存器最常用的公式為:
其中,Bin為輸入位數(shù),在此處與調(diào)制器的量化位數(shù)有關,N 表示CIC 濾波器的階數(shù),R 表示抽取倍數(shù),M 表示延遲因子。以本文為例,與三階一位量化調(diào)制器級聯(lián)時,應將位寬設置為21 位以滿足積分器的增益。而在梳狀器中,內(nèi)部溢出的數(shù)據(jù)并不需要處理,使用補碼進行操作的過程中不會出現(xiàn)錯誤。
我們知道,當CIC 濾波器級聯(lián)的階數(shù)越多,抽取倍數(shù)越大,引入通帶滾降就越嚴重。因此,如果想要得到最好的補償效果,就應當降低CIC 濾波器的級聯(lián)階數(shù)與抽取倍數(shù)。但是,級聯(lián)階數(shù)已經(jīng)確定,無法再改變,只能從降低抽取倍數(shù)入手。在本設計中,總降采樣倍數(shù)為128,若完全使用CIC 濾波器進行抽取,在1kHz 信號帶寬處,衰減將增加10dB,大大增加了抽取難度。
常見的ISOP 濾波器結(jié)構簡單,能完成補償效果,但是無法實現(xiàn)降采樣。此時對CIC 濾波器的系統(tǒng)函數(shù)進行分析,可寫出如下式的幅頻特性:
其中sin 為正弦函數(shù),對該幅頻特性做倒數(shù),得到下式:
其中,sinc 為反正弦函數(shù)。級聯(lián)幅頻特性為 式(5)的數(shù)字濾波器即可完成對CIC 濾波器的補償。借助MATLAB的fdatool可以使用等波紋法進行Arcsine濾波器的設計[11]。在Arcsine 濾波器中再加入抽取功能,能夠有效降低前級CIC 濾波器的降采樣倍數(shù)。
本文設計的Arcsine濾波器的通帶補償效果如圖4所示,圖中從級聯(lián)后幅頻特性曲線中可以看到通帶明顯得到補償,通帶紋波小于0.01dB。
圖4 CIC 與Arcsine 濾波器級聯(lián)幅頻特性曲線
半帶濾波器是一種FIR 濾波器,圖5 是FIR 濾波器的原始結(jié)構??梢钥吹?,F(xiàn)IR 濾波器需要大量的乘法器與加法器進行計算,這會引入過多的硬件消耗。半帶濾波器有著系數(shù)對稱以及一般系數(shù)都為零的特點,能夠在應用中節(jié)省大量的硬件資源[12]。
圖5 FIR 濾波器基本結(jié)構
同時,從圖6 可見:半帶濾波器的幅頻特性呈現(xiàn)出對稱的特點。即設計合理的半帶濾波器的通帶與阻帶幾乎相等,而過渡帶很窄。所以一般將半帶濾波器作為整個數(shù)字濾波器模塊的最后一級以改善整體過渡帶表現(xiàn)。N 級的半帶濾波器可以完成2 的N 次冪的抽取,這也可以進一步減少CIC 濾波器的抽取倍數(shù),降低通帶衰減的補償難度。
圖6 半帶濾波器幅頻特性曲線
在[13]中提出了CIC 濾波器后要級聯(lián)補償濾波器,但只給出了通帶的補償方法,并未討論過渡帶與阻帶,這會導致整體濾波效果不好。圖7 為本文設計的級聯(lián)后的數(shù)字濾波器的幅頻特性曲線與CIC 濾波器的對比??梢钥吹?,通過兩級的補償,數(shù)字濾波器擁有平坦的通帶以及較窄的過渡帶。
圖7 本文數(shù)字濾波器與CIC 濾波器的幅頻特性曲線
為了減少加法器與乘法器的使用,本文在設計中在保證時序功能的前提下,對各個計算單元進行復用,有效減少了硬件消耗。以第三級半帶濾波器為例,復用后的結(jié)構如圖8所示。
圖8 計算單元復用示意圖
在圖8 中,引入了選擇器對半帶濾波器的系數(shù)進行選擇。具體時序如圖9 所示,由于到第三級濾波器降采樣倍數(shù)已經(jīng)是128 倍,此時半帶濾波器的輸入采樣頻率為4kHz,也就是每一個周期有64 個系統(tǒng)時鐘周期可以進行工作。可以利用這些周期復用乘法器與加法器,依次進行乘加計算。
圖9 計算單元復用時序圖
為了測試本文所設計的數(shù)字降采樣濾波器的性能,在前級級聯(lián)了一個Sigma Delta 調(diào)制器。經(jīng)分析,聚焦于工業(yè)測量和醫(yī)療應用的調(diào)制器的信噪失真比(Signal-to-Noiseand-Distortion Ratio,SNDR)至少應達到92dB。
提高Sigma Delta 調(diào)制器的性能的方法主要有兩種,增加調(diào)制器的階數(shù)與增加量化位數(shù)。在實際應用中,Sigma Delta 的調(diào)制器很少使用超過4 階的結(jié)構,因為這會導致系統(tǒng)不穩(wěn)定。同時,量化位數(shù)的增加也帶來了功耗的提升。經(jīng)過綜合考慮,本文級聯(lián)的Sigma Delta 調(diào)制器采用如圖10所示的三階CIFF 結(jié)構。只要對系數(shù)a、b、c 取適當?shù)闹担涂梢允沟迷肼晜鬟f函數(shù)不受輸入信號的影響,降低各級積分器的擺幅,降低過載的可能性,保證電路的線性度以及得到更小的諧波失真[14]。
圖10 Sigma Delta 調(diào)制器的三階CIFF 結(jié)構
對模型輸入幅度進行掃描得到的結(jié)果如圖11 所示。
圖11 調(diào)制器建模理想與非理想輸出頻譜
不同于使用SystemVerilog 進行建模[15],本設計在MATLAB 中對調(diào)制器建模進行仿真,考慮白噪聲與KT/C 噪聲后,該調(diào)制器在非理想狀態(tài)的SNDR 能接近100dB 左右,與理想狀態(tài)下差距不大,調(diào)制器性能較高。
首先應驗證調(diào)制器的動態(tài)范圍(dynamic range,DR)是否滿足應用的需求,結(jié)果如圖12 所示。調(diào)制器能達到100dB 左右的DR 與95dB 左右的SDNR,滿足了各種工業(yè)和醫(yī)療測量環(huán)境的需求。
圖12 調(diào)制器動態(tài)范圍示意圖
級聯(lián)數(shù)字濾波器后,將輸出數(shù)據(jù)作FFT 計算,得到如圖13 所示的結(jié)果。
圖13 數(shù)字濾波器輸出頻譜
當輸入-8.37dB 的296.875kHz 時,在1kHz 帶寬內(nèi),SNDR 達到95.8dB,有效位數(shù)達到15.61bits。所設計的數(shù)字降采樣濾波器幾乎沒有引入更多的噪聲,有良好的濾波效果。
針對目前ADC 的應用市場以及需求,本文設計了一種面向Sigma Delta ADC 的數(shù)字降采樣濾波器,通過級聯(lián)兩級非遞歸定系數(shù)FIR 濾波器對傳統(tǒng)CIC 濾波器進行補償,消耗較少的硬件資源獲得了較好的濾波效果。
數(shù)字降采樣濾波器設計基于TSMC 180nm 工藝,輸入采樣時鐘頻率為256kHz,帶寬為0.98kHz。與調(diào)制器級聯(lián)后,測試結(jié)果表明數(shù)字降采樣濾波器設計能夠滿足應用需求。