羅路為,雷迎科
(國(guó)防科技大學(xué)電子對(duì)抗學(xué)院,安徽 合肥 230017)
近年來,在非合作信號(hào)處理領(lǐng)域,信道編碼識(shí)別分析成為一個(gè)新的研究熱點(diǎn),其在智能通信、信息截獲和信息對(duì)抗等領(lǐng)域,有越來越廣泛的應(yīng)用[1]。在智能通信中已經(jīng)廣泛采用了自適應(yīng)調(diào)制編碼技術(shù)(AMC)。自適應(yīng)調(diào)制編碼能夠根據(jù)信道質(zhì)量的改變情況,隨時(shí)改變信道編碼的方式,使其獲得最佳的通信效率和服務(wù)質(zhì)量。然而在實(shí)際情況中,由于在傳輸過程中會(huì)受時(shí)延、干擾、中斷等因素的影響,有時(shí)候發(fā)送方不能正確或地準(zhǔn)時(shí)將相關(guān)控制信息傳送到接收端,從而無法建立通信[2]。這時(shí)就需要接收方僅僅由接收的未知數(shù)據(jù)快速識(shí)別出信道編碼的體制、參數(shù),以達(dá)到智能通信的目的。在各類信道編碼方式中,LDPC碼因其具有接近香農(nóng)極限的糾錯(cuò)性能,以及譯碼簡(jiǎn)單譯碼錯(cuò)誤可檢測(cè)等優(yōu)異性能,十分有利于高速信息傳輸,從而成為了信道編碼理論新的研究熱[3]。在下一代5G通信系統(tǒng)中,由于LDPC碼較強(qiáng)的糾錯(cuò)性能,可以較好地實(shí)現(xiàn)協(xié)作中繼傳輸和多小區(qū)協(xié)作傳輸,這對(duì)LDPC碼盲識(shí)別算法的研究提出了迫切的需求[4]。
然而,對(duì)于LDPC碼校驗(yàn)矩陣的盲識(shí)別的研究成果相對(duì)較少。Cluzeau通過的理論和實(shí)驗(yàn)證明,重建LDPC碼必須有充分的LDPC碼組[5]。包昕等人充分利用后驗(yàn)概率對(duì)數(shù)似然比,建立軟解調(diào)序列與LDPC碼的校驗(yàn)矩陣之間的映射關(guān)系,實(shí)現(xiàn)對(duì)LDPC碼的盲識(shí)別[6]。而文獻(xiàn)[7]結(jié)合信道輸出的軟判決接收序列,依次搜索信道編碼集合里的全部碼長(zhǎng)和碼率,把伴隨式Hamming重量最小的參數(shù)組合作為識(shí)別結(jié)果,但是這種方法需要接收序列中有足夠長(zhǎng)的無誤碼序列。這些研究成果大都需要較高的信噪比條件,對(duì)于誤碼條件下的LDPC碼盲識(shí)別,還不能達(dá)到較為理想的識(shí)別效果。本文針對(duì)誤碼條件下LDPC碼校驗(yàn)矩陣難以逆向構(gòu)造的問題,提出了基于線性約束關(guān)系的LDPC碼盲識(shí)別算法。
LDPC的盲識(shí)別包括其碼長(zhǎng)、碼率、校驗(yàn)矩陣等相關(guān)參數(shù)的識(shí)別。每一種LDPC碼都有唯一對(duì)應(yīng)的校驗(yàn)矩陣。對(duì)LDPC碼進(jìn)行盲識(shí)別的終極目標(biāo)就是要實(shí)現(xiàn)其校驗(yàn)矩陣的正確重建。文獻(xiàn)[6]在無誤碼的情況下,采用高斯消元法對(duì)LDPC碼的校驗(yàn)矩陣進(jìn)行了盲識(shí)別。整個(gè)盲識(shí)別過程如圖1所示。首先對(duì)LDPC碼接收序列進(jìn)行高斯消元,得到生成矩陣G,然后利用LDPC碼校驗(yàn)矩陣的特性,獲取得非稀疏校驗(yàn)矩陣Hd。最后,利用足夠的數(shù)據(jù),進(jìn)行線性行變換,實(shí)現(xiàn)了無誤碼條件下LDPC碼校驗(yàn)矩陣的識(shí)別。然而,在誤碼條件下,進(jìn)行高斯消元運(yùn)算,會(huì)把錯(cuò)誤進(jìn)行傳播和放大[8]。想通過高斯消元獲取碼字空間的基已經(jīng)變成不可能。只能尋求新的解決辦法。本文針對(duì)在誤碼條件下,將LDPC碼校驗(yàn)矩陣的盲識(shí)別問題分解為相對(duì)獨(dú)立的三個(gè)步驟:第一步:利用含錯(cuò)碼組,求解其正交向量;第二步:通過校驗(yàn)關(guān)系準(zhǔn)則,提取碼字空間C的校驗(yàn)向量;第三步:對(duì)有效校驗(yàn)向量進(jìn)行稀疏化處理。對(duì)于第一步的處理,傳統(tǒng)的線性分組碼是利用n維空間的向量進(jìn)行Walsh-Hadamard變換,或者利用高速計(jì)算機(jī)進(jìn)行校驗(yàn)方程的求解,尋找滿足正交性的校驗(yàn)向量[9]。但是,LDPC碼碼長(zhǎng)通常較長(zhǎng),而且校驗(yàn)矩陣十分稀疏,傳統(tǒng)的方法都不能很好的用于LDPC碼。本文通過線性約束關(guān)系,采用k階列消元,實(shí)現(xiàn)對(duì)含錯(cuò)碼正交向量的求解。
圖2是針對(duì)在誤碼條件下所提出LDPC校驗(yàn)矩陣的盲識(shí)別方案:首先對(duì)含錯(cuò)碼編碼矩陣進(jìn)行列消元運(yùn)算,求解其正交向量,求解結(jié)果可當(dāng)作疑似校驗(yàn)向量。其次,通過校驗(yàn)關(guān)系的判定準(zhǔn)則,提取碼字空間C的有效校驗(yàn)向量,同時(shí)剔除掉大量的含錯(cuò)碼組。然后對(duì)有效校驗(yàn)向量進(jìn)行稀疏化處理。對(duì)上述步驟進(jìn)行迭代,不斷剔除被截獲數(shù)據(jù)中的誤碼碼組,提高無誤碼碼組的比例。若干次迭代后,我們能夠獲取足夠的有效校驗(yàn)向量。此時(shí),就能夠?qū)⒄`碼條件變相地轉(zhuǎn)化為無誤碼條件,就能實(shí)現(xiàn)了LDPC碼校驗(yàn)矩陣的盲識(shí)別。
圖1 在無誤碼時(shí)的校驗(yàn)矩陣重建過程Fig.1 Reconstruction of check matrix without error
圖2 本文LDPC校驗(yàn)矩陣的盲識(shí)別方案Fig.2 Blind recognition method of LDPC check matrix in this paper
綜上所述,本文提出了一種基于線性約束關(guān)系的誤碼條件下LDPC碼盲識(shí)別方案,下面對(duì)針對(duì)此問題進(jìn)行分析討論。
基于線性約束關(guān)系的LDPC碼校驗(yàn)矩陣的盲識(shí)別算法分為三步。第一步:利用LDPC碼校驗(yàn)矩陣的線性約束關(guān)系,對(duì)接收矩陣進(jìn)行k階列消元,獲取校驗(yàn)向量空間。第二步:利用校驗(yàn)關(guān)系約束準(zhǔn)則,對(duì)校驗(yàn)向量空間中的疑似校驗(yàn)向量進(jìn)行判定,獲取有效的校驗(yàn)向量。第三步:利用漸近行變換對(duì)有效的校驗(yàn)向量進(jìn)行稀疏化,獲取LDPC碼的稀疏校驗(yàn)向量。
通過k階列消元,我們可以將二元矩陣M,變換成如式(1)的下階梯型矩陣[10],這個(gè)過程只需要k步操作。
(1)
而且,還可以得到M的對(duì)偶矩陣Θ。假設(shè)M經(jīng)過i-1步運(yùn)算后,記為M(i-1),可以構(gòu)造形如式(2)的矩陣
(2)
并計(jì)算M(i)=M(i-1)Ψ(i)。經(jīng)過k步運(yùn)算后,最終,M(k)能變換為如式(1)的下階梯形矩陣。設(shè)Ψ(1)Ψ(2)…Ψ(k)=Γn×kΘn×(n-k),這時(shí)矩陣M的對(duì)偶矩陣就是矩陣Θ。
1) 若無誤碼。設(shè)MN×n=mG,其中m為信息矩陣,維度是N-k維,C的生成矩陣是G,易得:
(3)
若對(duì)M進(jìn)行k階列消元運(yùn)算,必然存在矩陣Θn×(n-k),使得0=M1Θ,即:
(4)
因此,存在這樣的矩陣Θ,可使得MΘ為全0陣[11]。
2) 若有誤碼。設(shè)MN×n=mG+EN×n,其中E是錯(cuò)誤圖樣。可得:
(5)
如果對(duì)M采取k階列消元運(yùn)算,則存在這樣的矩陣Θn×(n-k),使得0=M1Θ,即:
(6)
因此:
(7)
由上述分析可知,經(jīng)k階列消元運(yùn)算后,如果M無誤碼,MΘ為全0陣;如果M有誤碼,MΘ前k行為全0陣,而在剩下的N-k行中會(huì)有非零元素。由此可以說明,通過對(duì)含錯(cuò)碼組進(jìn)行k階列消元運(yùn)算,我們不僅僅可以獲得編碼矩陣M的校驗(yàn)矩陣,而且能夠判斷矩陣M中有沒有誤碼存在。
Gallager定理表明[12],設(shè)p是n維二元向量中元素1的概率,則該向量中存在偶數(shù)個(gè)1的概率為(1+(1-2p)n)/2。同時(shí),Chabot又提出了如下定理[12]:
定理1:令向量p,q∈R,且w表示q中非零元素個(gè)數(shù),則p,q正交概率pr為:
(8)
式(8)中,p中出現(xiàn)非零元素的概率記為pb,R⊥則表示R的對(duì)偶空間。利用定理1,我們可以用q來表示任意向量h,用p表示編碼向量c時(shí),則通過式(8)能夠判定h是否屬于校驗(yàn)空間C⊥,而當(dāng)我們用q來表示誤碼碼組r,用p來表示校驗(yàn)向量h,則可用于判斷r是否屬于碼字空間C。
(9)
在獲取足夠的有效校驗(yàn)向量后,需要對(duì)組成的非稀疏校驗(yàn)矩陣進(jìn)行稀疏化處理,來獲得所需的LDPC碼稀疏校驗(yàn)矩陣。參考文獻(xiàn)[6]是通過漸近行變換算法對(duì)非稀疏檢驗(yàn)矩陣進(jìn)行稀疏化處理。漸近行變換(Gradual Row Transform,GRT)是對(duì)非稀疏檢驗(yàn)矩陣進(jìn)行優(yōu)化的矩陣稀疏化算法。該算法是使用線性行變換的手段,用非稀疏矩陣的行重W作為稀疏化度量,將原本非稀疏校驗(yàn)矩陣Hd在有限次運(yùn)算后轉(zhuǎn)變?yōu)橄∈栊r?yàn)矩陣Hs。該稀疏校驗(yàn)矩陣將以某種準(zhǔn)則近似等價(jià)于真實(shí)的LDPC校驗(yàn)矩陣H。
通過前面幾節(jié),我們能夠獲取對(duì)偶向量,進(jìn)行有效校驗(yàn)向量的識(shí)別以及對(duì)非稀疏校驗(yàn)矩陣進(jìn)行稀疏化,綜合這三個(gè)步驟我們將誤碼條件退化為無誤碼條件,從而將盲識(shí)別問題轉(zhuǎn)化為校驗(yàn)矩陣的重新構(gòu)造問題。進(jìn)而實(shí)現(xiàn)了誤碼條件下LDPC碼校驗(yàn)矩陣的盲識(shí)別。下面對(duì)整個(gè)算法的步驟進(jìn)行歸納。
1)由接收誤碼碼組ri,i=1,2,…,N構(gòu)造矩陣M;
3)采用漸近行變換算法,獲取稀疏陣:首先對(duì)M進(jìn)行高斯消元處理,得到G,然后對(duì)G進(jìn)行漸近行變換又獲得M;
4)迭代,獲取足夠多的正確碼組:fori∈{1,|M|},如果〈ri,h〉≠0,h∈Θ,則M=M/ri。
結(jié)合以上步驟,對(duì)算法的運(yùn)算量進(jìn)行分析。k階列消元運(yùn)算時(shí)的計(jì)算量為:k2n2≈n4。在判定疑似校驗(yàn)向量,需要獲取有效地校驗(yàn)向量,此時(shí)的計(jì)算量為(n-k)N'n2 通過上文的分析討論,本節(jié)利用Matlab軟件進(jìn)行仿真實(shí)驗(yàn),以無線城域網(wǎng)IEEE802.11n標(biāo)準(zhǔn)為例對(duì)算法進(jìn)行測(cè)試分析。 實(shí)驗(yàn)1:對(duì)于誤碼率為pe=10-4的(648,324)LDPC碼,我們?cè)O(shè)定碼組的個(gè)數(shù)為N=3k=972。實(shí)驗(yàn)結(jié)果顯示,4次迭代運(yùn)算后,本文算法能夠得到916組無誤碼碼組c和603組有效校驗(yàn)向量h。圖3是采用文獻(xiàn)[6]的方法獲取的校驗(yàn)矩陣。圖4是本文算法獲取的。圖5是發(fā)送方所使用的真實(shí)校驗(yàn)矩陣。 從實(shí)驗(yàn)1的結(jié)果可以看出,在誤碼條件下,文獻(xiàn)[6]的算法重建的校驗(yàn)矩陣與發(fā)送方所使用的校驗(yàn)矩陣相差甚遠(yuǎn),重建失敗。而本文的算法可以較好地實(shí)現(xiàn)誤碼條件下LDPC碼校驗(yàn)矩陣的重建工作,本文算法重建的校驗(yàn)矩陣與真實(shí)校驗(yàn)矩陣的相似度高達(dá)98%以上。 圖3 文獻(xiàn)[6]算法的獲取的校驗(yàn)矩陣Fig.3 Check matrix of algorithms in[6] 圖4 本文算法重建的稀疏矩陣Fig.4 The sparse matrix reconstructed by the algorithm in this paper 圖5 真實(shí)的校驗(yàn)矩陣Fig.5 True check matrix 實(shí)驗(yàn)2:碼組數(shù)仍是N=972,我們將誤碼率提高到pe=3×10-4。實(shí)驗(yàn)結(jié)果顯示,在經(jīng)6次迭代后,本算法能夠獲得860組無誤碼碼組c和554組有效校驗(yàn)向量h。經(jīng)漸近行變換算法處理后,得到如圖6所示的稀疏校驗(yàn)矩陣。 在對(duì)圖6的矩陣進(jìn)行統(tǒng)計(jì)后發(fā)現(xiàn),所獲矩陣中有非零元素1 942個(gè)、4環(huán)0個(gè)、6環(huán)32個(gè),與真實(shí)矩陣的相似度為98%,稀疏校驗(yàn)矩陣重建成功。實(shí)驗(yàn)2進(jìn)一步說明了本文算法較好的抗誤碼性能。 圖6 提高誤碼率后重建的矩陣Fig.6 Matrix reconstructed after increasing bit error rate 實(shí)驗(yàn)3:保持誤碼率pe=3×10-4,將碼組數(shù)提高到N=3k=972。實(shí)驗(yàn)結(jié)果顯示,經(jīng)7次迭代后,能夠獲得1 239組無誤碼碼組c和1 186組有效校驗(yàn)向量h。說明通過算法該LDPC碼的校驗(yàn)矩陣H獲得重建。在此時(shí)實(shí)驗(yàn)過程中,我們對(duì)迭代過程中的中間變量進(jìn)行了記錄,結(jié)果如表1所示。從表1中可以看出,開始含誤碼碼組的比例較高,第一次迭代得到的有效校驗(yàn)向量也非常少,然而,隨著迭代次數(shù)的增加,所獲得的有效校驗(yàn)向量也越來越多,誤碼碼組也逐漸被剔除。迭代完成后,可以得到編碼所需的324組有效校驗(yàn)向量,誤碼碼組比例由開始的17.12%慢慢收斂至0%。 表1 實(shí)驗(yàn)3中(648,324)LDPC碼的仿真中間變量Tab.1 Intermediate variables for simulation of (648, 324) LDPC codes in Experiment 3 實(shí)驗(yàn)4:擴(kuò)大碼長(zhǎng),選取誤碼率為pe=3×10-4的(1 924,481)LDPC碼。經(jīng)4次迭代后,實(shí)驗(yàn)結(jié)果顯示,能夠獲得共獲得8 376組無誤碼碼組c和3 021組有效校驗(yàn)向量h。圖7給出了本次實(shí)驗(yàn)所重建的稀疏校驗(yàn)矩陣。 圖7 校驗(yàn)矩陣的重建結(jié)果Fig.7 Reconstruction of check matrix 通過實(shí)驗(yàn)3和實(shí)驗(yàn)4可知,通過不斷的迭代處理,可以不斷提高無誤碼碼組的比例,而且,通過增加碼組數(shù)量N,在一定程度上可提高算法的容錯(cuò)性能。利用本文算法,可以較好地實(shí)現(xiàn)誤碼條件下的LDPC碼校驗(yàn)矩陣的正確重建。 實(shí)驗(yàn)5:為進(jìn)一步驗(yàn)證本文算法的性能,利用識(shí)別出的校驗(yàn)矩陣對(duì)LDPC碼進(jìn)行譯碼分析。都采用常規(guī)的最小和BP譯碼算法。圖8給出了本文算法與文獻(xiàn)[6]算法的譯碼增益性能比較。 圖8 本文算法與文獻(xiàn)[6]算法譯碼增益對(duì)比Fig.8 Comparisons of decoding gains between the algorithm and the reference [6] algorithm 本文提出了基于線性約束關(guān)系的LDPC碼校驗(yàn)矩陣的盲識(shí)別算法。該算法利用LDPC碼校驗(yàn)向量的線性約束準(zhǔn)則,將原誤碼條件下盲識(shí)別問題,退化為無誤碼條件下的線性約束關(guān)系重建問題,而且通過對(duì)有效校驗(yàn)向量的迭代,有效地提高了算法的抗誤碼性能。仿真實(shí)驗(yàn)結(jié)果表明,本文所提算法在IEEE802.11n標(biāo)準(zhǔn)中有較好的識(shí)別效果。在誤碼率不高于10-4非合作條件下,利用本文算法,接收方可以重建發(fā)送方所使用的校驗(yàn)矩陣。而且相對(duì)于已有算法,本文算法的抗誤碼性能獲取了較大提高。3 仿真與分析
4 結(jié)論