薛迎勃,李 宏
(西安石油大學 電子工程學院,陜西 西安 710065)
當前,傳感器正向微型化、智能化、數字化方向發展,研制小體積、輕重量、低功耗、快響應、寬頻帶、高精度、高可靠、智能化和環境適應能力強的新一代微傳感器,成為這一領域的研究熱點,其中的典型代表就是硅諧振式微傳感器[1-3]。
因為硅諧振式微傳感器采用微機械加工工藝,其敏感元件尺寸達到微米甚至亞微米量級,由此引起的 “微尺度效應”[4]使得其輸出信號極其微弱,并存在嚴重的同頻耦合干擾,導致其信噪比差,給信號提取帶來相當大的困難。為克服這一缺陷,本文采用互相關算法進行檢測[5],使用FPGA實現互相關運算,以達到從含有嚴重同頻耦合干擾的微傳感器的輸出信號中提取有用信號的目的。
電熱激勵硅微諧振式傳感器的閉環控制系統如圖1所示,其作用為找出電熱激勵微傳感器的諧振點,并實現諧振狀態的維持[6]。本文主要設計、實現該系統中的相關檢測模塊。
電熱激勵硅微諧振式傳感器的輸出信號由待測信號、頻率為待測信號1/2的同頻干擾信號和噪聲組成,這里采用互相關算法對待測信號進行檢測。
假設輸入信號 X(t)中包含有用正弦信號 S2ω(t),同頻耦合干擾正弦信號 Sω(t)以及噪聲 N(t),即:


圖1 傳感器閉環控制系統框圖Fig.1 Sensor is closed loop control system block diagram
輸入信號與倍頻參考信號Y2ω(t)的互相關函數為:

這里的參考信號實際上就是正弦信號S2ω(t)。當τ足夠大時,考慮到 Y2ω(t)與 N(t)不相關,可得 RNY2ω=0,同時由于 Sω(t)和 S2ω(t)都 是 正 弦 信 號 但 頻 率 不 同 ,可 得 RSωY2ω≈0, 所 以RXY(τ)≈RS2ωY2ω,可以將周期函數從噪聲的淹沒中提取出來。 編程實現時,周期函數的相關表示為:

其中:m=0,1,2,…,M。 則,Rxy(1),…,Rxy(M)將組成一組與被采樣周期信號x(n)同周期的正弦函數,再對這一系列自相關函數值的絕對值取均值,均值越大說明傳感器輸出信號幅度越大,最大均值max對應的頻率點就是傳感器的諧振頻率點。
用Matalab軟件對上述理論基礎進行仿真分析。仿真時,時間從t=5e-6開始到t=12.8e-4結束,以5e-6為時間間隔,取 256個點為采樣數據點;同時取參考信號 Y2ω(t)=cos(2π·ω·t),輸入信號中所需的有用信號 S2ω(t)=cos(2π·ω·t),同頻耦合干擾信號 Sω(t)=cos(π·ω·t)。 (其中 ω=14e3)
仿真結果如圖2所示。

圖2 互相關運算Fig.2 Cross-correlation arithmetic
(a)表示已知待測信號與參考信號進行相關計算的結果,(b)表示干擾信號與參考信號進行相關計算的結果,(c)表示包含干擾的傳感器輸出信號與參考信號進行相關計算的結果。(d)表示將它們放在同一張圖上比較的結果。
由圖2可以看出,只含有干擾信號時,相關計算結果非常小,而包含了干擾信號的傳感器輸出信號與參考信號相關計算的結果和待測信號與參考信號相關計算的結果非常接近。這說明,采用互相關運算對含有嚴重同頻耦合干擾的微傳感器輸入信號進行檢測,并從強噪聲背景下提取有用信號,在理論上是可行的。
本模塊所完成的功能是將傳感器輸出的含有很強的同頻耦合和噪聲干擾的輸出信號與已知的參考信號進行互相關運算,并將有用的周期信號從噪聲淹沒中提取出來。
由于FPGA處理的都是數字信號,所以為使用FPGA實現相關運算這一工作,首先需要使用A/D采樣將微傳感器輸出的模擬信號轉換成數字信號輸入FPGA,本文選用FPGA來控制A/D的運行,并通過FPGA控制A/D讀取信號,實現對傳感器輸出信號的采樣。然后,將轉換得到的數字輸入信號和參考信號存入FPGA相應地址的RAM中,直至獲取到所需的N組采樣數據為止,從而完成數據的采集工作。
在進行互相關運算過程中,首先應考慮如何運算,由公式

可知,數字信號進行的相關運算就是乘累加運算,即先乘再累加。其次考慮如何進行數據延時,也就是如何讓傳感器輸出信號和參考信號中的兩個N組數據進行移位。因為有用信號是實周期信號,為方便運算,每次只取一半數據進行乘累加,這樣每次進行相關運算的數據個數是一樣的,而且模塊只需找到最大值,并且FPGA進行除法運算易產生誤差,故不需要除N。 則公式(4)變形為公式(5):

為了實現時延,需要在進行乘累加運算讀取數據時進行移位,這里讓讀取數據時存儲數據的RAM地址線發生變化就可實現這一功能。然后將乘累加運算的結果進行比較,這個值越大說明傳感器輸出的有用信號的幅值越大,最大值max對應的頻率點就是傳感器的諧振頻率點,找出乘累加運算得到的最大值及其對應的時延τ。
本次設計,建立一個主任務和兩個子任務(數據采集任務和計算任務)。主任務用于負責啟動子任務,數據采集任務負責數據的采集和存儲,計算任務負責互相關運算和結果的比較。總體算法流程圖如圖3所示。

圖3 算法流程圖Fig.3 Flow chart of algorithm
由圖3可知,兩路輸入信號由計數器控制,通過A/D轉換保存在相應的RAM中,存儲設定的N組數據后,停止讀數狀態,進入計算狀態。在計數狀態下,對存儲的這兩組數據按照不同的時延進行互相關運算,比較查找出最大值和對應的延時,并將這個數據鎖存,等待計算過程結束后,將結果輸出。
對頻率為12.5 kHz的正弦波,以200 kHz的頻率進行采樣,得到16個12位數據如表1所列:
這兩組數據理論上用公式5進行互相關運算且比較大小后結果為:時延τ=2,最大值為16 772 257。
用QuartusⅡ軟件進行仿真,仿真結果如圖4所示。
其中大矩形框內數據為輸入的兩組數據,小矩形框內數據為仿真結果。
仿真結果:時延 τ=2,最大值為 16 772 257,故仿真結果和理論值相同。下一步可將代碼下載到FPGA開發板上再次調試。
將本系統應用于電熱激勵硅微諧振式傳感器的控制系統,首先應進行開環測試,即只掃描而不鎖定跟蹤,然后再檢測信號。本系統使用的電熱激勵微諧振式傳感器(微懸臂梁)的諧振點激勵頻率是7 004 Hz,激勵頻率掃描范圍是5~9 kHz。其頻率特性曲線如圖5所示,經過相關檢測模塊輸出的結果能夠運用于掃頻過程。

圖4 仿真結果Fig.4 The simulation results

圖5 頻率特性曲線Fig.5 frequency characteristic curve
根據上述分析,該模塊能夠實現相關檢測功能,達到設計要求和性能指標。將該模塊應用到電熱激勵微諧振式傳感器的數字閉環控制系統中能正常工作。
本文首先對互相關檢測的可行性進行了理論驗證,其次完成了基于FPGA的互相關運算模塊的設計。該模塊使用Verilog語言編寫代碼,并經過QuartusⅡ軟件仿真和FPGA開發板的硬件調試證明:該模塊能夠實現互相關檢測功能,能從含有嚴重同頻耦合干擾的微傳感器輸出信號中提取有用信號,且模塊的采樣頻率和采樣點數可以根據不同需求而設定,各項指標均達到設計要求,應用到電熱激勵微諧振式傳感器的數字閉環控制系統中能正常工作。
[1]WANGZhe-yao,ZHOUYou-zheng,WNAG Chao-nan.A theoretical model for surface-stress piezoresistive microcantilever biosensors with discontinuous layers[J].Sensors and Actuators B 138 ,2009:598-606.
[2]Yang S M,Yin T I,Chang C.Development of a doublemicrocantilever for surface stress measurement in microsensors[J].Sensors and Actuators B121,2007:545-551.
[3]Seena V,Anukool Rajorya, Prita Pant, Soumyo Mukherji,V.Ramgopal Rao.Polymer microcantilever biochemical sensors with integrated polymer composites for electrical detection[J].Solid State Sciences 11,2009:1606-1611.
[4](荷)埃爾文斯波克.硅微機械傳感器[M].北京:中國宇航出版社,2003.
[5]何孟珂,周浩敏,郝 欣.基于FPGA的硅諧振壓力微傳感器數字閉環系統設計[J].現代電子技術,2008(13):150-152.HE Meng-ke,ZHOU Hao-min,HAO Xin.Micro silicon resonant pressure sensor based on FPGA digital closed-loop system design[J].Modern Electronics Technique.13,2008:150-152.
[6]景占榮,羊彥.信號檢測與估計[M].北京:化學工業出版社,2004.