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