摘 要:在非合作通信場景下,針對現(xiàn)有的非等長幀同步字盲識別算法存在的抗誤碼性能不佳、識別速度慢和識別結(jié)果不完整的問題,提出一種基于兩次窗口滑動運(yùn)算的非等長幀同步字盲識別算法。首先,將比特流均勻切分為多個窗口,取前兩個窗口做滑動同或運(yùn)算得到擴(kuò)展同步字(extended synchronization word, E-SW);然后,利用得到的E-SW與剩余窗口分別做滑動相關(guān)性運(yùn)算,得到每個窗口對應(yīng)的E-SW并組成E-SW集合;最后,對E-SW集合進(jìn)行統(tǒng)計(jì)分析,篩選出未知同步字的碼字內(nèi)容。仿真結(jié)果表明,所提算法在誤碼率為10-2時(shí)能實(shí)現(xiàn)98.7%的識別準(zhǔn)確率,并且可以識別出未知同步字的完整碼字內(nèi)容。在相同準(zhǔn)確率的情況下,所提算法比現(xiàn)有算法至少能多適應(yīng)0.01的誤碼。此外,所提算法的識別速度較現(xiàn)有算法更快,且同樣適用于等長幀協(xié)議。
關(guān)鍵詞: 非合作通信; 同步字; 非等長幀; 盲識別; 窗口滑動
中圖分類號: TN 911.23 文獻(xiàn)標(biāo)志碼: A""" DOI:10.12305/j.issn.1001-506X.2024.10.33
Blind recognition algorithm for non-equal length frame synchronization word
based on two window-sliding operations
WANG Yuanqing, HU Pengjiang, YANG Jun’an LIU Hui
(Institute of Electronic Countermeasures, National University of Defense Technology, Hefei 230037, China)
Abstract: In non-cooperative communication scenarios, existing blind recognition algorithms for non-equal length frame synchronization face significant challenges, including suboptimal bit error resilience, slow detection speed and incomplete recognition results. In order to solve these challenges, a blind recognition algorithm for non-equal length frame synchronization word based on two window-sliding operations is proposed. Firstly, it divides the bitstream into multiple windows, and uses the first two windows to obtain extended synchronization word (E-SW) through sliding XNOR operation. Then, it uses sliding correlational operation between E-SW and the remaining windows to get the E-SWs for all windows and forms the E-SW set. Finally, statistical analysis is conducted on the E-SW set to determine the codeword of unknown synchronization word. The simulation results show that the proposed algorithm has a recognition accuracy of 98.7% when the bit error rate is 10- and recognizes the complete codeword through unknown synchronous words. Under the same accuracy, the proposed algorithm can adapt to at least 0.01 more-bit errors than existing algorithms. In addition, the speed of the proposed algorithm is faster than existing algorithms and is applicable to equal length frame protocols.
Keywords: non-cooperative communication; synchronization word; non-equal length frame; blind recognition; window-sliding
0 引 言
在現(xiàn)代通信系統(tǒng)中,通信雙方按照事先規(guī)定好的通信協(xié)議進(jìn)行通信,但是在電子對抗、無線電資源管理等非合作通信場景下,非合作方需要在通信協(xié)議未知的情況下對截獲的比特流數(shù)據(jù)進(jìn)行分析。數(shù)據(jù)在數(shù)據(jù)鏈路層中以幀為單位進(jìn)行封裝并傳輸,因此為獲取比特流數(shù)據(jù)中承載的有效信息,需要在協(xié)議類型未知的情況下對比特流數(shù)據(jù)進(jìn)行正確的幀切分[1]。為實(shí)現(xiàn)比特流數(shù)據(jù)的盲幀切分,首先需要解決同步字(synchronization word, SW)的盲識別問題。
目前,國內(nèi)外針對SW盲識別問題的研究對象大多是等長幀。等長幀可以借助SW在比特流中周期性出現(xiàn)的特性進(jìn)行盲識別[25],但是這一特性在非等長幀中不存在,因此非等長幀的SW盲識別是一個十分具有挑戰(zhàn)性的工作。隨著通信體制的快速發(fā)展和大量未知私有協(xié)議的涌現(xiàn),非等長幀協(xié)議已經(jīng)在民用和軍用領(lǐng)域被廣泛投入使用[6],例如802.11系列中的部分協(xié)議、空間數(shù)據(jù)系統(tǒng)協(xié)商委員會(Consultative Committee for Space Data Systems, CCSDS)中的部分衛(wèi)星通信協(xié)議、部分私有通信協(xié)議等,但是目前對于非等長幀SW盲識別的研究較少,且現(xiàn)有算法存在一定缺點(diǎn)和不足,因此研究一種有效的非等長幀SW盲識別算法具有很重要的實(shí)際意義。
目前,用于非等長幀的SW盲識別算法主要可以分為三大類:基于比特流碼字特征的盲識別算法、基于數(shù)據(jù)挖掘的盲識別算法和基于神經(jīng)網(wǎng)絡(luò)的盲識別算法。
(1) 基于比特流碼字特征的盲識別算法:文獻(xiàn)[7]提出一種基于軟判決的SW盲識別算法;文獻(xiàn)[8]針對一類具有高碼元密度特性的SW,通過碼元密度檢測的方法實(shí)現(xiàn)數(shù)據(jù)鏈路層協(xié)議的幀同步盲識別,該算法的適用范圍有限;文獻(xiàn)[9]提出基于最大公共子串的盲識別算法,但是該方法不適用于有誤碼的情況;文獻(xiàn)[10]在已知SW長度和幀長范圍的前提下利用幀結(jié)構(gòu)遍歷的方法進(jìn)行盲識別,該方法屬于半盲場景且算法復(fù)雜度較高;文獻(xiàn)[11]利用多重分形譜實(shí)現(xiàn)SW盲識別,但是該方法無法確定SW的長度,所以其識別結(jié)果僅是SW的部分字段。
(2) 基于數(shù)據(jù)挖掘的盲識別算法:文獻(xiàn)[12]通過有向圖的形式構(gòu)建頻繁項(xiàng)之間的關(guān)聯(lián)規(guī)則,實(shí)現(xiàn)SW的準(zhǔn)確唯一識別;文獻(xiàn)[1314]利用數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則分析實(shí)現(xiàn)SW的盲提取。但是,基于數(shù)據(jù)挖掘的方法時(shí)間成本高,且需要大量的數(shù)據(jù)支撐。
(3) 基于神經(jīng)網(wǎng)絡(luò)的盲識別算法:文獻(xiàn)[15]結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與線性濾波器實(shí)現(xiàn)SW的準(zhǔn)確提取;文獻(xiàn)[16]利用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)具有記憶性的特性,利用兩個RNN從非等長幀比特流中準(zhǔn)確提取SW和幀長。文獻(xiàn)[1718]利用深度學(xué)習(xí)技術(shù)研究物理層幀同步的相關(guān)工作。但是基于神經(jīng)網(wǎng)絡(luò)的方法在訓(xùn)練階段需要依賴標(biāo)簽數(shù)據(jù),而在實(shí)際的應(yīng)用場景下,標(biāo)簽的獲取是比較困難的,所以該方法適用性不強(qiáng),并且該方法需要預(yù)先訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù),算法訓(xùn)練耗時(shí)長。
此外,有學(xué)者通過引入其他先驗(yàn)信息輔助幀同步盲識別。文獻(xiàn)[1922]利用信道編碼特性進(jìn)行非等長幀協(xié)議的編碼同步聯(lián)合識別。文獻(xiàn)[23]利用偽碼特性進(jìn)行同步。文獻(xiàn)[2425]通過引入信道狀態(tài)進(jìn)行幀同步聯(lián)合識別。還有的學(xué)者利用時(shí)域信息來輔助碼域的SW識別[26],但這些都不屬于全盲識別的范疇??傮w來看,現(xiàn)有的研究存在著抗誤碼性能不佳、識別速度慢和識別結(jié)果不完整等問題。
文獻(xiàn)[2]利用一次窗口滑動的相關(guān)性運(yùn)算實(shí)現(xiàn)等長幀的SW盲識別,但是該方法不適用于非等長幀問題。本文借鑒該方法中窗口滑動的思想,提出一種基于兩次窗口滑動運(yùn)算的非等長幀SW盲識別算法。本文提出的算法分為3步。首先,將原始比特流數(shù)據(jù)均勻地切分為多個窗口,并取窗口1作為參考窗口,與窗口2進(jìn)行滑動同或運(yùn)算,得到窗口1對應(yīng)的擴(kuò)展SW(extended SW, E-SW);其次,將窗口1的E-SW作為新的參考窗口,分別與剩余窗口做滑動相關(guān)性運(yùn)算,得到每個窗口對應(yīng)的E-SW并組成E-SW集合;最后,對E-SW集合進(jìn)行統(tǒng)計(jì)分析,篩選出準(zhǔn)確的SW的碼字內(nèi)容。仿真結(jié)果驗(yàn)證了本文算法對非等長幀協(xié)議的有效性,在接收數(shù)據(jù)存在一定誤碼的情況下,本文算法比現(xiàn)有算法的識別準(zhǔn)確率更高、速度更快。此外,本文算法同樣適用于等長幀協(xié)議,并且識別準(zhǔn)確率略優(yōu)于文獻(xiàn)[2]提出的等長幀算法。
1 系統(tǒng)模型
本文考慮的示例場景如圖1所示[3]。其中,A和B分別是合作通信方的發(fā)射機(jī)和接收機(jī),二者之間通過發(fā)送連續(xù)的非等長幀數(shù)據(jù)進(jìn)行通信。C是非合作通信方的偵察干擾機(jī),其目標(biāo)是干擾A和B之間的有效通信。C在竊聽信道上偵聽A和B之間的通信內(nèi)容,并在沒有先驗(yàn)信息的基礎(chǔ)上從比特流數(shù)據(jù)中準(zhǔn)確識別出A與B之間用于通信同步的SW,然后利用特定的干擾方式破壞A與B之間通信的同步環(huán)節(jié),使二者通信中斷。
如圖2所示,發(fā)射機(jī)通過合法信道向接收機(jī)發(fā)送連續(xù)的非等長幀數(shù)據(jù)X=(x1,x2,…,xi),其中xi∈{0,1}。偵察機(jī)通過竊聽信道截獲長度為M的比特流數(shù)據(jù)Y=(y1,y2,…,yM)。非等長幀的結(jié)構(gòu)由SW和數(shù)據(jù)字段(data)兩部分組成,在圖中深色部分表示SW,淺色部分表示Data。SW在傳輸時(shí)保持不變,用S=(s1,s2,…,sL)來表示,其中L代表SW的長度。Data的內(nèi)容和長度會根據(jù)傳輸信息的不同而變化,所以每一幀的幀長是不同的。此外,由于Data部分往往會采取加密、加擾、交織等處理[6],所以Data通常表現(xiàn)為隨機(jī)的01序列。
由于非合作通信方無法準(zhǔn)確得知合法信道何時(shí)開始通信,所以偵察機(jī)接收到的數(shù)據(jù)僅是從原始數(shù)據(jù)流中截獲的一部分,因此數(shù)據(jù)Y的起始位置存在3種情況:位于幀頭的起始位置、位于SW中的某個位置或位于Data中的某個位置,這3種情況分別對應(yīng)圖2中的T1、T2和T3。
數(shù)據(jù)在傳輸?shù)倪^程中會受到信道噪聲的影響,導(dǎo)致比特流數(shù)據(jù)中出現(xiàn)誤碼,而非合作方無法采用有效的糾錯措施減少這種影響,所以截獲數(shù)據(jù)會存在一定的誤碼現(xiàn)象。本文考慮在誤碼場景下對SW進(jìn)行盲識別,并使用二進(jìn)制對稱信道(binary symmetric channel, BSC)來模擬信道誤碼對數(shù)據(jù)的影響。
2 算法描述
圖3展示了本文算法的基本流程。本文算法主要分為3步,如左半部分框圖所示,每一步的具體實(shí)現(xiàn)細(xì)節(jié)如右半部分框圖所示。每一步的具體實(shí)現(xiàn)細(xì)節(jié)將在下文介紹。
2.1 識別E-SW(1)
首先將截獲到的比特流數(shù)據(jù)Y按長度K均勻切分,不足長度K的部分丟棄,如圖4所示。
將切分得到的每段數(shù)據(jù)定義為窗口,一共可以得到N=M/K個窗口,其中·表示向下取整運(yùn)算,窗口集合用{W1,W2,…,WN}表示。K的取值是一個大于最大幀長的數(shù),以保證每個窗口內(nèi)至少存在一個完整的幀,在全盲場景下,K可以設(shè)置為一個相對較大的數(shù)值。
如圖4所示,將參考窗口設(shè)置為第1個窗口W1=(y1,y2,…,yK),與第2個窗口W2做滑動同或運(yùn)算,m代表參考窗口滑動的位移。當(dāng)參考窗口W1滑動到m處時(shí),對應(yīng)的截?cái)啻翱跒閃#1=(y1,y2,…,yK-m),其中m=0,1,…,K-1,W2與之對齊的截?cái)啻翱跒閃#2=(yK+1+m,yK+2+m,…,y2K)。對W#1和W#2按位同或可得
D(m)=W#1⊙W#2(1)
式中:⊙代表同或運(yùn)算。
對于式(1)得到的結(jié)果,如圖5所示。
在沒有誤碼的情況下,存在以下3種情況:
(1) 兩個窗口之間無SW對齊,表現(xiàn)為D(m)是雜亂無章的01序列,如圖5(a)所示;
(2) 兩個窗口之間的SW對齊,表現(xiàn)為D(m)中存在一個較長連續(xù)為1的片段,如圖5(b)所示;
(3) 兩個窗口之間的SW僅部分對齊或因隨機(jī)性在數(shù)據(jù)部分出現(xiàn)部分相等,表現(xiàn)為D(m)可能存在多個較短連續(xù)為1的片段,并且連續(xù)的長度小于真實(shí)SW的長度L,如圖5(c)所示。
對于上述3種情況,只有圖5(b)對應(yīng)的情況可以匹配到正確的SW,所以可以通過檢測序列D(m)中連續(xù)為1的長片段來判斷SW的存在。本文使用上升沿和下降沿來檢測連續(xù)為1的長片段。在實(shí)際情況下接收數(shù)據(jù)會存在誤碼,所以SW可能會被SW中出現(xiàn)的誤碼所截?cái)?,?dǎo)致出現(xiàn)多個連續(xù)為1的片段,如圖6所示。
針對此現(xiàn)象,本文對上升沿和下降沿進(jìn)行重新定義:
R(m)=δr∑δr-1j=δr-JD(m)(j)lt;η1amp;∑δr+J-1j=δrD(m)(j)gt;η2,
δr∈[J+1,K-J+1](2)
F(m)=δf∑δfj=δf-J+1D(m)(j)gt;η2amp;∑δf+Jj=δf+1D(m)(j)lt;η1,
δf∈[J,K-J](3)
式中:R(m)和F(m)分別表示滑動位移為m時(shí)對應(yīng)的上升沿集合和下降沿集合;δr和δf分別表示上升沿和下降沿對應(yīng)的位置坐標(biāo);J代表可容納錯誤的范圍;η1和η2分別為下降沿閾值和上升沿閾值,η1一般選取略大于J/2的數(shù),·代表向上取整運(yùn)算,η2一般選取略小于J的數(shù)。
這樣的設(shè)置可以容許一定的誤碼,而且一般來說SW的長度要大于幾個字節(jié),所以此設(shè)置不會對識別結(jié)果造成影響。將一對連續(xù)的上升沿和下降沿之間的碼字(yδr,yδr+1,…,yδf)稱為公共字串,對應(yīng)的坐標(biāo)范圍為(δr,δf)。在每個滑動位移m下,可能會得到多個公共字串,取其中最長的字串作為最長公共字串。參考窗口在滑動時(shí),如果新得到的最長公共字串比舊的字串要長,則更新最長公共字串。將遍歷所有m得到的最長公共字串作為SW候選項(xiàng),對應(yīng)的坐標(biāo)范圍為(δ*r,δ*f)。
由于比特流數(shù)據(jù)僅有0和1兩種可能取值,所以在SW候選項(xiàng)的邊緣處可能會出現(xiàn)數(shù)據(jù)部分存在相同的現(xiàn)象,這會導(dǎo)致SW候選項(xiàng)的長度大于真實(shí)SW長度。此外,如果在邊緣處出現(xiàn)了誤碼,則會導(dǎo)致SW候選項(xiàng)的長度小于真實(shí)SW的長度。因此,坐標(biāo)范圍(δ*r,δ*f)并不一定是準(zhǔn)確的SW邊界,即存在邊緣模糊的現(xiàn)象。為了解決邊緣模糊問題,定義了如圖6所示的擴(kuò)展長度Lea,以保證SW候選項(xiàng)中一定存在一個完整的SW。在原坐標(biāo)范圍(δ*r,δ*f)的基礎(chǔ)上,兩邊各擴(kuò)展Lea bit長度的碼字,即坐標(biāo)范圍變?yōu)椋é?sup>*r-Lea,δ*f+Lea)。最終可以得到:
E-SW(1)=(e(1)1,e(1)2,…,e(1)Le)=
(yδ*r-Lea,…,yδ*r,…,yδ*f,…,yδ*f+Lea)(4)
式中:碼字定義為E-SW,其長度為Le。為了方便闡述后續(xù)問題,用(e(1)1,e(1)2,…,e(1)Le)來表示E-SW(1)內(nèi)的碼字內(nèi)容。
2.2 獲取E-SW集合
將E-SW(1)作為新的參考窗口,滑動匹配其他窗口得到其對應(yīng)的E-SW(i),以組成E-SW集合。這一步可以等價(jià)為合作方的幀同步過程[2728],如圖7所示。將E-SW(1)作為已知同步字,與窗口Wi進(jìn)行滑動匹配,匹配得到Wi中相關(guān)程度最高的長度為Le的碼字,并將其作為窗口Wi對應(yīng)的E-SW(i),其中滑動位移為n。
對于0≤n≤K-Le,結(jié)合二進(jìn)制比特流的特性定義相關(guān)性度量函數(shù)的公式[29]為
C(Wi,n)=1Le∑Let=1e(1)t⊙w(i)t+n,n∈[0,K-Le](5)
式中:Wi=(w(i)1,w(i)2,…,w(i)K)。
對于窗口Wi,遍歷所有n可以得到關(guān)于n的相關(guān)性度量函數(shù)曲線。由于SW在比特流中固定不變,所以當(dāng)兩個窗口中的SW位置對齊時(shí)相關(guān)性度量函數(shù)C(Wi,n)會出現(xiàn)一個峰值。若Wi內(nèi)存在多個SW,則會得到多個峰值。相關(guān)性度量函數(shù)曲線的示例仿真圖像如圖8所示。
仿真采用的SW為隨機(jī)生成的長度為32 bit的碼字“11011001110110100111101111101010”,Data長度范圍為40~80 bit,窗口切割長度K=500 bit,擴(kuò)展長度Lea=8 bit。
本文選取相關(guān)性度量函數(shù)的最大峰值點(diǎn)對應(yīng)的滑動位移n*作為E-SW(i)的起始位置,截取長度為Le的碼字部分作為窗口Wi對應(yīng)的E-SW(i),記作:
E-SW(i)=(w(i)n*+1,w(i)n*+2,…,w(i)n*+Le)=
(e(i)1,e(i)2,…,e(i)Le)(6)
對每個窗口進(jìn)行上述滑動相關(guān)性計(jì)算,可以得到每個窗口對應(yīng)的擴(kuò)展同步字。最后,將所有窗口的E-SW(i)組成E-SW集合:{E-SW(1),E-SW(2),…,E-SW(N)}。
2.3 確定SW碼字內(nèi)容
對于E-SW集合中的任一E-SW(i),其存在固定域和可變域。固定域?qū)?yīng)于SW部分,在無誤碼的情況下取值固定不變;可變域是擴(kuò)展長度區(qū)域,其每一位的取值是不固定的,即為隨機(jī)的0或1。在存在誤碼的情況下,固定域內(nèi)的部分比特位會出現(xiàn)錯誤,但是從統(tǒng)計(jì)的角度來看,每一比特位的取值仍然大多數(shù)相同,這與可變域比特位取值的統(tǒng)計(jì)特性存在明顯的區(qū)別。所以,根據(jù)固定域和可變域的統(tǒng)計(jì)性質(zhì),可以對E-SW集合中的每一比特位進(jìn)行統(tǒng)計(jì)分析。
將E-SW集合中的所有E-SW(i)放入矩陣γ中,得到:
γ=E-SW(1)
E-SW(2)
E-SW(N)=e(1)1e(1)2…e(1)Le
e(2)1e(2)2…e(2)Le
e(N)1e(N)2…e(N)Le(7)
對γ的每一列進(jìn)行求和并歸一化,得到:
γsum=1N[∑Ni=1e(i)1∑Ni=1e(i)2…∑Ni=1e(i)j…∑Ni=1e(i)Le]=
[r1r2…rj…rLe](8)
根據(jù)γsum分析固定域和可變域。在無誤碼的情況下,可變域的取值接近0.5,而固定域的取值為0或1。但是,由于存在誤碼的影響,固定域內(nèi)的若干碼字會出現(xiàn)錯誤,導(dǎo)致固定域的γsum取值接近但不等于0或1,此時(shí)就需要合適的閾值來判斷某位置是否為固定域,并確定其碼字內(nèi)容。
首先,分析E-SW 集合中的每一個擴(kuò)展同步字的取值。對于E-SW(i),其每個比特位的取值僅有0和1兩種選擇并且相互獨(dú)立,所以每個比特位的取值服從二項(xiàng)分布。令τ為BSC信道的轉(zhuǎn)移概率,按每個比特位的取值將其分為如下3種情況:
(1) 可變域:服從參數(shù)為0.5的二項(xiàng)分布;
(2) 固定域取值為1:取值為1的概率為1-τ,所以服從參數(shù)為1-τ的二項(xiàng)分布;
(3) 固定域取值為0:取值為1的概率為τ,所以服從參數(shù)為τ的二項(xiàng)分布。
接下來,分析統(tǒng)計(jì)結(jié)果γsum的取值。棣莫弗拉普拉斯中心極限定理指出:當(dāng)試驗(yàn)次數(shù)足夠大時(shí),二項(xiàng)分布以正態(tài)分布為其極限分布。當(dāng)N取值較大時(shí),γsum中每一位置的取值服從相應(yīng)的正態(tài)分布,且根據(jù)正態(tài)分布的3方差準(zhǔn)則,每個位置的取值可以認(rèn)為分布在對應(yīng)的3個區(qū)間內(nèi)(分別對應(yīng)于前述3種情況):
(1) 可變域:取值近似服從均值為0.5、方差為0.25/N的正態(tài)分布,對應(yīng)的3倍標(biāo)準(zhǔn)差為1.5/N。根據(jù)正態(tài)分布的3方差準(zhǔn)則,其取值可以認(rèn)為分布在區(qū)間1[0.5-1.5/N,0.5+1.5/N]內(nèi)。
(2) 固定域取值為1:同理,取值分布在區(qū)間2[1-τ-3(1-τ)τ/N,1-τ+3(1-τ)τ/N]內(nèi);
(3) 固定域取值為0:同理,取值分布在區(qū)間3[τ-3(1-τ)τ/N,τ+3(1-τ)τ/N]內(nèi)。
當(dāng)0≤τlt;0.5且Ngt;0時(shí),區(qū)間1的下界大于區(qū)間3的上界,區(qū)間1的上界小于區(qū)間2的下界??梢允褂脙蓚€閾值μ1和μ2來區(qū)分上述3種情況,其中μ1gt;μ2。
為保證可以容忍一定的誤差,選取區(qū)間1上界與區(qū)間2下界的中點(diǎn)作為閾值μ1,區(qū)間3上界與區(qū)間1下界的中點(diǎn)作為閾值μ2,閾值的計(jì)算公式如下:
μ1=34-τ2+1N34-32(1-τ)τ(9)
μ2=14+τ2-1N34-32(1-τ)τ(10)
最后,利用閾值μ1和μ2對γsum中的每一項(xiàng)進(jìn)行判斷:
(1) 若μ2≤rj≤μ1,則判斷其為非SW部分,并且丟棄;
(2) 若μ1lt;rj,則判斷其為SW部分且取值為1;
(3) 若rjlt;μ2,則判斷其為SW部分且取值為0。
遍歷γsum中所有的項(xiàng)即可得到完整的SW。
2.4 計(jì)算復(fù)雜度分析
算法的第1步是兩個長度為K的窗口間的滑動同或運(yùn)算,其計(jì)算復(fù)雜度為Ο(K2);算法的第2步需要用長度為Le的E-SW對剩下的N-2個窗口分別進(jìn)行相關(guān)性計(jì)算,計(jì)算復(fù)雜度為Ο((N-2)KLe);算法的第3步僅需要對矩陣的每一列進(jìn)行求和,計(jì)算復(fù)雜度為Ο(Le)。由此可見,算法的總計(jì)算復(fù)雜度主要取決于前兩步,所以總復(fù)雜度可以表示為Ο(K2+(N-2)KLe)。本文算法計(jì)算面向二進(jìn)制數(shù)據(jù),涉及到的主要運(yùn)算皆可轉(zhuǎn)化為加法運(yùn)算,因此識別速度較快。
3 仿真實(shí)驗(yàn)
本文使用識別準(zhǔn)確率和計(jì)算量作為評價(jià)指標(biāo),其中SW識別正確的標(biāo)準(zhǔn)為SW長度識別正確且SW的每一位碼字也識別正確。實(shí)驗(yàn)的參數(shù)設(shè)置如表1所示。本文提出的算法是為任意SW而設(shè)計(jì)的,所以在每次蒙特卡羅實(shí)驗(yàn)時(shí)采用隨機(jī)生成的二進(jìn)制序列作為SW。
本文在配置為Core-i7-12700KF處理器、3.6 GHz主頻、16 GB內(nèi)存和Windows11操作系統(tǒng)的計(jì)算機(jī)上進(jìn)行仿真實(shí)驗(yàn)。
3.1 算法性能分析
3.1.1 識別結(jié)果分析
在誤碼率為1%的條件下,以隨機(jī)生成的“0010010000-
1110011110001111110011”為SW進(jìn)行單次仿真實(shí)驗(yàn),算法各步驟的中間輸出結(jié)果如表2所示。
用粗斜體表示各輸出碼字中的SW部分,用下劃線表示識別結(jié)果中存在的誤碼情況,用粗正體表示算法識別出的正確的SW內(nèi)容。通過對表中結(jié)果的分析可知:
(1) 從E-SW(1)的識別結(jié)果中可以看出,E-SW(1)中包含了完整的SW,并且碼長也符合本文的擴(kuò)展長度設(shè)置。同時(shí)注意到,E-SW(1)中存在誤碼現(xiàn)象(被下劃線標(biāo)記的碼字),這說明本文定義的上升沿和下降沿可以容忍一定的誤碼并能正確找到SW。
(2) 分析E-SW集合的結(jié)果可以看出,各
E-SW中都包含了完整的SW,并且SW在各E-SW中對應(yīng)的比特位置也都相同,這證明利用相關(guān)性度量來匹配E-SW是有效的。
(3) 從γsum的結(jié)果可以看出,固定的SW域(粗斜體碼字部分)的取值接近于0或1,而擴(kuò)展域部分的取值接近于0.5,這與前述理論分析結(jié)果一致,證明利用統(tǒng)計(jì)分析的方式進(jìn)行SW篩選是可行的。
(4) 算法最終得到的SW與真實(shí)的SW一致,說明了本文算法可以在誤碼場景下準(zhǔn)確地識別出未知同步字的碼字內(nèi)容。
3.1.2 閾值的選擇及有效性分析
本文在第2.3節(jié)中給出了不同誤碼率下最佳判定閾值的計(jì)算公式(式(9)和式(10)),根據(jù)上述公式計(jì)算得到的最佳閾值曲線如圖9中兩條實(shí)線所示。在全盲場景下,非合作方往往無法預(yù)先得知接收數(shù)據(jù)的誤碼率信息,所以需要提前確定閾值。本文將最佳閾值曲線的均值作為固定閾值,如圖9中兩條虛線所示,其中固定閾值1和固定閾值2的取值分別為0.786 3和0.213 7。
為驗(yàn)證閾值對識別準(zhǔn)確率的影響以及證明固定閾值選擇的有效性,實(shí)驗(yàn)選取了不同閾值進(jìn)行比較,仿真結(jié)果如圖10所示。
可以看出,計(jì)算得到的最佳閾值具有最佳的準(zhǔn)確率性能,而固定閾值的識別準(zhǔn)確率十分接近最佳閾值,所以可以證明固定閾值選擇的合理性和有效性,在之后的實(shí)驗(yàn)中沿用此閾值設(shè)置。
3.1.3 關(guān)鍵參數(shù)分析
本節(jié)將討論窗口長度K和擴(kuò)展長度Lea對識別準(zhǔn)確率的影響。在總數(shù)據(jù)量不變的基礎(chǔ)上,將K分別設(shè)置為1 000、2 000和3 000,將Lea分別設(shè)置為4、8和12(圖中1 000+4代表窗口長度K為1 000,Lea為4,其他同此),其他參數(shù)保持不變,實(shí)驗(yàn)結(jié)果如圖11所示。
首先,從理論上分析算法產(chǎn)生錯誤的主要原因,當(dāng)算法第1步的E-SW中沒有包含完整的SW或算法第3步中SW的判定出現(xiàn)錯誤時(shí),算法的輸出結(jié)果會出現(xiàn)錯誤??梢钥闯?,窗口長度和擴(kuò)展長度對算法的影響相對獨(dú)立。
固定擴(kuò)展長度,可以看出窗口長度K對算法識別準(zhǔn)確率的影響較大。當(dāng)K較小時(shí),單個窗口中包含的完整SW較少,受誤碼影響算法第1步可能出現(xiàn)錯誤,因而導(dǎo)致識別準(zhǔn)確率略微下降;當(dāng)K較大時(shí),雖然算法第1步中的E-SW識別更加準(zhǔn)確,但由于總數(shù)據(jù)量不變,所以窗口的數(shù)量N會隨之減少,而算法第3步中的閾值計(jì)算是基于大數(shù)定理推導(dǎo)的,所以當(dāng)N減少時(shí),閾值選取的準(zhǔn)確性下降,使得識別準(zhǔn)確率下降程度較大,但是這一問題可以通過增加數(shù)據(jù)量來解決。綜上分析,選取K=2 000的窗口作為本文使用的參數(shù)。
固定窗口長度,可以看出擴(kuò)展長度Lea對算法識別準(zhǔn)確率的影響較小。當(dāng)Lea較小時(shí),可能會使E-SW無法包含完整的SW,而當(dāng)Lea較大時(shí),則會增加算法第3步中判決錯誤的概率。綜合考慮后,選取Lea=8作為本文使用的擴(kuò)展長度。
3.2 算法性能對比
3.2.1 非等長幀情況下的算法性能對比
實(shí)驗(yàn)選取文獻(xiàn)[10]、文獻(xiàn)[11]和文獻(xiàn)[16]的算法與本文算法進(jìn)行性能對比。文獻(xiàn)[10]算法在已知幀長范圍和SW長范圍的前提下,利用幀結(jié)構(gòu)遍歷的方式識別出SW的碼字內(nèi)容,其中SW長范圍的參數(shù)設(shè)置為30~35 bit,迭代次數(shù)為5;文獻(xiàn)[11]算法利用多重分形譜原理對信息字段進(jìn)行刪減,然后通過計(jì)算剩余序列中的字段濃度篩選出SW,刪減行數(shù)和刪減次數(shù)分別設(shè)置為20和50。文獻(xiàn)[16]算法在傳統(tǒng)方法的基礎(chǔ)上利用深度學(xué)習(xí)技術(shù)來輔助識別,使用的是RNN。文獻(xiàn)[10]和文獻(xiàn)[16]中算法的輸出結(jié)果是完整的SW,但是文獻(xiàn)[11]中算法的輸出僅是SW的部分字段,所以在本節(jié)中將找到SW的部分字段,作為文獻(xiàn)[11]算法識別正確的標(biāo)準(zhǔn)。
在識別準(zhǔn)確率方面,仿真結(jié)果如圖12所示。在無誤碼的情況下,4種算法的識別準(zhǔn)確率都接近100%,但是隨著誤碼率的升高,算法的識別準(zhǔn)確率隨之下降。本文算法在誤碼率為1%時(shí)的準(zhǔn)確率為98.7%,在誤碼率升高至5%時(shí)仍然具有75%以上的準(zhǔn)確率。文獻(xiàn)[10]提出的算法在誤碼率為2%時(shí),準(zhǔn)確率已不足50%,而在誤碼率高于4%后,基本上無法正確識別出SW。文獻(xiàn)[16]和文獻(xiàn)[11]提出的算法識別準(zhǔn)確率較高,但仍不及本文算法。在誤碼率較低時(shí),準(zhǔn)確率的差距小于5%,但是隨著誤碼率的升高,差距開始變大,當(dāng)誤碼率大于5%時(shí),差距超過了20%。雖然文獻(xiàn)[11]和文獻(xiàn)[16]算法的識別準(zhǔn)確率與本文算法的差距較小,但是文獻(xiàn)[16]算法需要借助海量的計(jì)算資源,而文獻(xiàn)[11]算法僅能找到SW的部分碼字。
在算法的計(jì)算量方面,由于文獻(xiàn)[16]借助深度學(xué)習(xí)的方法,所以計(jì)算量較大,故本文不對比該算法的計(jì)算量。將誤碼率設(shè)置為1%,每種算法分別統(tǒng)計(jì)100次蒙特卡羅實(shí)驗(yàn)的平均計(jì)算量,結(jié)果如表3所示。文獻(xiàn)[10]算法的計(jì)算量大約是本文算法的10倍,文獻(xiàn)[11]算法雖然與本文算法的總計(jì)算量相近,但是該算法的主要運(yùn)算為乘法運(yùn)算,對于計(jì)算機(jī)而言,乘法計(jì)算消耗的時(shí)間是加法的4倍以上。綜合分析,本文算法總計(jì)算量要顯著小于現(xiàn)有算法,證明本文算法具有更好的時(shí)效性。
接下來,對不同算法的實(shí)驗(yàn)結(jié)果進(jìn)行討論。文獻(xiàn)[16]利用神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征學(xué)習(xí)能力可以有效處理SW盲識別問題,但是隨著誤碼率升高,比特流中的SW特征會變得模糊,所以識別效果變差;文獻(xiàn)[10]雖然利用大數(shù)定理減少誤碼的影響,但是在遍歷數(shù)據(jù)時(shí)并沒有采取抗誤碼措施,所以在統(tǒng)計(jì)分析前的SW檢測步驟會出現(xiàn)檢測錯誤的可能,導(dǎo)致識別準(zhǔn)確率不佳,此外該算法需要在每種SW長度和幀長范圍內(nèi)對所有數(shù)據(jù)進(jìn)行完全遍歷,因此計(jì)算成本很高;文獻(xiàn)[11]在誤碼率較高時(shí),由于SW內(nèi)出現(xiàn)較多誤碼,導(dǎo)致原有的數(shù)學(xué)規(guī)則被破壞,因此在誤碼率較高時(shí)其識別準(zhǔn)確率不高。此外,該算法需要將二進(jìn)制數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制數(shù)據(jù),并進(jìn)行大量的乘法運(yùn)算,所以算法計(jì)算量偏高;本文提出的算法通過改進(jìn)上升沿/下降沿判定方式、增加擴(kuò)展長度、對E-SW集合進(jìn)行統(tǒng)計(jì)分析等容錯措施,減少了誤碼對識別準(zhǔn)確率的影響,所以抗誤碼性能較好。此外,本文算法雖然需要進(jìn)行兩次窗口滑動運(yùn)算,但是每次運(yùn)算只需在單個窗口內(nèi)滑動,而不需要每次都遍歷全部數(shù)據(jù),因此算法的識別速度更快。綜上所述,本文提出的算法與現(xiàn)有算法相比,識別準(zhǔn)確率更高、算法速度更快,并且可以識別出完整的SW。
3.2.2 等長幀情況下的算法性能對比
等長幀是非等長幀的一種特例,所以本文算法從理論上同樣適用于等長幀協(xié)議。為驗(yàn)證本文算法對等長幀協(xié)議的有效性,選取僅適用于等長幀協(xié)議的文獻(xiàn)[2]和文獻(xiàn)[5]中的算法進(jìn)行性能比較。將數(shù)據(jù)字段的長度固定為800 bit,SW沿用之前的設(shè)置,仿真結(jié)果如圖13所示。
對于等長幀數(shù)據(jù),本文算法較文獻(xiàn)[5]算法的識別準(zhǔn)確率更高。與文獻(xiàn)[2]算法相比,兩者的識別準(zhǔn)確率相近。當(dāng)誤碼率為4%時(shí),識別準(zhǔn)確率均在90%左右。當(dāng)誤碼率小于4%時(shí),本文算法的識別準(zhǔn)確率略低于文獻(xiàn)[2]算法,這是因?yàn)楸疚乃惴ú唤柚鶶W周期性出現(xiàn)的性質(zhì),所以識別準(zhǔn)確率略低。但是,當(dāng)誤碼率較高(大于4%)時(shí),本文算法的識別準(zhǔn)確率要優(yōu)于文獻(xiàn)[2]算法,這是因?yàn)槲墨I(xiàn)[2]算法僅采用一次窗口滑動的操作,而本文算法采用兩次窗口滑動操作,其可以保證在高誤碼率的情況下減少因誤碼導(dǎo)致的SW匹配錯誤。上述仿真結(jié)果證明了本文算法在等長幀數(shù)據(jù)上的適用性。
3.3 算法在現(xiàn)有非等長幀協(xié)議上的性能表現(xiàn)
實(shí)驗(yàn)選取了802.11b協(xié)議、空間數(shù)據(jù)系統(tǒng)協(xié)商委員會(Consultative Committee for Space Data Systems, CCSDS)提出的遙控(CCSDS-telecommand, CCSDS-TC)協(xié)議、一導(dǎo)彈數(shù)據(jù)鏈協(xié)議和一私有電臺協(xié)議4種實(shí)際非等長協(xié)議幀作為數(shù)據(jù)輸入,并在生成仿真數(shù)據(jù)時(shí)嚴(yán)格按照協(xié)議的標(biāo)準(zhǔn)文檔。采用已知協(xié)議測試是為了檢驗(yàn)算法的有效性,并不借助協(xié)議的已知信息,各協(xié)議幀的SW參數(shù)如表4所示。實(shí)驗(yàn)中的SW設(shè)定為在每一幀幀頭部分中固定不變的碼字,其可能是SW、前導(dǎo)碼和幀定界符的組合[30]。一般協(xié)議的數(shù)據(jù)字段變化范圍較大,所以將數(shù)據(jù)字段的長度范圍擴(kuò)大至[800, 4 000]。
本文算法在各非等長幀協(xié)議上的識別準(zhǔn)確率如圖14所示,可以看出本文算法對實(shí)際非等長協(xié)議都具有較高的識別準(zhǔn)確率,證明本文算法具有一定的實(shí)際應(yīng)用價(jià)值。CCSDS-TC協(xié)議、一導(dǎo)彈數(shù)據(jù)鏈協(xié)議和一私有電臺協(xié)議的識別準(zhǔn)確率較高,但是802.11b協(xié)議的識別準(zhǔn)確率較上述3種協(xié)議低。通過分析802.11b協(xié)議的SW可以看出,其存在132個重復(fù)為1的碼字片段,這可能會導(dǎo)致算法第2步出現(xiàn)匹配位置不精準(zhǔn)的錯誤,其在最終的SW識別結(jié)果中表現(xiàn)為:大部分的碼字識別正確而在邊緣處的少量碼字出現(xiàn)錯誤,從而導(dǎo)致了識別準(zhǔn)確率略低。
4 結(jié)束語
在非合作通信場景下,SW盲識別是分析非等長幀協(xié)議的基礎(chǔ),目前非等長幀協(xié)議的SW盲識別算法仍存在抗誤碼性能較差、識別速度慢和識別結(jié)果不完整等問題。為解決上述問題,本文提出一種基于兩次窗口滑動運(yùn)算的非等長幀SW盲識別算法。算法主要包括窗口間的滑動同或運(yùn)算、滑動相關(guān)性運(yùn)算和統(tǒng)計(jì)分析3個關(guān)鍵步驟,其可以在接收數(shù)據(jù)存在誤碼的情況下識別出完整的非等長幀SW。仿真結(jié)果表明,在誤碼場景下,本文算法在識別準(zhǔn)確率和識別速度兩個方面皆優(yōu)于現(xiàn)有算法,并且該算法同樣適用于等長幀協(xié)議。未來將進(jìn)一步研究小數(shù)據(jù)量下的非等長幀SW盲識別問題,以降低算法對數(shù)據(jù)量的需求。
參考文獻(xiàn)
[1] 薛開平, 柳彬, 王勁松, 等. 面向鏈路比特流的未知幀關(guān)聯(lián)分析[J]. 電子與信息學(xué)報(bào), 2017, 39(2): 374380.
XUE K P, LIU B, WANG J S, et al. Data link bit stream oriented association on unknown frame[J]. Journal of Electronics amp; Information Technology, 2017, 39(2): 374380.
[2] KIL Y S, LEE H, KIM S H, et al. Analysis of blind frame recognition and synchronization based on Sync word periodicity[J]. IEEE Access, 2020, 8: 147516147532.
[3] PRATIK P B, KALYANKUMAR B. Non-cooperative denial of communication after synchronizing with repeating sequences[C]∥Proc.of the Defense Science Research Conference and Expo, 2011.
[4] XU Y Y, ZHONG Y, HUANG Z P. An improved blind recognition algorithm of frame parameters based on self-correlation[J]. Information, 2019, 10(2): 6472.
[5] 白彧, 楊曉靜, 王懋. 基于相關(guān)濾波和哈達(dá)瑪變換的幀同步碼識別[J]. 探測與控制學(xué)報(bào), 201 33(3): 697 80.
BAI Y, YANG X J, WANG M. Recognition method of frame synchronization codes based on relativity filter and Hadamard transformation algorithm[J]. Journal of Detection and Control, 201 33(3): 697 80.
[6] SUWANSANTISUK W, CHIANI M, WIN M Z. Frame synchronization for variable-length packets[J]. IEEE Journal on Selected Areas in Communications, 2008, 26(1): 5269.
[7] QIN J Y, HUANG Z P, LIU C W, et al. Novel blind recognition algorithm of frame synchronization words based on soft-decision in digital communication systems[J]. PLoS ONE, 2015, 10(7): e0132114.
[8] 熊顥, 雷迎科, 吳子龍. 基于碼元密度檢測的幀同步碼盲識別算法[J]. 探測與控制學(xué)報(bào), 202 43(1): 7378.
XIONG H, LEI Y K, WU Z L. Frame synchronization code blind recognition based on symbol density detection[J]. Journal of Detection amp; Control, 202 43(1): 7378.
[9] 陳慶超, 王韜, 馮文博, 等. 基于最長公共子串挖掘的未知鏈路層協(xié)議幀切割算法[J]. 計(jì)算機(jī)科學(xué), 2020, 47(7): 227230.
CHEN Q C, WANG T, FENG W B, et al. Unknown link layer protocol frame segmentation algorithm based on longest common substrings mining[J]. Computer Science, 2020, 47(7): 227230.
[10] 李永輝, 陳小莉, 吳彩鳳, 等. 一種非等長幀同步識別與參數(shù)提取算法[J]. 電子測量技術(shù), 2019, 42(22): 123128.
LI Y H, CHEN X L, WU C F, et al. A non-equal length frame algorithm of synchronization recognition and parameter extraction[J]. Electronic Measurement Technology, 2019, 42(22): 123128.
[11] 李歆昊, 張旻, 韓樹楠. 基于多重分形譜的鏈路層協(xié)議幀同步字盲識別[J]. 電子與信息學(xué)報(bào), 2017, 39(7): 16661672.
LI X H, ZHANG M, HAN S N. Frame synchronization word identification of link layer protocol based on multi-fractal spectrum[J]. Journal of Electronics amp; Information Technology, 2017, 39(7): 16661672.
[12] LEI Y K, CAO C H. Frame segmentation in the link layer bit stream data based on directed graph[C]∥Proc.of the 12th International Conference on Communication Software and Networks, 2020: 5862.
[13] LI X H, MA T, QIAN Q S. Frame synchronization method based on association rules for CNAV-2 messages[J]. Chinese Journal of Electronics, 2023, 32(2): 295302.
[14] PAN C S, GUO Z P, YANG L, et al. Frame synchronization word identification of link layer protocol based on N-ECLAT algorithm[C]∥Proc.of the 8th International Conference on Instrumentation amp; Measurement, Computer, Communication and Control, 2018.
[15] SONG J M, KIL Y S, KIM S H. Blind frame syncword detection using deep neural networks with input linear filtering[C]∥Proc.of the International Conference on Information and Communication Technology Convergence, 2019: 10391041.
[16] KIL Y S, SONG J M, KIM S H, et al. Deep learning aided blind synchronization word estimation[J]. IEEE Access, 202 9: 3032130334.
[17] YANG T C, HE D X, LU Z P, et al. BiLSTM-based frame synchronization for overlapped S-AIS signals: a learning empowered approach[C]∥Proc.of the IEEE/CIC International Conference on Communications in China, 2023.
[18] SARUNAS K, LOUISE H C, ROBERT W S. Training deep filters for physical-layer frame synchronization[J]. IEEE Open Journal of the Communications Society, 202 3: 10631075.
[19] RODRIGUE I, SEBASTIEN H. On blind frame synchronization of LDPC codes[J]. IEEE Communications Letters, 202 25(10): 31903194.
[20] DING X H, ZHOU K X, LI G Y, et al. Customized joint blind frame synchronization and decoding methods for analog LDPC decoder[J]. IEEE Trans.on Communications, 2023, 72(2): 756770.
[21] DING Y, HUANG Z P, LI L Q. Joint blind frame synchronization and encoder identification of LDPC codes[C]∥Proc.of the 7th International Conference on Intelligent Computing and Signal Processing, 2022: 825829.
[22] FENG Z X, LIU Y, ZHANG S Y, et al. Polar-coding-assisted blind frame synchronization based on soft information of frozen bits[J]. IEEE Communications Letters, 2023, 27(10): 25632567.
[23] 華博, 毛忠陽, 康家方, 等. 基于非等量采樣的偽碼同步技術(shù)研究[J]. 系統(tǒng)工程與電子技術(shù), 202 44(4): 14011408.
HUA B, MAO Z Y, KANG J F, et al. Research on pseudo-random noise code synchronization technology based on non-commensurate sampling[J]. Systems Engineering and Electronics, 202 44(4): 14011408.
[24] ANTONIO A D, MICHELE M. Symbol-spaced feedforward techniques for blind bit synchronization and channel estimation in FSO-OOK communications[J]. IEEE Trans.on Communications, 2024, 72(1): 361374.
[25] SAMEER B, AMEER P M, DAVID K R. Synchronization techniques for underwater acoustic communications[J]. International Journal of Communication Systems, 2023, 36(15): e5563.
[26] JIN M C, ZHANG S T, HE X D, et al. Blind recognition of frame synchronization in time-code domain[C]∥Proc.of the International Conference on Ubiquitous Communication, 2023.
[27] RODRIGUE I, SEBASTIEN H. Theoretical analysis of a map based blind frame synchronizer[J]. IEEE Trans.on Wireless Communications, 2009, 8(11): 54725476.
[28] LIANG Y S, DINESH R, OREN E E. Sequential frame synchronization based on hypothesis testing with unknown channel state information[J]. IEEE Trans.on Communications, 2018, 63(8): 29722984.
[29] SUI H T. Optimum frame synchronization and performance over binary symmetric channel[J]. Journal of Electronics, 199 9(3): 200208.
[30] RAMAMOORTHY M S, JALIHAL D, RAMAIYAN V. Optimal frame synchronization under general arrivals[J]. IEEE Trans.on Communications, 2018, 66(11): 57045717.
作者簡介
王原卿(2000—),男,碩士研究生,主要研究方向?yàn)橥ㄐ艑埂?/p>
呼鵬江(1990—),男,講師,博士,主要研究方向?yàn)橥ㄐ艑埂?/p>
楊俊安(1965—),男,教授,博士,主要研究方向?yàn)樾盘柼幚?、智能對抗?/p>
劉 輝(1983—),男,講師,博士,主要研究方向?yàn)橥ㄐ艑埂⒅悄苄畔⑻幚怼?/p>