盧 蘭, 李燕龍
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
隨著科技的進(jìn)步,各領(lǐng)域?qū)r(shí)間同步精度要求越來越高。時(shí)間同步在移動(dòng)通信網(wǎng)絡(luò)、分布式智能電網(wǎng)、工業(yè)互聯(lián)網(wǎng)、現(xiàn)代金融網(wǎng)絡(luò)等基礎(chǔ)設(shè)施的關(guān)鍵領(lǐng)域發(fā)揮著重要作用[1]。IEEE 1588協(xié)議以其亞微秒甚至高達(dá)納秒級精度的優(yōu)勢,替代以往廣泛使用的毫秒級的網(wǎng)絡(luò)時(shí)間標(biāo)準(zhǔn),成為高精度時(shí)間同步的理想方案[2]。其中,應(yīng)用于IEEE 1588協(xié)議的時(shí)鐘同步算法直接影響時(shí)鐘同步精度。
目前,基于IEEE 1588協(xié)議實(shí)現(xiàn)主從時(shí)鐘同步的算法主要有濾波算法和控制算法。濾波算法如卡爾曼濾波法[3-4]及其改進(jìn)法[5-6],主要應(yīng)用于濾除時(shí)鐘頻率漂移與系統(tǒng)噪聲。控制算法如PID 控制[7]、最優(yōu)線性二次高斯控制器[8]、滑??刂破鱗9],主要用于控制從時(shí)鐘速率。由于PID結(jié)構(gòu)簡單、魯棒性好、性能穩(wěn)定,且無需系統(tǒng)精確模型等優(yōu)勢,在控制領(lǐng)域得到廣泛應(yīng)用。因此,可利用PID 控制器不斷調(diào)整從時(shí)鐘的頻率,以實(shí)現(xiàn)與主時(shí)鐘的同步。然而,傳統(tǒng)的PID參數(shù)多采用人工整定法,且參數(shù)固定,對于存在傳輸不確定性 (如時(shí)延抖動(dòng)、時(shí)鐘老化等)的復(fù)雜的時(shí)鐘同步網(wǎng)絡(luò),手動(dòng)修正PID 不僅困難、耗時(shí),且難以達(dá)到理想的同步效果。計(jì)算智能廣泛用于PID參數(shù)優(yōu)化:如基于神經(jīng)網(wǎng)絡(luò)[10-11]、遺傳[12]與量子遺傳[13]、粒子群[14]、狼群[15]的PID控制方法。然而神經(jīng)網(wǎng)絡(luò)需要大量的數(shù)據(jù)樣本進(jìn)行訓(xùn)練,易產(chǎn)生數(shù)值病態(tài)問題,而遺傳算法與量子遺傳算法復(fù)雜度高、運(yùn)算量大、早熟,且標(biāo)準(zhǔn)粒子群優(yōu)化易陷入局部極小值。因此,采用一種新的優(yōu)化算法——天牛須搜索算法(BAS)優(yōu)化PID,該算法無需優(yōu)化函數(shù)的具體形式,無需梯度信息,便可高效尋優(yōu)[16]。與粒子群優(yōu)化算法相比,標(biāo)準(zhǔn)BAS只需一只“天牛”,運(yùn)算量小,迭代速度更快,跳出局部最優(yōu)的能力更強(qiáng)[17]。因此,采用BAS與PID控制相結(jié)合的方法(BAS-PID)對時(shí)鐘頻率進(jìn)行自適應(yīng)調(diào)整,可使時(shí)鐘同步更靈活高效。
IEEE 1588標(biāo)準(zhǔn)的完整名稱為“網(wǎng)絡(luò)測量和控制系統(tǒng)的精密時(shí)鐘同步協(xié)議標(biāo)準(zhǔn)”,該協(xié)議采用精確的主時(shí)鐘對網(wǎng)絡(luò)中的從時(shí)鐘進(jìn)行周期性校正:主從節(jié)點(diǎn)之間來回交換報(bào)文,產(chǎn)生時(shí)間戳信息,從時(shí)鐘根據(jù)時(shí)間戳估計(jì)主從時(shí)間偏移量和傳輸延遲。其同步原理如圖1所示。
圖1 IEEE 1588時(shí)鐘同步原理
主時(shí)鐘周期性廣播同步消息,發(fā)送Sync報(bào)文并記錄其離開的精確時(shí)間T1;隨后,發(fā)送跟隨報(bào)文Follow_up,將記錄下的時(shí)間戳T1廣播發(fā)出;從時(shí)鐘接收到Sync,即刻標(biāo)記其達(dá)到的本地時(shí)間戳T2;隨即從時(shí)鐘返回Delay_Req,記錄發(fā)出的時(shí)間戳T3;最后,主時(shí)鐘在時(shí)間戳T4收到Delay_Req,并把時(shí)間戳T4封裝在Delay_Resp中返給從時(shí)鐘。從時(shí)鐘取得這4個(gè)時(shí)間戳信息,便可計(jì)算主從時(shí)鐘時(shí)間偏移量θoffset與平均傳輸延遲Ddelay:
從時(shí)鐘根據(jù)θoffset,并結(jié)合相應(yīng)的控制方法調(diào)整本地時(shí)鐘,使θoffset盡可能小地控制在一定范圍內(nèi),以同步于主時(shí)鐘。
理想時(shí)鐘一般采用晶體振蕩器輸出的脈沖來度量時(shí)間,即
其中:ω(τ)為晶振的頻率;k為常數(shù),取決于晶振的物理特性;t為真實(shí)的時(shí)間變量;c(t)為本地時(shí)鐘時(shí)間變量。
由于晶振的頻率會受溫度變化、晶體老化、電源電壓變化、氣壓等環(huán)境條件影響,并隨時(shí)間流逝發(fā)生變化,可將本地時(shí)鐘簡化建模為[18]
其中ai和bi分別為頻率偏移和相位偏移。隨著時(shí)間的推移,時(shí)鐘差將不斷增大。時(shí)鐘模型的原理如圖2所示。
圖2 時(shí)鐘模型
PID被廣泛應(yīng)用于工業(yè)控制領(lǐng)域,由比例、積分、微分3個(gè)單元組成,其原理為
其中:u(t)為控制器輸出;e(t)為系統(tǒng)誤差;KP為對系統(tǒng)誤差信號e(t)的加權(quán)系數(shù);KI為積分時(shí)間系數(shù);KD為微分時(shí)間系數(shù)。比例項(xiàng)主要控制減小鐘差偏差;積分項(xiàng)主要控制減小鐘差誤差;微分項(xiàng)主要反映時(shí)鐘差的變化趨勢,能在時(shí)鐘差數(shù)值過大之前較早地引入修正值,以減少時(shí)鐘同步系統(tǒng)調(diào)整時(shí)間,增快系統(tǒng)響應(yīng)速度。
從時(shí)鐘控制系統(tǒng)模型如圖3所示,r(t)為標(biāo)準(zhǔn)時(shí)鐘(主時(shí)鐘)時(shí)間,c(t)為從時(shí)鐘時(shí)間,e(t)為主從時(shí)鐘差,作為PID 輸入,并利用式(8)得到PID 控制量u(t),從時(shí)鐘根據(jù)u(t)不斷調(diào)整從時(shí)鐘頻率,消除其與主時(shí)鐘的偏差。由此易知,控制器的3個(gè)參數(shù)KP、KI、KD是保證最佳時(shí)鐘同步性能的關(guān)鍵,直接影響時(shí)鐘同步精度。
圖3 從時(shí)鐘控制系統(tǒng)模型
對于復(fù)雜未知的時(shí)鐘同步網(wǎng)絡(luò),PID需要根據(jù)網(wǎng)絡(luò)特性實(shí)時(shí)整定其最優(yōu)參數(shù),以滿足同步控制系統(tǒng)的精度、超調(diào)量、響應(yīng)速度、收斂時(shí)間等性能需求。為了獲得最佳的PID控制效果,將PID參數(shù)整定作為三維參數(shù)優(yōu)化問題。因此,采用BAS與PID相結(jié)合的方法,利用BAS智能搜索一組PID參數(shù),根據(jù)優(yōu)化準(zhǔn)則實(shí)時(shí)自整定控制。通過對PID 參數(shù)的不斷更新,對從時(shí)鐘的頻率進(jìn)行自適應(yīng)控制,使其朝著減小偏移誤差的方向變化,直到e(t)滿足系統(tǒng)要求,最終達(dá)到理想的同步效果?;贐AS的PID控制系統(tǒng)原理框圖如圖4所示。
BAS作為一種迭代算法,其優(yōu)化搜索過程是將評價(jià)控制系統(tǒng)性能的適應(yīng)度函數(shù)最小化。將時(shí)間乘絕對誤差積分 (ITAE) 作為優(yōu)化目標(biāo)函數(shù):
天牛須搜索算法是2017年提出的一種新的基于群優(yōu)化的元啟發(fā)式智能算法,其仿生尋優(yōu)靈感源于天牛覓食行為。天牛利用身體兩側(cè)的觸角尋找食物,當(dāng)一側(cè)的觸角靠近食物時(shí),觸角所接收到的食物氣味更強(qiáng)烈,個(gè)體便向那一側(cè)移動(dòng)。與傳統(tǒng)的啟發(fā)式算法不同的是,天牛須尋優(yōu)只需天牛一個(gè)個(gè)體,因此其搜索過程快、運(yùn)算量低。天牛的當(dāng)前位置即為所求解問題的可行解,食物的氣味強(qiáng)度即為目標(biāo)函數(shù)。標(biāo)準(zhǔn)BAS算法原理如下:
1)若天牛個(gè)體在k維解空間中的位置為
其中:t為迭代次數(shù);xr為右觸須位置;xl為左觸須位置;x t為當(dāng)前天牛的位置,d t為當(dāng)前天牛觸須長度。若左觸角感受到的氣味比右觸角強(qiáng)烈,則天牛向左移動(dòng);否則,向右移動(dòng)。天牛根據(jù)探測到的氣味的方向來選擇自己的搜索行為,通過判斷氣味的強(qiáng)度來確定天牛的下一步位置。
4)更新天牛的下一步位置:
其中:δt為搜索步長;sign(·)為符號函數(shù);f(·)為優(yōu)化函數(shù);c為移動(dòng)方向,若優(yōu)化目標(biāo)是搜索最大值,則c=-1,若為最小值,則c=+1。
5)更新天牛步長δt與觸須長度d t:
通常,eta_δ與eta_d為衰減系數(shù),取值為0~1,典型取值為0.95。將BAS應(yīng)用于PID 控制器中,BASPID時(shí)鐘同步控制系統(tǒng)參數(shù)整定流程圖如圖5所示。
圖5 BAS-PID時(shí)鐘同步控制系統(tǒng)參數(shù)整定流程圖
在當(dāng)前迭代中,天牛的位置應(yīng)使ITAE最小化,從而更新PID參數(shù)。若時(shí)鐘同步控制系統(tǒng)的可控性滿足實(shí)際工程應(yīng)用要求或搜索過程達(dá)到最大迭代次數(shù),則將天牛的最優(yōu)位置作為最終的PID參數(shù),時(shí)鐘同步系統(tǒng)停止運(yùn)行。
用Simulink建立主從時(shí)鐘同步仿真。假設(shè)主時(shí)鐘是一個(gè)標(biāo)準(zhǔn)的時(shí)鐘,其數(shù)學(xué)表達(dá)式為y=t,而從時(shí)鐘由于本地晶體振蕩器等各種誤差因素,與標(biāo)準(zhǔn)時(shí)間存在一定偏差。從時(shí)鐘可假定為y=t+m,m是主從時(shí)鐘差,由高斯噪聲生成。為實(shí)現(xiàn)從時(shí)鐘相對于主時(shí)鐘的同步狀態(tài),通過調(diào)整從時(shí)鐘的頻率,補(bǔ)償鐘差。因此,仿真時(shí),將從時(shí)鐘引入一個(gè)可調(diào)節(jié)的變量Δk,即從時(shí)鐘的數(shù)學(xué)模型改為y=(1+Δk)t+m,通過調(diào)節(jié)Δk以控制從時(shí)鐘的頻率。
為驗(yàn)證基于BAS-PID控制方法在時(shí)間同步方面的性能,將BP-PID和PSO-PID與BAS-PID進(jìn)行比較。各方法的參數(shù)設(shè)置如表1所示。
表1 各方法參數(shù)設(shè)置
BAS-PID與PSO-PID設(shè)置最大迭代次數(shù)為50,PID參數(shù)的求解范圍均設(shè)為[0,1],仿真時(shí)間設(shè)為200 s,同步周期T設(shè)為1 s,即201個(gè)采樣點(diǎn)。
圖6為未經(jīng)時(shí)鐘系統(tǒng)同步的原始時(shí)鐘差,由高斯白噪聲產(chǎn)生,鐘差數(shù)值為10-5s數(shù)量級。圖7為在相同條件下,分別采用BAS-PID、PSO-PID、BP-PID控制方法經(jīng)時(shí)鐘同步系統(tǒng)得到的時(shí)鐘差曲線。
圖6 原始時(shí)鐘差
圖7 BAS-PID、PSO-PID、BP-PID方法結(jié)果對比
從圖7可看出,3種方法均可減小時(shí)鐘差,但BPPID的時(shí)鐘同步精度相對其它2種來說,同步精度不高,收斂時(shí)間較長,同步效果不理想。與BP-PID 相比,BAS-PID和PSO-PID能較大程度地減小時(shí)間同步的偏移誤差,并可較快收斂到較小的鐘差值。為了更清晰地看到BAS-PID和PSO-PID這2種方法的同步效果,截取圖7的局部進(jìn)行放大,如圖8所示。
圖8 局部放大
圖8為圖7中同步時(shí)間為35~85 s,即由時(shí)鐘同步系統(tǒng)初始響應(yīng)到趨于穩(wěn)定時(shí)的局部放大圖。從圖8可看出,BAS-PID性能略優(yōu)于PSO-PID,能提高時(shí)間同步精度。同時(shí),為了對比兩者的收斂速度與求解性能,采用ITAE對基于BAS-PID與基于PSO-PID的時(shí)鐘同步系統(tǒng)進(jìn)行評估。圖9為系統(tǒng)的BAS-PID與PSO-PID的ITAE性能曲線,截取迭代次數(shù)前20次結(jié)果以作觀察。
圖9 BAS-PID與PSO-PID性能曲線
從圖9可看出,與PSO-PID 相比,BAS-PID 具有略快的收斂速度與較好的尋優(yōu)性能。綜上所述,提出的基于BAS-PID控制方法在時(shí)鐘同步系統(tǒng)中上具有略優(yōu)的同步性能。
將時(shí)間同步建模為控制系統(tǒng)問題,在主時(shí)鐘和從時(shí)鐘模型的基礎(chǔ)上,將一種新的智能優(yōu)化算法BAS應(yīng)用于PID,以控制時(shí)鐘頻率,并取得較好的同步精度。同時(shí),針對系統(tǒng)的穩(wěn)定性、降低超調(diào)量、參數(shù)的穩(wěn)定域設(shè)計(jì)、減少控制系統(tǒng)的代數(shù)環(huán)等問題,未來可通過改進(jìn)算法,設(shè)置合適的步長或其它參數(shù)等方法進(jìn)行研究。