一種基于hgsa-bp算法的傳感器誤差補償方法
【專利摘要】本發明涉及流量變送器傳感器的信號處理和應用【技術領域】,特別是一種基于HGSA-BP算法的傳感器誤差補償方法。該方法設計了一種具有收斂性能好、尋優能力和泛化能力強的混合神經網絡模型,即HGSA-BP)算法,并采用HGSA-BP算法對傳感器進行誤差補償;根據該算法原理,編制了高精度的流量測量及補償程序,采用VC++、MATLAB和Access數據庫三者的混合編程技術來實現HGSA-BP算法的在線應用;完成了流量變送器傳感器的信號調理電路設計,及相應的硬件補償電路,以初步校正和補償差壓、絕壓和溫度信號。本發明方法通過仿真調試和實際測試,補償后的傳感器達到較高的測試精度。
【專利說明】—種基于HGSA-BP算法的傳感器誤差補償方法
【技術領域】
[0001]本發明涉及流量變送器傳感器的信號處理和應用【技術領域】,特別是一種基于HGSA-BP算法的傳感器誤差補償方法。
【背景技術】
[0002]要獲得較高測量精度的流量變送器系統,必須要有高精度的傳感器配套,而傳感器由于受環境及自身特性等影響而存在較大的測量誤差,因此傳感器的補償環節設計是流量變送器系統設計與應用的一項重要內容。多年來國內外許多學者先后發表了大量有關傳感器補償技術的文獻,提出了有關傳感器誤差補償的方法,并已將一些研究成果應用于工業生產中,隨著對流量測量精度要求的不斷提高,補償理論和方法也隨之發展。
[0003]近年來,軟件補償算法中的神經網絡及其改進算法因其獨特的優勢在信號處理、工業控制等方面的應用越來越廣泛了,相關的研究報道已經見諸文獻,如,李俊等人分別運用BP神經網絡和RBF神經網絡對傳感器進行溫度誤差補償,通過MATLAB仿真結果表明BP網絡占用資源少、算法容易實現、計算相對簡單,RBF網絡訓練速度快等優點。SkakebA.Khan等人了用ANN神經網絡逆模型對應變式傳感器的環境非線性因素進行了補償,采用Levenberg-Marguardt最快速下降算法,用MATLAB的ANN工具箱實現。但是這些文獻研究都沒有對網絡進行泛化能力的驗證,也沒有將其運用到實際測量環境中去,而且,目前常用的BP神經網絡存在容易陷入局部最小值,收斂速度慢等缺點,有必要發展一種有較快收斂速度,減少訓練失敗的次數,提高神經網絡的進化能力的算法。傳統的GA-BP算法一般不能同時優化網絡的權值和結構,因此就無法得到最佳權值和存在冗余結構,而且傳統的優化網絡結構方法中還存在不少問題,因此本發明引入了控制基因,可以同時且有效地對網絡結構和權值進行優化。另外,由于GA算法存在早熟、局部搜索能力不足等問題,因此在遺傳算法中引入模擬退火算法(SA),提高其局部尋優能力,加速收斂于全局最優解,這樣就形成了改進的遺傳模擬退火BP神經網絡算法(Hierarchical Genetic Stimulated Annealingalgorithm - BP Neural Network, HGSA-BP)。
【發明內容】
[0004]本發明的目的在于提供一種提高傳感器補償精度的基于HGSA-BP算法的傳感器誤差補償方法。
[0005]為實現上述目的,本發明的技術方案是:一種基于HGSA-BP算法的傳感器誤差補償方法,包括如下步驟,
步驟S1:采集傳感器輸出信號數據,對該數據進行A/D轉換及歸一化處理,獲得樣本數
據;
步驟S2:根據所述步驟SI獲得的樣本數據及最大隱含層節點數,建立初始BP神經網絡模型,以初步確定該BP神經網絡模型的網絡結構及權值參數的基本解空間;
步驟S3:以最大隱含層節點數的網絡結構為標準進行編碼,并確定適應度函數;步驟S4:進行遺傳操作,得到優化的網絡結構;
步驟S5:通過BP算子對所述步驟S4得到的優化的網絡結構進行訓練,若達到傳感器的預定精度,則保存該BP神經網絡;否則繼續訓練,直到滿足預定精度要求。
[0006]在本發明實施例中,采用VC++、MATLAB和Access數據庫三者的混合編程技術來實現HGSA-BP算法的在線測量及補償程序。
[0007]在本發明實施例中,所述步驟S3確定適應度函數的具體過程為:將BP神經網絡的染色體矩陣求解即得到為BP神經網絡相應的權值、閾值,賦給BP神經網絡進行訓練,并將訓練返回的均方誤差的倒數作為適應度函數。
[0008]在本發明實施例中,所述BP神經網絡的染色體包括三個基因段,分別為隱含層、隱含層的各個節點及節點相應的權值;上一級的基因段能夠控制下一級基因的激活狀態,隱含層層數及各隱含層的節點數根據基因的值來進行增加或刪除,同時節點相應的權值跟
著一起進化。
[0009]在本發明實施例中,所述基因的值為O或I。
[0010]在本發明實施例中,所述步驟S4,具體實現過程如下,
設定初始種群數,確定自適應交叉率4和自適應變異率&,其公式如下,
【權利要求】
1.一種基于HGSA-BP算法的傳感器誤差補償方法,其特征在于:包括如下步驟, 步驟S1:采集傳感器輸出信號數據,對該數據進行A/D轉換及歸一化處理,獲得樣本數據; 步驟S2:根據所述步驟SI獲得的樣本數據及最大隱含層節點數,建立初始BP神經網絡模型,以初步確定該BP神經網絡模型的網絡結構及權值參數的基本解空間; 步驟S3:以最大隱含層節點數的網絡結構為標準進行編碼,并確定適應度函數; 步驟S4:進行遺傳操作,得到優化的網絡結構; 步驟S5:通過BP算子對所述步驟S4得到的優化的網絡結構進行訓練,若達到傳感器的預定精度,則保存該BP神經網絡;否則繼續訓練,直到滿足預定精度要求。
2.根據權利要求1所述的一種基于HGSA-BP算法的傳感器誤差補償方法,其特征在于:采用VC++、MATLAB和Access數據庫三者的混合編程技術來實現HGSA-BP算法的在線測量及補償程序。
3.根據權利要求2所述的一種基于HGSA-BP算法的傳感器誤差補償方法,其特征在于:所述步驟S3確定適應度函數的具體過程為:將BP神經網絡的染色體矩陣求解即得到BP神經網絡相應的權值、閾值,賦給BP神經網絡進行訓練,并將訓練返回的均方誤差的倒數作為適應度函數。
4.根據權利要求3所述的一種基于HGSA-BP算法的傳感器誤差補償方法,其特征在于:所述BP神經網絡的染色體包括三個基因段,分別為隱含層、隱含層的各個節點及節點相應的權值;上一級的基因段能夠控制下一級基因的激活狀態,隱含層層數及各隱含層的節點數根據基因的值來進行增加或刪除,同時節點相應的權值跟著一起進化。
5.根據權利要求4所述的一種基于HGSA-BP算法的傳感器誤差補償方法,其特征在于:所述基因的值為O或I。
6.根據權利要求1所述的一種基于HGSA-BP算法的傳感器誤差補償方法,其特征在于:所述步驟S4,具體實現過程如下, 設定初始種群數,確定自適應交叉率&和自適應變異率其公式如下,
【文檔編號】G01F25/00GK103983332SQ201410238070
【公開日】2014年8月13日 申請日期:2014年5月31日 優先權日:2014年5月31日
【發明者】林偉, 黃世震, 林淑玲 申請人:福州大學