吳昭軍, 張立民, 鐘兆根
(1. 海軍航空大學(xué)信息融合研究所, 山東 煙臺(tái) 264001; 2. 西南電子電信研究所, 四川 成都 610041; 3. 海軍航空大學(xué)航空基礎(chǔ)學(xué)院, 山東 煙臺(tái) 264001)
通信系統(tǒng)中,為了對(duì)抗突發(fā)信道干擾,交織器被廣泛應(yīng)用于信道編碼之中。20世紀(jì)70年代初,文獻(xiàn)[1]提出了一種能夠連續(xù)工作的卷積交織器,這種交織器相比于矩形交織器,除了具有確定的交織深度和交織寬度外,還具備收發(fā)兩端存儲(chǔ)器個(gè)數(shù)減半的優(yōu)點(diǎn),故被廣泛的應(yīng)用于如ATSC、DVB-S等通信協(xié)議中。對(duì)于非合作通信而言,首先需要分析出碼字之間的交織映射關(guān)系,這是后續(xù)信道編碼逆向分析的前提[2-13]。
目前大多數(shù)算法局限于Turbo碼交織器的重建[14-16],而單獨(dú)針對(duì)編碼后交織關(guān)系識(shí)別的算法還比較少。文獻(xiàn)[17-18]首先將交織器重建問(wèn)題作為研究對(duì)象,將截獲的碼元序列排列成分析矩陣,當(dāng)分析矩陣的列數(shù)等于交織深度以及碼字長(zhǎng)度的整數(shù)倍時(shí),矩陣將出現(xiàn)秩虧現(xiàn)象,從而識(shí)別出相關(guān)參數(shù),但是該方法僅僅能夠分析出交織周期,不能對(duì)交織寬度、交織深度以及交織起點(diǎn)進(jìn)行識(shí)別,同時(shí)該方法不具有容錯(cuò)性;文獻(xiàn)[19]為提高容錯(cuò)性,利用消元后相關(guān)列與獨(dú)立列之中0,1個(gè)數(shù)分布不同,設(shè)定門限,判斷矩陣秩虧,完成交織周期識(shí)別,然后遍歷交織寬度、交織深度以及交織起點(diǎn),實(shí)現(xiàn)其他3種參數(shù)的識(shí)別,該方法雖然具有一定的容錯(cuò)性,但是在識(shí)別過(guò)程中必須采用三重循環(huán)進(jìn)行高斯消元,其計(jì)算復(fù)雜度太高,不具有工程實(shí)用性;文獻(xiàn)[20-24]同樣采用了高斯消元的思路,但與文獻(xiàn)[19]的不同點(diǎn)在于,在每次高斯消元后,都記錄下矩陣中0元素的占有比例,將0元素比例作為矩陣秩虧的度量,該方法容錯(cuò)性能進(jìn)一步提升,但是計(jì)算復(fù)雜度高的缺點(diǎn)仍然未能解決。文獻(xiàn)[25]從數(shù)據(jù)幀結(jié)構(gòu)中的同步碼作為突破口,利用分析矩陣的列數(shù)等于交織深度與數(shù)據(jù)幀長(zhǎng)的整數(shù)倍時(shí),交織后的同步碼位置對(duì)應(yīng)于分析矩陣列上的一階累積量將出現(xiàn)峰值,從而實(shí)現(xiàn)交織周期識(shí)別,然后利用同步位置之間的數(shù)量關(guān)系,分析出交織深度與交織寬度。該方法雖然克服了傳統(tǒng)高斯消元法的缺點(diǎn),但是在同步位置檢測(cè)過(guò)程中,設(shè)定的判決門限并不合理,這導(dǎo)致在高誤碼率情況下,會(huì)出現(xiàn)很高的虛警概率,同時(shí)在交織深度與交織寬度識(shí)別中,需要完全檢測(cè)出同步位置,這使得算法在高誤碼率情況下的魯棒性不好。在此基礎(chǔ)上,文獻(xiàn)[26]采用2的冪次倍遞減的方式遍歷可能的交織周期,使得遍歷次數(shù)大大減少,然后通過(guò)三重循環(huán)的方式對(duì)數(shù)據(jù)進(jìn)行解交織,完成交織深度、交織寬度以及數(shù)據(jù)可恢復(fù)起點(diǎn)識(shí)別。該方法計(jì)算效率與識(shí)別性能有了明顯提升,但是在同步碼檢測(cè)過(guò)程中,存在對(duì)矩陣每一列的統(tǒng)計(jì)特性分析不全面,噪聲一旦惡化,虛警概率會(huì)增加。同時(shí),三重循環(huán)解交織過(guò)程使得算法的計(jì)算效率不高。從以上分析來(lái)看,利用交織后同步碼的位置分布特性作為卷積交織器識(shí)別的突破口,仍然是目前最佳的選擇,但是為了實(shí)現(xiàn)算法性能與效率的提升,還需要進(jìn)一步深入分析數(shù)據(jù)矩陣中每一列一階累積量的統(tǒng)計(jì)特性。
基于此,本文同樣基于幀同步碼交織以后,分析矩陣中的位置分布規(guī)律,但是不同于文獻(xiàn)[25-26]的地方在于,在同步碼位置檢測(cè)過(guò)程中,全面研究了在不同條件下,分析矩陣中每一列的累積量統(tǒng)計(jì)特性,提出了更為穩(wěn)健的判決門限,為交織周期識(shí)別奠定了基礎(chǔ);其次在交織周期識(shí)別中,充分利用了分析矩陣的結(jié)構(gòu)特點(diǎn),僅構(gòu)造一次分析矩陣即可完成多次的交織周期遍歷,極大的減少了分析矩陣的構(gòu)造次數(shù),使得算法的效率得到有效提升;最后定義了峰值聚合度概念,只需要二重循環(huán)即可完成交織深度與交織寬度的識(shí)別,相比于文獻(xiàn)[26]的三重循環(huán),計(jì)算效率進(jìn)一步提升。從仿真結(jié)果來(lái)看,提出的方法識(shí)別性能要明顯好于文獻(xiàn)[25-26]中的算法,同時(shí)計(jì)算效率成倍的提升。
卷積交織器是一種能夠連續(xù)工作的交織器,其交織和解交織的原理框圖如圖1所示。
圖1 卷積交織/解交織原理圖Fig.1 Principle of convolutional interleaving/deinterleaving
圖1中B為交織深度,J為交織寬度。在卷積交織器中,第0路寄存器無(wú)存儲(chǔ)單元,第i路寄存器都比i-1路寄存器多J個(gè)存儲(chǔ)單元。對(duì)于每一個(gè)到來(lái)的碼元符號(hào),轉(zhuǎn)換開關(guān)轉(zhuǎn)接到下一路寄存器,從第0路一直到第B-1路,周期反復(fù)。存儲(chǔ)器中最早輸出的碼元經(jīng)過(guò)調(diào)制后,經(jīng)過(guò)信道到達(dá)接收端,在接收端解交織的過(guò)程與交織過(guò)程相反。在圖1中,所有的轉(zhuǎn)換開關(guān)必須嚴(yán)格同步。在原始序列中,相鄰兩碼元進(jìn)入交織后,位置距離至少為B·J。設(shè)圖1中比特流為(x1,x2,…,xl),其中,l為待交織的數(shù)據(jù)量,則卷積交織的過(guò)程可以等價(jià)于將序列排入如下的半無(wú)限大矩陣中,然后按照列輸出交織后的序列,即
(1)
式中,矩陣A中第i行由元素vi=[xi,xi+B,xi+2B,…]構(gòu)成,且相比于第i-1行,初始元素xi在矩陣中的位置右移J個(gè)單位。
解交織的過(guò)程是其逆過(guò)程,只需要將交織后的數(shù)據(jù)按列排入矩陣A中,然后矩陣中第i行向左平移(i-1)J個(gè)單位,然后按列輸出即可。
對(duì)于非合作通信而言,卷積交織器識(shí)別的主要內(nèi)容包括:交織周期、卷積交織深度B以及卷積交織寬度J,由于在數(shù)據(jù)偵收過(guò)程中,不可避免會(huì)出現(xiàn)數(shù)據(jù)的丟失,此時(shí)還需要識(shí)別出數(shù)據(jù)可恢復(fù)的交織起點(diǎn)。本文重點(diǎn)研究的內(nèi)容就是直接利用截獲到的軟判決序列,恢復(fù)出上述參數(shù),為后續(xù)信道編碼參數(shù)的分析準(zhǔn)備條件。
在實(shí)際通信系統(tǒng)中,為了實(shí)現(xiàn)幀數(shù)據(jù)同步,通常會(huì)在每一幀數(shù)據(jù)中添加同步碼,而這些同步碼同樣也會(huì)隨著業(yè)務(wù)數(shù)據(jù)進(jìn)行交織,如ATSC,DVB-S以及DVB-T等協(xié)議[25]。在交織之前,同步碼序列位置在一起,交織之后,同步碼位置被打亂在業(yè)務(wù)數(shù)據(jù)之中,此時(shí)如果將交織后的數(shù)據(jù)序列按行方向排列成分析矩陣,當(dāng)矩陣的列數(shù)是數(shù)據(jù)幀長(zhǎng)以及交織深度B的整數(shù)倍時(shí),分析矩陣中每一行同步碼位置分布是固定的,對(duì)應(yīng)于交織后的數(shù)據(jù),同步碼位置分布將出現(xiàn)周期性變化,設(shè)最小正周期為T0,則T0為數(shù)據(jù)幀長(zhǎng)L以及交織深度B的最小公倍數(shù),即
T0=lcm(B,L)
(2)
式中,符號(hào)lcm(·)表示取最小公倍數(shù)。
由上面分析,當(dāng)分析矩陣的列數(shù)正好等于T0的整數(shù)倍時(shí),由于矩陣中每一行上的同步碼分布一樣,此時(shí)求取矩陣每一列的一階累積量,那么在同步碼位置上將會(huì)出現(xiàn)峰值。設(shè)發(fā)送的數(shù)據(jù)序列為(syn,c1,syn,c2,…),其中,ci為碼字序列,syn為同步碼序列,即
syn=(a1,a2,…,as)
(3)
為了提高算法在低信噪比下的識(shí)別性能,本文直接利用信道的軟解調(diào)序列,并假設(shè)調(diào)制方式為BPSK,碼元c映射方式為:0映射為-1, 1映射為+1,信道噪聲為高斯白噪聲,則截獲的軟解調(diào)碼元x可表示為
x=2c-1+r
(4)
式中,r~N(0,σ2),σ2為白噪聲方差。
設(shè)構(gòu)造的分析矩陣為H,列數(shù)為l′,即
H=[h1,h2,…,hl′]
(5)
式中,列向量hj(1≤j≤l′)為矩陣H的第j列,即
hj=[x1, j,x2, j,…,xM, j]T
(6)
定義H中第j列的一階累積量為
(7)
當(dāng)l′為T0的整數(shù)倍時(shí),H中每一行同步碼位置分布固定,此時(shí)分析矩陣中同步碼位置所在列上的一階累積量服從均值為2c-1,方差為σ2/M的高斯分布,而其他列上的一階累積量服從均值為0,方差為σ2/M+1;當(dāng)l′不為T0的整數(shù)倍時(shí),文獻(xiàn)[25-26]認(rèn)為此時(shí)矩陣中每一列的一階累積量都近似服從均值為0,方差為σ2/M+1的概率分布,事實(shí)上這種近似是非常粗糙的,例如當(dāng)l′=T0/2時(shí),在構(gòu)建的分析矩陣中,同步碼位置所在列的概率分布是由兩部分組成,即同步碼序列部分和隨機(jī)的業(yè)務(wù)數(shù)據(jù)部分,二者合在一起,服從均值為(2c-1)/2,方差為σ2/M+3/4的概率分布。當(dāng)信道環(huán)境變得惡劣時(shí),在文獻(xiàn)[25-26]設(shè)定的門限下,同步碼位置的檢測(cè)將會(huì)出現(xiàn)很高的虛警概率。由此可見,還需要全面考慮分析矩陣中每一列的統(tǒng)計(jì)特性,而不能簡(jiǎn)單的用兩種概率分布來(lái)近似替代。
考慮構(gòu)建的分析矩陣列數(shù)l′為一任意大于0正整數(shù),將截獲的數(shù)據(jù)排入分析矩陣中,當(dāng)同步碼位置分布再次重復(fù)第1行中的分布規(guī)律時(shí),則已經(jīng)排入矩陣的數(shù)據(jù)長(zhǎng)度一定為T0的整數(shù)倍,由于矩陣的列數(shù)是l′,故同時(shí)也是l′的整數(shù)倍,不妨設(shè)此時(shí)排入矩陣的數(shù)據(jù)量為len。由此可知,len為l′與T0的最小公倍數(shù),即
len=lcm(l′,T0)
(8)
此時(shí),在分析矩陣中,同步碼位置具有相同分布規(guī)律的行將以len/l′為周期間隔出現(xiàn),不妨記ξ=len/l′,則在分析矩陣中同步碼出現(xiàn)相同分布的概率一定為ξ。此時(shí)分析矩陣中第j列的一階累計(jì)量cum(j)服從以下的高斯分布:
(9)
從式(9)可知,當(dāng)ξ→0時(shí),即使存在同步碼,cum(j)的概率分布也會(huì)趨近于不存在同步碼的情況。圖2進(jìn)一步給出了在σ2=3,M=100情況下,不同ξ條件下,累積量概率密度函數(shù)。
圖2 不同ξ下的概率密度函數(shù)Fig.2 Function of probability density at different ξ
(10)
(11)
a2Λ2+a1Λ+a0=0
(12)
其中,
(13)
(14)
(15)
求解該一元二次方程,得到在c=1條件下的最小錯(cuò)誤判決門限,即
(16)
當(dāng)c=0時(shí),此時(shí)門限與Λ互為相反數(shù),為了將門限統(tǒng)一于Λ上,只需要取矩陣中每一列的一階累積量的絕對(duì)值,然后與Λ進(jìn)行比較,即可完成同步碼位置的快速檢測(cè)。由于業(yè)務(wù)數(shù)據(jù)長(zhǎng)度要遠(yuǎn)遠(yuǎn)大于同步碼長(zhǎng)度,考慮到在低信噪比與門限Λ下,不存在同步碼的列,檢測(cè)的結(jié)果出現(xiàn)虛警的概率更大,因此除了要考察同步碼的漏警概率外,還需要考慮到來(lái)自其他列的虛警概率,這在信噪比較低時(shí),尤為重要。記Psa為當(dāng)l′為T0的整數(shù)倍時(shí),同步碼位置出現(xiàn)的漏警概率,而Psf為來(lái)源于不存在同步碼列(此時(shí)ξ=0)的虛警概率,由其概率分布,可以得到計(jì)算表達(dá)式為
(17)
(18)
當(dāng)分析矩陣的列數(shù)l′為T0整數(shù)倍時(shí),設(shè)存在同步碼的列數(shù)為SL,則同步碼位置未被檢測(cè)出來(lái)的個(gè)數(shù)S0服從二項(xiàng)分布,即
S0~B(SL,Psa)
(19)
而非同步碼位置所在列被誤判為同步碼位置的個(gè)數(shù)S1,同樣服從二項(xiàng)分布,即
S1~B(l′-SL,Psf)
(20)
將同步碼位置上的漏警以及隨機(jī)業(yè)務(wù)數(shù)據(jù)上的虛警充分考慮在內(nèi)。按照統(tǒng)計(jì)學(xué)中3倍標(biāo)準(zhǔn)差準(zhǔn)則,當(dāng)遍歷的l′等于T0的整數(shù)倍時(shí),檢測(cè)出的同步碼位置數(shù)目S應(yīng)當(dāng)滿足:
(21)
由此,可以得到交織周期識(shí)別的最優(yōu)判決門限Λopt為
(22)
式中,SL一般不能準(zhǔn)確獲得,故在門限計(jì)算中,SL值初始一般設(shè)置較小,故設(shè)定的實(shí)際門限Λs一般小于Λopt。由于實(shí)際工程中同步碼一般是成字節(jié)(8位比特)形式出現(xiàn),所以在一開始可以設(shè)定SL為8,然后按照8的倍式增加。
文獻(xiàn)[26]僅僅考慮了同步碼所在列出現(xiàn)漏警的情況,卻未能考慮到由業(yè)務(wù)數(shù)據(jù)所構(gòu)成列可能會(huì)出現(xiàn)虛警的情況,相比而言,本文算法的門限設(shè)定更為合理。
(23)
當(dāng)交織周期門限確定后,需要對(duì)交織周期進(jìn)行遍歷求解,該過(guò)程是整個(gè)卷積交織識(shí)別最耗時(shí)的過(guò)程。文獻(xiàn)[25]從初始設(shè)定的最小交織周期Tmin到最大交織周期Tmax依次進(jìn)行遍歷,這種遍歷方式效率較低,文獻(xiàn)[26]首先計(jì)算在最大交織周期處的累積量,然后由此結(jié)果直接計(jì)算與最大交織周期構(gòu)成2的冪次倍關(guān)系處的累積量,其計(jì)算效率提升了一倍以上,但是文獻(xiàn)[26]僅僅考慮了減少累積量的計(jì)算次數(shù),但未能考慮到由于截獲的數(shù)據(jù)量往往非常大,構(gòu)造分析矩陣同樣也會(huì)減弱算法的實(shí)時(shí)性,本文從減少構(gòu)成分析矩陣的次數(shù)出發(fā),提出一種快速的交織周期遍歷方法。設(shè)在遍歷的交織周期為l′,截獲的數(shù)據(jù)總量為L(zhǎng)情況下,構(gòu)造的分析矩陣為X,即
(24)
考慮當(dāng)分析矩陣的列數(shù)等于k·l′的情況,此時(shí)分析矩陣的每一列可由X的行間隔k抽樣構(gòu)成,由此可見,當(dāng)構(gòu)建的分析矩陣列數(shù)由l′擴(kuò)展為k·l′,對(duì)應(yīng)于一階累積量為cumk·l′,其每一列可由式(24)計(jì)算得到,即
(25)
基于上述分析,可以得到在低信噪比下卷積交織周期快速識(shí)別算法,流程如算法1所示。
算法 1 交織周期快速識(shí)別Require: Tmin, Tmax, 軟判決序列1. 構(gòu)建遍歷周期集合Tset={Tmin, Tmin+1,…, Tmax},初始化標(biāo)志位flag=02. while Tset≠? do3. 令軟判決序列長(zhǎng)度為l,l'==Tset{1},N=l/l'構(gòu)造數(shù)據(jù)矩陣XN×l'4. for k=1 toTset{end}/l' do5. 計(jì)算同步碼檢測(cè)門限Λ以及交織周期檢測(cè)門限Λs6. 由式(25)計(jì)算累積量cumk·l'7. 將cumk·l'取絕對(duì)值,并與Λ比較,確定出同步碼個(gè)數(shù)S8. if S>Λs do9. EsT=k·l', flag=110. break11. end if12. end for13. if flag==1 do14. break15. else16. Tset=Tset{l',2l',…,kl'}17. end if18. end whileEnsure: EsT
當(dāng)交織周期識(shí)別完成后,緊接著進(jìn)行交織器參數(shù)識(shí)別。交織器參數(shù)識(shí)別包含的具體內(nèi)容為交織寬度J、交織深度B以及可恢復(fù)數(shù)據(jù)的交織起點(diǎn)stp。文獻(xiàn)[25]主要利用了交織后,同步碼位置與交織周期之間的數(shù)量關(guān)系確定出J與B,這需要以交織周期完全正確,同時(shí)檢測(cè)出全部同步碼位置為前提,當(dāng)信噪比較低或交織周期不正確時(shí),無(wú)法解算J與B,同時(shí)也未給出可恢復(fù)數(shù)據(jù)的交織起點(diǎn);文獻(xiàn)[26]將J,B以及stp進(jìn)行遍歷,構(gòu)建出三重循環(huán)對(duì)數(shù)據(jù)進(jìn)行解交織,對(duì)應(yīng)于同步碼位置聚集程度越高的參數(shù)即為識(shí)別的參數(shù)。由于這種方法涉及到了三重循環(huán)遍歷,不可避免存在著計(jì)算效率低下的缺點(diǎn);其次,當(dāng)同步碼位置的分布很接近時(shí),文獻(xiàn)中給出的衡量同步碼位置聚集程度的方法,難以對(duì)其進(jìn)行區(qū)分。基于此,本文重新定義了聚合度這一概念,能夠更好的表征同步碼位置的聚集程度,僅僅需要二重循環(huán)即可完成J與B的識(shí)別。
由于在交織前,同步碼位置是連續(xù)在一起的,當(dāng)未被交織器打亂時(shí),在每一幀數(shù)據(jù)中,同步碼位置前后兩項(xiàng)之差一定為1,基于此,通過(guò)遍歷J與B對(duì)序列進(jìn)行解交織,當(dāng)B與J正確時(shí),即使此時(shí)可恢復(fù)數(shù)據(jù)的交織起點(diǎn)還未被確定,通過(guò)解交織過(guò)程仍然能夠?qū)⒛承┍淮騺y的同步碼變換到一起。設(shè)解交織后,檢測(cè)出的同步碼位置為synpos=[w1,w2,…,wm],將synpos中元素作后向差值運(yùn)算,得到
Dsynpos=[w2-w1,w3-w2,…,wm-wm-1]
(26)
設(shè)Dsynpos中元素等于1的個(gè)數(shù)為Nums,則解交織后,能夠反映同步碼位置聚集程度的聚合度ε定義為
ε=Nums/(m-1)
(27)
通過(guò)遍歷B以及J,使得ε值最大的參數(shù)即為識(shí)別出的卷積交織器參數(shù),即
(28)
在交織深度以及交織寬度完成識(shí)別后,僅僅需要一重循環(huán)遍歷,即可完成可恢復(fù)數(shù)據(jù)的交織起點(diǎn)識(shí)別,此時(shí)只需要從1到EsB進(jìn)行遍歷,將其作為數(shù)據(jù)的起點(diǎn),利用估計(jì)出的EsB以及EsJ對(duì)數(shù)據(jù)解交織,使得ε最大的起點(diǎn),即為可恢復(fù)數(shù)據(jù)的交織起點(diǎn),即
(29)
由上述分析過(guò)程可知,僅僅利用二重循環(huán)遍歷即可得到B與J的估計(jì)算法,詳細(xì)流程如算法2所示。
算法 2 交織深度B與交織寬度J快速識(shí)別Require: Bmin, Bmax, Jmin, Jmax, EsT1. 賦初值:EsB=0, EsJ=0, εmax=02. for B=Bminto Bmax do3. if mod(EsT, B)==0 do4. for J=Jminto Jmax do5. 利用參數(shù)(B, J)將數(shù)據(jù)解交織6. 利用解交織的數(shù)據(jù)構(gòu)建列數(shù)為EsT的分析矩陣7. 檢測(cè)矩陣中同步碼位置并求取ε8. if ε≥εmax do9. εmax=ε, EsB=B, EsJ=J10. end if11. end for12. end if13. end forEnsure: EsB, EsJ
當(dāng)?shù)玫骄矸e交織器的交織深度以及交織寬度后,最后僅僅需要一次遍歷循環(huán)即可完成可恢復(fù)數(shù)據(jù)的交織起點(diǎn)識(shí)別,具體過(guò)程如算法3所示。
算法 3 可恢復(fù)數(shù)據(jù)的交織起點(diǎn)識(shí)別Require: EsB, EsJ, EsT1. 賦初值:std=0, εmax=02. for i=1 to EsB do3. 剔除序列前i-1個(gè)數(shù)據(jù),然后利用參數(shù)(EsB,EsJ)解交織4. 利用解交織的數(shù)據(jù)構(gòu)建列數(shù)為EsT的分析矩陣5. 檢測(cè)矩陣中同步碼位置并求取ε6. if ε≥εmax do7. εmax=ε, std=i8. end if9. end forEnsure:std
從算法2與算法3來(lái)看,本文僅僅利用二重循環(huán)遍歷以及單獨(dú)一次的一重循環(huán)遍歷即可完成交織深度B,交織寬度J以及可恢復(fù)數(shù)據(jù)的交織起點(diǎn)std識(shí)別,相比較于文獻(xiàn)[26]的三重循環(huán)遍歷,算法的計(jì)算效率進(jìn)一步提升。
本節(jié)首先驗(yàn)證算法能夠?qū)崿F(xiàn)參數(shù)的正確識(shí)別。仿真設(shè)定信道編碼為(63,43)BCH碼,數(shù)據(jù)幀中業(yè)務(wù)數(shù)據(jù)由10個(gè)碼字的BCH碼構(gòu)成,每幀數(shù)據(jù)同步碼位數(shù)設(shè)定為32,同步碼序列為1ACFFC1D(16進(jìn)制表示形式),截獲的幀數(shù)目為10 000,卷積交織器交織深度B=7,交織寬度J=9,由于數(shù)據(jù)幀長(zhǎng)度為662,故卷積交織最小正周期T0=lcm(662,7)=4 634;在發(fā)送過(guò)程中,將數(shù)據(jù)前46 bit丟棄,同時(shí)設(shè)定信噪比為-6 dB,仿真中信噪比定義為SNR=10lg(1/(2σ2)),后續(xù)不再重復(fù)說(shuō)明。遍歷的交織周期范圍為Tmin=1 000,Tmax=10 000。按照算法流程,首先假定交織周期中同步碼數(shù)目SL=16(實(shí)際為224個(gè)),當(dāng)遍歷到l′=9 268時(shí),檢測(cè)出同步碼位置大于設(shè)定的門限,如圖3(a)與表1所示,此時(shí)得到交織周期為9 268;然后進(jìn)一步識(shí)別最小正周期,由于9 268能夠整除2,4,7,故依次構(gòu)造以4 634, 2 317以及1 324為列數(shù)的矩陣,得到每一種情況下的檢測(cè)門限以及同步碼數(shù)目如表1所示。
圖3 卷積交織器識(shí)別過(guò)程Fig.3 Recognition of convolutional interleaver
表1 最小正周期識(shí)別結(jié)果
從表1可以清楚的看出,當(dāng)矩陣列數(shù)等于4 634時(shí),檢測(cè)出的同步碼數(shù)目為217,遠(yuǎn)遠(yuǎn)大于13.694 2,此時(shí)識(shí)別出最小正周期為4 634,此時(shí)的矩陣中每一列的一階累積量如圖3(b)所示,這與仿真設(shè)定一致,說(shuō)明算法1對(duì)于交織周期識(shí)別有效。
識(shí)別出交織周期后,按照算法2識(shí)別B與J。算法中設(shè)定Bmin=2,Bmax=16,Jmin=1,Jmax=16,通過(guò)二重循環(huán)遍歷B與J,計(jì)算聚合度ε,結(jié)果如圖3(c)所示,發(fā)現(xiàn)在B=7,J=9時(shí),聚合度具有最大值0.7,此時(shí)識(shí)別出交織深度為7,交織寬度為9,這與仿真設(shè)定一致,說(shuō)明算法2有效;最后遍歷從1到7遍歷可恢復(fù)數(shù)據(jù)的起點(diǎn),當(dāng)起點(diǎn)等于5時(shí),聚合度具有最大值0.973,其解交織結(jié)果如圖4所示。從圖4結(jié)果來(lái)看,在識(shí)別出的參數(shù)下,同步碼被全部變換到了一起,這證明在起點(diǎn)為5情況下,能夠恢復(fù)出交織前的數(shù)據(jù),說(shuō)明算法3有效。
圖4 解交織結(jié)果Fig.4 Result of deinterleaving
本節(jié)主要從容錯(cuò)性能以及實(shí)時(shí)性兩個(gè)方面考察算法的綜合性能。仿真實(shí)驗(yàn)設(shè)定為4組,第1組實(shí)驗(yàn)主要考察估計(jì)的同步碼數(shù)目對(duì)算法性能的影響,仿真中將文獻(xiàn)[25]、文獻(xiàn)[26]與本文算法進(jìn)行對(duì)比;第2組實(shí)驗(yàn)主要用于驗(yàn)證當(dāng)交織周期與交織深度不是互素關(guān)系時(shí),文獻(xiàn)[25]算法無(wú)法完成B與J的識(shí)別,同時(shí)也考察本文算法與文獻(xiàn)[26]容錯(cuò)性能;第3組仿真實(shí)驗(yàn)主要驗(yàn)證數(shù)據(jù)幀中同步碼數(shù)目對(duì)本文算法與文獻(xiàn)[26]算法性能的影響;最后一組實(shí)驗(yàn)對(duì)比了本文方法、文獻(xiàn)[25]與文獻(xiàn)[26]算法的實(shí)時(shí)性。
第1組仿真實(shí)驗(yàn)中參數(shù)設(shè)定與第4.1節(jié)中一致,信噪比范圍從-11.5 dB到-2 dB,間隔0.125 dB。在同一條件下,將本文方法、文獻(xiàn)[25]以及文獻(xiàn)[26]算法在同一條件下進(jìn)行對(duì)比,由于本文算法與文獻(xiàn)[26]的方法都需要對(duì)交織周期內(nèi)同步碼數(shù)目進(jìn)行估計(jì),故設(shè)定估計(jì)同步碼數(shù)目SL設(shè)定為8 bit, 16 bit, 32 bit, 64 bit以及224 bit(交織周期內(nèi)實(shí)際數(shù)目為224 bit),然后統(tǒng)計(jì)在不同SL下,本文算法與文獻(xiàn)[26]方法正確識(shí)別率。3種算法的結(jié)果如圖5所示。
圖5 3種算法的識(shí)別性能Fig.5 Performance of three algorithms
從圖5結(jié)果來(lái)看,估計(jì)的同步碼數(shù)目越接近于實(shí)際同步碼數(shù)目,本文算法與文獻(xiàn)[26]的方法識(shí)別性能就越好。雖然本文方法需要首先設(shè)定每一幀的同步碼數(shù)目,但是即使是在設(shè)定的最小同步碼數(shù)目為8的情況下,本文方法的性能相比較于文獻(xiàn)[25]的方法提升2.5 dB,并且在同一SL下,本文方法相比較于文獻(xiàn)[26],其性能提升近1 dB,這說(shuō)明本文設(shè)定的同步碼檢測(cè)門限以及交織周期判決門限更為合理。
第2組實(shí)驗(yàn)中,信道編碼為(63,43)BCH碼,設(shè)定每一幀數(shù)據(jù)長(zhǎng)度為1 260,其中前32位為同步碼,后面1 228位由BCH碼構(gòu)成(19個(gè)BCH碼加第20個(gè)碼字前31 bit),卷積交織器,幀塊數(shù)據(jù)以及數(shù)據(jù)丟失起點(diǎn)設(shè)定與第4.1節(jié)一致。此時(shí)最小交織正周期為T0=lcm(1 260,7)=1 260,圖6給出了本文算法與文獻(xiàn)[26]方法在不同估計(jì)的SL下,交織周期、B以及J識(shí)別率。本例中,文獻(xiàn)[25]僅能夠識(shí)別出卷積周期,無(wú)法正確識(shí)別出B與J,主要原因在于文獻(xiàn)[25]認(rèn)為最小周期等于交織深度B與數(shù)據(jù)幀長(zhǎng)的乘積(該結(jié)論僅僅在B與幀長(zhǎng)互素成立),而本例最小周期正好等于幀長(zhǎng),這導(dǎo)致文獻(xiàn)[25]無(wú)法正確解算參數(shù)。
圖6 3種不同方法對(duì)比Fig.6 Comparison of three different methods
第3組仿真實(shí)驗(yàn)主要考察交織周期中同步碼數(shù)目對(duì)于算法性能的影響,實(shí)驗(yàn)中設(shè)定數(shù)據(jù)幀長(zhǎng)度為1 260,每幀數(shù)據(jù)幀頭同步碼數(shù)目分別為8 bit, 16 bit, 24 bit, 32 bit以及40 bit,設(shè)定截獲的幀數(shù)目為10 000,在不同信噪比下,對(duì)比本文算法與文獻(xiàn)[26]的方法識(shí)別性能,其中兩種算法設(shè)定的每幀同步碼數(shù)目與實(shí)際情況一致,得到結(jié)果如圖7所示。
圖7 同步碼數(shù)目對(duì)算法影響Fig.7 Effect of synchronization codes on Algorithm
從圖7結(jié)果來(lái)看,當(dāng)幀頭的同步碼數(shù)目增加時(shí),本文算法與文獻(xiàn)[26]的方法性能都有較為明顯提升,主要原因在于同步碼數(shù)目一旦增多,算法檢測(cè)出同步碼的可能性就大,在同步周期檢測(cè)過(guò)程出現(xiàn)誤判的概率就越小;同時(shí)也注意到,在同一條件下,本文方法相比于文獻(xiàn)[26],性能有將近2 dB的提升,這進(jìn)一步證明本文改進(jìn)的判決門限更為合理。
第4組仿真實(shí)驗(yàn)主要用于對(duì)比3種算法的實(shí)時(shí)性能,實(shí)驗(yàn)設(shè)定了4組不同幀長(zhǎng)的數(shù)據(jù),每幀數(shù)據(jù)的同步碼數(shù)目為32,業(yè)務(wù)數(shù)據(jù)為(63,43)BCH碼,碼字?jǐn)?shù)目分別為3, 5, 10和20,設(shè)定截獲的數(shù)據(jù)幀塊數(shù)目為10 000。對(duì)應(yīng)于幀長(zhǎng)、最小正周期以及每種方法完成一次識(shí)別所需要的時(shí)間,如表2所示。
表2 算法實(shí)時(shí)性對(duì)比
從表2的結(jié)果來(lái)看,首先本文方法與文獻(xiàn)[26]方法的實(shí)時(shí)性要明顯好于文獻(xiàn)[25]算法,并且隨著最小交織正周期的增大,算法的耗時(shí)差距將會(huì)更加明顯;其次,本文方法實(shí)時(shí)性要好于文獻(xiàn)[26]的方法,特別是在短周期以及長(zhǎng)周期情況下,優(yōu)勢(shì)將會(huì)更為明顯。主要原因在于本文算法充分利用了分析矩陣的特點(diǎn),僅構(gòu)造一次分析矩陣就能夠完成多次周期參數(shù)遍歷,使得矩陣的構(gòu)成次數(shù)大大降低;最后,在新定義的同步碼聚合度概念下,僅僅需要二重循環(huán)遍歷方法即可完成B與J的識(shí)別,相比較于文獻(xiàn)[26]方法,時(shí)效性進(jìn)一步提高。
從以上4組仿真結(jié)果來(lái)看,與同類算法相比,本文提出的方法在參數(shù)識(shí)別性能以及計(jì)算效率兩個(gè)方面都具有明顯的優(yōu)勢(shì)。
本文利用數(shù)據(jù)幀中同步碼序列經(jīng)過(guò)卷積交織后的位置分布規(guī)律,提出一種識(shí)別性能更好、實(shí)時(shí)性更高的算法。算法首先深入分析了在數(shù)據(jù)矩陣中,同步碼位置所在列的一階累積量統(tǒng)計(jì)特性,基于最小錯(cuò)誤判決準(zhǔn)則有效實(shí)現(xiàn)同步碼的檢測(cè);其次充分考慮了分析矩陣中同步碼位置列以及其他隨機(jī)位置列引起的漏警與虛警概率,基于3倍標(biāo)準(zhǔn)差準(zhǔn)則,設(shè)定了更為合理的卷積周期判決門限;再次,在交織周期識(shí)別過(guò)程中,利用了分析矩陣中每一行數(shù)據(jù)的分布特點(diǎn),提出了一種僅僅構(gòu)造一次分析矩陣就能實(shí)現(xiàn)多個(gè)交織周期遍歷的方法,使得分析矩陣的構(gòu)造次數(shù)大大減少,使得算法的實(shí)時(shí)性得到提升;最后在交織深度、交織寬度以及可恢復(fù)數(shù)據(jù)起點(diǎn)的識(shí)別中定義了聚合度概念,僅僅需要二重的遍歷循環(huán)和單獨(dú)一重的交織起點(diǎn)遍歷即可實(shí)現(xiàn)參數(shù)的識(shí)別。仿真結(jié)果表明提出的算法能夠在低信噪比下有效完成參數(shù)的識(shí)別,與以往算法相比,本文算法在識(shí)別性能以及實(shí)時(shí)性兩個(gè)方面都具有明顯的優(yōu)勢(shì),在惡劣信道環(huán)境下,具有更好的工程實(shí)用性。