龍 浪 楊俊安 劉 輝 梁宗偉
(1.國防科技大學電子對抗學院,合肥,230037; 2.安徽省電子制約技術重點實驗室,合肥,230037)
在數(shù)字通信中,信道編碼可以提高通信的可靠性,目前信道編碼主要包括線性分組碼、RS(Reed-Solomon)碼、卷積碼和LDPC(Low-density parity-check)碼等[1-2],其中RS碼由于具有糾錯能力強、編碼結構簡單的特點,被廣泛應用于無線通信、深空通信以及軍事通信等各個領域中,例如在通用數(shù)據(jù)鏈(Common data link,CDL)系統(tǒng)中就采用RS碼作為外編碼,然而這種信道編碼方式糾正突發(fā)錯誤的效果并不是很明顯,因此在數(shù)字通信中,通常采用交織技術將經(jīng)過信道編碼后的碼元位置進行置換,使信道上的突發(fā)錯誤在時間上擴散成隨機錯誤,從而提高系統(tǒng)抵御突發(fā)錯誤的能力[3-4],其中分組交織和卷積交織在實際通信系統(tǒng)中應用較為廣泛。然而,對于信息對抗方,交織技術增加了編碼識別的難度。交織技術一般運用在信道編碼之后,若想完成對截獲序列編碼參數(shù)的盲識別并獲取所傳輸信息,就必須先實現(xiàn)交織類型識別及其參數(shù)的識別,其中交織類型盲識別是進行交織參數(shù)盲識別的前提,是對截獲序列作進一步處理的基礎,例如,在破譯信息對抗方CDL編碼參數(shù)時,需先對交織器類型進行判斷,因此,展開針對RS碼的交織類型盲識別,具有一定的現(xiàn)實意義。
從公開發(fā)表的文獻來看,目前已有的研究多是在已知交織類型的基礎上,進行交織參數(shù)盲識別[5-11],關于交織類型識別的文獻相對較少。文獻[11]中利用幀同步碼的累積量峰值位置的個數(shù)來區(qū)分序列的交織類型,但是缺少進一步的闡述,且該方法需要已知幀同步碼等先驗信息。文獻[12]提出一種針對線性分組碼的分組交織器檢測方法,但該方法需要已知相關起始位和相關長度等先驗信息。文獻[13]中提出了一種廣義碼重分布分析法,以交織序列的實際碼重分布與均勻分布之間的歐式距離作為判決準則來進行類型識別,能較快識別出交織類型,但是適用的交織器類型受信號碼字長度的限制,且抗誤碼性能較差。文獻[14]中提出了一種利用估計出的交織參數(shù)特征逐一判斷、依次識別的方法,該方法需要結合盲識別后的交織參數(shù),缺乏可行性。
本文針對常用的分組交織和卷積交織,提出了一種適用于RS碼的基于歸一化秩特征的交織類型盲識別方法,通過構建分析矩陣,并利用高斯約當(Gauss-jordan elimination through pivoting,GJETP)算法[15]對分析矩陣進行初等變換,從而計算出矩陣的歸一化秩,結合分組交織和卷積交織下分析矩陣的歸一化秩變化規(guī)律,實現(xiàn)交織類型的識別,并通過仿真實驗驗證了方法的可行性與有效性。
圖1 分組交織原理Fig.1 Structure of block interleaver
當采用分組交織時,其工作原理如圖1所示,以交織周期S=Nr×Nc的數(shù)據(jù)塊為單位進行交織,Nr和Nc分別表示交織矩陣的行數(shù)和列數(shù),其中Nr=6,Nc=4,輸入序列為1到24。分組交織具有同組同塊性的典型特征,同一分組碼必在同一交織塊內,不可能分布在兩個數(shù)據(jù)塊中。
當采用卷積交織時,其工作原理如圖2所示,其中B為交織深度即支路數(shù),M為交織寬度即延遲數(shù)。與分組交織相比,卷積交織后的碼序列不具有分塊特性,在一個碼字長度范圍內既有前一碼字中的碼元,也有后一碼字中的碼元,即交織后的序列具有前后交聯(lián)性[16],且在任意長度的碼字分組塊內都不只含若干個完整的碼字集合,并將按照這樣的特點循環(huán)下去。
圖2 卷積交織原理Fig.2 Structure of convolutional interleaver and de-interleaver
RS碼在實際通信系統(tǒng)中是以二進制碼流進行傳輸?shù)?,參?shù)為(nc,k,m)的RS碼序列可看做是伽羅華域(Galois felid,GF)GF(2m)上的碼元在GF(2)上映射得到的二進制(mnc,mk)線性分組碼[17],其中nc為碼長,k為信息長度,m為碼字寬度,因而可利用基于線性分組碼的交織類型盲識別方法來實現(xiàn)對RS碼的交織類型盲識別。
圖3 秩缺與滿秩Fig.3 Deficient rank and full rank
將截獲到的編碼交織序列,按行排列成一個r行b列的矩陣A,同時設置初始搜索周期bmin和終止搜索周期bmax,b的取值遍歷區(qū)間[bmin,bmax],假設序列長度為L,則有r=[L/b],其中[·]表示向下取整,且r?b。當每行中含有t組完整碼字,且對齊正確時,如圖3(a)所示,則根據(jù)線性分組碼的特點:同一碼組內的校驗碼元和信息碼元具有線性相關性,當對矩陣A進行列變換后,分析矩陣將會出現(xiàn)秩的缺失;反之,若沒有對齊,如圖3(b)所示,則分析矩陣將不會出現(xiàn)秩的缺失,為滿秩矩陣。本文中將校驗碼元所在的列稱為“相關列”,信息碼元所在的列稱為“獨立列”。
當選取的列數(shù)為bx時,每行中含有多組完整碼字,且對齊正確,此時分析矩陣A會出現(xiàn)秩的缺失,令此時矩陣的秩為ρ,在不考慮誤碼的情況下,利用伽羅華域上的GJETP算法[15]對矩陣A進行初等變換化成下三角矩陣Q,如式(1)所示。
(1)
式中ai,j(2≤i≤r,1≤j≤ρ)表示矩陣元素,可取1或0。但由于在實際傳輸中可能存在誤碼,分析矩陣A可能不會出現(xiàn)秩缺或者只有1~2個列數(shù)有降秩,無法準確地確定獨立列所在的位置,從而無法直接通過初等變換來獲得秩的大小。觀察發(fā)現(xiàn),在誤碼的情況下,經(jīng)過變換的分析矩陣中相關列比獨立列含有更多的“0”,可以定義每列中0的個數(shù)所占的比例為零值比φ,如式(2)所示,通過φ與預先設定的門限值Tth的比較即可判斷該列是否為獨立列,從而來獲得矩陣秩的大小。
(2)
其中φ(c)表示第c列中0的個數(shù)。
為實現(xiàn)分組交織和卷積交織的類型識別,定義分析矩陣中獨立列所占的比例為歸一化秩p,即
(3)
其中N(b)=card(c∈1,2,…,b|φ(c) (1) 當截獲數(shù)據(jù)的交織類型為分組交織時,在不需要考慮交織周期S和等價碼長mnc的倍數(shù)關系的情況下,只要當列數(shù)b滿足式(4)時,分析矩陣中各行的碼字就能保持對齊,此時由于校驗碼元與信息碼元之間的線性相關性,分析矩陣就會出現(xiàn)秩缺失的情況;其他情況下,矩陣A均為滿秩,即p=1。 b=βlcm(mnc,S)=βζ×mnc (4) 式中:β,ζ為正整數(shù)(β,ζ=1,2,3,…);lcm(mnc,S)表示mnc與S的最小公倍數(shù)。 根據(jù)分組交織的性質可知,每行含有βζ個完整碼字,通過計算可得矩陣的歸一化秩如式(5)所示,為一個常數(shù),與矩陣列數(shù)b無關,即有 p=rank(A)/b=βζmk/b=βζmk/βζmnc=k/nc (5) (2) 當截獲數(shù)據(jù)的交織類型為卷積交織時,同理可知,只要當列數(shù)b滿足式(6)時,分析矩陣就會出現(xiàn)秩缺失的情況;其他情況下,矩陣A均為滿秩,即p=1。 b=κlcm(mnc,B)=κη×mnc (6) 式中κ,η為正整數(shù)(κ,η=1,2,3,…)。 根據(jù)卷積交織的性質可知,每行至少含有λ(λ<κη)個完整碼字,計算可得此時矩陣的歸一化秩為 p=rank(A)/b=λmk+(mnc(κη-λ))/κηmnc=λk+nc(κη-λ)/κηnc (7) 式中κ,λ為隨b的變化而變化的量,故卷積交織下,矩陣的歸一化秩隨著分析矩陣的列數(shù)的變化而變化。 為了研究分組交織和卷積交織下矩陣的歸一化秩隨列數(shù)b的變化規(guī)律,首先假設b=κlcm(mnc,B)和b′=(κ+1)lcm(mnc,B)是連續(xù)出現(xiàn)秩缺失的分析矩陣所對應的列數(shù),此時,分組交織下秩缺矩陣的歸一化秩皆為k/nc,保持不變;而卷積交織下秩缺矩陣的歸一化秩分別如式(8,9)所示。 p=λk+nc(κη-λ)/κηnc (8) p′=(λ+η)k+nc[(κ+1)η-(λ+η)]/(κ+1)ηnc=(λ+η)k+nc(κη-λ)/(κ+1)ηnc (9) 定義兩歸一化秩的差值為D,則 (10) 由于在卷積交織中,nc>k,κη>λ,且κ,η,nc,λ為正整數(shù),故D<0,即卷積交織中,歸一化秩呈現(xiàn)遞減的趨勢,這樣就可以通過觀察秩缺矩陣的歸一化秩的變化規(guī)律來實現(xiàn)交織類型的識別。 綜上,交織類型盲識別的判別準則為:當歸一化秩相等時,則識別為分組交織;當歸一化秩依次遞減,則識別為卷積交織。 (1) 將截獲到的編碼交織數(shù)據(jù)按行放入r×b的分析矩陣A中,其中b分別取bmin,bmin+1,…,bmax-1,bmax且滿足r?b。 (2) 選定門限值Tth。在無噪時,校驗列應為全零列,由于噪聲的存在,校驗列并不會是全零列,但所含“0”數(shù)目大于“1”的數(shù)目,因此,一般選取Tth>0.5來區(qū)分校驗列與獨立列。 (3) 在無噪情況下直接求歸一化秩,觀察存在秩缺失時的歸一化秩變化規(guī)律;在有噪環(huán)境下,利用GJETP算法將矩陣A轉換為下三角矩陣Q,并根據(jù)設定的門限值Tth計算N(b)來求解歸一化秩,同樣觀察存在秩缺失時的歸一化秩變化規(guī)律。 (4) 當存在秩缺失時,若歸一化秩相等,則識別為分組交織;若歸一化秩依次遞減,則識別為卷積交織。 仿真數(shù)據(jù)采用(8,6,4)RS碼,在信道誤碼率(Bit error rate,BER)為0.02的條件下分別對交織深度B為3、交織寬度M為16的卷積交織和Nr=3,Nc=16的分組交織進行交織類型識別,其門限值Tth選取為0.55。 當分析矩陣的列數(shù)分別為192,288,384和480時,卷積交織和分組交織下的分析矩陣經(jīng)初等變換后均會出現(xiàn)秩的缺失,此時秩缺矩陣中各列的φ值分別如圖4和圖5所示,從圖中可知,當門限值Tth為0.55時,可以通過各列的φ值與門限值的比較,來判斷該列是否為獨立列,從而根據(jù)式(3)計算出對應的歸一化秩,分別如表1和表2所示。 圖4 卷積交織下不同列數(shù)的零均值比分布Fig.4 Histogram plot for φ(c) considering convolutional interleaver 圖5 分組交織下的不同列數(shù)的零均值比分布Fig.5 Histogram plot for φ(c) considering block interleaver 列數(shù)b獨立列數(shù)目N(b)歸一化秩p1921610.838 542882330.809 033843050.794 274803770.785 42 表2 BER=0.02時分組交織的歸一化秩 不同列數(shù)下的分析矩陣歸一化秩變化規(guī)律如圖6和圖7所示。從圖6中可以看出,當RS碼卷積交織序列在列數(shù)為等價碼長和交織深度的倍數(shù)處出現(xiàn)秩缺失,即圖中的192,288,384和480處,同理論分析b=κlcm(mnc,B)=κlcm(32,3)=96κ保持一致,且秩缺矩陣的歸一化秩由0.838 54依次遞減為0.785 42;而圖7中的結果表明:RS碼分組交織序列也在同樣的列數(shù)處出現(xiàn)秩缺失,且秩缺矩陣的歸一化秩保持不變,皆為0.75,因此,根據(jù)秩缺矩陣歸一化秩的變化規(guī)律就可以有效實現(xiàn)對截獲序列的交織類型的判決。 圖6 卷積交織下的歸一化秩特征Fig.6 Normalized rank for convolutional interleaver 圖7 分組交織下的歸一化秩特征Fig.7 Normalized rank for block interleaver 圖8 在不同參數(shù)下的識別性能分析Fig.8 Comparison of recognition performance among different parameters 3.2.1 門限值選取 為了進一步確定門限值的選取標準,對本文算法在不同誤碼率條件下,分別取不同門限值Tth時的成功識別概率進行了蒙特卡洛仿真,每種誤碼率條件下對每個門限值進行1 000次試驗,記錄能夠成功識別出來的次數(shù),仿真結果如圖8所示。從圖中可以觀察到隨著Tth的變化,成功識別出交織類型的概率也會隨之變化,在誤碼率0.02到誤碼率0.06變化范圍內,隨之誤碼率的不斷增大,能正確識別的門限值范圍在不斷減小,當誤碼率為0.06時,門限值取0.57下的識別正確率最高。 3.2.2 抗誤碼性能對比 為了更好地驗證算法的容錯性,信道誤碼率取0.01到0.1,并針對不同的編碼和交織參數(shù)組合進行1 000次蒙特卡洛實驗。表3顯示了采用(7,3,3)RS碼,Nr=7,Nc=4的分組交織和B=5,M=3卷積交織時的識別正確率及仿真結果;表4顯示了采用(31,11,5)RS碼,Nr=5,Nc=9的分組交織和B=7,M=6卷積交織時的識別正確率及仿真結果。由表3和表4可以看出,當信道誤碼率小于0.03時,交織類型的識別準確率在98%以上;當信道誤碼率低于0.04時,交織類型的識別準確率在80%以上,表明了該識別方法的容錯性能較好。 表3 (7,3,3)RS碼,Nr=7,Nc=4的分組交織和B=5,M=3卷積交織識別結果 表4 (31,11,5)RS碼,Nr=5,Nc=9的分組交織和B=7,M=6卷積交織識別結果 圖9 3種算法誤碼性能分析Fig.9 Comparison of recognition performance among different three algorithms 圖9給出了本文算法、廣義碼重分布分析算法[13]以及逐一判斷法[14]在不同誤碼率情況下的識別正確概率,并在表5記錄完成一次正確識別所需的運行時間。從圖中可以看出,廣義碼重分布分析算法和逐一判斷法隨著誤碼率的增加,算法性能急劇下降,當誤碼超過0.04時,廣義碼重分布分析算法識別率下降到50%以下,而逐一判斷法的識別率已不能正確識別出參數(shù)類型,但本文中提出的算法的識別概率仍高于80%,能較好地進行識別,因此本文算法具有良好的抗誤碼性能。但從表5中可以看出,本文算法在計算時間上要稍遜于廣義碼重分布分析算法,算法復雜度較高。這是由于廣義碼重分布分析算法不需要對矩陣進行多次行列變換,減少了運行時間,但是該方法只能對在分組碼長恰好等于交織深度與交織寬度的乘積時的交織類型進行識別,在非合作通信中,由于缺少先驗信息,方法具有較大局限性。本文所提出的算法可以較好地完成對系統(tǒng)交織類型的識別。 表5 不同算法的運行時間對比 本文針對RS碼,提出了一種基于歸一化秩特征的交織類型盲識別方法,在不需要考慮碼長約束的條件下,通過高斯約當算法對分析矩陣做初等變換,結合所得下三角陣中各列的零值比計算出秩缺矩陣的歸一化秩,最后利用歸一化秩的變化規(guī)律完成交織器類型盲識別,較以往的識別方法相比,本文識別方法不需要任何先驗條件,彌補了以往交織類型識別方法的不足。仿真實驗結果表明,本文所提方法可以較好地完成交織類型識別,且具有良好的抗誤碼能力,在誤碼率為0.04時,仍能夠保證較高的識別正確概率,并通過不同門限值下的系統(tǒng)性能比較,確定了識別算法的最優(yōu)門限值為0.57,可為實際的工程應用提供一些參考。2.3 算法流程
3 實驗仿真與性能分析
3.1 實驗仿真與結果
3.2 識別性能對比分析
4 結束語