PID神經(jīng)網(wǎng)絡(luò)算法對K型熱電偶非線性校正
發(fā)布時間:2023-10-11
瀏覽次數(shù):
摘要:針對火箭發(fā)射場發(fā)射效應(yīng)測溫系統(tǒng)中
K型熱電偶存在的非線性特性,設(shè)計中將非線性特殊點作為訓(xùn)練樣本,采用新型動態(tài)PID神經(jīng)網(wǎng)絡(luò)算法對熱電偶進(jìn)行非線性校正。針對基本BP算法收斂慢、易陷入局部極值的缺點,提出利用粒子群算法來改進(jìn)網(wǎng)絡(luò)的尋優(yōu)過程,并在傳統(tǒng)算法基礎(chǔ),上對其慣性權(quán)值的遞減式子進(jìn)行改進(jìn)。使用Matlab建模仿真表明,改進(jìn)算法在尋優(yōu)過程中,收斂速度快,全局尋優(yōu)能力強(qiáng),有較好的控制效果。擬合出的溫度電壓關(guān)系呈現(xiàn)好的線性度,相對誤差均控制在1%以內(nèi),提高了系統(tǒng)測試精度,滿足對火箭發(fā)射時溫度環(huán)境效應(yīng)的監(jiān)測要求。
0引言
熱電偶自身的物理特性致使其輸出的熱電勢E與溫度t之間存在非線性關(guān)系,針對目前測試系統(tǒng)的寬范圍、精度高測量需求,需要減少非線性測量誤差。K型熱電偶的非線性校正方法有查表法、多項式擬合法、PID神經(jīng)網(wǎng)絡(luò)法凹。其中,查表法使用大量數(shù)據(jù),極易受到存儲容量的限制;最小二乘法以T=d0+d1E+d2E²+...+dnE
n形式擬合,在高溫階段誤差較大。針對以上問題,采用基于粒子群算法的PID神經(jīng)網(wǎng)絡(luò)算法對K型熱電偶進(jìn)行非線性校正,同時系統(tǒng)具有PID控制的快速輸人/輸出動態(tài)特性。
1測溫系統(tǒng)分析及校正原理
如圖1所示,溫度采集系統(tǒng)包括K型熱電偶、變送器、采編器及測控計算機(jī)。在溫度采集系統(tǒng)中,針對ADC誤差、傳輸線路誤差、調(diào)理和輸人跟隨誤差,設(shè)計采集存儲模塊,其由電流轉(zhuǎn)電壓模塊、抗混疊濾波器模/數(shù)轉(zhuǎn)換模塊、FPGA控制模塊,FLASH模塊組成;經(jīng)變送器將電壓信號轉(zhuǎn)換成幅度為4~20mA的電流信號進(jìn)行傳輸,抵抗惡劣環(huán)境干擾。而對于傳感器誤差,在實際應(yīng)用中即使經(jīng)過冷端補(bǔ)償,熱電偶測溫時冷端也很難保持為0℃。
需對其線性校正,采用PID神經(jīng)網(wǎng)絡(luò)算法校正原理如圖2所示。
2基于粒子群算法的PID神經(jīng)網(wǎng)絡(luò)非線性校正
2.1PID神經(jīng)網(wǎng)絡(luò)理論:
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中神經(jīng)元僅具有靜態(tài)的輸人/輸出特性,若用它構(gòu)成控制系統(tǒng)時必須附加其他動態(tài)部件凹。PIDNN以PID控制器的形式定義網(wǎng)絡(luò)隱含層,其隱含層包括比例元、積分元和微分元三個神經(jīng)元,采用粒子群算法調(diào)整權(quán)重值,反復(fù)進(jìn)行學(xué)習(xí)和訓(xùn)練,使目標(biāo)函數(shù)達(dá)到最優(yōu)甲。根據(jù)網(wǎng)絡(luò)輸出值的不同,PIDNN分為單輸出PIDNN(SPIDNN)和多輸出PIDNN(MPIDNN)旦,本文采取單輸出方式。
2.2溫度控制系統(tǒng)建模
2.2.1訓(xùn)練樣本數(shù)據(jù)獲取
在實際運用中,本設(shè)計中所要測量溫度范圍是0~1300℃,所以在選擇訓(xùn)練樣本時選取熱電偶分度表中的特殊點,避免數(shù)據(jù)量過大造成浪費,同時節(jié)省了計算時間。圖3為典型的熱電特性曲線圖,橫坐標(biāo)表示溫度T,縱坐標(biāo)表示熱電勢E。
圖3中二者明顯呈現(xiàn)出非線性關(guān)系。選取特殊點時,首先對T等間距取值,通過分析E變化情況即△E值便可找到特殊點。令△Zi=△Ei-△Ei-1,取正數(shù)a作為門限值,當(dāng)|△Zi|<α時將該點領(lǐng)域內(nèi)近似為線性,當(dāng)△Zi|≥α時則可判斷該點發(fā)生突變,即(Ti,Ei)作為特殊點。
表1為溫度在0~1300℃范圍內(nèi)選取的突變點,突變點對應(yīng)的K型熱電偶分度表數(shù)據(jù)作為訓(xùn)練樣本。
2.2.2PID神經(jīng)網(wǎng)絡(luò)的建立
PID神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示其是單輸人-單輸出的控制系統(tǒng)(SPIDNN),即輸人層兩個神經(jīng)元,熱電偶分度表中的電壓值作為輸人r(k),?(h)代表實際輸出,y(k)為SPIDNN控制系統(tǒng)的實際輸出值,隱含層三個神經(jīng)元,輸出層-一個神經(jīng)元。
式中:j=1,2,3;wij為輸人層到隱含層的連接權(quán)重值。針對積分環(huán)節(jié)出現(xiàn)的積分飽和現(xiàn)象、微分信號引人過程中易引進(jìn)高頻干擾的問題,采取變速積分和不完全微分的PID控制策略。在改進(jìn)積分元中設(shè)置系數(shù)ƒ[e(k)],積分神經(jīng)元輸出表示如下:
e(k)是神經(jīng)網(wǎng)絡(luò)實際輸出與理想輸出的均方差值;A,B均為常數(shù)。當(dāng)|e(k)|增大時,ƒ(h)減小;|e(k)|減小時,ƒ(k)增大。將當(dāng)前輸人值加權(quán)后的和作為神經(jīng)元輸出值。在改進(jìn)微分元中加人了輸出自反饋的加權(quán)和,其表示如下:
2.2.3粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)算法
使用改進(jìn)的PSO算法優(yōu)化權(quán)值,首先初始化所有子群粒子的速度、位置及每一子群的最優(yōu)位置,性能指標(biāo)函數(shù)作為適應(yīng)度函數(shù)計算每個粒子的適應(yīng)度值g(h)。性能指標(biāo)函數(shù)為:
式中:e(k)是神經(jīng)網(wǎng)絡(luò)實際輸出與理想輸出的均方差值;m為樣本數(shù)目。
然后將每個粒子的適應(yīng)度與個體極值及全局極值進(jìn)行比較,確定新的個體極值Pi與全局極值Pg。按照式(8)和式(9)更新速度與位置。將個體極值進(jìn)化停滯步數(shù)與預(yù)設(shè)值進(jìn)行比較,按照式(8)不斷更新速度,比較全局極值進(jìn)化停滯步數(shù)與預(yù)設(shè)值,按照式(9)不斷更新位置。
式中:Vi(h)是粒子i的速度;w為慣性權(quán)重,隨迭代次數(shù)線性遞減,保證收斂;Xi(h)為粒子所在位置;r1,r2,r3,r4是(0,1)之間的隨機(jī)數(shù);c1,c2為學(xué)習(xí)因子;Ti為粒子i個體極值進(jìn)化停滯步數(shù);Tg為全局極值進(jìn)化停滯步數(shù),T為預(yù)設(shè)值。在慣性權(quán)值的變化過程中,采取非線性權(quán)值遞減方法,表達(dá)式如下:
式中:Wmax為所取最大權(quán)值;t為當(dāng)前迭代次數(shù);tmax為迭代總次數(shù);ρ為正數(shù),根據(jù)慣性權(quán)重的范圍選取4.5。粒子按照式(11)更新自身位置:
若未達(dá)到停止迭代的條件則繼續(xù)返回計算適應(yīng)度值;若性能指標(biāo)函數(shù)e(h)值達(dá)到期望值或者到達(dá)預(yù)設(shè)的迭代次數(shù)時,得到最優(yōu)粒子,將極值賦給權(quán)值,計算結(jié)束
2.2.4仿真結(jié)果分析
初始化位置矢量X為[-0.1,0.1]的隨機(jī)數(shù),速度矢量V為[-0.3,0.3]的隨機(jī)數(shù);取學(xué)習(xí)因子c1=1,c2=1;慣性權(quán)重w的取值范圍是0.25≤w≤0.95;選擇種群粒子數(shù)為27;迭代次數(shù)為40。Matlab仿真結(jié)果如圖5所示。
圖5是在粒子群算法進(jìn)化過程中,全局最優(yōu)值的適應(yīng)度隨PSO迭代的變化過程可看出適應(yīng)度函數(shù)在尋優(yōu)過程中在第5次迭代處基本趨于0,即網(wǎng)絡(luò)實際輸出與理論輸出的均方差逐漸趨于0,訓(xùn)練后的數(shù)據(jù)較為快速地趨于標(biāo)準(zhǔn)數(shù)據(jù),二者間誤差較小。該過程中收斂明顯,收斂速度快且收斂性好。
慣性權(quán)重的選取對算法的收斂速度是很重要的。圖6中針對粒子群算法中的慣性權(quán)重,將傳統(tǒng)算法與改進(jìn)算法進(jìn)行仿真對比。從圖6中可看出,傳統(tǒng)粒子群算法過程中,慣性權(quán)值呈線性遞減,由于粒子在向群內(nèi)最優(yōu)位置運行時速度較快,在其到達(dá)最優(yōu)點處時極有可能因為速度太快而錯過;所以在設(shè)計中使用改進(jìn)的慣性權(quán).值算法,將慣性權(quán)重按照指數(shù)的形式逐漸降低,粒子的運行速度隨著粒子與最優(yōu)點間距離的減小有較為明顯的降低,保證了在尋優(yōu)前期有快速收斂的能力,也確保后期有較好的收斂效果。
圖7與圖8分別是傳統(tǒng)PSO算法尋優(yōu)過程和改進(jìn)PSO算法尋優(yōu)過程。兩圖比較,二者均可在迭代次數(shù)較小處獲得最優(yōu)解,慣性權(quán)值未優(yōu)化時,極易陷入局部最優(yōu)。使用慣性權(quán)值優(yōu)化算法時,可經(jīng)過更少的迭代次數(shù)獲得最優(yōu)值,易跳出局部最優(yōu)點,且其在前期有較好的.收斂速度;在增強(qiáng)粒子局部尋優(yōu)能力的同時,保證了算法的收斂性,尋優(yōu)效果明顯,運行效率高;具有更強(qiáng)的全局搜索能力。同時優(yōu)化算法的精度明顯高于傳統(tǒng)算法,提高了傳感器測量的可靠性和準(zhǔn)確性。采用改進(jìn)PSO算法對PID神經(jīng)網(wǎng)絡(luò)進(jìn)行仿真,解方程組得系統(tǒng)校正方程最優(yōu)解:α0=0.1710,α1=21.6780,α2=0.0260,α3=-0.0008。在輸人溫度值一定的條件下,經(jīng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練后部分電壓值與標(biāo)準(zhǔn)電壓值對比結(jié)果如表2所示,可以直觀地看出誤差最小的可以達(dá)到0.1%,最大誤差控.制在1%內(nèi)。訓(xùn)練效果明顯得到改善。
圖9為訓(xùn)練后所得點與標(biāo)準(zhǔn)點擬合曲線,其中橫坐.標(biāo)表示熱電勢,縱坐標(biāo)表示溫度值。相比于訓(xùn)練前非線.性曲線,得到明顯改善。通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的值與標(biāo)準(zhǔn)點之間誤差很小,趨于吻合;結(jié)合PID控制方法,使得系統(tǒng)穩(wěn)定性高,在寬范圍溫度測量過程中,溫度測量誤差一直控制在1%內(nèi),使熱電勢與溫度值呈現(xiàn)出較高的.線性度。
3結(jié)論
在寬范圍精度高測溫系統(tǒng)中,針對K型熱電偶輸出的熱電勢E與溫度t之間的非線性關(guān)系,建立PID神經(jīng)網(wǎng)絡(luò)對其進(jìn)行非線性校正,采用粒子群算法進(jìn)行尋優(yōu)取.值。選取E-t曲線中特殊拐點的標(biāo)準(zhǔn)值作為訓(xùn)練樣本,對尋優(yōu)過程中的慣性權(quán)值改進(jìn),增強(qiáng)其全局尋優(yōu)能力。仿真結(jié)果表明:控制系統(tǒng)穩(wěn)定性較高,正確性提高;訓(xùn)練所得溫度值與標(biāo)準(zhǔn)值之間誤差均在1%以內(nèi),且二者擬合效果好,收斂速度快。正確溫度信號獲取為火箭發(fā)射塔架的健康評估提供可靠依據(jù)。