王毅男 林 偉
(上海應用技術學院電氣與電子工程學院,上海 201418)
數字梯形成形濾波器的模塊化設計
王毅男 林 偉
(上海應用技術學院電氣與電子工程學院,上海 201418)
針對數字梯形成形濾波器在數字化多道脈沖分析儀中的應用,給出其z變換方法的推導過程,并通過傅里葉變換討論其濾波功能。從實際應用出發,對梯形成形濾波器進行模塊化設計,使設計更有利于可編程邏輯器件的實現,可以簡單靈活地調節梯形形狀以適應不同的工作環境。利用Matlab軟件對設計進行原理仿真,驗證了模塊化設計的正確性,并通過加入高斯白噪聲的方法討論其濾波特性。使用FPGA配合嵌入式邏輯分析儀給出梯形成形濾波器的硬件實現及仿真,驗證了系統設計的正確性。
梯形成形 數字化濾波 多道脈沖幅度分析儀 延遲可調 FPGA
20世紀90年代,基于數字信號處理技術,提出了新的核脈沖能譜分析技術。數字電路技術的最大優點是靈活性,它可以綜合成各種濾波器,使系統達到更高的信噪比,獲得更好的能量分辨率,這些優點也是模擬電路難以實現的,甚至不可能實現的[1-2]。
多道脈沖幅度分析器是通過測量核輻射探測器輸出的電脈沖信號來獲取核輻射信息,該信號具有較快的上升沿,有豐富的高頻成分。由于前端電路的噪聲影響和數模轉換器采樣頻率的限制,不可能采集到每個脈沖信號的最大幅值[3-4],因此在高精度要求下,“直接數據采集法”是不可行的,而梯形成形算法可以彌補這個不足。梯形成形濾波器是將輸入的下降沿衰減的指數信號成形為梯形脈沖信號輸出。已有研究證明,當只考慮電壓和電流噪聲,探測器收集電荷的時間不為零時,梯形成形濾波器是最優濾波器,并且非常適合用數字方法實現[5]。
為提高梯形成形算法的實用性,本文對算法進行模塊化設計,從更適合可編程邏輯器件實現的角度出發,完成梯形成形濾波器的結構設計。
設前置放大器輸出為理想指數信號,時域表達式為:
Ui(t)=Umaxe-t/τμ(t)
(1)
式中:Umax為脈沖幅值;τ為前端放大器的時間常數;μ(t)為標準單位階躍函數。
以TS為周期對輸入信號進行采樣,可以得到脈沖序列的表達式為:
Ui(t)=Umaxe-nTs/τμ(t)
(2)
令e-nTs/τ=q,并對式(2)進行z變換得:
Ui(t)=Umax×z/(z-q)
(3)
理想梯形函數的分段函數表示如下:
(4)
式中:ta、tb、tc分別為梯形的上升沿、平頂、下降沿的寬度。令ta=naTs、tb=nbTs、tc=ncTs,理想梯形函數的分段函數經過單邊的z變換可表示為:

(5)
從而可得梯形成形算法的系統函數:

(6)
梯形成形算法是以其時域特性為出發點進行設計的,但是,任何成形處理都相當于在頻域中進行了某些濾波操作。所以,有必要研究該算法的頻域特性。
對式(1)~式(4)做傅里葉變換,得到系統函數:

(7)
對式(7)求模可得:

將上式分成兩部分分析。


模塊化設計可以降低系統設計的復雜度,而采用一種結構形式來實現整個濾波器需要很多運算資源,尋找最優化結構也非常困難,所以通常采用子模塊級聯或并聯的方法來實現復雜的濾波器設計。
將系統函數分解為4個子模塊,則有:
H(z)=H1(z)×H2(z)×H3(z)×H4(z)


4個子模塊的級聯存在順序問題,要避免具有峰值增益的子系統發生溢出或將量化噪聲擴大。在該設計中,H1模塊會產生溢出,但是可以證明該溢出不會對運算結果產生影響,所以把H1置于第一級;H4為積分單元,為了避免產生溢出,將其置于最后一級;H2、H3置于中間,因其結構相同,所以位置可以互換。
2.1 H1子模塊的結構設計
結構設計就是用加法器、乘法器和延遲單元等運算模塊的互聯結構來描述線性常系數方程,不同的結構設計消耗的系統資源以及在性能上都是有很大的差異。H1子模塊的結構設計如圖1所示,可以由IIR濾波器實現。IIR濾波器在結構上有很多種形式,有直接I型及其轉置形式、直接II型及其轉置形式。H1子模塊有一個零點和一個極點,輸入的核脈沖信號是指數衰減信號。假如先實現極點,就相當于對信號進行積分操作,這必定會產生溢出,是輸出錯誤,所以必須先實現零點。可以選擇直接I型或者直接II型的轉置形式,因為后者消耗的延遲單元更少,所以設計選擇直接II型的轉置形式來實現H1子模塊。

圖1 H1模塊結構圖
2.2 H2、H3子模塊的結構設計
H2、H3子模塊的結構設計如圖2所示。

圖2 H2、H3模塊結構圖
設計該模塊的主要任務是完成延遲數較大的延遲單元z-na、z-nb的設計。FPGA實現延遲單元有如下3種方法。
① 利用Matlab中的DSP Builder直接生成延遲單元模塊,再使用Quartus II調用生成文件。
② 利用Quartus II自帶的參數模型庫(library of parameter model,LPM)的Shift register,也可以實現一個精準的延時。這里面有兩個參數選項,一個是taps(即分成幾段數據),另一個是distance(每段數據里面有幾個數據),調節二者的設定值就可以改變延遲數目,taps的高位代表的就是延遲輸出的數據。
比較這兩種方法,使用移位寄存器消耗的資源更少,而且不需要通過第三方工具。LPM中的器件都是經過優化得到的結果,這使工程設計資源最優化以及warning更少。當需要實現任意時鐘的延時時,移位寄存器不一定能夠滿足,這時就要用DSP Builder來實現了。
③ 以雙口RAM為核心設計一個延遲模塊,延遲的實現是通過改變讀寫地址而并非在寄存器中流動,通過控制寫入地址、讀出地址控制寫入、讀出數據,通過異步復位對模塊賦初值,寫入地址與讀出地址之差就是延時數目,每次異步復位之后,如果輸出地址所指向的存儲單元不能確定就輸出0。所以只需要改變延遲數的初值就可以設定模塊多延遲數目。該方法增加了外圍電路的設計,但是可以大幅度減小設計面積,降低芯片功耗。為了適應不同的工作環境,延遲數ta和tb的數值是靈活可調的。因此,選擇雙口RAM法完成模塊的設計。
2.3 H4子模塊的結構設計
H4模塊包含一個積分單元、一個延遲單元和一個比例因子,結構比較簡單,也可以采用直接Ⅱ型的轉置形式,將積分器與延遲單元設計在一個結構中,以減少延遲單元的使用。如果系統的運算速度過高,官方提供的除法器將不能直接使用。此時,可以調節使比例因子的值為2-n,通過數據移位的方法來實現除法,這樣就免去了乘法器或除法器的使用,而且對濾波器的性能沒有影響。H4子模塊的結構設計圖如圖3所示。

圖3 H4模塊結構圖
3.1 原理仿真
采用Matlab軟件編程實現算法,以驗證其可行性。仿真原理圖如圖4所示。輸入標準指數信號Ui(t)=Umaxe-t/τμ(t),取Umax=10,TS=0.05,τ=1,輸入標準指數函數如圖4(a)所示。令梯形成形函數的上升沿(下降沿)寬度為20,平頂時間為100,運算后輸出波形如圖4(b)所示。
根據仿真結果圖知,輸入的標準指數信號經梯形濾波成形輸出的梯形成形信號效果比較理想,得到的輸出結果是一個非常標準的等腰梯形,上升沿寬度為20、平頂寬度為100、下降沿寬度為20,與輸入指數信號的幅度相同。

圖4 原理仿真圖
當輸入信號幅度為10,加入標準差為0.1的高斯白噪聲,即輸入端信噪比為100時,得到梯形濾波成形仿真結果如圖5所示。

圖5 濾波特性仿真圖
仿真發現,輸出信號的平均值隨輸入噪聲標準差的增大變化并不大。文獻[7]、[8]給出了梯形成形算法對包噪聲的抑制作用,證明經梯形濾波成形算法后,噪聲的平均值和標準差均得到減小,從而可使基線得到恢復。
3.2 算法的FPGA實現
數字化多道脈沖幅度分析器需要高速模數轉化器對核脈沖信號進行采樣,從而需要實時處理大量的數據。可編程邏輯器件的電路可結構化,使其非常適用于數字信號處理及復雜電路的時序控制。因此,FPGA、CPLD被廣泛應用于數字化多道脈沖幅度分析器中,完成高速數據接口及大數據量的信號處理的工作。
本文采用Altera的 Cyclone III 器件實現模塊化梯形成形濾波器設計。梯形成形濾波器的輸出結果功能測試通過使用Quartus II自帶的Signal Tap II(嵌入式邏輯分析儀)對濾波器進行觀測。Signal Tap II的輸出結果表明,梯形成形濾波器可以穩定地將輸入的指數信號轉換為梯形脈沖信號。FPGA進行數字信號處理需要將參數量化,而e-nTs/τ的數值很難精確量化。有研究表明該數值的量化精確度會直接影響梯形成形的精確度,本仿真也驗證了這一結論(梯形的平頂會產生畸變)[9-10]。將時序仿真結果與Matlab仿真結果相比較,FPGA設計的梯形成形濾波器輸出精度比較理想。
本文利用z變換法將數字多道脈沖幅度分析器中所需要的梯形成形濾波器進行模塊化設計,降低了算法硬件實現的復雜度,以及對硬件資源的消耗,以更好的“速度”與“面積”特性完成數字信號處理。使用雙口RAM實現了參數可調的延遲模塊的設計,以適用于不同的環境。使用軟件對模塊化設計的原理進行了仿真,同時完成了算法的FPGA的實現,仿真結果顯示梯形成形濾波器性能已達到。
[1] Sampsonte V R.Comparisons between digital gamma-ray spectrometer (DSPec) and standard nuclear instrument methods(NIM) systems[R].LA-13393-MS,March 1998.
[2] Imperiale C,Imperiale A.On nuclear spectrometry pulses digital shaping and processing[J].Measurement,2001,30(1):49-73.
[3] 肖無云,魏義祥,艾憲蕓.數字化多道脈沖幅度分析中的梯形成形算法[J].清華大學學報:自然科學版,2005,45(6):810-812.
[4] Jordanov V T.Real time digital pulse shaper with variable weighting function[J].Nuclear Instrument and Methods in Physics Research Section A,2003,505(1-2):347-351.
[5] 王季紅,王良厚,房宗良.梯形成形技術在數字多道系統中的應用[J].核電子學與探測技術,2011,31(5):543-546.
[6] 陳亮.核素識別算法及數字化能譜采集系統研究[D].北京:清華大學,2009.
[7] 周清華,張軟玉,李泰華.基于Matlab的數字化梯形濾波器的研究[J].核電子學與探測技術,2008,28(1):85-88.
[8] 胡創業,康璽,屈國普,等.梯形成形沖擊響應函數推導、仿真和實驗研究[J].原子能科學技術,2014,48(2):341-346.
[9] 張軟玉,陳世國,羅小兵,等.數字化核能譜獲取中信號處理方法的研究[J].原子能科學技術,2004,38(3):252-255.
[10]周清華,張軟玉.數字化核信號梯形成形濾波算法的研究[J].四川大學學報:自然科學版,2007,44(1):111-114.
Modular Design of Digital Trapezoidal Shaping Filter
In accordance with the application of digital trapezoidal shaping filter in multi-channel pulse analyzer, the derivation process of itsztransform method is given, and its filtering function is discussed through Fourier transform. From the practical application, the modular design of trapezoidal shaping filter is conducted, thus the design is more conductive to the realization of the programmable logic devices, and to adapt different working environment, the shape of trapezoid can be adjusted flexibly. The principle simulation of the design is conducted by adopting Matlab software, the correctness of the modular design is verified, and the filtering characteristics are discussed through adding Gaussian white noise. The hardware implementation and simulation of such filter are given using FPGA and embedded logic analyzer, the correctness of the system design is verified.
Trapezoidal shaped Digital filtering Multi-channel pulse amplitude analyzer Adjustable delay FPGA
王毅男(1989-),男,現為上海應用技術學院仿生裝備與控制工程專業在讀碩士研究生;主要從事高速信號采集與處理的研究。
TH83;TN713
A
10.16086/j.cnki.issn1000-0380.201510022
修改稿收到日期:2015-02-02。