桑 峰,張宏偉,張 坤
(上海衛星工程研究所,上海 201109)
基于LabVIEW的幀同步碼性能分析
桑 峰,張宏偉,張 坤
(上海衛星工程研究所,上海 201109)
針對不同類型通信系統中對高性能幀同步碼需求,給出了一種實用的幀同步碼性能分析及高性能幀同步碼搜尋的解決方案。結合目前廣泛使用的LabVIEW軟件,突破了軟件自身數據類型的約束,提出了一種LabVIEW軟件下任意長度碼窮舉算法,并以此算法為基礎設計性能分析軟件,從誤同步概率和局部自相關函數2個角度對幀同步碼的性能進行了分析。根據分析的結果,給出了2種性能評價準則下的幀同步碼的選擇方法,并給出了具體范例。
LabVIEW;幀同步碼;性能
幀同步在數字通信中具有十分重要的意義,不同類型的通信方式對幀同步具有不同的要求。幀同步碼的選擇對于通信的可靠性和有效性有著至關重要的影響。LabVIEW作為一個強大的編程軟件,可以方便地實現一定長度的幀同步碼產生。文獻[1]給出了一種基于LabVIEW的幀同步碼窮舉算法,并搜索到24位以內的所有巴克碼組,但其碼組產生算法使用整型數,碼組具有長度約束。本文提出一種使用數組和遞歸算法產生碼組的方法,避免了文獻[1]中算法的碼組長度限制。本文根據該窮舉算法產生碼組,分別設計相關程序,從誤同步概率和自相關函數角度對幀同步碼進行性能分析和選擇。
在固定幀格式通信中,報文類型較少,報文長度變化不大[2],數據幀具有周期性。由于同步校核及同步保護機制的存在,允許一定次數的漏同步和誤同步[3],相關的最佳幀同步碼的圖樣也已經獲知。而在可變幀格式通信中,報文長度變化大,數據幀具有隨機性,此時對同步碼的要求較高,需保證極低的誤同步概率。典型的幀格式及其相關檢測方式[4]如圖1所示。

(a)幀格式

(b)幀同步碼的相干檢測圖1 典型的幀同步數據序列及檢測方式
對于長度為m的隨機序列,若允許產生k個誤碼,檢測的漏同步概率及誤同步概率[5]為:
漏同步概率:
(1)
誤同步概率:
(2)
式中,p為誤比特率。
式(1)和式(2)均是針對長度與幀同步碼一致的數據而言,且結果與同步碼的碼型無關。對于長度為n(n>m)的數據,其中出現幀同步碼組的概率則跟碼型相關,且計算比較復雜。為了分析不同碼型對誤同步概率的影響,使用LabVIEW設計程序,依次列出幀同步碼和數據段的所有組合,并檢索出各個幀同步碼下數據段出現幀同步碼的所有組合,計算出各個同步碼型的誤同步概率。
1.1 算法實現
長度為m同步碼的所有可能的組合有2m個,長度為n數據段所有可能的組合有2n個。LabVIEW中整型數的最大值是264-1。文獻[1]使用整型數來表示幀同步碼,因此最多只能表示64位同步碼。當n>64時,將無法使用整型數表示。本文解決方案是使用LabVIEW中數組來表示幀同步碼和數據段狀態,每個數組可以有231-1個整型數元素,每個整型數的取值范圍可達0~264-1,總共可以記錄(231-1)264-1≈25.7×1020種狀態,也即可以表示約5.7×1020位二進制數。通過數組的組合,可以實現任意長度的計數。
使用數組完成所有長度為n的二進制碼組窮舉算法如下:
第1步:輸入數據位數n,生成一個n+1元數組x,數組每個元素初始化為0;
第2步:數組x第1位x(1)←x(1)+1;
第3步:判斷x(1)是否為2,若x(1)=2,刪除數組x元素x(1),并重新構成數組x,再次從第2步執行,執行完成后在數組x前面插入元素0,重新構成數組x;若x(1)≠2,保持數組x不變;
以上2~3步,構成一個遞歸算法,每執行一次,取數組x的前n位,即可以組成一個n位二進制碼組。
第4步:重復從第2步執行,直至x(n+1)=1,完成所有碼組的窮舉。
在LabVIEW中采用遞歸方式實現以上算法,可以避免使用大量FOR-循環。采用遞歸方式使得程序框圖非常簡潔,如圖2所示。

(a)x(1)≠2時的程序流程

(b)x(1)=2時的程序流程圖2 LabVIEW實現任意長度碼組窮舉程序框圖
圖2中,程序在條件結構中判斷x(1)是否為2。若x(1)=2,開始執行遞歸調用;若x(1)≠2,保持數組x不變。
實現了碼組窮舉后,使用LabVIEW進行誤同步概率計算的流程如下:
第1步:輸入同步碼長m,對其采用窮舉算法,遍歷所有碼組組合;
第2步:對于每個同步碼組組合,采用窮舉算法,遍歷長度為n的所有數據序列組合;
第3步:在數據序列組合中搜尋同步碼組,記錄所有數據序列組合出現同步碼組的情形,得出當前同步碼下的誤同步概率;
第4步:依次執行第2步和第3步,統計所有同步碼組的誤同步概率。
1.2 結果分析
選擇同步碼長為8位,數據段長為20位的情形,依照以上算法進行計算,結果表明,當同步碼為全1碼或者全0碼時,誤同步概率最低,為2.73%;當同步碼A={a1a2…am}具有以下性質時:{a1a2…ak}與{am-k+1am-k+2…am}在任意1≤k 表1 m=8,n=20條件下不同同步碼的誤同步概率 表1中,序號4的幀同步碼10111000為基于覆蓋區最小誤同步概率的最佳幀同步碼[3],該碼此情況下卻有最高的誤同步概率5.06%。相關機理簡要分析如下: 所謂的最佳幀同步碼,是在覆蓋區誤同步概率最小的碼。最佳幀同步碼A={a1a2…am}首先應具有這樣的性質,即A平移后的碼組Ak與A要避免一致,即{a1a2…ak}與{am-k+1am-k+2…am}在任意1≤k 在本文的情況下,由于此種碼型具有平移不重復的性質,數據段出現此種碼型的數量最多。具有平移重復性質碼組,在數據段可以多個合并出現,從而減少出現同步碼型的數據段樣本總數。例如對于數據長度為3,同步碼長為2的情況,若同步碼為00,則出現同步碼組的數據組合有000,001,100,其中000合并了2次同步碼的情形;若同步碼為01,則出現同步碼組的數據組合有010,011,001,101。數據段出現01的樣本多。 從表1可以看出,m=8,n=20時,雖然全0碼和全1碼具有最低的誤同步概率2.7%,誤同步概率對于實際應用仍偏大,且當n變大時,誤同步概率也會變大。為了保證數據段完全不出現幀同步碼,可以采用類似于HDLC協議的“比特插入/刪除”法[6],人為的避免數據段出現同步碼的情況,但此種做法是以增加系統的額外開銷為代價的。 幀同步碼性能的另一個重要指標是局部自相關函數[7],優良的幀同步碼組應具有尖銳的局部自相關函數。對于碼組A={a1a2…am},局部自相關函數定義為: (3) 式中,ai(i=1,2…,m)為組成同步字的各數據位的雙極性表示(±1),τ為位偏移量。 同步字性能的優劣取決與自相關函數的峰值與旁瓣的大小,定義峰值副瓣(PSL)電平如下: (4) 為了獲取PPSL較小的碼組,使用LabVIEW設計程序,對特定碼長的碼組進行窮舉,并選擇PSL較小的碼組。 2.1 算法實現 本算法引用了本文1.1節的方法進行碼型的窮舉。相關算法描述如下: 第1步:根據設定的碼長m,使用本文1.1節的方法完成該長度碼型的窮舉; 第2步:根據式(3)計算自相關函數,采用LabVIEW提供的自相關計算的子VI實現; 第3步:結果處理,對自相關計算的結果除去τ=0的計算值,并進行排序,得出最大的副瓣電平; 第4步:基于最大副瓣電平的約束,選取符合要求的幀同步碼并將結果輸出,并根據式(4),計算PPSL。 2.2 結果分析 分別設定碼長為13,基于副瓣電平不大于1的準則,軟件共搜索出了4組碼,分別為:0101001100000,0000011001010,1111100110101,1010110011111,其PPSL均為-22.28 dB。可以看出其即為目前已知的4個13位巴克碼組[8],驗證了該算法的正確性。 設定碼長為16,基于副瓣電平不大于2的準則,共找到80個碼組,其PPSL均為-18.06 dB。其中部分碼組與文獻[9]給出的準最佳16位幀同步碼相同,進一步驗證了該算法的正確性。部分碼型及局部自相關函數如圖3所示。 圖3 m=16,副瓣電平不大于2的部分同步碼及自相關函數 設定碼長為32,基于副瓣電平不大于3的準則,共找到3 376個碼組,其PPSL均為-20.56 dB。m=32,副瓣電平不大于3的部分同步碼及自相關函數如圖4、圖5、圖6和圖7所示。 圖4 00011110001100110101010010010000及其自相關函數 圖5 10110001100001011111111001011101及其自相關函數 圖6 11100110001101010110110111110000及其自相關函數 圖7 00001011010010100010010001000111及其自相關函數 本文使用LabVIEW從不同的角度對幀同步碼的性能進行了分析,計算了不同碼型的數據段誤同步概率的差異,并給出了一種基于局部自相關函數的幀同步碼選擇方法。本文所設計的算法簡單可行,解決了文獻[1]的碼長限制問題,實用性得以提高,可以實現任意碼長的幀同步碼性能分析,從而實現性能優良的幀同步碼組的選擇。以本文的方法為基礎,基于其他碼性能評價準則[10],也可以快速地設計出符合要求的碼組搜索算法。對于獲得滿足不同通信系統需求的幀同步碼有一定的意義。 [1] 高 瑜.基于LabVIEW的幀同步碼組窮舉算法的實現[J].通信技術,2011,44(5):65-67. [2] 龍在云,武 斌,顧 勇.幀同步碼最佳碼長在航空通信中的應用分析[J].通信技術,2007,40(8):21-25,36. [3] 張景悅.PCI總線信號數字復接系統—分接子系統設計與實現[D].長沙:國防科技大學,2004. [4] Wern H S,Chih-T S.The Performance Evaluation,Selection,and Design of Unique-Words for Time-Division Multiple Access Systems[J].IEEE Transactions on Vehicular Technology,1995,44(1):111-120. [5] Bernard Sklar.數字通信—基礎與應用(第2版)[M].北京:電子工業出版社,2002. [6] 劉文學,郭玉忠,姜琳琳.HDLC協議的FPGA實現方法[J].航空計算技術,2011,41(3):93-96. [7] 朱宏權,王俊峰.一種新的Turbo碼同步字模板的性能研究[J].飛行器測控學報,2011,30(增):84-88. [8] 田日才,遲永鋼.擴頻通信[M].北京:清華大學出版社,2014. [9] 謝求成,雷仲魁.航天遙控系統準最佳地址同步碼研究[J].南京航空航天大學學報,1994,26(6):813-821. [10] 白 彧,楊曉靜,張 玉.基于高階統計處理技術的m-序列幀同步碼識別[J].電子與信息學報,2012,84(1):33-37. Performance Analysis of Frame Synchronization Codes Using LabVIEW SANG Feng,ZHANG Hong-wei,ZHANG Kun (Shanghai Institute of Satellite Engineering,Shanghai 201109,China) A practical method of performance analysis and searching of high-performance synchronization codes is designed to meet different communication system demands.Based on the widely-used LabVIEW software and breaking through the restriction of its data type,an exhaustive algorithm of generating arbitrary-length codes using LabVIEW is proposed in this paper.Base on this,the software is designed and the performance analysis of frame synchronization codes is carried out from both aspects of false synchronization probability and local autocorrelation function.According to the result,some guides and examples are given in choosing synchronization codes by the two rules. LabVIEW;frame synchronization code;performance 10.3969/j.issn.1003-3114.2017.01.20 桑 峰,張宏偉,張 坤.基于LabVIEW的幀同步碼性能分析[J].無線電通信技術,2016,43(1):81-84. 2016-06-17 民用航天“十二五”技術預先研究項目 桑 峰(1986—),男,工程師,主要研究方向:衛星通信系統總體設計。張宏偉(1975—),男,研究員,主要研究方向:衛星總體設計。張 坤(1981—),女,高級工程師,主要研究方向:衛星綜合電子技術。 TN911 A 1003-3114(2017)01-81-4
2 幀同步碼的局部自相關函數分析及選擇





3 結束語