張守中
摘要:IRIG-B(DC)碼是由IRIG制定的一種串行格式的標(biāo)準(zhǔn)時(shí)間碼,具有信息量豐富、分辨率高、速率適中等優(yōu)點(diǎn),在國(guó)內(nèi)外得到了廣泛采用。利用MATLAB平臺(tái)強(qiáng)大的程序設(shè)計(jì)功能,對(duì)B碼編碼格式進(jìn)行了仿真,更形象、更直觀的展現(xiàn)B碼的特點(diǎn),有助于從業(yè)人員進(jìn)一步加深對(duì)B碼編碼格式的理解和掌握。
關(guān)鍵詞:B碼;編碼;程序;MABLAT
中圖分類(lèi)號(hào):TN911 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)01-0033-02
IRIG-B碼是由美國(guó)IRIG(INTER—RANGE INSTRAMENTATION GROUP,簡(jiǎn)稱(chēng)靶場(chǎng)間儀器組)所屬的TCG所負(fù)責(zé)制定的一種標(biāo)準(zhǔn)時(shí)間格式,以編碼信息量豐富、速率適中、分辨率高等優(yōu)點(diǎn)得到了國(guó)外大多數(shù)時(shí)統(tǒng)設(shè)備的廣泛采用。而我國(guó)為了實(shí)現(xiàn)時(shí)統(tǒng)設(shè)備體制的標(biāo)準(zhǔn)化,采用標(biāo)準(zhǔn)時(shí)間碼作為與用戶設(shè)備接口的時(shí)間信號(hào),而該標(biāo)準(zhǔn)時(shí)間碼是在IRIG-B碼的基礎(chǔ)上制訂的,除編入時(shí)間信息外,在制定編碼標(biāo)準(zhǔn)時(shí)保留一些碼元用于各種控制、識(shí)別和其它特殊目的的功能編碼,用戶可根據(jù)具體的需要來(lái)確定時(shí)間碼是否具有控制功能碼元以及如何使用它[1]。本文介紹了一種在實(shí)際應(yīng)用中的IRIG-B(DC)碼編碼格式,并利用matlab平臺(tái)進(jìn)行了編碼實(shí)現(xiàn)。
1 B(DC)碼編碼格式
IRIG-B(DC)碼也稱(chēng)直流碼,它是一種串行格式的時(shí)間碼,B碼中每個(gè)脈沖稱(chēng)為碼元,每個(gè)碼元的準(zhǔn)時(shí)參考點(diǎn)是該脈沖的前沿[2]。時(shí)幀周期為1秒,每幀由100個(gè)碼元組成,碼元周期為10ms,碼元速率為100PPS。每10個(gè)碼元中有一個(gè)位置識(shí)別標(biāo)志,其寬度為8ms,位置識(shí)別標(biāo)志分別稱(chēng)為P1,P2,…,P9,P0。參考標(biāo)志是由位置識(shí)別標(biāo)志P0和相鄰的參考碼元Pr組成的,參考碼元Pr的寬度也為8ms,而且Pr的前沿即該幀B碼的準(zhǔn)秒時(shí)刻,因此可以說(shuō)參考碼元Pr是B碼中最重要的碼元。從秒準(zhǔn)時(shí)點(diǎn)起,按秒、分、時(shí)、天的時(shí)序?qū)r(shí)間信息進(jìn)行8421編碼,低位在前,高位在后,以原碼形式表示,位置在P1、P2、P3、P4、P5;P6、P7、P8、P9、P0主要用來(lái)傳輸控制功能碼,如地址碼、修正量(采用反碼表示)等。B碼的信息采用脈寬調(diào)制的方式表示,碼元寬度有3種,即2ms、5ms和8ms。B碼中表示時(shí)間信息的碼元共有30個(gè),這些碼元稱(chēng)為碼字。表示二進(jìn)制“1”的碼字寬度為5ms,表示二進(jìn)制“0”的碼字寬度為2ms[2]。另外B碼中索引標(biāo)志的碼元寬度也為2ms。具體編碼格式如下:
P1的第1位是參考碼元Pr,第2至5位為秒的個(gè)位,第6位為空位,第7至9位為秒的十位,第10位為位置識(shí)別標(biāo)志位P1;P2的第1至4位為分的個(gè)位,第5位為空位,第6位至9位為分的十位,第10位為位置識(shí)別標(biāo)志位P2;P3的第1至4位為時(shí)的個(gè)位,第5位為空位,第6位至9位為時(shí)的十位,第10位為位置識(shí)別標(biāo)志位P3;P4的第1至4位為天的個(gè)位,第5位為空位,第6位至9位為天的十位,第10位為位置識(shí)別標(biāo)志位P4;P5的第1至4位為天的百位,第5位為空位,第6位至9位備用,第10位為位置識(shí)別標(biāo)志位P5;P6的第1位至第4位為地址位(0—15共16個(gè)地址),第5位為空位,第6位至第9位為修正量的十位,第10位為位置識(shí)別標(biāo)志位P6;P7的第1位至第4位為修正量的百位,第5位為空,第6位至第9位為修正量的千位,第10位為位置識(shí)別標(biāo)志位P7;P8的第1位至第4位為修正量的萬(wàn)位,第5位為空,第6位至第9位為修正量的十萬(wàn)位,第10位為位置識(shí)別標(biāo)志位P8;P9的第1位至第4位為修正量的個(gè)位,第5位為空,第6位至第9位為修正量的十分位,第10位為位置識(shí)別標(biāo)志位P9;P0作為備用。
2 B(DC)碼編碼實(shí)現(xiàn)
Matlab作為一種應(yīng)用廣泛的科學(xué)計(jì)算軟件,不僅具有強(qiáng)大的數(shù)值計(jì)算、數(shù)據(jù)可視化功能,而且具有強(qiáng)大的程序設(shè)計(jì)功能。通過(guò)編寫(xiě)擴(kuò)展名為.m的M文件,用戶可以實(shí)現(xiàn)各種復(fù)雜的功能,且Matlab語(yǔ)言語(yǔ)法簡(jiǎn)單、庫(kù)函數(shù)豐富、程序易于調(diào)試[3]。根據(jù)B(DC)碼編碼格式,其編碼算法簡(jiǎn)要流程如下:第一步是對(duì)輸入的時(shí)間信息和控制功能信息進(jìn)行8421編碼;第二步通過(guò)插入?yún)⒖即a元Pr、位置標(biāo)志Pi(i=1,2,….,9,0)和索引標(biāo)志后形成與B碼碼元速率相對(duì)應(yīng)的碼流;第三步對(duì)碼流進(jìn)行脈寬調(diào)制生成標(biāo)準(zhǔn)時(shí)間碼。軟件主程序和脈寬調(diào)制子程序流程圖分別如圖1,圖2所示。
時(shí)間信息按秒個(gè)位-秒十位-分個(gè)位-分十位-時(shí)個(gè)位-時(shí)十位的時(shí)序進(jìn)行8421編碼,且低位在前,高位在后,以原碼形式表示,編碼完成后按標(biāo)準(zhǔn)格式插入P碼和空位,產(chǎn)生時(shí)間編碼數(shù)組,完成P1、P2、P3的編碼;根據(jù)文獻(xiàn)[1],在IRIG-B碼中日期是用天來(lái)表示的,從001到365或366,即將每年的1月1日編為第001天,而將12月31日編為第365天或366天(閏年),按天個(gè)位-天十位-天百位的時(shí)序進(jìn)行8421編碼,以原碼形式表示,并且也是低位在前,高位在后,插入P碼與空位后完成P4、P5編碼,Matlab中用函數(shù)datenum來(lái)根據(jù)輸入的日期計(jì)算天數(shù);地址編碼比較簡(jiǎn)單,直接將地址量變?yōu)槎M(jìn)制數(shù)即可,修正量與時(shí)間、日期、地址編碼唯一不同的是采用反碼表示,插入P碼與空位后完成P6、P7、P8、P9、P0編碼;其中所有P碼用“2”表示,空位用“0”表示。利用MATLAB編寫(xiě)程序[3][4][5]運(yùn)行結(jié)果分別如圖3、圖4、圖5所示。最后將上述結(jié)果合成碼元數(shù)組,通過(guò)編程即可產(chǎn)生DC碼波形,并且通過(guò)對(duì)各項(xiàng)初始值采用手動(dòng)輸入的方法即可產(chǎn)生任意時(shí)刻的DC碼波形,設(shè)當(dāng)前時(shí)間為2013年09月05日15時(shí)23分56秒,終端用戶地址為12,修正量為456789.8,程序運(yùn)行結(jié)果如圖6所示。從圖中可以看出,程序運(yùn)行的實(shí)際結(jié)果與標(biāo)準(zhǔn)編碼格式是完全一致的,驗(yàn)證了編碼程序的可行性。
3 結(jié)語(yǔ)
通過(guò)利用MATLAB平臺(tái)對(duì)B碼編碼格式的仿真,更形象、更直觀的展現(xiàn)了B碼的特點(diǎn),為從業(yè)人員理解和掌握B碼編碼格式提供了幫助。隨著現(xiàn)代微電子技術(shù)和工藝的發(fā)展,利用可編程器件(如CPLD、FPGA)來(lái)產(chǎn)生標(biāo)準(zhǔn)化時(shí)間信號(hào)已成為目前標(biāo)準(zhǔn)化時(shí)統(tǒng)設(shè)備采取的主要方式,并在通信、數(shù)據(jù)處理、軍事和航空航天等眾多領(lǐng)域得到了廣泛應(yīng)用。
參考文獻(xiàn)
[1]童寶潤(rùn).時(shí)間統(tǒng)一系統(tǒng)[M].北京:國(guó)防工業(yè)出版社,2003.9.
[2]王麗敏,胡永輝,侯雷,劉軍良.基于FPGA的IRIG-B(DC)碼的解碼方案的設(shè)計(jì)與實(shí)現(xiàn)[J].時(shí)間頻率學(xué)報(bào),2012.10第10期.
[3]管愛(ài)紅,張紅梅,楊鐵軍等.MATLAB基礎(chǔ)及其應(yīng)用教程[M].北京:電子工業(yè)出版社,2009.8.
[4]羅軍輝.MATLAB在數(shù)字信號(hào)處理中的應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005.
[5]敬照亮.MATLAB教程與應(yīng)用[M].北京:清華大學(xué)出版社:北京交通大學(xué)出版社,2011.5.