張玉,楊曉靜
(解放軍電子工程學(xué)院,安徽 合肥230037)
數(shù)字通信系統(tǒng)中,幀同步是一個非常重要的問題。幀同步就是指接收器識別接收發(fā)送器發(fā)送的數(shù)據(jù)序列,從中提取出幀定位信息并且保持這種幀定位信息的過程。
在現(xiàn)有文獻(xiàn)中討論的幀同步方法,一般是通信雙方在同步序列的內(nèi)容已知情況下的同步,屬于協(xié)作方的同步問題[1-3]。而在非協(xié)作方的信息對抗領(lǐng)域,往往是在未知同步序列和幀結(jié)構(gòu)的情況下,需要在截獲到的數(shù)據(jù)序列中進(jìn)行幀同步信息提取。而目前相關(guān)研究文獻(xiàn)較少,文獻(xiàn)[4]實(shí)現(xiàn)了m 序列分散插入式幀同步識別研究。本文針對巴克碼(或m 序列)集中插入式幀同步識別問題,在未知同步碼和幀結(jié)構(gòu)的條件下,提出小區(qū)域檢測法估計(jì)幀長,利用二次濾波估計(jì)幀起始位,最后用模糊匹配識別幀同步碼型的識別方法,仿真結(jié)果表明當(dāng)誤碼率不大于4%時,該方法對集中插入式幀同步的數(shù)據(jù)幀有較高的幀同步識別率。
根據(jù)幀同步碼插入方法的不同,幀同步分為集中式插入法和分散式插入法[5],本文研究的是非協(xié)作方針對集中插入的幀同步碼識別方法。
在信息對抗中如何識別出所截獲數(shù)據(jù)的幀同步信息,對實(shí)施信息分析和智能對抗有著重要的意義。相對于通信雙方,信息對抗方屬于非協(xié)作方,在非協(xié)作領(lǐng)域幀同步識別具有以下問題:
1)幀長未知。對于集中式插入幀同步碼而言,幀長是非常重要的參數(shù)。相對于通信雙方幀長是已知的,對于非協(xié)作方,幀長是未知的,需要采取有效的方法識別出幀長,為進(jìn)一步分析幀同步的其它參數(shù)打下基礎(chǔ)。
2)幀同步碼未知。幀同步碼由通信協(xié)議規(guī)定,對于通信雙方而言是已知的。對于非協(xié)作方來說,并不知道幀同步碼的具體位置和碼型,需要通過識別技術(shù)對截獲到的信息序列進(jìn)行處理以得到這些具體參數(shù)。
3)要求更高的容錯性能。由于非協(xié)作方所處的條件一般都劣于協(xié)作方,因此所接收到的信號常常屬于較強(qiáng)衰落的微弱信號,并且很容易受到其他通信信號的干擾。對于非協(xié)作方來說,必須找到高誤碼信道環(huán)境下的幀同步識別技術(shù)以克服信號的衰落帶來的影響。
文獻(xiàn)[6 -7]介紹了通信雙方對集中插入幀同步碼的要求,以及經(jīng)常作為幀同步碼的巴克碼性質(zhì)、目前已找到的巴克碼序列和幀同步原理。幀同步主要有兩個性能指標(biāo),即假同步概率和漏同步概率。假同步是指同步系統(tǒng)在捕捉時將錯誤的同步位置當(dāng)作正確的同步位置捕捉到;而漏同步是指同步系統(tǒng)將正確的同步位置漏過而沒有捕捉到。漏同步和假同步均與噪聲和門限有關(guān)[5-7]。
漏同步概率定義為
假同步概率定義為
式中:n 為幀同步碼組的碼元數(shù);Pe為系統(tǒng)誤碼率;m 為降低門限后識別器允許同步碼組中最大錯碼數(shù)。這兩個指標(biāo)與判決門限有關(guān),文獻(xiàn)[7]舉例分析了門限與P1、P2關(guān)系,即門限的選擇會影響P1、P2大小。
同步的檢測概率P 與漏同步概率的關(guān)系為P=1 -P1.由于判決門限的不同,P2和P1呈現(xiàn)隨機(jī)并相互限制的特點(diǎn)。如果想獲得高的檢測概率P,就存在低的漏同步概率P1,但可能帶來高假同步概率P2.反之,如果想獲得低的假同步概率P2,就可能帶來高漏檢概率P1,進(jìn)而得到低同步檢測概率P,二者都要最優(yōu)化是很難平衡的。
本文的做法是保證同步檢測概率P 最大為依據(jù)進(jìn)行判決,即漏同步概率P1最小。由于影響P1的因素很多,理論上只能進(jìn)行近似估算求其門限,實(shí)際檢測時根據(jù)具體情況合理調(diào)整。
本文研究的是幀長、幀同步碼等系統(tǒng)參數(shù)未知條件下的幀同步識別方法,借鑒幀同步原理,提出采用滑動窗口可變的小區(qū)域檢測尋找出幀長,以實(shí)現(xiàn)幀同步識別器的功能。
將截獲的碼序列按長度CutLen 分組,組成矩陣CutData.如果CutLen 是幀長,則幀同步碼會在矩陣每行的相同位置出現(xiàn)。
對矩陣進(jìn)行同或運(yùn)算:
如果CutLen 為幀長,由于同步碼所在列的內(nèi)容一致,所得到的新矩陣在理想情況下會在某個區(qū)域內(nèi)出整列的1 碼,這時需要用一個滑動窗對這一區(qū)域進(jìn)行檢測,看是否有高密度的“1”碼出現(xiàn)。
設(shè)滑動窗W(i,j),1≤i≤M,1≤j≤C,對矩陣ProData 的不同區(qū)域進(jìn)行滑動檢測。統(tǒng)計(jì)滑動窗內(nèi)1 值個數(shù)占滑動窗總位數(shù)的比例:
可見move_Result(τ)≤1.考慮到可能出現(xiàn)的誤碼,幀同步碼所在區(qū)域不一定會出現(xiàn)全1 的情況,所以需要一個最低限度的檢驗(yàn)值μ.計(jì)算出所有的move_Result 值以后,將最大值move_Resultmax與門限μ 進(jìn)行比較,如果大于門限,說明CutLen 為真實(shí)幀長;否則,說明幀長錯誤,返回重新形成CutData矩陣,直至找到幀長。
值得注意的是滑動窗的大小與門限μ 和(4)式的值有關(guān),門限μ 的選擇主要根據(jù)信道的質(zhì)量和識別結(jié)果是否符合要求。如果(4)式的值小于門限μ,說明滑動窗口設(shè)置大了(或門限μ 大了),漏掉了幀同步數(shù)據(jù);如果出現(xiàn)多個大于門限的值,說明滑動窗口設(shè)置小了(或門限μ 小了),把非同步數(shù)據(jù)誤當(dāng)成同步。實(shí)際中,可適當(dāng)增減滑動窗口和門限值,直至使(4)式出現(xiàn)單個大于門限的值。
濾波的作用是提取有用的信息。幀同步碼具有良好的自相關(guān)特性[5-7]。相關(guān)、濾波是數(shù)字通信中常用的信號處理方法[8]。本文提出相關(guān)濾波的方法,利用其相關(guān)特性,濾除或減小誤碼對幀同步碼識別的影響,提高識別概率。
對矩陣ProData 進(jìn)行相關(guān)濾波。相關(guān)濾波算法的目的是去除誤碼和特殊情況的影響,充分利用幀同步碼所在矩陣ProData 中每行相同位置出現(xiàn)強(qiáng)相關(guān)性這一特性,顯示幀同步碼位置。設(shè)矩陣ProData 中的每一位為P(i,j),具體工作流程如下:
1)提取P(i,j)同行數(shù)據(jù)組成向量H_Vector,提取同列數(shù)據(jù)組成向量V_Vector;
2)計(jì)算向量H_Vector 和V_Vector 中連續(xù)1 的個數(shù),按一定的加權(quán)得橫向值H_Value 和縱向值V_Value;
3)將H_Value 與V_Value 分別與橫向門限和縱向門限進(jìn)行比較,當(dāng)兩值均大于門限時,P(i,j)為1,否則為0.
理想條件下,濾波后的幀同步碼在矩陣ProData 中對應(yīng)出現(xiàn)的位置為1,信碼則為0.在濾波時充分考慮到利用待求位P(i,j)附近的數(shù)值進(jìn)行判斷:在加權(quán)計(jì)算橫向值H_Value 時,利用同步碼自身的連續(xù)性,加大向量H_Vector 中1 值的連續(xù)數(shù)值的權(quán)值;在計(jì)算縱向值V_Value 時,考慮到矩陣ProData的行數(shù)不多,為降低運(yùn)算復(fù)雜度只計(jì)算向量V_Vector 中1 值的個數(shù)。
在實(shí)際識別過程中,由于過高門限會破壞同步碼結(jié)構(gòu),而過低門限又起不到應(yīng)有作用,故通常進(jìn)行兩次濾波,第一次濾波時采用低門限,這樣不僅可以濾除弱相關(guān)性的非同步碼,而且能夠糾正因干擾引起的同步碼誤碼;第二次設(shè)定高門限,這樣就可以進(jìn)一步濾除一些具有較強(qiáng)相關(guān)性的非同步碼,同時保留同步碼子矩陣的內(nèi)部結(jié)構(gòu)。
對所得到的矩陣的每列相加,就得到HTData,通過它來尋找同步碼起始位。
模糊理論在許多的實(shí)用工程領(lǐng)域里有著廣泛的應(yīng)用[9-11]。本文提出采用模糊匹配的方法實(shí)現(xiàn)對幀同步碼型的識別。
設(shè)X 為要識別的對象全體,Ai(i=1,2,…,n)表示第i 個模糊模式,對于X 中任一元素x,要識別它屬于哪一個模式。設(shè)隸屬度為
進(jìn)而基于最大隸屬原則完成識別:
由于相關(guān)濾波無法完全消除干擾引起的誤碼,導(dǎo)致計(jì)算得到的同步碼的碼長存在一定誤差,因此在生成矩陣S 時會適當(dāng)在矩陣CutData 中進(jìn)行行位移和增加碼長以擴(kuò)大提取范圍。由于較長的同步碼在發(fā)生誤碼時很容易被誤判為較短的同步碼,因此在進(jìn)行提取時碼長應(yīng)按由大到小的順序進(jìn)行提取。根據(jù)得到的矩陣S,利用相關(guān)法將S 與同步碼集合中的同步碼進(jìn)行匹配算出該同步碼的隸屬度μAk(x).計(jì)算出各個同步碼的隸屬度,利用設(shè)定的閾值λ,去除不符合條件的同步碼,最后基于最大隸屬原則找出同步碼。
對于幀同步碼的碼型識別問題,根據(jù)二次濾波后得到幀同步碼起始位得到在CutData 截取的矩陣S 就是要識別的對象全體,而幀同步碼集合中的幀同步碼就是模糊模式。設(shè)S 的第i 行作為向量si,其長度為Ls;Zj表示幀同步碼集合中第j 個幀同步碼,其長度為Lj.這里,依據(jù)前面分析結(jié)果,根據(jù)S矩陣列數(shù)可以得到幀同步碼的長度,進(jìn)而得到幀同步碼可能的碼型。對巴克碼而言有4 種情況(即源碼、反碼、反序碼、反碼的反序碼),而對m 序列而言,隨起始位的變化而產(chǎn)生。
碼型識別問題,實(shí)際上就是計(jì)算所有的si與Lj的隸屬度函數(shù),通過分類判斷屬于哪一個幀同步碼。這里所采用的隸屬度函數(shù)為
式中{Rτ(si,Zj)}表示將si與Zj在不同滑動距離τ下進(jìn)行滑動相關(guān)運(yùn)算的結(jié)果組成集合。通過基于最大隸屬度原則,可以對所有的si進(jìn)行分類。當(dāng)分類完成后,分到si最多的Zj就是最后識別得到的幀同步碼。
本文提出的幀同步識別步驟由小區(qū)域檢測法估計(jì)幀長,二次濾波估計(jì)幀起始位,模糊匹配識別幀同步碼型這三部分組成,其中算法量主要來自幀長的估計(jì)。設(shè)CutData 矩陣的行數(shù)為K,列數(shù)為N,實(shí)際幀長為L,如果列數(shù)為真實(shí)長度,則運(yùn)算量為N ×(K-1);如果列數(shù)不是真實(shí)長度,則運(yùn)算量為
首先利用小區(qū)域檢測的方法對幀長進(jìn)行識別,如果識別出的幀長符合條件則再進(jìn)行下一步的同步碼分析,直到找到符合條件的幀長。經(jīng)相關(guān)濾波處理后在同步碼分析中利用模糊匹配法進(jìn)行對比識別,如果能夠識別成功則完成整個幀同步碼識別過程,如圖1.
以幀同步碼是7 位巴克碼([1110010]),含30 位信息位的幀長為37 的數(shù)據(jù)為例進(jìn)行識別。
為了縮短仿真時間,仿真時發(fā)送30 幀數(shù)據(jù)。從第一幀第10 位開始截取,在誤碼率變換范圍為0% ~8% 的條件下進(jìn)行仿真識別。形成CutData時,考慮巴克碼可能的長度及滑動窗可取的數(shù)量,矩陣取8 行,便于運(yùn)算。首先對誤碼率為0%時進(jìn)行仿真,結(jié)果如下。
幀長在32 bit 時遍歷形成CutData 矩陣為
圖1 同步碼識別流程Fig.1 Recognition flow of synchronization codes
進(jìn)行同或運(yùn)算,得ProData 陣為
滑動檢測時設(shè)門限為0.8,考慮到巴克碼長度, 滑動窗寬度取5,滑動結(jié)果為0.5;0.45;0.45;0.55;0.55;0.45.
沒有超過門限的值,不符合要求,判決為false,幀長加1,繼續(xù)識別幀長。
當(dāng)幀長遍歷到37 bit 時,得CutData 矩陣為
經(jīng)同或運(yùn)算后,得ProData 陣為
滑動檢測時門限設(shè)置和滑動窗寬度不變。這時滑動檢測結(jié)果為0.55;0.5;0.6;0.5;0.5;0.7;1.
最大值為1 大于門限,判決為true,識別出幀長為37,幀長識別正確。
二次濾波后,同列相加,得到HTData 為
從HTData 中看到:第29 位時出現(xiàn)不為0 的數(shù)據(jù)“8”,且連“8”的數(shù)目為7,故粗略得到幀同步碼起始位29,同步碼長為7.下面進(jìn)一步分析。
以前后兩位的范圍(起始位27 ~31,同步碼長5 ~9)多次提取相應(yīng)位,各與4 種巴克碼型(原碼、反碼,反序碼、反碼的反序碼)進(jìn)行模糊匹配,取最大值。第一次取CutData 從第27 位開始的9 列得到PossibleBark:
不存在9 位可供隸屬度計(jì)算的巴克碼序列,故再進(jìn)行下一次截取。
截取到以29 位開始的7 位CutData 時,可進(jìn)行模糊匹配:
它與7 位巴克碼的4 種形式(原碼、反碼、反序碼、反碼的反序碼)進(jìn)行4 次匹配運(yùn)算,得4 個結(jié)果:[8 1 4 5].
當(dāng)其最大值8 高于門限(行數(shù)的3/4)時,將這個最大值存入,同時存入這個“8”所對應(yīng)的碼型[1110010]及其參數(shù)(29 位起的7 位同步碼)以用于下一步比較。共得到7 組符合要求的隸屬度值:6.125;8;6.5;7.125;7;7;7.
從上面得到的隸屬度值看出,第二個值為8 最大,故選取第二個值對應(yīng)的碼型,得巴克碼[1110010]為幀同步碼型。仿真結(jié)果與假設(shè)情況相同,識別正確。
針對不同誤碼率條件下的幀同步識別進(jìn)行蒙特卡洛仿真,得仿真結(jié)果見表1.
可知,當(dāng)誤碼率為4%以內(nèi)時,該方法對巴克碼作為幀同步碼的幀長、起始位、碼型的識別率達(dá)到80%以上,有比較高的識別率。
以幀同步碼為15 位m 序列(100011110101100),60 位信息位,幀長為75 的數(shù)據(jù)為例進(jìn)行識別。
表1 識別結(jié)果Tab.1 Recognition results %
為了縮短仿真時間,仿真時發(fā)送30 幀數(shù)據(jù)。從第一幀第31 位開始截取,在誤碼率變換范圍為0% ~8% 的條件下進(jìn)行仿真識別。形成CutData時,矩陣取8 行便于運(yùn)算。首先是誤碼率為0%時的仿真。幀長70 時,形成8 ×70 的CutData 陣,同或后得ProData,滑動時門限取0.8,考慮可能的幀長和統(tǒng)計(jì)計(jì)算,滑動窗寬度取10,這時滑動結(jié)果沒有超過門限的值,不符合要求,判決為false,幀長加1,繼續(xù)識別幀長。幀長遍歷到75 時,形成8 ×75 的CutData 矩陣,同或后形成ProData,有75 列,前38 列為
后37 列為
滑動檢測時門限設(shè)置和滑動窗寬度不變。這時滑動檢測結(jié)果大于門限,判決為true,識別出幀長為75,幀長識別正確。二次濾波后,同列相加,得HTData為000000000000000000000000000000000000000000 000888888888888888000000000000000.
分析上面數(shù)據(jù),從第46 位開始出現(xiàn)了非零串(15 個“8”),粗略估計(jì)得到同步碼長為15,同步起始位46.以上下兩位浮動(同步碼長13 ~17,同步起始位44 ~48),取多次,分別與相應(yīng)長度的不同起點(diǎn)的m 序列進(jìn)行模糊匹配,每次都僅返回足夠大的最大值,最終返回5 組符合要求的匹配結(jié)果:7.125;7.375;8;7.5;7.25
從上面得到的匹配結(jié)果看出,第三個值為8,最大,故選取第三個值對應(yīng)的碼型,即自46 位開始的15 位的m 序列[100011110101100]為幀同步碼型。仿真結(jié)果與假設(shè)情況相同,識別正確。在各種誤碼率情況下進(jìn)行蒙特卡洛仿真,仿真結(jié)果如表2.
表2 識別結(jié)果Tab.2 Recognition results %
從表2 可知,當(dāng)誤碼率為4%以內(nèi)時,該方法對m 序列作為幀同步碼的幀長、起始位、碼型的識別率達(dá)到78%以上,有比較高的識別率。
針對集中式插入幀同步碼的數(shù)據(jù)進(jìn)行幀同步信息盲識別進(jìn)行了研究。提出了采用小區(qū)域檢測尋找?guī)L,用二次濾波的方法尋找?guī)酱a位,用模糊匹配的方法找到具體的幀同步碼組的集中式插入幀同步碼識別方法。通過對7 位巴克碼和15 位m 序列作為幀同步碼的數(shù)據(jù)進(jìn)行仿真識別,結(jié)果表明,上述方法可在非協(xié)作方對集中式插入幀同步碼的數(shù)據(jù)進(jìn)行幀同步識別,且在誤碼率為4%以內(nèi)時仍具有較好的識別效果。
References)
[1]Kopansky A,Bystrom M.Detection of aperiodically embedded synchronization patterns on Rayleigh fading channels[J].IEEE Transactions Communication,2006,54(11):1928 -1932.
[2]易智,周亮,劉德偉.一種新的極低SNR 下幀同步機(jī)制研究[J].通信技術(shù),2009,12(42):204 -206.YI Zhi,ZHOU Liang,LIU De-wei.A new frame synchronization scheme in very low SNR environments [J].Communications Technology,2009,12(42):204 -206.(in Chinese)
[3]Chiani M,Martini M G.On sequential frame synchronization in AWGN channels[J].IEEE Trans Commun,2006,54(2):339 -348.
[4]白彧,楊曉靜,張玉.基于高階統(tǒng)計(jì)處理技術(shù)的m-序列幀同步碼識別[J].電子與信息學(xué)報,2012,34(1):33 -37.BAI Yu,YANG Xiao-jing,ZHANG Yu.A recognition method of m-sequence synchronization codes using higher-order statistical processing[J].Journal of Electronics & Information Technology,2012,34(1):33 -37.(in Chinese)
[5]樊昌信,曹麗娜.通信原理[M].第6 版.北京:國防工業(yè)出版社,2010:415 -422.FAN Chang-xin,CAO Li-na.Principles of communication[M].6th ed.Beijing:National Defense Industry Press,2010:415 -422.(in Chinese)
[6]徐祎,楊曉靜,金虎.通信原理與系統(tǒng)[M].北京:國防工業(yè)出版社,2012:185 -187.XU Yi,YANG Xiao-jing,JIN Hu.Principles of communication and communication systems[M].Beijing:National Defense Industry Press,2012:185 -187.(in Chinese)
[7]黃葆華,楊曉靜,呂晶.通信原理[M].第二版.西安:西安電子科技大學(xué)出版社,2012:289 -290.HUANG Bao-h(huán)ua,YANG Xiao-jing,LU Jing.Principles of communication[M].2nd.Xi’an:Xidian University Press,2012:289 -290.(in Chinese)
[8]Jonh G Proakis.Digital communications[M].4th ed.New York:the McGraw-Hill Companies,2001:786 -792.
[9]吳濱,蔣烈輝,舒輝,等.基于模糊匹配的專用庫函數(shù)識別技術(shù)[J].計(jì)算機(jī)工程,2011,37(16):36 -38.WU Bin,JIANG Lie-h(huán)ui,SHU Hui,et al.Specific library function identification technology based on vague matching[J].Computer Engineering,2011,37(16):36 -38.(in Chinese)
[10]葉學(xué)義,趙知勁,張文聰,等.基于隸屬度函數(shù)的決策層融合算法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(30):162 -166.YE Xue-yi,ZHAO Zhi-jin,ZHANG Wen-cong,et al.Decisionlayer fusion method based on subjected function[J].Computer Engineering and Applications,2007,43(30):162 -166.(in Chinese)
[11]郭華,楊小雷,龔亮亮.一種基于模糊隸屬度區(qū)間決策的雷達(dá)輻射源識別方法[J].電子信息對抗技術(shù),2009,11(6):45 -49.GUO Hua,YANG Xiao-lei,GONG Liang-liang.A radar emitter identification method based on fuzzy membership degree interval decision technique[J].Electronic Information Warfare Technology,2009,11(6):45 -49.(in Chinese)