馬文姬,韓 焱
(中北大學信息探測與處理山西省重點實驗室,太原 030051)
基于巴克碼的飛行遙測系統(tǒng)采編器設計*
馬文姬,韓 焱*
(中北大學信息探測與處理山西省重點實驗室,太原 030051)
針對飛行器處于黑障區(qū)時信息短時中斷,產(chǎn)生數(shù)據(jù)丟幀的問題,提出了一種基于巴克碼的多路混合編碼器設計方法,該方法采用巴克碼對采集的多路信號混合編幀,可以在接收端對數(shù)據(jù)有效分離。采用FPGA設計,并用MATLAB解碼以檢測數(shù)據(jù)的具體丟幀和誤碼率情況。結(jié)果表明,該采編器對采集的多路數(shù)據(jù)信號進行了有效編幀,達到了預期的設計要求,在信噪比為5dB時誤碼率減小了25%,且提高了數(shù)據(jù)的糾錯能力和識別力,得到了和理論分析的一致的結(jié)果。
飛行遙測系統(tǒng);混合編幀;巴克碼;黑障區(qū);數(shù)據(jù)分離;誤碼率
在遙測應用中,由于遙測環(huán)境復雜,各種干擾因素可造成遙測信號的短時中斷。而遙測數(shù)據(jù)的重要程度更是不言而喻[1-2],如何克服黑障區(qū)通信中斷所帶來的數(shù)據(jù)丟幀問題是飛行遙測系統(tǒng)總體技術(shù)中研究的一個熱點。
針對遙測系統(tǒng)在黑障區(qū)時的數(shù)據(jù)丟幀問題,胡紅軍[3]等人通過分析不同頻率電磁波對信號傳輸影響,探討航天測控中使用更高頻率來降低信號傳輸損耗,解決黑障區(qū)測控中斷難題。戴衛(wèi)兵[4]等人設計了一種基于PCM幀結(jié)構(gòu)的遙測發(fā)射系統(tǒng),把一些影響飛行安全的參數(shù)遙測到地面以實時監(jiān)測。閆鑫[5]采用了一種記憶重發(fā)技術(shù)構(gòu)成的PCM編碼器,可以實現(xiàn)多種幀結(jié)構(gòu)設汁,彌補了數(shù)據(jù)丟幀的現(xiàn)象,提高遙測數(shù)據(jù)的完整性。
本文基于巴克碼組極易捕獲的特性,提出了一種混合編幀的數(shù)據(jù)打包方法,設計基于FPGA的飛行遙測系統(tǒng)采編器,來有效地檢測和判斷數(shù)據(jù)丟幀情況。
巴克碼定義[6-8]如下:一個包含n個碼元的碼組{x1,x2,…,xn}中,當1≤i≤n時,每個碼元xi只可能取值為+1或-1,當i<1或者i>n時,xi為0。顯然可見,當j=0時,自相關(guān)函數(shù)
(1)
式中:j代表碼元的位移序數(shù)。若它的局部自相關(guān)函數(shù)滿足:
(2)
滿足這樣相關(guān)函數(shù)的碼組稱為巴克碼。由式(2)表明,巴克碼的R(0)=n,而在其他處的自相關(guān)函數(shù)R(j)的絕對值均不大于1。也就是說巴克碼組的自相關(guān)函數(shù)僅在R(0)處出現(xiàn)峰值,其他處的R(j)值均很小,正是由于巴克碼組具有尖銳的單峰,便于與隨機的數(shù)字信息相區(qū)別,易于識別,出現(xiàn)偽同步小等特點,本文采用巴克碼組實現(xiàn)編碼。
此外,用巴克碼設計的函數(shù)為W(k),每位巴克碼可以代表一定長度的時域抽樣信號,若對1個窄帶干擾信號時域加巴克碼變換,相當于對其進行擴譜處理。如式(3),其中,X(k)為輸入信號。
X′(k)=X(k)W(k)
(3)
這樣,窄帶干擾信號的能量就被近于均勻地擴展到一定的帶寬范圍內(nèi),進而干擾信號被近似白化,干擾信號的幅值會明顯減小,從而減少了由多路造成的頻偏以及干擾的影響。后面通過仿真進一步討論加入巴克碼變換之后對誤碼率的作用效果。
目前尚未找到巴克碼的一般構(gòu)造方法,只搜索到表1中的幾組巴克碼。表1列出了兩種可供選擇廣義巴克碼序列,其中的碼字均采用八進制表示。

表1 兩種可供選擇的同步巴克碼序列(八進制)
飛行遙測系統(tǒng)采編器設計方案包括:(1)采集多路模擬信號和數(shù)字信號,并將模擬信號經(jīng)A/D轉(zhuǎn)換為數(shù)字信號;(2)將所有數(shù)字信號基于多組巴克碼按照一定的編碼方式編幀并輸出。其中以控制器FPGA實現(xiàn)對整個過程中的數(shù)據(jù)采集、編幀和存儲等控制。控制器的主要功能:①控制模擬信號的A/D轉(zhuǎn)換,并將其存入FIFO中;②接收數(shù)字信號,并寫入FIFO中;③控制所有數(shù)據(jù)的編碼輸出。采編器整體設計框圖如圖1所示。

圖1 采編器設計框圖
由以上分析可知,飛行遙測系統(tǒng)采編器的設計主要分為:數(shù)據(jù)采集系統(tǒng)和巴克碼編碼系統(tǒng)。
2.1 數(shù)據(jù)采集系統(tǒng)
數(shù)據(jù)采集系統(tǒng)需要采集數(shù)據(jù)的信號有模擬信號和數(shù)字信號,由于控制器FPGA直接處理的是數(shù)字信號,所以數(shù)據(jù)采集模塊主要討論模擬信號的采集問題。而A/D轉(zhuǎn)換器可將模擬信號轉(zhuǎn)換為數(shù)字信號,因此,A/D轉(zhuǎn)換器是數(shù)據(jù)采集模塊的核心[9-10]。本設計中的A/D轉(zhuǎn)換器采用芯片MAX1308,其可在1.98 μs內(nèi)完成8通道的轉(zhuǎn)換,每通道吞吐率為456 ksample/s,T/H輸入帶寬為20 MHz,12位并行數(shù)據(jù)輸出。
此外,在數(shù)據(jù)采集系統(tǒng)中,當前端A/D轉(zhuǎn)換器輸出數(shù)據(jù)的速率遠大于數(shù)據(jù)總線的傳輸速率時,應該在系統(tǒng)中設置數(shù)據(jù)緩沖區(qū)暫存采集數(shù)據(jù),等待數(shù)據(jù)總線傳輸?shù)耐瓿?以避免丟失數(shù)據(jù)[11]。設計中采用的是FIFO作為緩沖。整個數(shù)據(jù)采集系統(tǒng)電路如圖2所示。

圖2 數(shù)據(jù)采集系統(tǒng)電路
2.2 數(shù)據(jù)編碼系統(tǒng)
由式(2)的分析可知,巴克碼組具有尖銳的自相關(guān)函數(shù),當將其集中插入于數(shù)據(jù)作為幀頭時,會使得接收時能夠容易地立即捕獲它。但是在編碼時碼元長度的增加會占用過多的通信資源[12]。因此設計按照需求分別選取長度為4位和16位的巴克碼組作為模擬通道幀頭,數(shù)字通道幀頭,子幀頭以及總幀頭來完成編碼。如下:
16 bit總幀頭:EB90;
16 bit子幀頭:EE16;
4 bit模擬通道幀頭:8;
4 bit數(shù)字通道幀頭:4。
數(shù)據(jù)編碼系統(tǒng)采用混合編幀的處理方法,即將所有數(shù)據(jù)按照一定的數(shù)據(jù)幀格式打包編幀,對不同種類的信號分別加上不同的幀標志以示區(qū)別。設計中包括模擬量和數(shù)字量2種數(shù)據(jù),FPGA首先從數(shù)據(jù)采集系統(tǒng)中的2個FIFO中提取數(shù)據(jù),然后編碼處理。整個數(shù)據(jù)打包方案如表1所示。

表2 數(shù)據(jù)打包方案
3.1 采集控制程序設計
在采集系統(tǒng)中,用FPGA來控制8路12 bit A/D轉(zhuǎn)換器即MAX1308芯片的信號輸出,復位信號reset為高電平時有效,外部時鐘CLK頻率為10 MHz,在R。下降沿時開始讀取信號。使用有限狀態(tài)機來控制A/D采樣,包括12種狀態(tài)。狀態(tài)圖如圖3所示。

圖3 狀態(tài)圖
狀態(tài)圖說明:當復位信號為低時,狀態(tài)機處于初始狀態(tài)S0,數(shù)據(jù)輸出使能無效,啟動轉(zhuǎn)換輸入CONVST為高電平,片選信號CS=1,寫信號WR=1,fifo_wr=0;當為高電平時跳到狀態(tài)S1為通道選擇;當CS變?yōu)榈碗娖綍r,到達狀態(tài)S2準備配置寄存器;當WR為低電平,若數(shù)據(jù)輸出使能有效,到達狀態(tài)S3完成寄存器配置;當WR跳為高電平時,為等待進入讀狀態(tài)S4;若數(shù)據(jù)輸出使能無效,清空配置寄存器進入啟動轉(zhuǎn)換輸入狀態(tài)S5;當CONVST跳為低電平時,為等待轉(zhuǎn)換結(jié)果S6;等到下一個CONVST跳變?yōu)楦唠娖綍r準備讀取數(shù)據(jù)S7;當最后轉(zhuǎn)換結(jié)束時,開始讀取數(shù)據(jù)S8,否則為狀態(tài)S7;當CS跳為低電平時,進入讀信號狀態(tài)S9;當讀信號跳為0時,等待讀取下一個信號S10,并且控制fifo寫使能有效;S11為靜止等待狀態(tài)。
根據(jù)信號采集系統(tǒng)的需求,FPGA控制A/D轉(zhuǎn)換器MAX1308實現(xiàn)模擬信號的采集,并將其存儲在FIFO中,在rd_n每一次的下降沿開始讀入數(shù)據(jù),讀取8通道的模擬信號,并控制fifo_wr寫入有效。具體的狀態(tài)機采集波形如圖4所示。

圖4 狀態(tài)機采集波形
3.2 編碼控制程序設計
根據(jù)巴克碼特性以及編碼系統(tǒng)設計要求,用FPGA來實現(xiàn)編碼電路的邏輯控制,按照數(shù)據(jù)打包方案進行統(tǒng)一編碼,其具體過程包括對16通道數(shù)據(jù)添加通道號、序列號、子幀頭、總幀頭將數(shù)據(jù)打包并存儲等。其編碼整體流程框圖如圖5所示。

圖5 數(shù)據(jù)編碼流程圖
根據(jù)上述數(shù)據(jù)編碼流程圖,FPGA控制編碼過程,每采集8個模擬信號和1路數(shù)字信號之后就進行一次編碼輸出。clk為外部時鐘信號,rst復位信號高電平有效,ad_din是12位的模擬量輸入,data_din是8位的數(shù)字量輸入,dout為混合編碼輸出,其中包含子幀頭,幀序列號,模擬量幀頭,模擬量通道號,模擬量,數(shù)字量幀頭,數(shù)字量。數(shù)據(jù)編碼波形如圖6所示。

圖6 數(shù)據(jù)編碼波形
圖6顯示的是數(shù)據(jù)編碼系統(tǒng)對采集的8通道模擬量和數(shù)字量之后完成的一次編碼,輸出樣式為:ee16-00000000-8-0001-1002-2003-3004-4005-5006-6007-7008-401符合數(shù)據(jù)編碼系統(tǒng)的數(shù)據(jù)打包要求,總位數(shù)為192 bit。
在試驗階段,為了驗證編碼的正確性,利用標準信號源提供8路頻率逐漸增大的正弦信號:y1=A*{sin[2*pi*fn*(t)]},其中A為0.5V,fn分別為200 Hz、300 Hz、400 Hz、500 Hz、700 Hz、1 000 Hz,1 500 Hz,2 200 Hz。將此8個信號分別給模擬輸入端,用設計的采編器對其進行采集編碼并輸出,由MATLAB對其編碼后的數(shù)據(jù)進行回讀分析。首先讀取其編碼打包之后的部分數(shù)據(jù),為了查看方便,主要顯示以EE16為查詢點部分數(shù)據(jù),并給與標注后,如圖7所示。

圖7 編碼結(jié)果部分數(shù)據(jù)
由圖7可以看到,數(shù)據(jù)是以總幀頭EB90作為起始,以EE16作為子幀頭,并加以模擬幀頭和通道號完成打包的。在MATLAB中根據(jù)數(shù)據(jù)編碼系統(tǒng)所采用的巴克碼組的特性,對回讀的數(shù)據(jù)中選取4個EE16之間的數(shù)據(jù)即4幀數(shù)據(jù)求取自相關(guān)函數(shù),圖8為歸一化自相關(guān)函數(shù)。

圖8 部分歸一化自相關(guān)函數(shù)
由圖6可以看出,兩個EE16之間相隔45位16進制數(shù),轉(zhuǎn)化為2進制數(shù)之后為180 bit。在圖8中可以看出求取的歸一化自相關(guān)函數(shù)為偶函數(shù),只需看以0為分界線的右邊即可,在右半部分數(shù)據(jù)中,含有4個峰值點,這就代表出現(xiàn)4次EE16的出現(xiàn);由于選取的第1個值EE16放在數(shù)據(jù)首位,所以會出現(xiàn)R(0)為第1個峰值點;此外,由于兩個EE16之間的數(shù)據(jù)位相差18位,所以在其歸一化自相關(guān)函數(shù)上體現(xiàn)為180次,360次,540次移位之后出現(xiàn)峰值。從以上3點,可以確定利用巴克碼的特性,通過求取通過整個已編碼數(shù)據(jù)的自相關(guān)函數(shù)可以找到巴克碼的所在位置,這樣就可以對整個數(shù)據(jù)包有效分離。然后根據(jù)編碼時的數(shù)據(jù)打包方法,逆向解包,解出每個通道數(shù)據(jù)并繪制圖形。驗證時,由于采編器輸入的信號均是峰值為0.5 V,直流偏置為0 V的正弦波,若在一幅圖中顯示,會出現(xiàn)波形混疊。為了能夠?qū)?通道數(shù)據(jù)清晰地顯示,對解碼輸出的1通道到8的數(shù)據(jù)分別加偏置1 V、3 V、5 V、7 V、9 V、11 V、13 V、15 V。如圖9所示。

圖9 8通道正弦波測試曲線

圖10 不同信噪比條件下的誤碼率比較
將圖9波形與標準信號源的輸出對比,相互吻合,測試證明飛行遙測系統(tǒng)采編器達到了設計需求。
為了考察加入巴克碼變換之后對誤碼率的作用效果,當系統(tǒng)存在干擾時進行測試,如圖10,圖10顯示,相比于不加任何碼和常用的加入固定前導碼(0x55和0xAA)的飛行器系統(tǒng),基于巴克碼完成的采編器由于其擴頻性能已將干擾能量擴展到一定帶寬范圍內(nèi),在檢測時能有效抑制干擾,從而具有更好的誤碼率性能,這與理論分析的結(jié)果一致。
飛行遙測系統(tǒng)采編器針對飛行器進入“黑障區(qū)”數(shù)據(jù)丟幀的問題,采用了可編程時序控制技術(shù),以及巴克碼編碼技術(shù),設計了數(shù)據(jù)采集系統(tǒng)與數(shù)據(jù)編碼系統(tǒng),有效地檢測和判斷數(shù)據(jù)丟幀情況,降低了誤碼率,保證測試數(shù)據(jù)的質(zhì)量,為地面數(shù)據(jù)處理帶來方便。目前,該采編器已成功應用于某飛行器飛行試驗中,取得了良好的效果,具有廣泛的應用前景。
[1] 謝銘勛. 再入遙測技術(shù)[M]. 國防工業(yè)出版社,1992:1-12.
[2] 曲馨,方格平.“黑障”問題的介紹與分析[J]. 硅谷,2010(10):149,173.
[3] 胡紅軍,陳勇,陳菊. 飛行器黑障區(qū)測控技術(shù)問題探討[J]. 彈箭與制導學報,2012(2):197-199,206.
[4] 戴衛(wèi)兵,田寶泉,朱攀. 機載遙測發(fā)射系統(tǒng)的設計與實現(xiàn)[J]. 中國測試,2011(2):76-79.
[5] 閆鑫. PCM記憶重發(fā)編碼器的設計[J]. 電子測試,2012(3):73-76.
[6] 李志剛. 基于瞬時自相關(guān)的信號分選方法研究[J]. 電子器件,2007,30(6):2186-2188.
[7] Abhisek Ukil. Low Autocorrelation Binary Sequences:Number Theory-Based Analysis for Minimum Energy Level,Barker Codes[J]. Digital Signal Processing,2009,202.
[8] Hyunchul Bae,Jaekwon Kim,Jinwook Burm. An SNR Improvement of Passive SAW Tags with 5-bit Barker Code Sequence[J]. International Journal of Electronics,2012,997.
[9] 紀立紅,蒙美海,邵森木,等. 基于片上系統(tǒng)的數(shù)據(jù)采集編碼器[J]. 探測與控制學報,2010,32(6):30-36.
[10] 林小江,郭東文. 8路遙測信號采編器的設計與實現(xiàn)[J]. 裝備指揮技術(shù)學院學報,2003(1):74-77.
[11] 張鵬飛,李鵬,沈三民,等. 一種遙測數(shù)據(jù)采編器設計[J]. 計算機測量與控制,2011(2):468-470.
[12] 袁強,焦新泉,方煒,等. 基于FPGA的多通道遙測采編器設計[J]. 傳感器與微系統(tǒng),2015,12:97-100.
Design of Flight Telemetry System Sampling Encoder Based on the Barker Code*
MAWenji,HANYan*
(Shanxi Key Laboratory of Signal Capturing and Processing,North University of China,Taiyuan 030051,China)
To solve the problem of short-term interruption of information and data frame dropping when aircraft is in the blackout area,a design method of multi-channel encoder based on the barker code is proposed. This method adopts barker code to do the hybrid encoding frame for the collected multi-channel signal,it can do the effective separation for data on the receiving end. Designing the method by using the FPGA and detecting specific lost frames of data by using MATLAB to decode,the results show that this sampling encoder completes the effective frame process,achieves the desired design requirements,the error rate reduces 25% when SNR is 5 dB. It improves the ability of data error correction and discrimination,and enhances the robustness of flight telemetry system.
flight telemetry system;mixed frame;barker code;blackout area;data separation;error rate

項目來源:中北大學第十二屆研究生科技立項項目(20151240)
2016-04-08 修改日期:2016-06-22
TN919
A
1005-9490(2017)03-0636-05
C:6210J
10.3969/j.issn.1005-9490.2017.03.024