喬愛民,何博俠,張 煒
(1.蚌埠學院,安徽蚌埠233000;2.南京理工大學,南京210094;3.蚌埠傳感器系統工程有限公司,安徽蚌埠233030)
傳感器是組建自動檢測與控制系統的重要環節。隨著自動檢測與控制技術的不斷發展,對傳感器的測量精度、穩定性、工作環境等提出了更高的要求。
一般情況下,力敏傳感器在使用過程中被當作是線性傳感器來使用,但實際上絕大多數力敏傳感器的輸入輸出關系是非線性的關系,同時,傳感器的輸出還受環境溫度的變化而變化,在某些要求較高的場合下,如果對非線性和溫度不加以補償修正會帶來比較大的測量誤差。
目前,力敏傳感器的非線性和溫度補償有硬件和軟件補償方法,硬件補償可以通過專用的彈性模量補償片和溫度補償應變片或復合補償絲來實現,對非線性和溫度補償有一定的作用,但是作用仍然有限。
智能儀表和計算機目前廣泛應用于測控系統,采用軟件對傳感器的非線性及溫飄進行補償的方法得到了廣泛的應用[1-4]。軟件補償方法是在測控系統中增加一個由計算機實現的軟件補償環節,用軟件結合硬件補償電路或單獨采用軟件對傳感器進行非線性和溫度補償。目前,常用的軟件補償方法有最小二乘法,分段插值或擬合,BP神經網絡等。對于分段插值擬合方法,對非線性和溫度補償有一定的作用,但補償效果受到分段區間及插值點制約較大,有時為了追求較好的補償效果,需要較多的分段區間和溫度分布區間,造成計算量及數據存儲空間較大[1],不利于在嵌入式智能儀表上使用。最小二乘法和BP神經網絡擬合是基于誤差平方和最低的計算方法來求最優解的,易陷入局部最小點,有可能導致得不到全局最優解的情況[2-6]。支持向量機是由Vapnik在統計學習理論基礎上建立起來的一種基于數據的機器學習方法,采用結構風險最小化原則,較好地解決了小樣本、非線性、高維數及局部極小點等神經網絡(artificial neural network,ANN)的先天性問題[7-11]。LS-SVM是普通SVM的一種新的拓展,把二次優化問題轉化為一個線性方程組的求解問題,在具有擬合精度較高的情況下,降低了計算復雜性,從而提高了實現速度[2-6,12-13]。目前,基于SVM及模擬退火算法對傳感器進行溫度補償絕大多數是在PC機上完成[1-4],對于在嵌入式智能儀表上采用SVM及模擬退火算法等方法對傳感器的溫度補償還沒有相關文獻提及,本文采用LS-SVM融合改進的模擬退火算法,并結合嵌入式技術,以期在應用廣泛的嵌入式智能儀表上實現基于LS-SVM融合改進的SA算法對力敏傳感器進行溫度補償。
一非線性系統的輸入、輸出樣本數據集合{xi,yi}(i=1,2,3,…,n)。其中 xi為 n 維系統的輸入向量空間,yi是系統的輸出向量空間,xi∈Rn,yi∈R。依據經典SVM思想,通過非線性映射φ(·)將n維輸入空間映射到高維特征空間(Hilbert空間),然后在此高維特征空間建立該非線性系統的最優線性回歸函數

標準SVM以模型精度不敏感損失函數作為風險化的估計問題,因此,可建立優化目標表示為

與標準的SVM不同,LS-SVM回歸算法通過在優化目標中選擇不同的損失函數,可用誤差ξi的二范數來表示,所以優化問題最終變為

式中:ξi是非線性系統模型樣本的回歸誤差,γ可以調節系統回歸誤差,其值為正實數,可綜合考慮系統回歸模型的復雜度和泛化能力來進行選取,一般情況下,γ值越大,模型的回歸誤差就越小,但同時,計算量及學習時間相應地變長。
式(3)是一個典型的條件約束優化問題,而作為線性回歸系數的ω有可能維數很高甚至為無限維,直接優化可能耗時很長且有可能得不到優化結果,因此,可以通過將該條件約束優化問題轉化為其對偶空間中,以實現將條件約束優化轉換為無條件的無約束優化,可通過建立拉格朗日(Lagrange)方程求解。

式中ai為拉格朗日乘子。
利用庫恩-塔克(KKT)最優化條件求得最佳的a和b,引入Mercer條件,該優化問題的解決則轉化為求解下列的方程組:

其中 X=(1,…,1,1)T,Ψ = φ(x)Tφ(xi)為符合Mercer條件的核函數,a=(a1,a2,…,an)T,Y=(y1,y2,…,yn)T,選取徑向基核函數為:

可最終得到LS-SVM的回歸模型為:

在常規使用時,一般將力敏傳感器的輸入輸出特性近似規劃為一維線性函數關系,設傳感器的輸出為y,輸入為x,則y=kx+b,其中的b為傳感器的零點輸出。該函數關系在傳感器實際使用時有操作簡單方便的特點,而實際上,力敏傳感器的輸入輸出關系為典型的非線性函數關系,輸入量除了載荷外,還應該包含力敏傳感器的使用環境溫度t,即實際上的傳感器輸入輸出關系為:y=f(x,t)。在很多環境溫度變化大的場合如晝夜溫度變化及四季溫度的變化等場合,找出實際的傳感器輸入輸出關系可以保證測試精度的提高。
傳感器的LS-SVM模型見圖1。模型分為兩個部分,一部分為訓練過程,另一部分為回歸過程。在訓練過程中,力敏傳感器的輸入量為已知的標準力源輸入,經過ADC轉為為離散的數字量,力敏傳感器的環境溫度由數字溫度傳感器測得,數字溫度傳感器輸出對應的離散數字量,由于訓練樣本為力敏傳感器和溫度傳感器的輸出的數字量,其屬性值變化較大,對于16 bit的ADC,其變化范圍為0~65535,而核函數受樣本向量內積影響較大,對于0~65535這樣大的屬性值,必然會增加訓練過程中的計算量及計算的復雜性。因此,在訓練和回歸過程中需要對兩類傳感器的數字輸出量進行歸一化處理,以減少計算復雜度和加快收斂速度。歸一化后的Xdi和Xi按下式求解。

其中的β為小于等于1的正實數,在實際規劃時可以根據情況給定一個確定的值,通過歸一化處理后,Xdi就處于[0,1]的屬性區間,并且訓練機和回歸機輸出中則包含了載荷和溫度信息。

圖1 力敏傳感器的LS-SVM模型
首先通過LS-SVM融合改進的模擬退火算法(SA)得到力敏傳感器的非線性回歸模型,然后利用該非回歸模型對力敏傳感器的輸出作出預測輸出。
在LS-SVM中,正則化參數γ和核寬度σ一般都是先根據經驗選取,這增加了參數選取的盲目性,本文采用LS-SVM融合模擬退火算法(簡稱SA)對傳感器的非線性模型進行全局尋優。SA是基于蒙特卡洛迭代求解策略的一種適用于組合優化問題的啟發式搜索技術。模擬退火算法與初始值無關,是已經在理論上被證明是一種可以有效地避免落入局部最優而完全可以搜索到全局最優解的優化算法,且易于實現[4,14],這一點非常適合于嵌入式系統上應用,但是傳統的SA收斂速度慢,計算費時,這一點又不適于基于嵌入式技術的智能儀表在線補償,因此,采用改進的模擬退火算法融合LS-SVM實現對傳感器非線性模型的全局尋優。
LS-SVM融合SA算法的尋優性能主要取決于狀態參數組合、新狀態接收函數、溫度更新函數、內外循環終止準則及初始溫度等,本文中主要對參數組合和分類準確率及新狀態接收函數進行了改進,以便便于在嵌入式智能儀表上應用。①參數組合初始化:運用SA時同時對LS-SVM參數(正則化參數γ和核寬度σ)和LS-SVM訓練機輸入變量Xdi尋優,以剔除對尋優無關的屬性參數,降低代計算的復雜度,產生新的參數組合出發點應是盡可能使產生的參數遍布全部參數組合空間;②分類準確率:采用十折交叉驗證法,將訓練數據集分成m份(根據訓練樣本的大小確定),輪流將其中m-1份作為訓練數據、1份作為測試數據進行試驗。m次結果正確率的平均值作為對分類準確率的估計;③新狀態接收函數:在通過分類準確率估計的狀態參數組合中隨機抽取子集進行隨機擾動,得到目標函數殘差在允許范圍內,允許該狀態作為下一步迭代的新狀態。
LS-SVM融合改進的SA尋優步驟:
步驟1:在給定的參數組合范圍內隨機選擇初始參數組合,計算相應的LS-SVM分類準確率;
步驟2:如果當前的參數組合沒達到分類準確率指標,設定Xi+1=Xi+ηελ0作為當前參數組合鄰域內新狀態,其中,η是一系數,用來調節隨機擾動的幅度,ε為隨機擾動且滿足柯西分布,λ0為步長。檢查Xi+1是否滿足約束條件直到滿足為止,計算相應的分類準確率R(Xi+1),得到目標函數殘差ΔR=R(Xi+1)-R(Xi);
步驟3:.更新狀態:若ΔR>0,則預接受新狀態Xi+1;若 ΔR<0,則按概率 P=exp(-ΔR/T)接受新狀態Xi+1(T為溫度);
步驟4:在溫度T下,重復步驟(2)和步驟(3),逐步降低溫度T,溫度T的降低策略:
a.如果 ΔR>0,Tk+1=T0/(1+ΔN),其中的 N 為SA中目標函數的被調用次數,T0為初始退火溫度;
b.如果 ΔR<0,Tk+1=ζTk,其中 ζ為小于 1 的正實數。
步驟五:重復步驟(2)~步驟(5),直至符合收斂條件結束。
嵌入式硬件采用雙核結構,具體嵌入式智能儀表的硬件結構如圖2所示。

圖2 硬件結構框圖
信號調理主要實現對傳感器信號的濾波、抗混疊等處理,數模轉換(ADC)采用24 bit的集成數模轉換器AD7190,溫度的采集由16 bit的數字溫度傳感器ADT7310完成。針對LS-SVM訓練機運算量較大的情況,采用高性能的最高主頻可達333 MHz的超級哈弗架構(SHARC)處理器ADSP-21478來實現LS-SVM融合SA算法,運算的結果由SHARC處理器通過16 bit的數據總線和讀寫等控制總線傳輸給微控制器(MCU)MSP430F135,從而可提高數據的吞吐量。MSP430F135主要用來控制鍵盤顯示、通信、存儲等外設,同時對SHARC處理器進行讀取數據、發送命令等操作,在MSP430F135上運行支持多任務的嵌入式操作系統ucOSⅡ。
通過雙核硬件結構,運算量較大的LS-SVM融合改進SA算法由SHARC處理器單獨完成,從而可以提高運算速度和縮短LS-SVM融合SA的訓練時間。
軟件設計包含兩大部分:一部分是將LS-SVM融合SA算法移植到SHARC處理器中,另一部分為MCU的控制程序。
LS-SVM融合SA的算法根據上文提到的算法步驟對C版本LS-SVMlab1.5進行改寫,其中的正則化參數γ和核寬度σ由改進的SA算法進行全局尋優。MCU控制程序由嵌入式操作系統ucOSⅡ實現對多任務的調度,是否需要對力敏傳感器進行溫度補償可由軟件控制。具體的軟件流程圖見圖3。

圖3 軟件流程圖
實驗數據采用表1數據,傳感器選用量程為1 000 N的拉壓兩用S型力敏傳感器,放在可調溫的溫控箱和可設定的冷柜中通過給傳感器施加不同的力,然后改變溫控箱及可調溫冷柜的溫度獲得對應的ADC轉換值和數字溫度傳感器的輸出數字量。得到表1中的數據,表中用Dadc表示數模轉換器AD7190對應相應壓力轉換后的數字量,選擇16 bit有效位,DT表示數字溫度傳感器ADT7310對應相關溫度的輸出數字量,選擇13 bit溫度數據格式。將溫度為-25℃、0℃、35℃和60℃作為訓練樣本,將溫度為20℃作為測試樣本。

表1 各環境溫度下傳感器的標定數據
補償前后各環境溫度下傳感器的線性關系如圖4和圖5所示。圖中的縱坐標為相鄰等份載荷點的差值除以1 000,根據此差值和載荷等份點的關系可以看出隨著溫度的變化,自身是非線性的傳感器輸入輸出特性隨環境溫度的變化有較大的變化,在-20℃時,呈現較大的非線性誤差,其非線性誤差約為0.7%。

圖4 傳感器補償前非線性
由圖4可知,補償后的傳感器非線性得到較為明顯的改善,在70℃時呈現較大的非線性誤差,其非線性誤差約為0.06%。通過非線性補償傳感器的非線性得到較大改觀。

圖5 傳感器補償后非線性
補償前后各環境溫度下傳感器隨溫度漂移特性如圖6和圖7所示。

圖6 傳感器補償前全溫度范圍內漂移
對比圖5和圖6中當傳感器加載300 N時對應的ADC輸出值Dadc可知,在補償前,Dadc在全溫度范圍內的漂移量約為1 000,在補償后,其全溫度范圍內Dadc的漂移量大約為50左右,通過補償后,由溫度變化帶來的漂移量大為降低。

圖7 傳感器補償后全溫度范圍內漂移
本文結合LS-SVM支持小樣本非線性系統回歸精度高及改進SA算法在全局尋優中的突出優勢,提出了一種LS-SVM融合改進的SA算法,構建力敏傳感器的輸入輸出模型并應用于嵌入式智能儀表中,實現了對力敏傳感器的溫度及非線性在線補償。
嵌入式智能儀表的結構采用雙核模式,LS-SVM融合改進的SA算法移植于高性能的SHARC處理器中,16 bit的MCU主要完成人機交互、通信、數據存儲等功能,從而保證了測量的實時性,實驗結果證明,該方法的補償精度較高,在嵌入式智能儀表上運行是切實可行的。
[1]樊尚春,張秋利,秦杰.基于樣條曲線插值的壓力傳感器的溫度補償[J].北京航空航天大學學報,2008,32(6):684-686.
[2]劉濤,王華.傳感器非線性校正的遺傳支持向量機方法[J].電子測量與儀器學報,2011,25(1):56-60.
[3]魏國,劉劍,孫金瑋,等.基于LS-SVM的非線性多功能傳感器信號重構方法研究[J].自動化學報,2008,36(8):869-875.
[4]樊曉宇,王玉寶,盧國偉,等.基于遺傳模擬退火算法的壓力傳感器溫度補償系統[J].傳感技術學報,2008,21(9):1532-1535.
[5]黃麗,孫玉坤,嵇小輔,等.基于CPSO玉LS-SVM融合的發酵過程軟測量建模[J].儀器儀表學報,2011,32(9):2066-2070.
[6]相征,張太鎰,孫建成.基于最小二乘支持向量機的非線性系統建模[J].系統仿真學報,2006,18(9):2684-2687.
[7]Suykens J A K,Vandewalle J.Least Squares Support Vector Machine Classifiers[J].Neural Processing Letters,1999,9(3):293-300.
[8]Suykens J A K,Vandewalle J.Nonlinear Modeling and Support Vector Machines[M].In:Proceedings of the 18th IEEE Instrumentation and Measurement Technology Conference,2001:287-294.
[9]Vapnik V.張學工[譯].統計學習理論的本質[M].北京:清華大學出版社,2000:126-127.
[10]Vapnik V.An Overview of Statistical Learning Theory[J].IEEE Transaction Neural Networks,1999,10(5):988-999.
[11]蔣蔚,伊國興,曾慶雙.基于SVM數據融合的實時粒子濾波算法[J].系統工程與電子技術,2010,32(6):1334-1338.
[12]謝建宏.基于數據依賴核LS-SVM的壓電智能結構沖擊損傷檢測[J].傳感技術學報,2012,(6):864-868.
[13]梁秀英,李小昱.用多波長和LS-SVM補償土壤溫度的方法研究[J].傳感技術學報,2011,24(8):1228-1232.
[14]李瑾,劉金朋,王建軍.采用支持向量機和模擬退火算法的中長期負荷預測方法[J].中國電機工程學報,2011,31(16):63-66.