一種時間同步方法
【專利摘要】本發(fā)明是一種時間同步方法,分別對相位和頻率的測量值進(jìn)行一次指數(shù)平滑濾波,每次計算只使用上次的計算結(jié)果和本次的單次測量值,計算量大大減少,通過連續(xù)的迭代運(yùn)算,算法可以穩(wěn)定地收斂于統(tǒng)計期望值附近,使用本發(fā)明的算法,可以使用較低的硬件成本,高精度地補(bǔ)償全球定位系統(tǒng)輸出的隨機(jī)時間誤差,并精確地測量高穩(wěn)晶振的頻率,為設(shè)計高精度時鐘及提高時鐘守時精度提供了支持。
【專利說明】—種時間同步方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及一種以全球定位系統(tǒng)的時間/[目號及聞穩(wěn)晶振的頻率?目號為基礎(chǔ),聞精度地重建標(biāo)準(zhǔn)時間與頻率的算法。該算法可廣泛應(yīng)用于電力系統(tǒng)及其自動化、廣播電視、通信等需要高精度時間與頻率同步的領(lǐng)域。
【背景技術(shù)】[0003]全球定位系統(tǒng)(包括在役的美國GPS系統(tǒng),俄羅斯的GL0NASS系統(tǒng),中國的北斗系統(tǒng),以及建設(shè)中的歐洲的伽利略系統(tǒng))為全球定位和時間及頻率同步提供了方便快捷的手段。由全球定位系統(tǒng)衛(wèi)星信號解算出的時間信號雖然沒有累積誤差,具有優(yōu)異的長期時間穩(wěn)定性,但由于受星歷誤差、電離層誤差、對流層誤差、多徑誤差、接收機(jī)誤差、跟蹤衛(wèi)星數(shù)過少等因素的影響,全球定位系統(tǒng)地面接收機(jī)直接輸出的時間信號的精度和穩(wěn)定性都難以得到保證。在全球定位系統(tǒng)地面接收機(jī)正常工作時,其輸出的秒脈沖時間誤差服從正態(tài)分布,廠級給出的精度指標(biāo)通常也是使用正態(tài)分布的標(biāo)準(zhǔn)差σ。以一個秒脈沖精度為0.1ys的全球定位系統(tǒng)地面接收機(jī)為例,其輸出的秒脈沖信號在小時級的觀察里也會觀察到接近0.4μ s的粗大誤差,在衛(wèi)星實(shí)驗(yàn)跳變的情況下,有試驗(yàn)更記錄到IOms量級的時間跳變。在電力系統(tǒng)自動化領(lǐng)域,希望時間裝置能提供時間精度優(yōu)于1μ s,頻率精度能保證I小時內(nèi)守時誤差小于1μ S,顯然,直接使用全球定位系統(tǒng)地面接收機(jī)輸出的時間信號難以滿足要求。
[0004]為解決上述問題,長沙電力學(xué)院曾祥君、尹項(xiàng)根等人在《中國電機(jī)工程學(xué)報》2002年第12期上發(fā)表了一篇“GPS時鐘在線監(jiān)測與修正方法”的文章,提出了一種綜合利用GPS時鐘無誤差積累和高穩(wěn)晶振優(yōu)越的頻率穩(wěn)定性的特點(diǎn),通過現(xiàn)行回歸分析,對GPS輸出的時間信號進(jìn)行補(bǔ)償并高精度測量高穩(wěn)晶振頻率的方法,該方法要利用前η次GPS輸出的秒脈沖的頻率計數(shù)進(jìn)行線性回歸分析,算法復(fù)雜,需要較高運(yùn)算能力的CPU才能支持。在此基礎(chǔ)上,曾祥君等人在其發(fā)明專利(00131107.7) “一種暫態(tài)化過程同步記錄方法及裝置”中,只是近似實(shí)現(xiàn)了該算法,而且該發(fā)明中所能實(shí)現(xiàn)的時間和頻率精度也不夠理想。清華大學(xué)謝小容、李建等人在發(fā)明專利(200410009685.2) “北斗一號衛(wèi)星導(dǎo)航系統(tǒng)與GPS互備授時方法及裝置”中提出了一種與曾祥君等人所述算法極其類似的算法,該算法中,由于北斗時間信號使用了分脈沖,導(dǎo)致采用樣本長,計算量大,算法收斂慢,當(dāng)環(huán)境溫度變化快時,影響聞穩(wěn)晶振的頻率跟蹤精度。
[0005]曾祥君和謝小榮等人所實(shí)現(xiàn)的算法都以線性回歸為基礎(chǔ),每次計算都要重新投入前η次樣本的測量值進(jìn)行計算,計算量大,不利于使用單片機(jī)的低成本實(shí)現(xiàn)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明旨在提供一種時間同步方法,以克服現(xiàn)有技術(shù)存在的上述缺陷,所要解決的技術(shù)問題是:通過重建理想的UTC時間秒脈沖,大幅度降低計算量,以降低硬件成本,并高精度地補(bǔ)償全球定位系統(tǒng)輸出的隨機(jī)時間誤差,精確地測量高穩(wěn)晶振的頻率。
[0007]為了解決上述技術(shù)問題,本發(fā)明采用了以下技術(shù)方案:
一種時間同步方法,其特征在于:以高穩(wěn)晶振輸出的頻率信號為計數(shù)器和鑒相器的CLK輸入,將全球定位系統(tǒng)地面接收機(jī)輸出的秒脈沖X輸入計數(shù)器,計數(shù)器記錄下每個秒脈
沖對應(yīng)的計數(shù)值X,并將其存入單片機(jī)中,形成一個計數(shù)值序列:{x1; X2, X3,......, Xn },當(dāng)
計數(shù)值序列中的元素數(shù)量累積到設(shè)定值N時,開始高穩(wěn)晶振頻率的跟蹤與測量,并進(jìn)行秒脈沖的恢復(fù)與重建;
其中,高穩(wěn)晶振頻率的跟蹤與測量方法如下:
進(jìn)行高穩(wěn)晶振頻率的第一次估算,算法為=Z1=Un-X1V(N-1),
當(dāng)計數(shù)器記錄到第N+ I個秒脈沖的計數(shù)值xN + 1時,將計數(shù)值序列更新為{ X2, X3,X4……,ΧΝ+1 },并用一次指數(shù)平滑法對高穩(wěn)晶振的頻率進(jìn)行迭代運(yùn)算,將估計值更新為:z2=(1-α)* Z1+α *[(χΝ+1-χ2)/(N-1)],
同理,對于第k次頻率估計,其計算方法為:zk=(l_a)* Zlrf+a *[ (Xiwrf-Xk)/(N-1)],a為設(shè)定的O—I之間的數(shù);
其中,秒脈沖的恢復(fù)與重建方法如下:
第一個秒脈沖的重建方法為:
計算出待寫入比較器的值Y1為:yi=xN + Z1,
單片機(jī)將Y1寫入比較器,當(dāng)計數(shù)器計數(shù)到y(tǒng)i時,比較器觸發(fā)輸出重建的秒脈沖Y,
后續(xù)秒脈沖的重建方法為:
設(shè)產(chǎn)生當(dāng)前秒脈沖對應(yīng)的比較器的值為yk,鑒相器測量出秒脈沖Y與秒脈沖X的相差為wk,鑒相器設(shè)計成X超前Y為正相差,當(dāng)前的晶振頻率估計值為zk,則產(chǎn)生下個秒脈沖的估計值yk+1為:yk+i=yk+zk+P *wk, β為設(shè)定的O — I之間的數(shù)。
[0008]當(dāng)全球定位系統(tǒng)地面接收機(jī)失鎖時,利用計算出的高穩(wěn)晶振的頻率,維持系統(tǒng)的高精度守時,方法為如下兩種之一:
第一種方法:單片機(jī)利用失鎖前最后一秒的頻率值ζ和比較器值yk計算下一個要寫入比較器用來產(chǎn)生秒脈沖的數(shù)值yk+1,計算公式為:yk+1=int(yk+Z+Ak),其中Δ k= (yk-1+z+ Δ η) - yk,失鎖期間一直使該計算公式計算產(chǎn)生秒脈沖的寫入比較器的數(shù)值,維持時鐘的守時輸出。
[0009]第二種方法:單片機(jī)利用失鎖前最后一秒的頻率值ζ和比較器值yk計算下一個要寫入比較器用來產(chǎn)生秒脈沖的數(shù)值yk+1,計算公式為:yk+1=int(yk+z+Ak+0.5),其中Ak=(yk_1+Z+Ak_1)- yk,失鎖期間一直使用該計算公式計算產(chǎn)生秒脈沖的寫入比較器的數(shù)值,維持時鐘的守時輸出。
[0010]優(yōu)選地,a和β對應(yīng)卡爾曼濾波算法中的“卡爾曼增益”。
[0011]本發(fā)明的積極效果在于:本發(fā)明的算法分別對相位和頻率的測量值進(jìn)行一次指數(shù)平滑濾波,每次計算只使用上次的計算結(jié)果和本次的單次測量值,計算量大大減少,通過連續(xù)的迭代運(yùn)算,算法可以穩(wěn)定地收斂于統(tǒng)計期望值附近,使用本發(fā)明的算法,可以使用較低的硬件成本,高精度地補(bǔ)償全球定位系統(tǒng)輸出的隨機(jī)時間誤差,并精確地測量高穩(wěn)晶振的頻率,為設(shè)計高精度時鐘及提高時鐘守時精度提供了支持?!緦@綀D】
【附圖說明】
[0012]圖1是不同時源秒脈沖誤差特性比較圖。
[0013]圖2是本發(fā)明方法實(shí)施例的原理圖。
[0014]圖3是全球定位系統(tǒng)地面接收機(jī)鎖定時的算法流程圖。
【具體實(shí)施方式】
[0015]下面結(jié)合附圖和實(shí)施例進(jìn)一步說明本發(fā)明。
[0016]如圖1所示,第一行代表理想的UTC時間秒脈沖,每秒一個時間脈沖;第二行代表全球定位系統(tǒng)地面接收機(jī)輸出的秒脈沖,如圖中所示,地面接收機(jī)輸出的秒脈沖相對理想秒脈沖會有一個隨機(jī)誤差,當(dāng)長期運(yùn)行時,它沒有累積誤差;第三行為高穩(wěn)晶振分頻后產(chǎn)生的秒脈沖,其特點(diǎn)是從每一個秒脈沖的脈沖間隔非常均勻,但偏差是同向的,長時間運(yùn)行偏差將逐漸累積,其短期精度優(yōu)于全球定位系統(tǒng)地面接收機(jī)而長期精度不如后者。本發(fā)明通過綜合利用全球定位系統(tǒng)地面接收機(jī)和高穩(wěn)晶振的優(yōu)點(diǎn),使重建的秒脈沖更接近理想UTC時間。
[0017]重建理想的UTC時間秒脈沖的問題,可以分解成高精度的測量高穩(wěn)晶振頻率和估計秒脈沖時刻這兩個問題,要解決這兩個問題,可以通過使用如圖2所示的系統(tǒng)(其中的計數(shù)器、鑒相器和比較器代表功能,不代表現(xiàn)實(shí)的物理實(shí)現(xiàn),實(shí)際實(shí)現(xiàn)中可能由一個器件完成),并通過以下方法實(shí)現(xiàn)。
[0018]1、聞穩(wěn)晶振頻率的跟蹤與測量:
以高穩(wěn)晶振輸出的頻率信 號(通常為IOMHz -1OOMHz的信號,較高的頻率有助于提高時間分辨率,提高精度)為計數(shù)器和鑒相器的CLK輸入,將全球定位系統(tǒng)地面接收機(jī)輸出的秒脈沖X輸入計數(shù)器,使用計數(shù)器記錄下每個秒脈沖對應(yīng)的計數(shù)值X,并將其存入單片機(jī)中,形成一個計數(shù)值序列:(X1, X2,Xy......,XjJ。
[0019]當(dāng)計數(shù)值序列中的元素數(shù)量累積到N時(N的取值與秒脈沖的標(biāo)準(zhǔn)差、高穩(wěn)晶振頻率等因素有關(guān),較大的取值有利于減少結(jié)果標(biāo)準(zhǔn)差,但會降低對晶振頻率變化的跟蹤性能),進(jìn)行高穩(wěn)晶振頻率ζ的第一次估算,算法如下:
Z1=(Xn-X1)/ (N-1)(I)
當(dāng)計數(shù)器記錄到第N+ I個秒脈沖的計數(shù)值xN + 1后,將計數(shù)值序列更新為{ x2, X3,X4……,XN+1 },并用一次指數(shù)平滑法對高穩(wěn)晶振的頻率Z進(jìn)行迭代運(yùn)算,將估計值更新為z2=(l-a)* Z1+*! *[(χΝ+「χ2)/(N-1)](2)
同理,對于第k次頻率估計,其計算方法為:
zk=(l-a)* Zh+α *[ (Xiwrf-Xk)/(N-1)](3)
算法中,α為設(shè)定的O — I之間的數(shù),α的選擇對計算結(jié)果影響很大,卡爾曼濾波算法對的選取具有指導(dǎo)意義。將算式(3)改寫成
zk=zk-1+ α * [ (xN+k-rxk) / (N-1)- Zk-J(4)
則可以發(fā)現(xiàn)式⑷與卡爾曼濾波算法的算法結(jié)構(gòu)及其相似,其中(Xn-Xk)/(N-1)-冗㈠對應(yīng)的就是“新息”,α對應(yīng)的就是“卡爾曼增益”,所以,可以借鑒卡爾曼濾波的思想,根據(jù)秒脈沖X的標(biāo)準(zhǔn)差以及高穩(wěn)晶振的短期穩(wěn)定度來確定α的大小。[0020]通過模擬仿真和實(shí)際產(chǎn)品驗(yàn)證,當(dāng)使用秒脈沖標(biāo)準(zhǔn)差σ = 50ns的GPS模塊,頻率穩(wěn)定度為10 —9的IOM恒溫晶振(實(shí)際系統(tǒng)使用鎖相環(huán)將晶振頻率倍頻到100MHz)時,取Ν=128,α =0.01時,晶振頻率計算結(jié)果的誤差小于0.0lHz0[0021 ] 2、秒脈沖時刻的估計:
在取得晶體的頻率估計值后,可以使用該估計值并使用下面的方法重建標(biāo)準(zhǔn)秒脈沖輸出。
[0022]第一個秒脈沖的重建:
計算獲得第一個晶振頻率估計值后Zi,根據(jù)當(dāng)前秒脈沖的計數(shù)器的計數(shù)值xi,計算出下一個比較器對應(yīng)的估計值為
Yi=Xi + Z1(5)
單片機(jī)將Y1寫入比較器,當(dāng)計數(shù)器計數(shù)到y(tǒng)i時,比較器觸發(fā)輸出重建的秒脈沖Y。
[0023]后續(xù)秒脈沖的重建方法為:
設(shè)產(chǎn)生當(dāng)前秒脈沖對應(yīng)的比較器的值為yk,鑒相器測量出秒脈沖Y與秒脈沖X的相差為wk(X超前Y計為正相差),當(dāng)前的晶振頻率估計值為zk,則產(chǎn)生下個秒脈沖的估計值為yk+i=yk+zk+β *wk;(6)
其中β為設(shè)定的ο — I之間的數(shù)??梢钥吹绞?6)也具有與卡爾曼濾波算法相同的結(jié)構(gòu),其中相差對應(yīng)的就是“新息”,β對應(yīng)“卡爾曼增益”,卡爾曼濾波算法可以指導(dǎo)對β的選擇。
[0024]對于前述的使用秒脈沖標(biāo)準(zhǔn)差σ = 50ns的GPS模塊,頻率穩(wěn)定度為10 —9的IOM恒溫晶振構(gòu)成的系統(tǒng)(實(shí)際系統(tǒng)使用鎖相環(huán)將晶振頻率倍頻到100MHz),當(dāng)選用β=0.1時,系統(tǒng)重建的秒脈沖輸出的標(biāo)準(zhǔn)差小于20ns,精度較原輸入信號明顯提高。
[0025]綜上所述,當(dāng)全球定位系統(tǒng)鎖定時,利用全球定位系統(tǒng)輸出的秒脈沖和高穩(wěn)晶振的頻率信號重建本地時鐘的步驟如圖3。
[0026]進(jìn)一步地,本算法能夠鑒別出輸入的秒脈沖的粗大誤差,當(dāng)全球定位系統(tǒng)地面接收機(jī)失鎖時,利用計算出的高穩(wěn)晶振的頻率,維持系統(tǒng)的高精度守時,方法如下:
當(dāng)全球定位系統(tǒng)地面接收機(jī)失鎖時(地面接收機(jī)會給出失鎖信號),單片機(jī)利用失鎖前最后一秒的頻率值ζ和比較器產(chǎn)生秒當(dāng)前脈沖的值yk計算下一個要寫入比較器用來產(chǎn)生秒脈沖的數(shù)值yk+1,計算公式為:
yk+1=int (yk+z+ Δ k) ;(7)
Δ k= (Yk-1+z+ Δ h) - yk(8)
該算法的實(shí)質(zhì)是在利用高穩(wěn)晶振的頻率累積計算產(chǎn)生秒間隔(yk+z+Ak)的過程中,由于(yk+z+Ak)有可能不是一個整數(shù),而比較器只能寫入整數(shù)值,為維持累積計算的精度,在將計算值的整數(shù)部分寫入比較器后,將剩余的小數(shù)部分累加至后續(xù)的頻率累積中,減少因數(shù)值取整造成的算法損失。該算法可以保證頻率累積過程中的最大誤差不超過I個晶振周期。對于前述的示例系統(tǒng),I小時守時誤差小于I μ S。
[0027]還有一種對式(7)的算法改良,即寫入計較器的值不是直接取(yk+z+Ak)的整數(shù)部分,而是對(yk+z+Λ k)進(jìn)行四舍五入,SP
yk+1=int (yk+z+ Δ k+0.5) ;(9)
其中Ak的計算方法同式(8),該算法可以保證頻率累積過程中的最大誤差不超過半個晶振周期。對于前述的示例系統(tǒng),I小時守時誤差同樣小于I μ S,而且秒周期波動更小。
【權(quán)利要求】
1.一種時間同步方法,其特征在于:以高穩(wěn)晶振輸出的頻率信號為計數(shù)器和鑒相器的CLK輸入,將全球定位系統(tǒng)地面接收機(jī)輸出的秒脈沖X輸入計數(shù)器,計數(shù)器記錄下每個秒脈沖對應(yīng)的計數(shù)值X,并將其存入單片機(jī)中,形成一個計數(shù)值序列:{x1; X2, X3,......, Xn },當(dāng)計數(shù)值序列中的元素數(shù)量累積到設(shè)定值N時,開始高穩(wěn)晶振頻率的跟蹤與測量,并進(jìn)行秒脈沖的恢復(fù)與重建; 其中,高穩(wěn)晶振頻率的跟蹤與測量方法如下: 進(jìn)行高穩(wěn)晶振頻率(Z)的第一次估算,算法為=Z1=Un-X1V(N-1), 當(dāng)計數(shù)器記錄到第N+ I個秒脈沖的計數(shù)值xN + 1時,將計數(shù)值序列更新為{ X2, X3,X4……,ΧΝ+1 },并用一次指數(shù)平滑法對高穩(wěn)晶振的頻率(Z)進(jìn)行迭代運(yùn)算,將估計值更新為:z2=(l-a)* Z1+α *[(χΝ+1-χ2)/(N-1)], 同理,對于第k次頻率估計,其計算方法為:zk=(l_a)* Zlrf+a *[ (Xiwrf-Xk)/(N-1)],a為設(shè)定的O—I之間的數(shù); 其中,秒脈沖的恢復(fù)與重建方法如下: 第一個秒脈沖的重建方法為: 計算出待寫入比較器的值Y1為:yi=xN + Z1, 單片機(jī)將Y1寫入比較器,當(dāng)計數(shù)器計數(shù)到y(tǒng)i時,比較器觸發(fā)輸出重建的秒脈沖Y, 后續(xù)秒脈沖的重建方法為: 設(shè)產(chǎn)生當(dāng)前秒脈沖對應(yīng)的比較器的值為yk,鑒相器測量出秒脈沖Y與秒脈沖X的相差為wk,鑒相器設(shè)計成X超前Y為正相差,當(dāng)前的晶振頻率估計值為zk,則產(chǎn)生下個秒脈沖的估計值yk+1為:yk+i=yk+zk+P *wk, β為設(shè)定的O — I之間的數(shù)。
2.如權(quán)利要求1所述的時間同步方法,其特征在于:當(dāng)全球定位系統(tǒng)地面接收機(jī)失鎖時,利用計算出的高穩(wěn)晶振的頻率,維持系統(tǒng)的高精度守時,方法如下: 單片機(jī)利用失鎖前最后一秒的頻率值Z和比較器值yk計算下一個要寫入比較器用來產(chǎn)生秒脈沖的數(shù)值yk+1,計算公式為:yk+1=int(yk+z+Ak),其中Δk= (y^+z+ΔH)- yk,失鎖期間一直使該計算公式計算產(chǎn)生秒脈沖的寫入比較器的數(shù)值,維持時鐘的守時輸出。
3.如權(quán)利要求1所述的時間同步方法,其特征在于:當(dāng)全球定位系統(tǒng)地面接收機(jī)失鎖時,利用計算出的高穩(wěn)晶振的頻率,維持系統(tǒng)的高精度守時,方法如下: 單片機(jī)利用失鎖前最后一秒的頻率值z和比較器值yk計算下一個要寫入比較器用來產(chǎn)生秒脈沖的數(shù)值yk+1,計算公式為:yk+1=int(yk+z+Ak+0.5),其中Δ k= (yyz+Δ㈠)-yk,失鎖期間一直使用該計算公式計算產(chǎn)生秒脈沖的寫入比較器的數(shù)值,維持時鐘的守時輸出。
4.如權(quán)利要求1或2或3所述的時間同步方法,其特征在于:a和β對應(yīng)卡爾曼濾波算法中的“卡爾曼增益” 。
【文檔編號】G04R20/02GK103454905SQ201310417280
【公開日】2013年12月18日 申請日期:2013年9月13日 優(yōu)先權(quán)日:2013年9月13日
【發(fā)明者】華志斌, 李勇, 劉蘭輝, 王德勝, 侯友忠 申請人:煙臺東方英達(dá)康自動化技術(shù)有限公司