汪知宇 張 彤
(大連交通大學(xué)電氣信息工程學(xué)院,116028,大連;2.大連交通大學(xué)機(jī)車車輛工程學(xué)院,116028,大連∥第一作者,碩士研究生)
列車通信網(wǎng)絡(luò)(TCN)是列車的關(guān)鍵系統(tǒng)之一,被稱為列車的“心臟”和“大腦”。由于TCN 在運(yùn)行過程中存在通信協(xié)議轉(zhuǎn)換、運(yùn)行環(huán)境多變等影響因素,使信號在傳輸過程中不可避免的產(chǎn)生時延。網(wǎng)絡(luò)誘導(dǎo)時延對TCN 的控制作用產(chǎn)生較大影響,使數(shù)據(jù)無法及時傳輸,時延過大將會導(dǎo)致列車無法及時進(jìn)行牽引、制動,同時對旅客舒適度及旅客安全產(chǎn)生影響。因此,分析和預(yù)測網(wǎng)絡(luò)時延對TCN 系統(tǒng)有著至關(guān)重要的作用[2]。目前較為常用的隨機(jī)時延預(yù)測方法有:最小均方算法、經(jīng)驗(yàn)?zāi)J椒纸馑惴?、最小二乘法支持向量機(jī)(LS-SVM)算法、神經(jīng)網(wǎng)絡(luò)算法等[3-5]。文獻(xiàn)[6]采用了基于Elman 神經(jīng)網(wǎng)絡(luò)算法對時延進(jìn)行預(yù)測,此方法適應(yīng)時變能力的特性較好,但精度不足以滿足實(shí)際需要。文獻(xiàn)[7]采用了基于RBF 神經(jīng)網(wǎng)絡(luò)的預(yù)測算法,雖然可以任意精度針對任意非線性函數(shù)進(jìn)行逼近,但神經(jīng)網(wǎng)絡(luò)具有有限的泛化能力,容易得到局部極小值。文獻(xiàn)[8]采用了未經(jīng)改進(jìn)的LS-SVM 算法對時延進(jìn)行預(yù)測,由于參數(shù)無法確定,預(yù)測精度不好掌控?;谝陨戏治觯疚奶岢隽嘶诟倪M(jìn)PSO(改進(jìn)粒子群)算法的LS-SVM 算法對TCN 時延數(shù)據(jù)進(jìn)行預(yù)測[9-10]。首先,在所搭建的TCN 半實(shí)物仿真平臺上,分別改變源端口特征周期及端口數(shù)量抓取了大量時延數(shù)據(jù);利用了PSO 算法來優(yōu)化LS-SVM 算法的可調(diào)參數(shù)及平方帶寬;最后,與傳統(tǒng)的LS-SVM 算法及Elman 神經(jīng)網(wǎng)絡(luò)算法進(jìn)行對比分析,驗(yàn)證了該方法的有效性。
TCN 時延測試平臺采用TCN 技術(shù)搭建符合IEC-61375 協(xié)議標(biāo)準(zhǔn),通過MVB(多功能車輛總線)對各子系統(tǒng)進(jìn)行連接,完成了設(shè)備之間的數(shù)據(jù)通信。網(wǎng)絡(luò)控制系統(tǒng)設(shè)備包括:VCU(車輛控制單元)、REP(中繼器)和HMI(人機(jī)接口界面)。使用TCN 分析儀抓取時延數(shù)據(jù),通過PC 機(jī)對時延數(shù)據(jù)進(jìn)行監(jiān)測。為了實(shí)現(xiàn)通過TCN 平臺的時延進(jìn)行測試,采用Unicap 組態(tài)軟件對各控制單元軟件進(jìn)行開發(fā),對輸入模塊及輸出模塊進(jìn)行程序編寫。
TCN 時延實(shí)質(zhì)上是整個TCN 的信息交互時間,其中包括了發(fā)送時延、傳輸時延、接收時延,而發(fā)送時延又包括處理時延、等待時延、應(yīng)答時延。同時通信設(shè)備、通信距離等因素都會對時延數(shù)據(jù)產(chǎn)生影響,TCN 的總體時延等于各部分時延數(shù)據(jù)之和。時延的產(chǎn)生主要包括以下部分[6]:
1)源端口進(jìn)行數(shù)據(jù)發(fā)送所消耗時間(與數(shù)據(jù)包長度有關(guān))。
2)數(shù)據(jù)在傳輸過程中所消耗的時間(與MVB長度有關(guān))。
3)通信寄存器進(jìn)行數(shù)據(jù)收發(fā)及處理的排隊(duì)等待時間。
為了避免其他設(shè)備屬性對數(shù)據(jù)產(chǎn)生影響,保持其他屬性不變,只使用VCU、HMI 等網(wǎng)絡(luò)設(shè)備。現(xiàn)設(shè)計如下的時延測試基本步驟:
步驟1:通過UNICAP 軟件編寫HMI 及VCU組態(tài)程序,分別取多組不同特征周期及不同端口數(shù)量的時延數(shù)據(jù)進(jìn)行分析及預(yù)測,將組態(tài)軟件程序通過MVB 下載到VCU 及HMI 中。時延傳輸過程如圖1 所示。
圖1 時延數(shù)據(jù)傳輸過程
系統(tǒng)總時延即各設(shè)備時延數(shù)據(jù)之和:
式中:
Td——系統(tǒng)總時延;
TV-H——VCU 到HMI 之間的時延;
TH-V——HMI 到VCU 之間的時延;
TV-R——VCU 到REP 之間的時延;
TR-H——REP 到HMI 之間的時延;
TH——數(shù)據(jù)通過HMI 產(chǎn)生的時延;
TV——數(shù)據(jù)通過VCU 產(chǎn)生的時延;
TR——數(shù)據(jù)通過REP 產(chǎn)生時延。
試驗(yàn)平臺通過TCN 進(jìn)行搭建,使過程數(shù)據(jù)在設(shè)備之間進(jìn)行通信。
步驟2:通過IPTDM2 軟件與PTS402 配置軟件一起使用,采用IPTLMlog 工具來對TCN 采集數(shù)據(jù),收集通過MVB 得到的數(shù)據(jù)幀并形成數(shù)據(jù)文件。圖2 為通過抓包軟件得到的數(shù)據(jù)解析圖,是利用TCN 分析儀抓取的時延數(shù)據(jù)包。通過IpTLMview工具對所收集到的圖形數(shù)據(jù)進(jìn)行讀取及解析,從中可以看到各端口過程數(shù)據(jù)發(fā)送時間及接收時間。通過查找發(fā)送及接收端口號對應(yīng)的時間數(shù)據(jù),對數(shù)據(jù)包進(jìn)行統(tǒng)計及計算。傳輸過程中數(shù)據(jù)通過VCU、REP 和HMI 模擬形成一個VCU 到HMI 之間的網(wǎng)絡(luò)控制系統(tǒng)。其中,一臺PC 機(jī)控制VCU 數(shù)據(jù)發(fā)送,使用網(wǎng)絡(luò)分析儀接入模擬系統(tǒng)中對時延數(shù)據(jù)進(jìn)行抓取;另一臺PC 機(jī)對網(wǎng)絡(luò)分析儀抓取到的數(shù)據(jù)量進(jìn)行控制。
圖2 數(shù)據(jù)解析實(shí)景圖
LS-SVM 算法是一種新型的支持向量機(jī)算法,該方法用等式約束替代SVM 算法中的不等式約束,將求解過程轉(zhuǎn)變?yōu)閷Φ仁椒匠痰那蠼鈫栴},使算法的運(yùn)算速度加快;通過結(jié)構(gòu)風(fēng)險最小化原則增加了算法的泛化能力,解決了局部最小值等問題。因此,使用LS-SVM 算法對非線性函數(shù)進(jìn)行預(yù)測,可以得到較好的預(yù)測效果。其回歸函數(shù)為
式中:
u——慣性權(quán)重系數(shù);
b——偏置。
對于給定的訓(xùn)練集(xi,yi),i = 1,2,…n,其中xi∈R,yi∈R(R 為實(shí)數(shù))。LS-SVM 定義如下:
式中:
w——慣性權(quán)重;
γ——正則化參數(shù);
ei——LS-SVM 中的損失函數(shù), 需要滿足以下條件:
式中,ai為系數(shù)。
由Karush-Kuhn-Tucker 優(yōu)化法可知,通過對w、b、e、a 求偏微分,可以得到最優(yōu)值。求解偏微分步驟如下0 ,得w == 0 ,得w ==0;=0,得ai=ce(ic 為系數(shù));=0,得uφ(xi)+b+ei+yi=0。
消除w 和e,得到回歸函數(shù)方程為
式中:
Ω——核函數(shù);
A——相應(yīng)維數(shù)的單位矩陣。則LS-SVM 預(yù)測模型為
式中:
K(x,xj)——把樣本映射到特征空間的核函數(shù);
xj——第j 個支持向量的位置輸入。
LS-SVM 算法模型需要對γ 及平方帶寬σ 進(jìn)行調(diào)節(jié)。這2 個參數(shù)在很大程度上決定了LS-SVM算法的學(xué)習(xí)及泛化能力。假設(shè)γ 與σ 的取值范圍均為0 到500,則計算時間將達(dá)到數(shù)十h。如果將PSO算法引入,將會在參數(shù)選取、收斂速度方面具有一定的優(yōu)勢[11]。通過對PSO 算法研究,結(jié)果發(fā)現(xiàn)存在誤差的粒子群將會降低收斂時間,加快運(yùn)行速度,但有可能錯過了最優(yōu)解。因此,本文提出了一種改進(jìn)的粒子群優(yōu)化模型,粒子群比較了狀態(tài)最優(yōu)解與全局最優(yōu)解,根據(jù)方程(8)、(9)、(10)來調(diào)節(jié)迭代狀態(tài),更新位置及速度。權(quán)重調(diào)整公式如(8)、(9)、(10)所示:
式中:
vi+1、vi——分別為第i+1、i 個粒子的速度;
xi+1——第i+1 個粒子的位置;
t——當(dāng)前迭代次數(shù);
γ1,γ2——范圍在[0,1]之間的隨機(jī)數(shù);
c1,c2——范圍在[0,2]之間的隨機(jī)數(shù);
g——全局最優(yōu)位置解;
Tmax——最大迭代次數(shù);
p——狀態(tài)最優(yōu)解;
α——局部搜索因子;
β——微調(diào)因子;
δ——速度調(diào)節(jié)因子。
在第t 次迭代中,對w 進(jìn)行調(diào)整。當(dāng)?shù)螖?shù)增加時,w 將減少,使優(yōu)化過程更加準(zhǔn)確。同時本文加入α 及β 對模型進(jìn)行改進(jìn),實(shí)質(zhì)上在每次位置更新后,δ 將本次的搜索速度當(dāng)成新的搜索范圍。如果更新后的搜索位置優(yōu)于當(dāng)前搜索位置,則將更新后的位置作為開始點(diǎn);否則,繼續(xù)使用原位置。
本文采用高斯函數(shù)作為仿真試驗(yàn)的核函數(shù)。由于核函數(shù)的參數(shù)σ 和LS-SVM 算法的可調(diào)參數(shù)會影響算法的性能,因此采用PSO 迭代算法對參數(shù)進(jìn)行尋優(yōu),可在很大程度上提高模型的精度。將時延數(shù)據(jù)分為測試樣本和訓(xùn)練樣本,具體步驟如下:
1)對粒子群參數(shù)包括迭代次數(shù)T、粒子位置屬性δ 及速度屬性σ2進(jìn)行初始化;
2)當(dāng)粒子的當(dāng)前速度比前面最好位置出現(xiàn)的適應(yīng)度小時,就作為最好的位置p;
3)當(dāng)粒子經(jīng)過的位置比最優(yōu)位置對應(yīng)的位置g的小時,則作為最優(yōu)位置g;
4)根據(jù)粒子的變化速度vi+1,得到新的種群,輸入測試樣本進(jìn)行預(yù)測。
根據(jù)搭建好的半實(shí)物平臺,分組對不同情況下的時延數(shù)據(jù)進(jìn)行測試,并對得到的時延數(shù)據(jù)進(jìn)行分析,針對不同特性的數(shù)據(jù)進(jìn)行預(yù)測仿真,以此來驗(yàn)證本文所采用算法的有效性。
對TCN 時延數(shù)據(jù)進(jìn)行抓取。為了避免其他設(shè)備屬性對特征周期產(chǎn)生影響,保持其他屬性不變,只增加源端口發(fā)送周期。統(tǒng)一設(shè)置抓取時間為60 s,進(jìn)行分組測試,試驗(yàn)數(shù)據(jù)見表1。表1 中分別分3 組對源端口不同特征周期下的最大時延、最小時延及平均時延進(jìn)行整理及計算,并統(tǒng)計出不同情況下的過程數(shù)據(jù)包請求個數(shù)、過程數(shù)據(jù)包響應(yīng)個數(shù)及負(fù)載率大小。時延趨勢變化對比如圖3 所示。經(jīng)過分析得出,當(dāng)保持其他參數(shù)不變時,只增加源端口特征周期,使數(shù)據(jù)解碼及數(shù)據(jù)訪問時間發(fā)生變化,從而導(dǎo)致系統(tǒng)時延增加。同時特征周期的增加導(dǎo)致端口被輪循的次數(shù)減少,因此負(fù)載率降低。
圖3 不同特征周期對時延數(shù)據(jù)影響(端口數(shù)為138 個)
表1 不同源端口特征周期時延數(shù)據(jù)對比
當(dāng)保持其他屬性不變,只改變端口數(shù)量,進(jìn)行分組測試,試驗(yàn)數(shù)據(jù)見表2,時延趨勢變化對見圖4。從圖4 中可以看出,當(dāng)保持其他參數(shù)不變時,只增加端口數(shù)量,導(dǎo)致時延數(shù)據(jù)變大,同時負(fù)載率增加。這樣就增大了控制信號反應(yīng)時間,降低了數(shù)據(jù)傳輸?shù)膶?shí)時性,最終影響了TCN 數(shù)據(jù)的及時傳輸。
表2 不同端口數(shù)的時延數(shù)據(jù)對比
針對不同情況下時延變化情況,進(jìn)行時延預(yù)測仿真。利用試驗(yàn)平臺測試得到550 組前向時延數(shù)據(jù),前500 組作為訓(xùn)練樣本,后50 組作為測試樣本。使用Matlab 軟件進(jìn)行仿真試驗(yàn),訓(xùn)練得到對應(yīng)的參數(shù)。設(shè)置粒子位置屬性γ 范圍為[0.01,300]、速度屬性σ 范圍為[0.1,1 000],仿真得到LS-SVM 中γ 為0.931 4,σ 為8.159。為了進(jìn)行預(yù)測結(jié)果精度對比,本文將預(yù)測結(jié)果與Elman 神經(jīng)網(wǎng)絡(luò)算法及未經(jīng)優(yōu)化的LS-SVM 算法預(yù)測結(jié)果進(jìn)行比較,結(jié)果如圖5、圖6、圖7、圖8 所示。
生成訓(xùn)練樣本和測試樣本后,通過改進(jìn)PSO 算法迭代尋優(yōu),搜索參數(shù)初始值如表3 所示。
通過比較得出本文所采用的基于PSO 迭代優(yōu)化LS-SVM 算法適用于不同特性的時延數(shù)據(jù)的預(yù)測,而Elman 神經(jīng)網(wǎng)絡(luò)算法及LS-SVM 算法均無法達(dá)到理想的預(yù)測效果。為了對三種方法進(jìn)行定量評定,從運(yùn)算時間、均方誤差和絕對誤差率3 個方面進(jìn)行對比,如表4 所示。
圖4 不同端口數(shù)對時延數(shù)據(jù)的影響(特征周期為512 ms)
圖5 端口數(shù)為138 個、VCU 特征周期為64 ms 時的時延預(yù)測仿真圖
圖6 端口數(shù)為138 個、VCU 特征周期為128 ms 時的時延預(yù)測仿真圖
圖7 端口數(shù)為28 個、VCU 特征周期為64 ms 時的時延預(yù)測仿真圖
圖8 端口數(shù)為28 個、VCU 特征周期為128 ms 時的時延預(yù)測仿真圖
表3 PSO 算法參數(shù)初始值
表4 3 種預(yù)測方法的相關(guān)參數(shù)平均值對比
從表4 中可以看出,本文采取基于PSO 迭代優(yōu)化的LS-SVM 算法節(jié)約了運(yùn)算時間,同時預(yù)測精度也有大幅度提高。使用LS-SVM 算法預(yù)測時,由于γ 及σ 直接對預(yù)測效果產(chǎn)生影響,而本文算法不但避免了局部極小值問題,同時解決了計算復(fù)雜度高、運(yùn)算速度慢等問題。因此,可得出本文預(yù)測方法適用于TCN 控制系統(tǒng)的時延數(shù)據(jù)及高實(shí)時性、高精度數(shù)據(jù)的預(yù)測。
在對試驗(yàn)平臺進(jìn)行搭建后,進(jìn)行時延測試,通過MVB 對時延數(shù)據(jù)進(jìn)行抓取,得到大量有效的時延數(shù)據(jù),并對時延數(shù)據(jù)進(jìn)行統(tǒng)計,分析其時延變化特點(diǎn)。本文提出基于改進(jìn)的PSO 算法迭代來優(yōu)化LSSVM 算法對TCN 時延進(jìn)行預(yù)測,試驗(yàn)結(jié)果表明本文方法在預(yù)測精度及預(yù)測速度上較其他方法有大幅度提升,對于TCN 時延的預(yù)測具有良好的效果,為TCN 時延補(bǔ)償?shù)玫搅舜罅坑行?shù)據(jù)。