劉杰,劉巖,曹煊,馬然,張述偉,郭翠蓮
(齊魯工業大學(山東省科學院)山東省科學院海洋儀器儀表研究所 山東省海洋環境監測技術重點實驗室,山東 青島 266001)
目前,海水營養鹽傳感器的工作原理主要是依據分光光度法,利用光電轉換器件硅光電二極管,根據光電轉換后的微弱電信號計算出海水的吸光度,進而根據線性關系求取營養鹽5項參數的濃度[1]。由于海洋環境的復雜性,如何在高強度噪聲信號中檢測出有用的微弱信號已經成為影響營養鹽傳感器檢測精度的關鍵所在。大部分營養鹽信號檢測電路一般采用分離的模擬器件對微弱信號進行前置放大和簡單的RC濾波,軟件算法主要在MCU中采用一階低通濾波算法或簡單滑動平均濾波算法進行進一步處理[2]。現有的營養鹽信號檢測電路的主控芯片一般不具備浮點運算和高速數字信號處理的功能,導致濾波算法的逼近速度較慢,誤差變化較大,對系統信噪比改善程度十分有限,進而從根本上影響了營養鹽傳感器數據的準確度和精密度。為此,本文提出了一種新的海水營養鹽微弱信號檢測技術方案。主控芯片采用功能強大的高級單片機STM32F401,可以進行自適應實時加速和高速的數字信號處理。硬件采用模擬正交鎖相放大電路對微弱電壓信號做前置處理,軟件算法采用變步長最小均方(least mean square, LMS)自適應濾波算法并在STM32F401平臺中實現。長期的仿真和實驗數據表明,本文提出的海水營養鹽微弱信號檢測技術方案可以有效提高被檢測信號的信噪比。
模擬鎖相放大電路的主控芯片采用行業流行的32位微處理器STM32F401,其工作頻率可達84 MHz。該處理器包含了DSP的IP core、浮點運算單元和自適應實時加速器,可以快速實現本文提出的變步長LMS自適應濾波算法。本文設計的模擬鎖相放大電路主要包括三部分:前置可調增益放大電路、相敏檢波電路及二階低通濾波電路。電路原理如圖1所示。光電二極管的輸出電壓信號通過可調增益放大電路對進行放大;相敏檢波電路進行信號的乘法運算,提取有用的微弱信號,輸出直流信號和倍頻信號;二階低通濾波電路則用于濾除高頻信號,剩下直流信號輸出給24位ADC芯片AD7791進行模數轉換。

圖1 模擬鎖相放大電路原理圖
可調增益放大電路主要對微弱信號進行可調增益放大,一是將信號放大到足夠大,二是防止信號過大使得電路發生過載現象[5]。可增益放大電路核心運放采用ADI公司的AD797,該運放供電電壓范圍為±5 V到±15 V,其小信號帶寬能夠達到110 MHz,大信號帶寬能夠達到80 MHz[6]。
模擬相敏檢波主要使用乘法電路完成兩個信號的乘法運算,兩個頻率相同的信號經過乘法運算后,會輸出直流信號和倍頻信號。而其他不相同頻率的信號經過乘法電路后得到的是高頻信號,因此經過低通濾波后剩下的只是直流信號,有用的信號就包含在這個直流信號之中。乘法器芯片采用ADI公司的高速芯片AD835,該芯片的小信號帶寬能夠達到250 MHz,可以完成直流乘法、直流信號和交流信號的乘法以及交流信號和交流信號的乘法[7]。
二階低通濾波電路主要是用來濾除高頻信號,輸出直流信號供ADC進行數據采集。本文選用AD8038搭建截止頻率為50 Hz的二階低通濾波器。該芯片是ADI公司的高帶寬、低功耗的電壓反饋性集成運放,供電電壓范圍為±3 V到±12 V[8]。
營養鹽傳感器進行光電檢測后的微弱電壓信號含有較多的高斯白噪聲,且該微弱信號穩定無突變,所以采用LMS自適應濾波算法對該微弱信號做進一步處理并在STM32F401硬件平臺中實現。LMS算法在自適應濾波算法領域應用廣泛,是因為LMS算法復雜度較低、流程簡單且易于在實時頻譜分析儀上實現。但是傳統的LMS算法也存在很大的弊端,就是收斂速度較低[9]。在有限的數據條件下,自適應濾波的速度越快,在最后的結果中收斂過程就越短,即噪聲分量就越小,信號信噪比也就越高。但是要想提高收斂速度就必須提高步長μ,在信號處理領域內,越大的步長μ會導致更大的穩態誤差,進而結果中包含更多的噪聲。針對這一問題,本文采用變步長μ(n)替代固定步長μ。
變步長濾波的主要過程為:在保證收斂的前提下,以實時誤差e(n)為依據對μ(n)進行實時調整,使μ(n)最符合當前條件的取值。即在實時誤差e(n)比較大時,μ(n)也選取比較大以加快逼近速度;當實時誤差e(n)比較小時,μ(n)就相應減小;當接近收斂時,為降低穩態誤差,μ(n)也會隨之選擇比較小的值。對變步長μ(n)和誤差e(n)的關系進行分析,本文提出了一種基于正弦函數的步長變換方式,其表達式如下:

(1)
在正弦函數的基礎上,增加了兩個變參數α(n),β(n),能夠對e(n)的變化進行更好的適應,通過對α(n),β(n)進行合理的設計達到結果收斂。本文選擇以e(n)與e(n-1)的比值作為α(n)的取值,即:

(2)
β(n)的取值會直接影響到自適應濾波的收斂穩定性,所以應減小β(n)的變化程度即降低e(n)對β(n)的影響程度,β(n)的迭代公式即:
β(n)=(1-λ)β(n-1)+λΔe(n),
(3)
其中,0<λ<1,當Δe(n)趨向于0時即誤差趨向于穩定收斂時,β(n)=(1-λ)β(n-1)。另一方面為降低e(n)對β(n)的影響程度,λ最好取值接近于0,這樣就保證了在Δe(n)變化較大時β(n)的幅度變化較小,既可以保證β(n)在收斂的取值范圍內,又提高了穩定性。
在Matlab軟件中,以y(t)=sin (2πt/100)為原始信號,濾波器階數設定為10,采樣點數為500,仿真波形圖如圖2所示。第一、二行波形圖分別為原始信號和含噪信號,第三行波形圖為變步長LMS自適應濾波算法的輸出信號,λ取值0.03。第四行信號為傳統定步長LMS自適應濾波算法的輸出信號。結果表明,變步長LMS算法在除噪和信號平滑性等方面具有顯著的優越性。
為更好地說明變步長LMS自適應濾波算法的優越性,將本文的變步長LMS算法和傳統定步長LMS算法的誤差變化進行對比,如圖3所示。結果表明,變步長LMS自適應濾波算法在逼近速度、收斂時間和誤差變化等方面相較于傳統定步長LMS濾波算法有明顯的改善,非常適用于微弱信號檢測提取場合。
信噪比改善是衡量微弱信號檢測系統的一項重要性能指標,本文提出的微弱信號檢測技術方案輸入輸出信噪比關系曲線如圖4所示。結果表明,該微弱信號檢測系統可以有效提高被檢測微弱信號的信噪比。

圖2 變步長LMS自適應濾波算法仿真波形圖

圖3 算法誤差變化對比波形圖

圖4 輸入輸出信噪比關系曲線
采用本文提出的微弱信號檢測方法將3種已知營養鹽濃度的海水樣品檢測3次并取平均值,依據公式δ=Δ/L×100%計算相對誤差以驗證傳感器數據的準確度,然后根據相對誤差計算每項數據的相對標準偏差以驗證儀器的精密度[10],結果見表1。由表1的數據分析可知,磷酸鹽、銨鹽和亞硝酸鹽的相對誤差小于±5%,硅酸鹽和硝酸鹽的相對誤差小于±6%,硅酸鹽、磷酸鹽、銨鹽和亞硝酸鹽的相對標準偏差小于3%,硝酸鹽的相對標準偏差小于5%。實驗數據的準確度和精密度完全符合營養鹽傳感器實驗室條件下的要求。

表1 實驗數據準確度和精密度分析表
本文對海水營養鹽微弱信號檢測技術在硬件電路和濾波算法方面提出了一種新的解決方案,能夠快速、準確地檢測營養鹽傳感器進行光電轉換后的微弱電信號,有效克服了傳統營養鹽傳感器測樣數據準確度和精密度差等缺點。實驗室仿真和分析結果表明,本文提出的技術方案適用于海水營養鹽的實驗室數據分析和浮標、臺站等海上平臺的長期原位監測,對于海洋生態環境要素的變化趨勢可以做出更加精準的預測。但是,該方案也存在一些不足,比如模擬鎖相放大電路中存在直流放大器,其工作特性隨時間變化的不穩定性和由于溫度變化引起的溫度漂移帶來的干擾較大。在今后的工作中,考慮采用基于現場可編程門陣列的頻率可調數字鎖相放大技術,以進一步提高營養鹽微弱信號檢測技術的準確性。