?

基于MATLAB的IRIG—B(DC)碼編碼實現

2017-04-25 21:29張守中
數字技術與應用 2017年1期
關鍵詞:編碼程序

張守中

摘要:IRIG-B(DC)碼是由IRIG制定的一種串行格式的標準時間碼,具有信息量豐富、分辨率高、速率適中等優點,在國內外得到了廣泛采用。利用MATLAB平臺強大的程序設計功能,對B碼編碼格式進行了仿真,更形象、更直觀的展現B碼的特點,有助于從業人員進一步加深對B碼編碼格式的理解和掌握。

關鍵詞:B碼;編碼;程序;MABLAT

中圖分類號:TN911 文獻標識碼:A 文章編號:1007-9416(2017)01-0033-02

IRIG-B碼是由美國IRIG(INTER—RANGE INSTRAMENTATION GROUP,簡稱靶場間儀器組)所屬的TCG所負責制定的一種標準時間格式,以編碼信息量豐富、速率適中、分辨率高等優點得到了國外大多數時統設備的廣泛采用。而我國為了實現時統設備體制的標準化,采用標準時間碼作為與用戶設備接口的時間信號,而該標準時間碼是在IRIG-B碼的基礎上制訂的,除編入時間信息外,在制定編碼標準時保留一些碼元用于各種控制、識別和其它特殊目的的功能編碼,用戶可根據具體的需要來確定時間碼是否具有控制功能碼元以及如何使用它[1]。本文介紹了一種在實際應用中的IRIG-B(DC)碼編碼格式,并利用matlab平臺進行了編碼實現。

1 B(DC)碼編碼格式

IRIG-B(DC)碼也稱直流碼,它是一種串行格式的時間碼,B碼中每個脈沖稱為碼元,每個碼元的準時參考點是該脈沖的前沿[2]。時幀周期為1秒,每幀由100個碼元組成,碼元周期為10ms,碼元速率為100PPS。每10個碼元中有一個位置識別標志,其寬度為8ms,位置識別標志分別稱為P1,P2,…,P9,P0。參考標志是由位置識別標志P0和相鄰的參考碼元Pr組成的,參考碼元Pr的寬度也為8ms,而且Pr的前沿即該幀B碼的準秒時刻,因此可以說參考碼元Pr是B碼中最重要的碼元。從秒準時點起,按秒、分、時、天的時序對時間信息進行8421編碼,低位在前,高位在后,以原碼形式表示,位置在P1、P2、P3、P4、P5;P6、P7、P8、P9、P0主要用來傳輸控制功能碼,如地址碼、修正量(采用反碼表示)等。B碼的信息采用脈寬調制的方式表示,碼元寬度有3種,即2ms、5ms和8ms。B碼中表示時間信息的碼元共有30個,這些碼元稱為碼字。表示二進制“1”的碼字寬度為5ms,表示二進制“0”的碼字寬度為2ms[2]。另外B碼中索引標志的碼元寬度也為2ms。具體編碼格式如下:

P1的第1位是參考碼元Pr,第2至5位為秒的個位,第6位為空位,第7至9位為秒的十位,第10位為位置識別標志位P1;P2的第1至4位為分的個位,第5位為空位,第6位至9位為分的十位,第10位為位置識別標志位P2;P3的第1至4位為時的個位,第5位為空位,第6位至9位為時的十位,第10位為位置識別標志位P3;P4的第1至4位為天的個位,第5位為空位,第6位至9位為天的十位,第10位為位置識別標志位P4;P5的第1至4位為天的百位,第5位為空位,第6位至9位備用,第10位為位置識別標志位P5;P6的第1位至第4位為地址位(0—15共16個地址),第5位為空位,第6位至第9位為修正量的十位,第10位為位置識別標志位P6;P7的第1位至第4位為修正量的百位,第5位為空,第6位至第9位為修正量的千位,第10位為位置識別標志位P7;P8的第1位至第4位為修正量的萬位,第5位為空,第6位至第9位為修正量的十萬位,第10位為位置識別標志位P8;P9的第1位至第4位為修正量的個位,第5位為空,第6位至第9位為修正量的十分位,第10位為位置識別標志位P9;P0作為備用。

2 B(DC)碼編碼實現

Matlab作為一種應用廣泛的科學計算軟件,不僅具有強大的數值計算、數據可視化功能,而且具有強大的程序設計功能。通過編寫擴展名為.m的M文件,用戶可以實現各種復雜的功能,且Matlab語言語法簡單、庫函數豐富、程序易于調試[3]。根據B(DC)碼編碼格式,其編碼算法簡要流程如下:第一步是對輸入的時間信息和控制功能信息進行8421編碼;第二步通過插入參考碼元Pr、位置標志Pi(i=1,2,….,9,0)和索引標志后形成與B碼碼元速率相對應的碼流;第三步對碼流進行脈寬調制生成標準時間碼。軟件主程序和脈寬調制子程序流程圖分別如圖1,圖2所示。

時間信息按秒個位-秒十位-分個位-分十位-時個位-時十位的時序進行8421編碼,且低位在前,高位在后,以原碼形式表示,編碼完成后按標準格式插入P碼和空位,產生時間編碼數組,完成P1、P2、P3的編碼;根據文獻[1],在IRIG-B碼中日期是用天來表示的,從001到365或366,即將每年的1月1日編為第001天,而將12月31日編為第365天或366天(閏年),按天個位-天十位-天百位的時序進行8421編碼,以原碼形式表示,并且也是低位在前,高位在后,插入P碼與空位后完成P4、P5編碼,Matlab中用函數datenum來根據輸入的日期計算天數;地址編碼比較簡單,直接將地址量變為二進制數即可,修正量與時間、日期、地址編碼唯一不同的是采用反碼表示,插入P碼與空位后完成P6、P7、P8、P9、P0編碼;其中所有P碼用“2”表示,空位用“0”表示。利用MATLAB編寫程序[3][4][5]運行結果分別如圖3、圖4、圖5所示。最后將上述結果合成碼元數組,通過編程即可產生DC碼波形,并且通過對各項初始值采用手動輸入的方法即可產生任意時刻的DC碼波形,設當前時間為2013年09月05日15時23分56秒,終端用戶地址為12,修正量為456789.8,程序運行結果如圖6所示。從圖中可以看出,程序運行的實際結果與標準編碼格式是完全一致的,驗證了編碼程序的可行性。

3 結語

通過利用MATLAB平臺對B碼編碼格式的仿真,更形象、更直觀的展現了B碼的特點,為從業人員理解和掌握B碼編碼格式提供了幫助。隨著現代微電子技術和工藝的發展,利用可編程器件(如CPLD、FPGA)來產生標準化時間信號已成為目前標準化時統設備采取的主要方式,并在通信、數據處理、軍事和航空航天等眾多領域得到了廣泛應用。

參考文獻

[1]童寶潤.時間統一系統[M].北京:國防工業出版社,2003.9.

[2]王麗敏,胡永輝,侯雷,劉軍良.基于FPGA的IRIG-B(DC)碼的解碼方案的設計與實現[J].時間頻率學報,2012.10第10期.

[3]管愛紅,張紅梅,楊鐵軍等.MATLAB基礎及其應用教程[M].北京:電子工業出版社,2009.8.

[4]羅軍輝.MATLAB在數字信號處理中的應用[M].北京:機械工業出版社,2005.

[5]敬照亮.MATLAB教程與應用[M].北京:清華大學出版社:北京交通大學出版社,2011.5.

猜你喜歡
編碼程序
編碼中心(一)
中國編碼APP
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應用
試論我國未決羈押程序的立法完善
Genome and healthcare
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合