本發明涉及一種電動車輛或者混合動力車輛加熱器的溫度采集和估算方法,尤其涉及一種基于擴展卡爾曼濾波的多溫度傳感器融合方法,屬于汽車設備技術領域。
背景技術:
車輛的加熱系統需要快速、準確地通過加熱介質提供熱量,由于絕緣等要求,加熱系統的溫度傳感器不可能直接與加熱介質或者加熱元件相連接,水溫傳感器一般在水道外面,加熱元件與加熱元件溫度傳感器之間也相隔一層薄膜,在不同的工況下溫度測量值會有不同的差值,這些誤差還與加熱系統的結構設計、選用材料等多方面有關。
為了實現準確的溫度控制和高溫、溫升保護,溫度信息的準確性是必須的,直接使用單一溫度傳感器信號作為溫度信息已不能滿足系統的要求,真實溫度預測的準確性對系統性能的影響巨大。
現有的溫度估計方法主要有以下兩種:
1)模型計算法:加熱系統的結構參數和材料參數都是已知的,可以分析和推算系統的傳熱模型,并根據已有的溫度傳感器信息,計算不同工況下加熱系統不同位置下的溫度,這種方法只要建模精度足夠高,參數選擇誤差小,可以足夠精確地估算溫度,缺點是計算量太大,不適合加熱系統上的控制裝置計算。若減少計算量,必須降低模型精度,且結構參數和材料參數不可能完全準確,各方面的誤差若在持續計算的過程中發生單方向漂移,會引起較大誤差。
2)標定查表法:目標溫度點溫度與傳感器溫度點溫度有內在的聯系,且與外部功率輸入有關,考慮到這些因素,用一張復雜的表格來體現這些因素的互相關系,并通過大量的標定實驗來支撐表格內的數據。在加熱系統工作時,通過已知的傳感器數據查相應的表格,來確定目標溫度點溫度。這種方法不需要加熱系統控制裝置做復雜的計算,但需要大量的試驗支撐,并正確分析各因素對溫度估計的影響。
直接使用模型計算法計算量大,且會有誤差漂移,沒有溫度修正;標定查表法對實驗要求較高,要覆蓋各種工況,實驗量大,成本很高。因此上述兩種方法在實踐中實用性不高。
現有的電動車輛或者混合動力車輛加熱器的溫度檢測大多采用直接測量法,在加熱器的不同位置安置多個溫度傳感器,檢測每一個溫度點的溫度。但是,加熱器溫度直接測量的方法會受傳感器安置位置的影響,溫度傳感器故障會給系統帶來巨大的風險,各溫度傳感器監測值也沒有考慮互相之間的關系,因此,設計一種多溫度傳感器數據融合方法具有現實意義。
技術實現要素:
本發明的目的在于提供一種基于擴展卡爾曼濾波的多溫度傳感器融合方法,加熱器在溫度測量計算時,融合模型計算、各溫度點的測量值,提高溫度測量的精度,并在溫度傳感器失效時保證系統安全運行。
本發明的目的通過以下技術方案予以實現:
一種基于擴展卡爾曼濾波的多溫度傳感器融合方法,包括:
給出狀態方程和輸出方程,輸出方程也叫測量方程:
式中X=[x1 x2 x3 x4 … xn]為n個狀態變量,指待估計的溫度點溫度值;
為n個狀態變量的一階導數;
U=[u1 u2 u3 u4 … um]為m個輸入變量;
Y=[y1 y2 y3 y4 … yj]為j個傳感器的測量值;
W=[w 1w2 w 3w4 … wn]為n個系統誤差值,也稱系統噪聲,表征狀態方程與真實系統誤差;
V=[v1 v2 v3 v4 … vj]為j個測量誤差值,也稱測量噪聲,表征輸出方程與真實測量過程的誤差;
函數f()為狀態函數,表征狀態變量的一階導數與狀態變量本身和輸入變量的關系;
函數h()為測量方程函數,表征狀態變量、輸入變量與測量值的關系;
對以上方程線性化和離散化:
首先需要對式(1)進行線性化和離散化,包括以下步驟:
1)狀態方程線性化和離散化:
其中,Xt為t時刻的狀態變量值,Ut為t時刻的輸入值,表示狀態方程對狀態變量的偏微分在t時刻的值,結果為矩陣;
線性化后狀態方程為:
再對公式(3)進行離散化:
I是階數與Φk+1|k相同的單位矩陣,Ts為采樣時間;
為了保證模型足夠精確,一般保留到六階展開,則狀態方程可表示為以下離散方程:
Xk+1=Φk+1|kXk+Wk (5)
2)輸出方程線性化和離散化:
表示輸出方程對狀態變量的偏微分在t時刻時的值,結果一般為矩陣;
由于輸出方程不是微分方程,離散化后矩陣H不變,即
Yk+1=Hk+1Xk+1+Vk+1 (7)
綜合步驟1)和步驟2),卡爾曼濾波的狀態方程和輸出方程為:
式中X、Y、W、V分別表示狀態變量、輸出變量、系統誤差和測量誤差在上式中采樣后每個離散點的值,k表示以周期Ts為采樣時間的第k點;Φk+1|k為第k時刻到第k+1時刻的狀態轉移矩陣,表征當前狀態變量和下一時刻狀態變量的關系;H為輸出矩陣,也叫測量矩陣,表征當前狀態變量和輸出變量的關系;
根據公式(8)的離散線性化方程采用基于擴展卡爾曼濾波方法(EKF)估計各時刻的狀態變量,基于擴展卡爾曼濾波方法分為預測階段和更新階段;
首先確定初值,包括以下步驟:
估算狀態方程的誤差確定系統噪聲的協方差矩陣Q,在離散化后,協方差矩陣表示如下:
上式中tk表示第k時刻的時間;
估算測量方程的誤差確定測量噪聲的協方差矩陣R,R是個對角矩陣,對角線上的數值即每個傳感器的測量精度;
狀態變量的協方差矩陣初值P0為單位陣,隨著迭代而收斂到合適數值;
在預測階段,基于狀態轉移矩陣計算下一時刻的狀態變量值,基于輸出矩陣計算測量估計值,并預測和估計出各變量的系統誤差和測量誤差的協方差矩陣如下:
其中分別表示狀態變量和輸出變量的估計值,表示第k時刻狀態變量和輸出變量的估計值,表示第k+1時刻狀態變量的預估值;
然后需要預測下一時刻狀態變量的協方差矩陣:
式中Pk+1|k是第k+1時刻狀態變量的協方差矩陣預測值,Pk是第k時刻狀態變量的協方差矩陣;
在更新階段,更新卡爾曼濾波增益Kk+1,卡爾曼濾波增益直接決定了狀態變量第k+1時刻的估計值,最后,更新k+1時刻狀態變量的協方差矩陣,供下次迭代使用:
上式可以得到狀態變量在第k+1時刻的估計值,Yk+1是傳感器在第k+1時刻的測量值,卡爾曼濾波增益和協方差矩陣更新如下式所示:
Pk+1=(I-Kk+1Hk+1)Pk+1|k
通過以上步驟,不斷迭代出每一時刻的狀態變量,獲取各溫度點的溫度估計值。
本發明的目的還可以通過以下技術措施來進一步實現:
前述基于擴展卡爾曼濾波的多溫度傳感器融合方法,其中估算狀態方程誤差確定系統噪聲的協方差矩陣Q的方法為:
通過比較經過迭代的高精度系統模型計算的狀態變量的誤差來確定系統噪聲的協方差矩陣,該矩陣應為一對角陣,對角線上值即為各狀態變量的誤差。
前述基于擴展卡爾曼濾波的多溫度傳感器融合方法,其中估算狀態方程誤差確定系統噪聲的協方差矩陣Q的方法為:
采用實驗法獲得系統噪聲的方差,在狀態變量表示的溫度點處安裝溫度傳感器,比較實驗值與系統方程計算值的誤差,確定系統噪聲的協方差矩陣。
前述基于擴展卡爾曼濾波的多溫度傳感器融合方法,其中X=[x1 x2 x3 x4 x5x6],x1是加熱層溫度,x2是粘結層溫度,x3是絕緣陶瓷層溫度,x4是導熱鋁層溫度,x5是入水口溫度,x6是出水口溫度;Y=[T1 T2 T3 T4],T1是與加熱電阻相隔一層薄膜的溫度傳感器數值,T2是入水口管道外溫度傳感器數值,T3是出水口管道外溫度傳感器數值,T4是中蓋管道外溫度傳感器數值;U=[P T5]是加熱系統中的輸入量,P是加熱系統的加熱功率,T5是環境溫度傳感器數值;
函數f()如下式所示:
式中λ1為加熱電阻層的導熱系數;λ2為粘接層的導熱系數;λ3為陶瓷絕緣層的導熱系數;λ4為導熱鋁層的導熱系數;A1為加熱電阻層與粘接層的接觸面積;A2為粘接層與陶瓷絕緣層的接觸面積;A3為陶瓷層與導熱鋁層的接觸面積;A4為導熱鋁層中水道的表面積;A5為加熱器外水管的外表面積;d1為加熱電阻層的厚度;d2為粘接層厚度;d3為陶瓷絕緣層厚度;d4為導熱鋁層厚度;c1為加熱電阻層比熱容;c2為粘接層比熱容;c3為陶瓷絕緣層比熱容;c4為導熱鋁層比熱容;c5為水的比熱容;m1為加熱電阻質量;m2為粘接層質量;m3為陶瓷絕緣層質量;m4為導熱鋁層質量;m5為加熱器水道內水的質量;m6為加熱器外水道內水的質量。
前述基于擴展卡爾曼濾波的多溫度傳感器融合方法,其中所述測量方程函數h()如下式所示:
式中η1為入水口溫度傳感器補償系數,η2為出水口溫度傳感器補償系數。
與現有技術相比,本發明的有益效果是:本發明不僅能反映各溫度點以及系統輸入在理論上的相互關系,充分利用已有溫度采集傳感器的信息,且控制裝置計算量不大,能實時完成數據更新。在溫度傳感器不能直接放置在被測位置時,也能利用系統模型和測量值的數據融合來估計被測位置的溫度。本發明的方法降低了硬件設計難度,減少了硬件電路成本,還能正確估計被測點的溫度。在溫度傳感器單點失效時,能根據其他溫度傳感器的數據和系統模型,估計每個溫度點的溫度,保證加熱系統安全有效地運行,提升了系統的安全等級。
附圖說明
圖1是本發明的加熱系統正面溫度傳感器布置圖;
圖2是本發明的加熱系統背面溫度傳感器布置圖;
圖3是本發明的加熱系統加熱體的剖面圖;
圖4是本發明的基于擴展卡爾曼濾波的多溫度傳感器融合方法流程圖。
具體實施方式
下面結合附圖和具體實施例對本發明作進一步說明。
如圖1所示是本發明的加熱系統正面溫度傳感器布置圖,如圖2所示是本發明的加熱系統背面溫度傳感器布置圖。如圖3所示是本發明的加熱系統的加熱體的剖面圖,加熱體包括加熱層1、粘接層2、絕緣陶瓷層3、導熱鋁層4,所述絕緣陶瓷層3覆蓋于導熱鋁層4,所述粘接層2覆蓋于絕緣陶瓷層3,所述加熱層1覆蓋于粘接層2。
本發明的基于擴展卡爾曼濾波的多溫度傳感器融合方法,包括以下步驟:
選取各點溫度作為狀態變量:X=[x1 x2 x3 x4 x5 x6],x1是加熱層溫度,x2是粘結層溫度,x3是絕緣陶瓷層溫度,x4是導熱鋁層溫度,x5是入水口溫度,x6是出水口溫度,是各個待估計的溫度點溫度值。
是這六個狀態變量的一階導數。
Y=[T1 T2 T3 T4],T1是與加熱電阻相隔一層薄膜的溫度傳感器數值,T2是入水口管道外溫度傳感器數值;T3是出水口管道外溫度傳感器數值;T4是中蓋管道外溫度傳感器數值。
根據溫度場分析結果,可以得到狀態方程和輸出方程為:
Y=h(X,U)+V
U=[P T5]是加熱系統中的輸入量,P是加熱系統的加熱功率;T5是環境溫度傳感器數值。W=[w1 w2 w3 w4 w5 w6]是系統噪聲向量;V=[v1 v2 v3 v4 v5]是測量噪聲向量。系統誤差和測量噪聲在工程上都認為是已知方差的零均值白噪聲。系統誤差的方差可以通過估算最大誤差得到,測量噪聲的方差可通過測量傳感器的特性得到。
函數f()為系統方程函數,由系統的結構和材料決定,在本具體實施例中,該函數如下所示:
式中λ1為加熱電阻的導熱系數;λ2為粘接層的導熱系數;λ3為陶瓷絕緣層的導熱系數;λ4為導熱鋁層的導熱系數;A1為加熱電阻層與粘接層的接觸面積;A2為粘接層與陶瓷絕緣層的接觸面積;A3為陶瓷層與導熱鋁層的接觸面積;A4為導熱鋁層中水道的表面積;A5為加熱器外水管的外表面積;d1為加熱電阻層的厚度;d2為粘接層厚度;d3為陶瓷絕緣層厚度;d4為導熱鋁層厚度;c1為加熱電阻比熱容;c2為粘接層比熱容;c3為陶瓷絕緣層比熱容;c4為導熱鋁層比熱容;c5為水的比熱容;m1為加熱電阻質量;m2為粘接層質量;m3為陶瓷絕緣層質量;m4為導熱鋁層質量;m5為加熱器水道內水的質量;m6為加熱器外水道內水的質量。
函數h()為測量方程函數,由傳感器放置位置和被估計溫度位置決定。在本具體實施例中,該函數如下所示:
式中η1為入水口溫度傳感器補償系數,η2為出水口溫度傳感器補償系數。
本實例中加熱系統的狀態空間方程是線性方程,直接對系統離散化即可。
1)狀態方程離散化
I是階數與Φk+1|k相同的單位矩陣,Ts為采樣時間。
為了保證模型足夠精確,一般保留到六階展開,則狀態方程可表示為以下離散方程:
Xk+1=Φk+1|kXk+Wk
2)輸出方程也是線性方程,由于輸出方程不是微分方程,離散化后矩陣H不變,即
Yk+1=Hk+1Xk+1+Vk+1
綜合1)和2),可使用卡爾曼濾波的狀態方程和輸出方程為:
Xk+1=Φk+1|kXk+Wk
Yk+1=Hk+1Xk+1+Vk+1
式中X、Y、W、V分別表示狀態變量、輸出變量、系統誤差和測量誤差在上式中采樣后每個離散點的值,k表示以周期Ts為采樣時間的第k點;Φk+1|k為第k時刻到第k+1時刻的狀態轉移矩陣,表征當前狀態變量和下一時刻狀態變量的關系;H為輸出矩陣,也叫測量矩陣,表征當前狀態變量和輸出變量的關系。
根據離散線性化方程采用基于擴展卡爾曼濾波方法(EKF)估計各時刻的狀態變量,基于擴展卡爾曼濾波方法分為預測階段和更新階段。
首先確定初值,包括以下步驟:
估算狀態方程的誤差確定系統噪聲的協方差矩陣Q,在離散化后,協方差矩陣表示如下:
上式中tk表示第k時刻的時間。
估算測量方程的誤差確定測量噪聲的協方差矩陣R,R是個對角矩陣,對角線上的數值即每個傳感器的測量精度。
狀態變量的協方差矩陣初值P0為單位陣,隨著迭代而收斂到合適數值。
在預測階段,基于狀態轉移矩陣計算下一時刻的狀態變量值,基于輸出矩陣計算測量估計值,并預測和估計出各變量的系統誤差和測量誤差的協方差矩陣如下:
其中分別表示狀態變量和輸出變量的估計值,表示第k時刻狀態變量和輸出變量的估計值,表示第k+1時刻狀態變量的預估值。
然后需要預測下一時刻狀態變量的協方差矩陣:
式中Pk+1|k是第k+1時刻狀態變量的協方差矩陣預測值,Pk是第k時刻狀態變量的協方差矩陣。
在更新階段,更新卡爾曼濾波增益Kk+1,卡爾曼濾波增益直接決定了狀態變量第k+1時刻的估計值,最后,更新k+1時刻狀態變量的協方差矩陣,供下次迭代使用:
上式可以得到狀態變量在第k+1時刻的估計值,Yk+1是傳感器在第k+1時刻的測量值,卡爾曼濾波增益和協方差矩陣更新如下式所示:
Pk+1=(I-Kk+1Hk+1)Pk+1|k
通過以上步驟,不斷迭代出每一時刻的狀態變量,獲取各溫度點的溫度估計值。
迭代過程按圖4所示流程進行,即可估計出每一時刻各溫度點溫度值。
除上述實施例外,本發明還可以有其他實施方式,凡采用等同替換或等效變換形成的技術方案,均落在本發明要求的保護范圍內。