• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于正則表達(dá)式的遙測(cè)數(shù)據(jù)預(yù)處理研究*

      2015-03-15 03:04:37陳紅英張昌明
      艦船電子工程 2015年12期
      關(guān)鍵詞:星箭子幀測(cè)量船

      陳紅英 張昌明 何 晶 黃 瓊

      (中國衛(wèi)星海上測(cè)控部 江陰 214431)

      ?

      基于正則表達(dá)式的遙測(cè)數(shù)據(jù)預(yù)處理研究*

      陳紅英 張昌明 何 晶 黃 瓊

      (中國衛(wèi)星海上測(cè)控部 江陰 214431)

      運(yùn)載火箭遙測(cè)數(shù)據(jù)處理首次運(yùn)用于海上測(cè)控任務(wù)中,針對(duì)船載設(shè)備接收原始遙測(cè)事后數(shù)據(jù)包含許多無效的亂碼且記錄數(shù)據(jù)十分龐大、需要在短時(shí)間內(nèi)進(jìn)行數(shù)據(jù)處理的難題,首先介紹了遙測(cè)數(shù)據(jù)預(yù)處理原理,對(duì)預(yù)處理方法進(jìn)行了研究,最后提出了用正則表達(dá)式算法將原始數(shù)據(jù)從龐大的數(shù)據(jù)幀中解算出來的預(yù)處理模式,在短時(shí)間內(nèi)完成了數(shù)據(jù)的預(yù)處理工作,提高了處理效率,解決了遙測(cè)數(shù)據(jù)處理的關(guān)鍵技術(shù)問題。

      正則表達(dá)式; 遙測(cè); 預(yù)處理; 測(cè)量船

      Class Number TP311

      1 引言

      為了保護(hù)空間環(huán)境、減緩空間碎片,型號(hào)部門對(duì)長征系列火箭進(jìn)行改進(jìn)設(shè)計(jì),將在星箭分離后進(jìn)行高壓氣體和剩余推進(jìn)劑排空等動(dòng)作,測(cè)量船對(duì)火箭三級(jí)箭體遙測(cè)數(shù)據(jù)進(jìn)行跟蹤、接收和記錄,至信號(hào)消失。運(yùn)載火箭遙測(cè)事后數(shù)據(jù)處理主要完成海上測(cè)量任務(wù)的長征系列型號(hào)星箭分離后遙測(cè)數(shù)據(jù)的質(zhì)量檢查與選優(yōu)[1];運(yùn)用數(shù)字信號(hào)處理方法和隨機(jī)數(shù)據(jù)分析方法,以精選的數(shù)字模型和精確的計(jì)算公式對(duì)原始數(shù)據(jù)進(jìn)行加工、糾錯(cuò)、誤差修正和計(jì)算,還原成各種物理量;對(duì)速變參數(shù)則還要進(jìn)行各種譜分析;完成滿足精度和處理要求的數(shù)據(jù)、圖像等處理結(jié)果光盤[2]。

      在每次飛行試驗(yàn)任務(wù)中如何把磁帶、磁盤或光盤上的原始測(cè)量數(shù)據(jù)從記錄介質(zhì)上輸入到計(jì)算機(jī)、剪輯、對(duì)接,并準(zhǔn)確地從帶有干擾的信息中提取數(shù)據(jù);如何判幀分路,對(duì)時(shí)間如何糾錯(cuò)加工,如何去點(diǎn)計(jì)算是遙測(cè)數(shù)據(jù)處理中需要解決的主要問題。而遙測(cè)事后數(shù)據(jù)處理軟件首次在海上測(cè)控任務(wù)中使用,由于船載設(shè)備USB接收原始遙測(cè)數(shù)據(jù)包含許多無效的亂碼,而且記錄數(shù)據(jù)十分龐大,如何將有效的數(shù)據(jù)從近500M字節(jié)的原始數(shù)據(jù)中分離出來,并且兼顧時(shí)間性能和內(nèi)存資源消耗等因素,成為原始數(shù)據(jù)預(yù)處理的難點(diǎn)[3]。文章將具體介紹利用正則表達(dá)式處理遙測(cè)事后數(shù)據(jù)的預(yù)處理方法。

      2 遙測(cè)數(shù)據(jù)預(yù)處理

      2.1 預(yù)處理主要內(nèi)容

      遙測(cè)數(shù)據(jù)預(yù)處理工作將完成以下任務(wù)[4]:

      1) 對(duì)火箭星箭分離后遙測(cè)數(shù)據(jù)質(zhì)量檢查,自動(dòng)統(tǒng)計(jì)出信號(hào)記錄的有效起止時(shí)間,并記載、打印出錯(cuò)誤原始碼。

      2) 完成測(cè)量船記錄的遙測(cè)數(shù)據(jù)中絕對(duì)時(shí)轉(zhuǎn)換到相對(duì)時(shí)工作,具備形成一個(gè)與逐幀數(shù)據(jù)相對(duì)應(yīng)的時(shí)間文件。

      3) 完成原始信號(hào)中的幀同步判別,剔除亂散點(diǎn),并進(jìn)行速、緩變參數(shù)的分離及分路。

      4) 根據(jù)產(chǎn)品的傳感器、變換器的校準(zhǔn)數(shù)據(jù),或在物理量換算的其它與參數(shù)有關(guān)的系數(shù)形成校準(zhǔn)數(shù)據(jù)。

      2.2 原始數(shù)據(jù)

      2.2.1 遙測(cè)格式的元素

      脈沖編碼調(diào)制(PCM)遙測(cè)格式是指用來按比特、字、幀和格式等四個(gè)元素的層次來生成串行PCM遙測(cè)數(shù)據(jù)流的一種數(shù)據(jù)結(jié)構(gòu)[5]。

      1) 比特、字和幀

      比特是一個(gè)取值為“1”或“0”的二元信息符號(hào),亦稱二進(jìn)制碼位,是PCM數(shù)據(jù)流中的最小單元,占有一位的時(shí)間間隔。幀同步字:用來傳送幀同步碼的兩個(gè)到三個(gè)相繼遙測(cè)字。識(shí)別字:航天器地址字、航天器上時(shí)鐘計(jì)數(shù)字、幀計(jì)數(shù)字、格式計(jì)數(shù)字等遙測(cè)字,均稱識(shí)別字,其數(shù)據(jù)均需固定在格式中所分配的位置上。

      遙測(cè)幀是相繼的一組遙測(cè)字的有序集合。在串行PCM數(shù)據(jù)流中,每一幀總是由相鄰幀同步碼的起始點(diǎn)確定。一幀中所包含的遙測(cè)字的數(shù)目稱為幀長。對(duì)于一定的遙測(cè)格式,幀長總是固定的。副幀:若在格式的若干相繼幀的同一字位置,又安排相應(yīng)路數(shù)的較低速率采樣遙測(cè)參數(shù),則這些按幀相繼的遙測(cè)字(稱為副幀字)的有序集合,稱為副幀。一副幀中所包含的副幀字的數(shù)目稱為副幀長。

      2) 波道、路

      波道指的是遙測(cè)系統(tǒng)某交換子(如正交、副交等)中能單獨(dú)傳送一路信息的通道。某參數(shù)的波道號(hào)也正是從全幀信號(hào)中挑選它的依據(jù)。

      路指的是某一被測(cè)參數(shù)的通路,通常占用一個(gè)波道(此時(shí)路信號(hào)與波道號(hào)相同),也可占用多個(gè)波道。

      3) 主幀、副幀、子幀及同步碼

      主交換子(時(shí)分割裝置)每采樣一周為一主幀。副幀指將主幀的一個(gè)時(shí)隙(一路)再分割成若干時(shí)隙(若干路),這些再分割路循環(huán)一周稱為一個(gè)副幀。副幀信號(hào)全部都采樣到,需若干個(gè)主幀。子幀為兩個(gè)子幀同步碼組之間的分割路循環(huán)一周稱為一個(gè)子幀。全幀,指的是彈(箭)上采編器將子幀、副幀的信號(hào)全部都采樣一遍稱為一個(gè)全幀。

      2.2.2 原始數(shù)據(jù)來源

      由于測(cè)量船的工況設(shè)計(jì)主要基于對(duì)衛(wèi)星在軌后的關(guān)鍵事件來考慮的,推進(jìn)劑排放一般在星箭分離后間隔數(shù)百秒開始進(jìn)行,在推進(jìn)劑排放的弧段,末級(jí)火箭所在軌道高度越來越高,測(cè)量船通視的時(shí)間較長。原始數(shù)據(jù)(包括PCM體制的數(shù)字量方式,PAM體制的模擬量方式及PACM混合體制組成的各種數(shù)據(jù)幀結(jié)構(gòu))接收時(shí)間一般從星箭分離數(shù)百秒開始進(jìn)行,一條測(cè)量船單站積累的遙測(cè)原始數(shù)據(jù)比火箭發(fā)射到星箭分離之間積累的數(shù)據(jù)還要大。數(shù)據(jù)元素為遙測(cè)數(shù)據(jù)的USB遙測(cè)監(jiān)控臺(tái)合并方式存盤格式[6],具體格式如表1所示。

      表1 箭上遙測(cè)存盤格式

      其中時(shí)間碼格式有接口板方式和網(wǎng)絡(luò)方式兩種,設(shè)備擇優(yōu)選用其中一種。

      表2 箭上遙測(cè)傳輸設(shè)備主要技術(shù)參數(shù)

      原始測(cè)量數(shù)據(jù)是以速、緩變?nèi)珟盒盘?hào)記錄的,信號(hào)需進(jìn)行判別、分組和分路。首先需判別的是主幀同步碼和子幀同步碼,除了判別各同步碼本身是否正確外,還應(yīng)判別相鄰兩同步碼之間的路間隔是否正確,以避免當(dāng)參數(shù)碼與同步碼偶然巧合時(shí)而發(fā)生誤判。必須同步碼判別正確分路,否則會(huì)因路序錯(cuò)誤,造成參數(shù)編碼值錯(cuò)誤,這種情況造成的參數(shù)值錯(cuò)誤是很難發(fā)現(xiàn)的。

      分組和分路是在各種同步碼判別出來后,依所需處理的參數(shù)在主幀、副幀或子幀中的路序來提取。數(shù)據(jù)對(duì)應(yīng)的時(shí)間,應(yīng)按所取點(diǎn)的幀號(hào)或記錄號(hào),提取對(duì)應(yīng)幀號(hào)或記錄號(hào)的時(shí)間值,并按不同的精度要求進(jìn)行路間采樣及電波延遲修正。

      3 正則表達(dá)式在遙測(cè)處理中的應(yīng)用

      3.1 正則表達(dá)式定義

      正則表達(dá)式(Regular Expression)描述了一種字符串匹配的模式,可以用來檢查一個(gè)串是否含有某種子串、將匹配的子串做替換或者從某個(gè)串中取出符合某個(gè)條件的子串等。正則表達(dá)式是由普通字符(例如字符a~z)以及特殊字符(稱為元字符)組成的文字模式[7]。正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與所搜索的字符串進(jìn)行匹配。一般用于文本的識(shí)別,其描述了一種字符串匹配的模式,可以用來檢查一個(gè)串是否含有某種子串、將匹配的子串做替換或者從某個(gè)串中取出符合某個(gè)條件的子串等。確定有限狀態(tài)自動(dòng)機(jī)(DFA)是由下述五個(gè)元素構(gòu)成的數(shù)學(xué)模型:

      其中:S是有限的,非空的狀態(tài)集;∑是輸入字母表;δ是轉(zhuǎn)移函數(shù)?!痞?s,a)=S′意味著:當(dāng)現(xiàn)行狀態(tài)為s輸入字符為a時(shí),將換到下一個(gè)狀態(tài)S′。稱S′為s的后繼狀態(tài)。

      S0∈S是初始狀態(tài);F∈S是非空的終結(jié)狀態(tài)集。

      3.2 符號(hào)描述

      表3是元字符及其在正則表達(dá)式上下文中的行為的一個(gè)簡單列表[8]。

      表3 正則表達(dá)式字符描述

      構(gòu)造正則表達(dá)式的方法和創(chuàng)建數(shù)學(xué)表達(dá)式的方法一樣。也就是用多種元字符與操作符將小的表達(dá)式結(jié)合在一起來創(chuàng)建更大的表達(dá)式。正則表達(dá)式的組件可以是單個(gè)的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合。

      3.3 算法研究

      圖1 遙測(cè)原始數(shù)據(jù)預(yù)處理主流程圖

      運(yùn)載火箭遙測(cè)數(shù)據(jù)處理中原始數(shù)據(jù)是二進(jìn)制字符串?dāng)?shù)據(jù),可以視為廣義的文本字符串,通過Python語言讀入二進(jìn)制文件以后,利用正則表達(dá)式實(shí)現(xiàn)對(duì)副幀、子幀的識(shí)別,對(duì)遙測(cè)數(shù)據(jù)流文件進(jìn)行副幀、子幀統(tǒng)計(jì),得出遙測(cè)數(shù)據(jù)的起始時(shí)間、結(jié)束時(shí)間,統(tǒng)計(jì)出丟幀段落等。如圖1所示。

      遙測(cè)字由相繼的8個(gè)比特構(gòu)成,是組成遙測(cè)幀的基本單元,亦稱“路”或“字節(jié)”。根據(jù)原始數(shù)據(jù)的幀結(jié)構(gòu)對(duì)YCConst.py函數(shù)的內(nèi)容進(jìn)行修改以適應(yīng)具體任務(wù)需求,內(nèi)容如下:

      YC_SUBFRAMELENGTH =104 # include Time code and ID code

      # 子幀長度,長度包含遙測(cè)設(shè)備加上的時(shí)間碼長度和子幀ID長度,默認(rèn)為104

      YC_MAINFRAMELENGTH = 64 # 副幀長度(包含多少子幀),默認(rèn)為64

      YC_SUBFRAMESYNCODE='xebx90' # 子幀同步碼,默認(rèn)為'xebx90'

      YC_MAINFRAMESYNCODE='x14x6f' # 副幀同步碼,默認(rèn)為'x14x6f'

      YC_TIMECODETYPE='Network' # default is 'Interface'

      # 時(shí)間碼接收類型(包括網(wǎng)絡(luò)方式或接口板方式),默認(rèn)為網(wǎng)絡(luò)方式

      YC_T0 = [1,0,2,2,0,0,0,0,4,6,3,0,0]

      # 任務(wù)T0的B碼方式,下面表示第102天20時(shí)00分04秒630.0毫秒

      由于多種原因,設(shè)備接收原始遙測(cè)數(shù)據(jù)包含許多無效的亂碼,為了保證每一個(gè)完整的副幀計(jì)數(shù)都是有效的必須通過其特征字來驗(yàn)證。根據(jù)《遙測(cè)大綱》約定在幀結(jié)構(gòu)中W(波道)47、W48、W71、W72的特征字為3F、1F、55、AA(F01變幀結(jié)構(gòu)后W71、W72特征字為AA、55)。副幀同步碼為146F,子幀同步碼為EB90[9]。

      具體程序如下:

      # read onefile another

      def readData (inFile, outFile, wordList, subFrameList, timeMin=-1,

      timeMax=-1):

      frameP=re.compile('(.{54}\?\x1f.{22}\xaa\x55.{22}\xeb\x90){63}.{54}\?\x1f.{22}\xaa\x55.{22}\x14\x6f',re.DOTALL)

      ii = frameP.finditer(open(inFile,'rb').read())

      f = open(outFile,'w')

      上面函數(shù)中“(.{54}\?\x1f.{22}\xaa\x55.{22}\xeb\x90){63}.{54}\?\ x1f.{22}\xaa\x55.{22}\x14\x6f'”該語句只利用正則表達(dá)式的基本元素“.”、“(”、“{”、“”、“?”等字符,就實(shí)現(xiàn)了讀取完整全幀數(shù)據(jù)的功能。副幀結(jié)構(gòu)(F01變幀結(jié)構(gòu)后)如表4所示。

      表4 副幀結(jié)構(gòu)表

      如表4中的副幀結(jié)構(gòu)所示,在打開原始數(shù)據(jù)文件后,逐字讀文件,首先讀取任意54個(gè)字符(包括時(shí)間碼和ID計(jì)數(shù)),用語句“.{54}”表示,讀取1個(gè)任意字符,用語句“?”表示,如果第56個(gè)字符也就是W48的特征碼為1F時(shí),用語句“\x1f”,繼續(xù)讀取任意的22個(gè)字符,如果第79和80個(gè)字符的特征碼為AA和55時(shí),再往下讀22個(gè)任意字符,如果第103和104個(gè)字符的特征碼為EB和90時(shí)(子幀同步碼),就讀取到一個(gè)完整的子幀,用同樣的語句“(.{54}\?\ x1f. {22}\xaa\x55. {22} \xeb\x90)”讀63個(gè)子幀,如果第64個(gè)子幀的W95和W96特征碼為14和6F時(shí)(副幀同步碼),這樣就讀取到一個(gè)完整的副幀,將其計(jì)入文本,如果讀到的字符不滿足上面的條件將其跳過,繼續(xù)讀原始文件直到文件結(jié)束,圖2中繪制了某任務(wù)原始數(shù)據(jù)預(yù)處理丟幀情況的統(tǒng)計(jì)結(jié)果,從圖中可以看出使用此函數(shù)代碼有效地去掉了原始數(shù)據(jù)中無效的亂碼,通過對(duì)特征字的驗(yàn)證避免了當(dāng)參數(shù)碼與同步碼偶然巧合時(shí)發(fā)生誤判的情況,確保了錄取完整有效的副幀。由于識(shí)別幀結(jié)構(gòu)的工作變成了正則表達(dá)式的模式,而這種模式存儲(chǔ)在配置文件中即可[10]。如果二進(jìn)制文件格式發(fā)生變化時(shí),無需改變程序邏輯,只需修改配置文件的幀結(jié)構(gòu)模式。利用這種設(shè)計(jì)使得程序使用和維護(hù)極為方便,大大提高了遙測(cè)數(shù)據(jù)處理的速度。

      圖2 某任務(wù)遙測(cè)原始數(shù)據(jù)預(yù)處理結(jié)果統(tǒng)計(jì)

      4 結(jié)語

      總而言之,用正則表達(dá)式解析文本數(shù)據(jù)文件具有高效、縮短開發(fā)時(shí)間的優(yōu)點(diǎn),能夠節(jié)省大量分析文件、根據(jù)復(fù)雜的條件提取有用數(shù)據(jù)的時(shí)間。在一個(gè)迅速發(fā)展的環(huán)境中仍會(huì)有許多傳統(tǒng)的數(shù)據(jù)可資利用,掌握如何構(gòu)造高效的數(shù)據(jù)分析例程將是一種寶貴的技能。

      通過幾次海上測(cè)控實(shí)戰(zhàn)任務(wù)的運(yùn)用,正則表達(dá)式高效、方便的字符串模式匹配技術(shù),將遙測(cè)記錄原始二進(jìn)制碼數(shù)據(jù)進(jìn)行分析,較好地解決了原始數(shù)據(jù)的預(yù)處理工作,解決了運(yùn)載火箭遙測(cè)事后數(shù)據(jù)處理中的關(guān)鍵問題。

      [1] 沐俊山.星箭分離后箭遙數(shù)據(jù)處理的特點(diǎn)和方法[C]//第十一屆全國遙感遙測(cè)遙控學(xué)術(shù)研討會(huì),2009:47-53.

      [2] 簡仕龍.航天測(cè)量船海上測(cè)控技術(shù)概論[M].北京:國防工業(yè)出版社,2009:84-99.

      [3] 江文達(dá).航天測(cè)量船[M].北京:國防工業(yè)出版社,2002:13-129.

      [4] 劉利生.外彈道測(cè)量數(shù)據(jù)處理[M].北京:國防工業(yè)出版社,2002,2:225-318.

      [5] 陳以恩.遙測(cè)數(shù)據(jù)處理[M].北京:國防工業(yè)出版社,2002:176-243.

      [6] 李輝芬.船載設(shè)備測(cè)量數(shù)據(jù)處理結(jié)果的綜合分析方法[J].飛行器測(cè)控學(xué)報(bào),2008,27(6):65-70.

      [7] Jeffrey E. F. Friedl.精通正則表達(dá)式[M].北京:電子工業(yè)出版社,2007:230-254.

      [8] 丁晶.基于正則表達(dá)式的深度包檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用,2007,27(9):2184-2187.

      [9] 李信真,車剛明,歐陽潔,等.計(jì)算方法[M].西安:西北工業(yè)大學(xué)出版社,2000:99-126.

      [10] 陳紅英,李輝芬.航天測(cè)量船角度系統(tǒng)誤差偏大問題的分析與解決[J].電訊技術(shù),2011,51(10):71-75.

      Telemetering Data Preprocessing Based on Regular Expressions

      CHEN Hongying ZHANG Changming HE Jing HUANG Qiong

      (China Satellite Maritime Tracking and Controlling Department, Jiangyin 214431)

      Telemetering data preprocessing of carrier rocket handle is first appied in the ship for tracking and controlling. Aiming at the shortcoming of original telemetering data including many invalid disorderly code of the record data is very huge and need to preprocessing on the equipment of measurement ship in a short time, first the telemetering data preprocessing principle is introduced, the method of preprocessing is researched, finally the preprocessing mode is put forward to use regular expressions calculate original data from the huge data frames. In a short time, the work of data preprocessing is completed, processing efficiency is improved, and the key technique problem of telemetering data processing is solved.

      regular expressions, telemetering, data preprocessing, measurement ship

      2015年6月4日,

      2015年7月26日

      陳紅英,女,工程師,研究方向:數(shù)據(jù)處理與精度分析。

      TP311

      10.3969/j.issn.1672-9730.2015.12.036

      猜你喜歡
      星箭子幀測(cè)量船
      包帶約束下的星箭連接環(huán)組合力學(xué)分析
      本期導(dǎo)讀
      航天遠(yuǎn)洋測(cè)量船“遠(yuǎn)望7號(hào)”返回母港
      軍事文摘(2021年22期)2022-01-18 06:21:58
      寧波星箭航天機(jī)械有限公司
      一種新型的微小衛(wèi)星自主星箭分離電源控制技術(shù)
      遠(yuǎn)洋測(cè)量船專門人才隊(duì)伍建設(shè)的創(chuàng)新與發(fā)展
      LAA系統(tǒng)在非授權(quán)頻段上的動(dòng)態(tài)子幀配置策略
      用于針對(duì)LTE中的eIMTA有效使用DAI比特的方法和裝置
      我國空間站窗口照明玻璃研制成功
      LTE-A異構(gòu)網(wǎng)中空白子幀的動(dòng)態(tài)配置*
      怀宁县| 保康县| 宣城市| 禄丰县| 城市| 蓬溪县| 称多县| 沂源县| 阳山县| 老河口市| 腾冲县| 乌兰县| 南城县| 龙山县| 翁源县| 赤壁市| 清镇市| 济源市| 宜州市| 南雄市| 南郑县| 循化| 镇坪县| 林甸县| 偃师市| 进贤县| 浦东新区| 同江市| 潜江市| 景德镇市| 鄂州市| 南城县| 瑞金市| 高雄县| 盘山县| 汨罗市| 原平市| 南江县| 子长县| 丹阳市| 松潘县|