黃化吉,吳其偉,江 銳,袁金保,楊雪松
(偉樂視訊科技股份有限公司,廣東 惠州 516025)
目前,在工業以太網應用中,網絡時鐘同步是一個核心技術。高精度時間同步協議(Precision Time Protocol,PTP)是標準化的精確時間協議,可以達到甚至超過亞微秒級的同步精度,特別適合分布式系統和以太網傳輸,是目前應用廣泛的一種網絡時鐘同步協議[1]。
SMPTE ST 2110標準是SDI over IP技術最新的標準,是數字音視頻領域IP專業流媒體標準,非常適合超高清制播系統下4K超高清電視節目的傳輸。ST 2110標準采用PTP作為時鐘同步技術,對流媒體網絡中各個設備進行全網時鐘同步[2-3]。
在PTP的基礎上,本文提出了一種時鐘同步方法,能夠較好地實現從時鐘對主時鐘的快速同步,且能合理平衡同步精度和穩定度。目前,該方法已經應用于偉樂視訊科技股份有限公司SDI over IP技術的相關產品中,并取得了良好性能。
IEEE 1588協議定義了一個能夠在測試和控制系統中實現高精度時鐘同步的協議——精準時鐘同步協議(PTP)。該協議應用于以太網,適用于任何滿足多點通信的分布式控制系統,對采用多播技術終端的時鐘可實現亞微秒級同步。
PTP通過報文傳送建立時鐘同步關系。在一個PTP通信子網中,可以把設備時鐘分為主時鐘和從時鐘。全網中時鐘精度最高的設備的時鐘可作為主時鐘,其余設備時鐘為從時鐘。PTP采用這種主從模式和時間戳機制進行報文交互,對時間戳進行編碼并傳送,在從時鐘設備對時間戳進行計算并校準時間。
PTP時鐘同步的原理是主時鐘和從時鐘之間通過報文傳輸并記錄報文的收發時間,從相互傳遞的4個時間戳中計算得到主從時鐘之間的往返時延和主從時鐘之間的時間偏差,從而對從時鐘的時間進行偏差校正。PTP主從時鐘同步過程如圖1所示。

圖1 PTP主從時鐘同步過程
具體同步過程可以分為4個報文過程[4]。
(1)主時鐘在T1時刻向從時鐘發送一個sync報文,以開啟一次時鐘同步,而從時鐘則在T2時刻接收到該報文。
(2)主時鐘在發送sync報文后會再次發送一個follow_up跟隨報文,該報文包含發送sync報文的時間戳T1。
(3)從時鐘接收到跟隨報文后,在T3時刻給主時鐘發送一個delay_req延時請求報文,而主時鐘在T4時刻接收到該報文。
(4)主時鐘在接收到delay_req延時報文后,會對從時鐘響應一個delay_rsp延時響應報文,且延時響應報文中會攜帶T4時刻的信息。
從以上T1、T2、T3和T4這4個時間戳可以計算出主從時鐘的往返時延Tdelay和時延偏差Toffset。假設Tdelay1和Tdelay2分別是主時鐘到從時鐘和從時鐘到主時鐘的時延,則有:

假設主從通信的傳輸路徑對稱,式(1)和式(2)中的時延Tdelay1和Tdelay2相同,即Tdelay1=Tdelay2=Tdelay,則有:

如果主從通信中的傳輸路徑非對稱,可以假設Tdelay1=Tdelay+TΔ,Tdelay2=Tdelay-TΔ,式(4)不改變,Tdelay即重定義為往返的平均時延,則式(3)變為:

式(5)表示通過時間戳計算得到的T′offset,包含了一個固定的時延偏差TΔ。在更多的應用場景中,主從時鐘的同步關心的是主從時鐘的頻差,TΔ的存在僅增加了同步時延,并不影響從T′offset中恢復頻差信息的收斂性和穩定性。因此,在本文所提出的同步方法中以Toffset來分析主從時鐘的同步及優化。
從時鐘得到與主時鐘之間的Toffset后,可以根據Toffset來校正從時鐘的時刻點。校正操作的核心內容是從時鐘相對于主時鐘頻率偏差的校正,使得從時鐘的頻率能夠較好地跟蹤主時鐘的頻率,從而達到同步。
本文研究PTP時鐘同步的建模模型如圖2所示。該模型中,主從時鐘之間會周期性間隔250 ms(間隔可以根據實際情況修改)發起一次時鐘同步操作。每次同步操作都會得到一個Toffset值,從而形成一個Toffset時間序列。由于網絡存在不穩定性和測量誤差等,以上得到的Toffset并不能很好地反映主從時鐘之間的頻率偏差,可以看作是真實值疊加噪聲干擾的結果。本文所提的PTP時鐘同步方法的目標是通過一定的濾波算法,盡量消除Toffset時間序列中的噪聲影響,得到更精確的AF_Toffset數據,進一步通過合理的反饋控制算法使從時鐘能夠較好地還原主從時鐘時間的頻差信息Toffset,并用Toffset對從時鐘進行頻偏校正,使其自適應跟蹤主時鐘的頻率。
Toffset序列反映了主從時鐘的頻差及設備處理和網絡的時延抖動噪聲。主從時鐘的頻差隨著時間的延長會緩慢積累,與非特殊場景下的時延抖動噪聲不同。數據濾波的目的是要降低噪聲影響,從而使頻差結果更趨于平穩。從Toffset序列的特征分析,可以考慮使用遞推平均濾波法或一階滯后濾波法對Toffset進行濾波去噪。

圖2 PTP時鐘同步模型
2.2.1 遞推平均濾波法
遞推平均濾波法也叫滑動平均濾波法,是把連續N個樣本點看成一個隊列,采用先進先出原則,每次采樣的新樣本進入隊尾,同時丟棄隊首的一個樣本點,之后對隊列中的N個數據進行算數平均運算獲得濾波結果,用公式可表示為:

只要選取合適的N值,遞推平均濾波法即可對周期性干擾和白噪聲干擾產生較強的抑制作用。由于濾波長度為N,對于偶然出現的脈沖性干擾會持續影響N個點的濾波輸出,因此對脈沖性干擾的抑制作用較差。另外,由于需要N個濾波樣點,因此所需的存儲空間較大。
2.2.2 一階滯后濾波法
一階滯后濾波法是取本次樣本值與上次濾波結果進行加權平均,權值可以通過經驗進行調整。若令α為加權系數,則濾波算式可以表示為:

只要選取合適的加權系數,一階滯后濾波對周期性干擾和白噪聲干擾也有較強的抑制作用,不足之處在于存在一定的相位滯后性,且不能消除濾波頻率高于采樣頻率1/2的干擾信號。由于一階滯后濾波的反饋環節會對后續的濾波存在持續影響,因此一階滯后濾波對脈沖性干擾的抑制作用也較差。它的突出優點是當前濾波結果僅與當前樣本點及上一次的濾波結果相關,因此算法簡單且無需過多的存儲空間,實現復雜度低。
如圖2所示的PTP時鐘同步模型的最主要功能在于,根據濾波后的AF_Toffset數據設計一個既合理又簡單的反饋控制跟蹤算法,使從時鐘能夠較好地跟蹤主時鐘頻率。從實際應用場景出發,從時鐘的反饋控制跟蹤算法需要兼顧收斂速度、跟蹤準確性及跟蹤穩定性3個特性。算法收斂速度表征在頻差跟蹤過程中,如果出現突發的偏離均值較大的噪聲樣點,算法輸出結果能夠快速收斂到正常值水平;算法的準確性表現在能夠準確得到從時鐘與主時鐘之間的頻差信息且結果誤差小;算法的穩定性表現在每次同步計算得到頻差結果波動小,能滿足控制壓控晶振或時鐘頻率校準模塊穩定工作。
比例積分微分(Proportion Integration Differentiation,PID)控制算法是工業控制中應用最廣泛的一種自動控制算法,具有原理簡單、易于實現、適用性廣、控制參數相互獨立以及參數選定簡單等優點。對于過程控制的“一階滯后+純滯后”及“二階滯后+純滯后”對象,PID控制算法是最優控制算法。本文在綜合前述算法跟蹤特性需求的基礎上,采用PID控制算法對頻差進行跟蹤。
設頻差為Foffset,則有:

式中,kp、ki及kd分別為PID控制算法中比例、積分及微分環節的系數。kp代表的比例項能迅速反映誤差,從而減小誤差,但是不能消除穩態誤差,且過大的kp參數會導致系統不穩定;ki代表的積分項能消除靜態誤差,缺點是控制作業緩慢,且過強的積分作用會使系統的超調量加大,甚至出現振蕩;kd代表的微分項能預測誤差變化的趨勢,減小超調量,并克服振蕩,提高系統的穩定性,加快系統的動態響應速度,減小調整時間,從而改善系統的動態性能。
當算法剛開始啟動或者受到外部干擾出現突發大噪聲樣點時,希望算法能快速收斂,因此需要設置較大的kp參數和ki參數;當算法收斂到一定程度后,希望算法能有較好的穩定性和較小的頻差波動,因此需要設置較小的kp參數和ki參數[5]。因此,改進的PID算法在啟動及中途判斷當前AF_Toffset對歷史均值的偏離程度,如果偏離超過一個預設的判定閾值,則使用一套較大的kp參數和ki參數;當偏離程度回歸,小于預設的判定閾值后,則使用另一套較小的kp參數和ki參數[6]。
算法的驗證分為兩部分:一是使用Matlab建模PTP同步模型并進行仿真驗證,找到合適的參數;二是將該算法應用于符合ST 2110標準的SDI over IP的相關產品,實際測試主從時鐘的同步效果。
使用Matlab建模如圖2所示的PTP時鐘同步模型,以主時鐘為基準時鐘,設定從時鐘與主時鐘的頻率偏差ΔF為2×10-5。主從時鐘每隔250 ms發起一次時鐘同步操作,同步操作結束后,從時鐘計算產生一個Toffset。先由Toffset濾波得到AF_Toffset,再由AF_Toffset經式(8)計算得到Foffset。仿真過程中,在主從時鐘往返時延Tdelay上人為疊加一個幅度介于[-E,E]之間偽隨機數ETdelay的干擾,用于驗證往返時延抖動大小對計算結果的影響情況。為了能相對較為直觀地分析算法性能,取Foffset與主從時鐘的頻差ΔF的差值ΔFoffset曲線進行數據分析:


圖3 Matlab仿真Toffset和ΔFoffset結果
根據算法建模仿真得到Toffset和ΔFoffset的結果,如圖3所示,其中圖3(b)還根據振蕩收斂情況繪制了曲線的包絡線。在圖3的示例中,噪聲的最大值E取20 μs,未使用任何數據濾波算法。PID參數采用經驗進行整定,有kp=12 800/250、ki=125/250、kd=32/250。
(1)取ΔFoffset曲線的包絡線收斂速度來研判算法的整體收斂速度,包絡線收斂的越快,表明算法的收斂速度越快;
(2)取ΔFoffset穩定后樣點的均值來研判算法收斂結果的準確度,均值越接近0,表明算法準確性越高;
(3)取ΔFoffset穩定后樣點的均方差來研判算法收斂的穩定性,均方差值越小,表明算法的穩定性越高。
其中,(2)和(3)能直接反映PTP時鐘同步精度的參量,而(1)體現的收斂速度對算法的實際應用具有非常重要的意義。如果不能夠快速收斂,將會在很大程度上降低算法的實際應用價值。
3.1.1 PID參數整定
ΔFoffset曲線的包絡線收斂速度主要取決于PID參數的整定。根據以上分析,收斂速度和收斂后結果的幅度波動大小難以同時滿足。
不同的PID參數下,ΔFoffset曲線收斂的速度比較如圖4所示。圖4(a)曲線收斂速度慢,需要約5 000個樣點后才能收斂到較平穩的結果,且收斂穩定后最終結果波動小,序列的均方差為0.837 2。圖4(b)曲線收斂速度快,約500個樣點后收斂到平穩結果,且收斂后結果波動較大,序列的均方差為3.841 7。
改進的自適應PID控制算法取兩組PID參數,其中第一組參數在剛開始啟動時用于曲線快速收斂,當收斂到一定程度后即自適應地轉換到第二套參數用于曲線的平穩收斂。
自適應PID控制算法的曲線收斂仿真結果如圖5所示。可以看出,改進后的自適應PID控制算法可以在曲線的收斂速度和收斂平穩度方面取得較好的效果。
3.1.2 主從時鐘往返時延抖動的影響
主從時鐘的往返時延抖動是影響時鐘同步精度的重要因素。為了研究兩者的關系,在圖2的PTP同步模型中旁路數據濾波模塊的功能,而反饋控制環節使用前述的自適應PID控制。

圖4 不同PID參數下ΔFoffset曲線收斂的結果比較

圖5 自適應PID控制算法結果
主從時鐘往返時延抖動與頻差穩定度關系的仿真結果如圖6所示。對往返時延疊加一個幅度介于[-E,E]的偽隨機數ETdelay的干擾,E從0逐步遞增至20 μs,觀察其與ΔFoffset均方差之間的關系。結果表明,往返時延的抖動程度與ΔFoffset的離散程度正相關。因此,控制往返時延抖動對提高時鐘同步的精度具有積極意義。
3.1.3 濾波算法優化
為了研究數據濾波對PTP時鐘同步的影響,將主從時鐘的時延抖動控制在如圖6所示的[-20,20]μs進行仿真,比對使用遞推平均濾波法和一階滯后濾波法進行濾波的結果。同樣地,反饋控制環節使用前述的自適應PID控制。
一階滯后濾波參數α的取值與頻差穩定度的關系,如圖7所示。可以看出,當α=0.9時,頻差穩定度性能最優,最優ΔFoffset均方差值約為0.071,較未使用濾波前的0.236有較大幅度的優化。
遞推平均濾波法濾波窗取值與頻差穩定度的關系如圖8所示。過大的濾波窗N會導致Foffset曲線出現振蕩,從而引起ΔFoffset均方差曲線遞增。可以看出,當濾波窗N取值在[20,25]時,頻差穩定性能最優,最優ΔFoffset均方差值約為0.07,較未使用濾波前的0.236有較大幅度的優化。

圖6 主從時鐘往返時延抖動與頻差穩定度關系
一階滯后濾波法與遞推平均濾波法所能獲得的最優頻差穩定性能大致相當。在其他條件相同的情況下,不論使用一階滯后濾波法還是遞推平均濾波法,都比不使用任何濾波方法獲得更好的頻差穩定性。
依照仿真分析的結果,將自適應PID控制算法及α=0.9的一階滯后濾波算法應用于偉樂視訊科技股份有限公司的SMPTE ST 2110標準的SDI over IP產品。該產品使用xilinx ZYNQ7000系列的FPGA實現主要功能。
對PTP時鐘同步系統進行測量的實際測試場景,如圖9所示。SPG8000A是泰克公司主控同步及主控時鐘參考信號發生器,可以發出Genlock同步鎖定信號及網絡PTP協議報文;SDI Source是SDI信源產生設備,接收SPG8000A發送的Genlock信號并產生SDI信號;SDI TX和SDI RX是偉樂視訊科技股份有限公司符合SMPTE ST 2110標準的SDI over IP產品,均通過內部以太網與SPG8000A同步;監測同步的設備是泰克公司的PRISM混合SDI/IP媒體分析平臺設備,可以分析SPG8000A輸出的Genlock信號與所接收的SDI信號之間的視頻幀行場同步關系。視頻幀的行場同步關系,可反映時鐘同步的精度。

圖7 一階滯后濾波取值與頻差穩定度關系

圖8 遞推平均濾波法濾波窗取值與頻差穩定度關系

圖9 PTP時鐘同步實際測試場景示意圖
經過PTP同步后,在泰克PRISM設備上測試得到時鐘偏差,結果如圖10所示。圖10中,十字交叉位置點表示Genlock信號的行場起始位置點(固定不動),圓形位置點表示同步后SDI信號的行場起始位置點(依據同步的情況會小幅左右擺動),圓形位置與十字形位置的偏差表示時延,圓形位置的浮動情況則表示同步后的穩定性情況。圖10(a)為簡單網絡環境,僅存在一個交換設備,實際測量結果時延偏差在550 ns(約81個像素點)左右小幅擺動,長時間觀測擺動幅度在[-100,100]ns;圖10(b)為復雜網絡環境,存在多級交換設備,且交換設備上同時存在其他主機,實際測量結果時延偏差在1.5 μs(約223個像素點)左右擺動,長時間觀測其擺動幅度在[-230,230]ns,滿足產品的指標要求。

圖10 PTP時鐘同步實際測試環境測試結果
本文分析PTP時鐘同步協議的同步原理和過程,提出了一種時鐘同步方法,對PTP協議同步后從時鐘得到的時間偏移Toffset進行數據濾波,較好地消除了網絡干擾的影響。同時,采用改進的PID控制算法對從時鐘的時鐘頻率進行頻偏校正,使用Matlab建模仿真分析了算法的性能指標,并將該方法實際應用到產品設計,同時比對測試了不同網絡環境下網絡的時延抖動對時鐘同步精度產生的影響。隨著基于SMPTE ST 2110標準的設備的普及,PTP同步方法將用于偉樂視訊科技股份有限公司相關視頻處理設備的時鐘同步設計,以獲得進一步完善和發展。