吳昭軍,張立民,鐘兆根
(1.海軍航空大學(xué) 航空作戰(zhàn)勤務(wù)學(xué)院,山東 煙臺(tái) 264001;2.海軍航空大學(xué) 航空基礎(chǔ)學(xué)院,山東 煙臺(tái) 264001)
現(xiàn)代數(shù)字通信中廣泛采用信道編碼,作為信道編碼中極具代表性之一的Turbo碼,以其接近于香儂極限的性能,被廣泛運(yùn)用于衛(wèi)星通信、深空探測(cè)等領(lǐng)域[1]。目前大多數(shù)通信系統(tǒng)編碼方式為歸零Turbo碼,由于在每幀數(shù)據(jù)結(jié)尾添加了歸零碼元,其譯碼性能要優(yōu)于不歸零以及刪余Turbo碼[2]。歸零Turbo碼盲識(shí)別首先要解決的是在高誤碼率環(huán)境下,碼長(zhǎng)、幀同步、碼率、寄存器個(gè)數(shù)等參數(shù)識(shí)別問(wèn)題。在高誤碼率下實(shí)現(xiàn)這些參數(shù)的正確識(shí)別,對(duì)于后續(xù)分量編碼器以及交織器識(shí)別具有十分重要的意義[3-9]。
目前,專門(mén)研究歸零Turbo碼的初始參數(shù)盲識(shí)別的論文較少,而且已有的論文大多數(shù)是通過(guò)構(gòu)建分析矩陣,利用高斯消元方法求分析矩陣的秩。從國(guó)外來(lái)看:Burel等[10]針對(duì)線性分組碼碼長(zhǎng)以及幀同步等參數(shù)識(shí)別,提出了基于矩陣分析高斯消元算法,雖然該算法僅適用于線性分組碼,但為歸零Turbo碼識(shí)別提供了理論基礎(chǔ);Naseri等[11]針對(duì)Turbo碼參數(shù)識(shí)別,采取了同樣的方法,該方法在低誤碼率條件下能夠有效識(shí)別出碼率、碼長(zhǎng)參數(shù),但當(dāng)誤碼率上升時(shí)算法的識(shí)別性能急劇下降;為提高基于高斯消元算法的容錯(cuò)性能,Marazin等[12]提出了改進(jìn)的算法,該算法通過(guò)設(shè)定判決門(mén)限,用來(lái)區(qū)分線性相關(guān)列與不相關(guān)列,然后計(jì)算分析矩陣的修正秩,相比以往算法,該算法的容錯(cuò)性明顯增強(qiáng),但是算法的識(shí)別時(shí)間增加了,并且完成識(shí)別所需數(shù)據(jù)量多于以往算法。從國(guó)內(nèi)來(lái)看:張永光[13]在無(wú)噪聲條件下,提出了整個(gè)歸零Turbo碼參數(shù)的識(shí)別算法,算法的思想是基于二元域中矩陣變換,從變換后的矩陣中提取出歸零Turbo碼相關(guān)參數(shù)的信息;為減少Turbo碼碼長(zhǎng)識(shí)別計(jì)算復(fù)雜度,李嘯天等[14]優(yōu)化了分析矩陣構(gòu)建方式,從仿真結(jié)果來(lái)看,優(yōu)化后的算法在計(jì)算復(fù)雜度以及識(shí)別性能上都有所提高;張旻等[15]針對(duì)Turbo碼碼長(zhǎng)識(shí)別,考慮到誤碼對(duì)于分析矩陣相關(guān)性的影響,采用了小區(qū)域滑動(dòng)窗的方式來(lái)判斷矩陣列與列之間的相關(guān)性,該方法容錯(cuò)性顯著提升,但是計(jì)算復(fù)雜度也大大增加了。從國(guó)內(nèi)外研究現(xiàn)狀來(lái)看,針對(duì)歸零Turbo碼初始參數(shù)識(shí)別的算法主要基于高斯消元思想,其算法容錯(cuò)性不好并且計(jì)算復(fù)雜度較大,難以滿足實(shí)際惡劣信道的要求。
針對(duì)現(xiàn)有算法容錯(cuò)性能較差且實(shí)時(shí)性不好的缺點(diǎn),本文首先從歸零Turbo碼實(shí)際的編碼結(jié)構(gòu)出發(fā),將截獲的序列做差分處理,然后構(gòu)建分析矩陣完成碼長(zhǎng)識(shí)別;其次,分析出歸零Turbo碼幀同步后差分確定零點(diǎn)位置分布的3個(gè)特點(diǎn),基于極大極小準(zhǔn)則,實(shí)現(xiàn)差分確定零點(diǎn)與隨機(jī)零點(diǎn)的區(qū)分,通過(guò)遍歷差分確定零點(diǎn)實(shí)現(xiàn)同步;最后,按照工程實(shí)際的情況,遍歷寄存器個(gè)數(shù)以及碼率可能參數(shù),完成寄存器以及碼率參數(shù)的識(shí)別。所提算法容錯(cuò)性能強(qiáng)、計(jì)算復(fù)雜度小,仿真驗(yàn)證表明,所提算法在誤碼高達(dá)0.20情況下,各種參數(shù)識(shí)別率能夠達(dá)到96%以上。
Turbo碼從1993年提出以來(lái),不斷受到通信界人士的重視[16]。目前,廣泛采用的Turbo碼編碼結(jié)構(gòu)為并行級(jí)聯(lián)型結(jié)構(gòu),圖1所示為碼率1/n并行級(jí)聯(lián)型歸零Turbo碼的編碼結(jié)構(gòu)示意圖[17]。
圖1中:mk為k時(shí)刻的信息碼元,ck,i(1≤i≤n)為分量編碼器編碼輸出,n為碼元路數(shù);kj(1≤j≤n-1)為歸零連接開(kāi)關(guān)。當(dāng)幀數(shù)據(jù)編碼結(jié)束時(shí),開(kāi)關(guān)連接歸零結(jié)構(gòu),實(shí)現(xiàn)寄存器的歸零,復(fù)用結(jié)構(gòu)將并行數(shù)據(jù)變成串行數(shù)據(jù)輸出,即Ck=(ck,1,ck,2…,ck,n)。
對(duì)于Turbo碼而言,一般采用遞歸系統(tǒng)卷積碼(RSC)分量編碼器,圖2所示為RSC編碼器[18]。
圖2由兩部分組成,即反饋部分G1與前向部分G2,其多項(xiàng)式為
G1(D)=g1,0+g1,1D+…+g1,mDm,
(1)
G2(D)=g2,0+g2,1D+…+g2,mDm.
(2)
兩路輸出的編碼方程為
C1(D)=I(D),
(3)
(4)
式中:I(D)=I0+I1D+…+IkDk+…為信息序列多項(xiàng)式;C1(D)=c1,0+c1,1D+…+c1,kDk+…為第1路的編碼序列多項(xiàng)式;C2(D)=c2,0+c2,1D+…+c2,kDk+…為第2路的編碼序列多項(xiàng)式。
在編碼過(guò)程中,當(dāng)一個(gè)交織幀碼元編碼結(jié)束時(shí),為了迫使分量編碼器中寄存器狀態(tài)回歸到全0,需要在每一路交織幀末尾增加m個(gè)歸零比特,設(shè)在k時(shí)刻,增加的歸零比特Ik應(yīng)該滿足:
(5)
由于歸零Turbo碼是以碼塊的形式進(jìn)行輸入與輸出的,設(shè)碼率為1/n,對(duì)于一個(gè)分量編碼器,需要增加2m個(gè)輸出歸零比特位,而歸零Turbo的輸出碼元長(zhǎng)度為編碼碼元輸出長(zhǎng)度與歸零比特長(zhǎng)度,故歸零Turbo碼的輸出碼長(zhǎng)N應(yīng)為
N=nL+2m(n-1),
(6)
式中:L為每幀信息碼元的長(zhǎng)度。
目前針對(duì)Turbo碼識(shí)別的算法,僅僅關(guān)注于Turbo碼分量編碼器以及交織關(guān)系的識(shí)別,在識(shí)別之前,默認(rèn)的先驗(yàn)信息為碼率1/n、輸出碼長(zhǎng)以及交織幀已經(jīng)同步等初始參數(shù),但是這些參數(shù)的識(shí)別是后續(xù)分量編碼器以及交織關(guān)系識(shí)別的前提。本文立足于此,僅僅利用截獲的二進(jìn)制碼元,在誤碼量級(jí)達(dá)到10-1時(shí),完成歸零Turbo碼碼長(zhǎng)N、交織幀同步位置以及碼率的識(shí)別。
由圖1和圖2可知,由于歸零Turbo碼的編碼結(jié)構(gòu)中,第1個(gè)分量編碼器未經(jīng)過(guò)交織器的處理,故第1路碼元與第2路輸出碼元之間的約束關(guān)系未受到交織破壞,再由圖2中RSC碼的編碼原理,在時(shí)刻k,輸入碼元Ik與第2路碼元c2,k的關(guān)系為
(7)
實(shí)際的編碼多項(xiàng)式中應(yīng)滿足g1,0=g2,0,并由RSC碼的性質(zhì)即Ik=c1,k,故(7)式進(jìn)一步可變?yōu)?/p>
(8)
將第1路與第2路碼元進(jìn)行差分處理,得
(9)
對(duì)于歸零Turbo碼而言,第1路與第2路碼元之間的差分結(jié)果僅僅與寄存器中狀態(tài)以及多項(xiàng)式系數(shù)相關(guān)。由于在每一幀的初始位置寄存器的狀態(tài)是全零狀態(tài),故第1路與第2路碼元之間差分處理一定為0,而非交織幀起始位置的差分結(jié)果0、1隨機(jī)出現(xiàn),由此為歸零Turbo碼碼長(zhǎng)、幀同步等參數(shù)識(shí)別提供了可能。
由(9)式可知,對(duì)于歸零Turbo碼而言,將每幀初始位置兩碼元作差分處理,其結(jié)果一定為0,而其他非初始位置,當(dāng)g1,i≠g2,i時(shí),由于寄存器狀態(tài)隨機(jī)變換,差分后結(jié)果0、1隨機(jī)出現(xiàn)。由此,可以將截獲的碼元序列首先進(jìn)行差分處理,然后構(gòu)建分析矩陣,固定矩陣的行數(shù),變換分析矩陣的列數(shù),當(dāng)分析矩陣的列數(shù)為歸零Turbo碼碼長(zhǎng)的整數(shù)倍時(shí),幀同步所在列零元素的個(gè)數(shù)要遠(yuǎn)大于其他位置所在列零元素的個(gè)數(shù),從而完成識(shí)別。原理示意圖如圖3所示。
為了方便后續(xù)統(tǒng)計(jì)處理,進(jìn)一步將構(gòu)建的分析矩陣進(jìn)行變換,變換的規(guī)則為將矩陣中1元素映射為-1,0元素映射為1,設(shè)分析矩陣為Ar×j,得到變換后的矩陣為
Sr×j=ones(r,j)-2Ar×j,
(10)
式中:ones(r,j)表示r行j列的全1矩陣。
由以上分析,進(jìn)一步得到歸零Turbo碼碼長(zhǎng)識(shí)別的具體步驟:
1)將截獲的碼元序列,前后兩碼元之間作差分處理,得到差分碼元序列;
2)構(gòu)建分析矩陣Ar×j,其中行數(shù)固定為r,列數(shù)j初始賦值為1;
3)將步驟1中得到的差分碼元序列按行的方向依次排入分析矩陣中,并將分析矩陣作(10)式的元素變換,得到變換矩陣Sr×j;
4) 將步驟3中變換矩陣按列方向求和,得到S′1×j的行向量,記錄S′1×j中元素的最大值,即max_mun(j)=max(S′1×j);
當(dāng)碼長(zhǎng)完成識(shí)別后,識(shí)別的參數(shù)為幀同步位置參數(shù)的識(shí)別。當(dāng)構(gòu)建的分析矩陣列數(shù)等于碼長(zhǎng)時(shí),幀同步位置所對(duì)應(yīng)的寄存器的狀態(tài)為全0,故碼元差分結(jié)果一定為0. 但是從(9)式可知,決定碼元差分結(jié)果為0的因素不僅與寄存器的狀態(tài)有關(guān),還與編碼多項(xiàng)式系數(shù)有關(guān),當(dāng)g1,i=g2,i時(shí),不管寄存器的狀態(tài)如何,差分的結(jié)果都為0. 下面針對(duì)該問(wèn)題進(jìn)行詳細(xì)的分析。
2.3.1 幀同步位置特點(diǎn)研究
當(dāng)寄存器狀態(tài)為全0時(shí),分量編碼器對(duì)交織幀第1個(gè)碼元進(jìn)行編碼,此時(shí)幀同步位置差分c1,1⊕c2,1=0. 隨著編碼的進(jìn)行,當(dāng)編碼時(shí)刻k滿足1 當(dāng)交織幀信息碼元編碼完成時(shí),開(kāi)關(guān)會(huì)連接到歸零結(jié)構(gòu),分量編碼器會(huì)按照寄存器狀態(tài)自動(dòng)增加額外的比特碼元,迫使寄存器狀態(tài)歸零。當(dāng)增加到第k個(gè)碼元時(shí),前k個(gè)寄存器狀態(tài)因額外的歸零比特而為0,而后m-k個(gè)寄存器狀態(tài)則為0、1隨機(jī)出現(xiàn)。此時(shí),當(dāng)且僅當(dāng)g1,i=g2,i(k≤i≤m)時(shí),c1,k⊕c2,k=0,對(duì)于實(shí)際的編碼多項(xiàng)式而言,存在g1,0=g2,0,g1,m=g2,m. 由以上分析,當(dāng)幀同步時(shí)在1≤i≤k以及k≤i≤m條件下,按照是否存在g1,i=g2,i、c1,k⊕c2,k=0的情況,確定位置分以下4種情況: 1)僅僅存在系數(shù)g1,0=g2,0、g1,m=g2,m,不存在從前到后或是從后到前連續(xù)k個(gè)系數(shù)相等的情況,幀同步后,碼元差分確定的零點(diǎn)位置如圖4所示,圖中o為零點(diǎn)確定位置,x為差分后不確定位置,n為圖1中碼元路數(shù)。 2)存在系數(shù)g1,0=g2,0、g1,m=g2,m,同時(shí)存在從第1個(gè)到第k1個(gè)系數(shù)連續(xù)相等,從后到第k1個(gè)系數(shù)之間不存在連續(xù)相等的系數(shù),幀同步后,差分碼元的零點(diǎn)確定位置分布如圖5所示。 3)存在系數(shù)g1,0=g2,0、g1,m=g2,m,同時(shí)存在從第k2個(gè)到最后第m個(gè)系數(shù)連續(xù)相等,從頭到第k2個(gè)系數(shù)之間不存在連續(xù)相等的系數(shù),幀同步后,差分碼元的零點(diǎn)確定位置分布如圖6所示。 4)該情況是情況2與情況3的組合,即存在系數(shù)g1,0=g2,0、g1,m=g2,m,同時(shí)存在從第1個(gè)到第k1個(gè)系數(shù)連續(xù)相等,從第k2個(gè)到最后第m個(gè)系數(shù)連續(xù)相等,k1與k2之間不存在連續(xù)相等系數(shù),幀同步后,差分碼元的零點(diǎn)確定位置分布如圖7所示。 從以上4種情況可知,當(dāng)幀同步時(shí),差分后新的編碼序列確定零點(diǎn)位置有3個(gè)特點(diǎn): 1)差分碼元序列的初始位置一定是一個(gè)確定零點(diǎn)位置; 2)差分碼元序列第1個(gè)確定零點(diǎn)位置與第2個(gè)確定零點(diǎn)位置之差一定是大于2的,如情況1與情況3位置之差遠(yuǎn)遠(yuǎn)大于2,情況2與情況4的位置之差等于Turbo碼的編碼路數(shù)n,而n的最小值為3,所以差值至少為3; 3)差分碼元序列最后一個(gè)確定零點(diǎn)位置與碼長(zhǎng)之差為1. 2.3.2 零點(diǎn)確定位置判決門(mén)限求解 2.3.1節(jié)中,幀同步時(shí)差分序列零點(diǎn)確定位置的分布特點(diǎn)是幀同步識(shí)別算法的核心基礎(chǔ),在幀同步識(shí)別中,至關(guān)重要的一步是如何將零點(diǎn)確定位置與隨機(jī)點(diǎn)位置區(qū)分開(kāi),從而實(shí)現(xiàn)確定零點(diǎn)位置的識(shí)別提取,利用幀同步的3大特點(diǎn),完成幀同步位置的識(shí)別。區(qū)分的基本思想為確定位置與隨機(jī)位置0、1概率分布不同,通過(guò)設(shè)定門(mén)限將其區(qū)分開(kāi)來(lái)。 在參數(shù)識(shí)別過(guò)程中,需要構(gòu)建分析矩陣Ar×N,行數(shù)r為唯一定值,列數(shù)N為碼長(zhǎng)值,矩陣中元素是將差分碼元按行方向排入矩陣。將分析矩陣經(jīng)(10)式變換,得到Sr×N,設(shè)噪聲信道抽象為二元對(duì)稱信道,信道誤碼率為pe,則零點(diǎn)確定位置在矩陣Sr×N中為1的概率為 P=(1-pe)2+pe2, (11) 而隨機(jī)位置為1的概率應(yīng)為1/2. 當(dāng)r→∞時(shí),將矩陣Sr×N元素按列方向求和,確定零點(diǎn)位置元素之和應(yīng)該服從N((2P-1)r,4P(1-P)r)正態(tài)分布,而非確定位置元素之和應(yīng)該服從N(0,r)的正態(tài)分布。 對(duì)于門(mén)限Λ求解,需要綜合考慮兩種概率分布,本文采用極大極小準(zhǔn)則來(lái)求解門(mén)限值。設(shè)定正確判決的代價(jià)因子為0,錯(cuò)誤判決的代價(jià)因子為1,采用極大極小準(zhǔn)則的門(mén)限Λ必須要滿足下列積分方程: (12) 式中:μ1與σ1為確定零點(diǎn)位置的均值與標(biāo)準(zhǔn)差;μ2與σ2為隨機(jī)位置的均值與標(biāo)準(zhǔn)差。 (13) 由此求得門(mén)限Λ為 (14) 將兩種概率分的均值與方差代入(14)式,進(jìn)一步得 (15) 2.3.3 幀同步識(shí)別算法步驟 2.3.1節(jié)與2.3.2節(jié)中差分序列零點(diǎn)確定位置的分布特點(diǎn)以及判決門(mén)限的求解是幀同步識(shí)別算法的核心基礎(chǔ),由此得到幀同步識(shí)別算法的步驟如下: 1)將截獲的碼元作前向差分處理,得到新的差分碼元序列; 2)構(gòu)建分析矩陣Ar×N,行數(shù)為r,矩陣列數(shù)N為識(shí)別出來(lái)的碼長(zhǎng),將步驟1中的差分序列按行方向排入分析矩陣,并按(10)式將分析矩陣作元素變換得到Sr×N; 3)基于極大極小判決準(zhǔn)則,求解判決門(mén)限Λ; 4)將步驟2中的矩陣Sr×N按列方向作求和處理,得到行向量S′1×N,由步驟3中的判決門(mén)限Λ,篩選出S′1×N中大于門(mén)限Λ的元素位置,并存儲(chǔ); 5)遍歷步驟4中存儲(chǔ)的位置,將其作為步驟1中差分碼元序列新的起始位置,重復(fù)步驟2與步驟4,直到步驟4中存儲(chǔ)的元素位置滿足幀同步時(shí)差分序列零點(diǎn)確定位置3個(gè)分布特點(diǎn),此時(shí)遍歷的位置即為幀同步位置。 完成碼長(zhǎng)N以及幀同步位置識(shí)別后,碼率1/n以及寄存器個(gè)數(shù)m可以利用識(shí)別出的參數(shù)求解。在2.3.1節(jié)中,由幀同步位置的特點(diǎn)可知,4種情況都有一個(gè)共同的特點(diǎn),即由幀末尾添加的歸零比特所生成的確定零點(diǎn)位置個(gè)數(shù)為n-1的倍數(shù),當(dāng)完成碼長(zhǎng)識(shí)別以及幀同步后,可以得到歸零比特確定零點(diǎn)的個(gè)數(shù)s,由于實(shí)際工程中3≤n≤5,通過(guò)遍歷n取值,若n-1能夠被s整除,則識(shí)別完成。 對(duì)于寄存器個(gè)數(shù)m的識(shí)別,同樣采取遍歷的思想,利用(6)式可知,碼長(zhǎng)除去歸零比特后,能夠被n整除,實(shí)際工程中2≤m≤6,同樣通過(guò)遍歷m的取值,能夠滿足(6)式的m值即為參數(shù)的估計(jì)值。 在碼率以及寄存器的估計(jì)過(guò)程中,若出現(xiàn)多值現(xiàn)象,則可以先進(jìn)行保存,在后續(xù)分量編碼器參數(shù)識(shí)別以及交織器識(shí)別中,分別進(jìn)行驗(yàn)證和篩選。 對(duì)于碼長(zhǎng)識(shí)別而言,首先要將截獲的碼元進(jìn)行差分運(yùn)算,設(shè)截獲的碼元長(zhǎng)度為l,則需要l-1次差分運(yùn)算,當(dāng)構(gòu)建出分析矩陣Ar×j后,按照算法步驟需要進(jìn)行1次矩陣運(yùn)算、j次列向量求和運(yùn)算、1次最大值求解運(yùn)算,總共要構(gòu)建?l/r」次分析矩陣,所以總共需要進(jìn)行?l/r」次矩陣運(yùn)算、0.5(?l/r」2+?l/r」)次的列向量求和運(yùn)算、?l/r」+1次最值求解運(yùn)算,忽略低階次項(xiàng),故碼長(zhǎng)識(shí)別算法總的運(yùn)算復(fù)雜度為o(?l/r」2),其中?·」代表取整運(yùn)算。 對(duì)于幀同步算法而言,首先要構(gòu)建Ar×N的分析矩陣,判定確定零點(diǎn)的位置,需要N次列向量的求和運(yùn)算以及N次與門(mén)限比較運(yùn)算;當(dāng)篩選出確定零點(diǎn)位置后,需要將每一個(gè)確定零點(diǎn)作為差分序列的起點(diǎn),重復(fù)初始運(yùn)算直到滿足幀同步的3大特點(diǎn),設(shè)幀長(zhǎng)度中確定零點(diǎn)位置數(shù)目為w,完成幀同步最多所需要向量元素求和運(yùn)算為(w+1)N次,比較運(yùn)算為(w+1)N次,故算法的運(yùn)算復(fù)雜度為o(N),僅僅與碼長(zhǎng)成正比。 目前算法采用矩陣分析高斯消元法判定消元列,實(shí)現(xiàn)碼長(zhǎng)以及幀同步識(shí)別,與本文相比,增加了二元域中矩陣行變換,其算法的復(fù)雜度遠(yuǎn)遠(yuǎn)大于本文算法。 本節(jié)主要驗(yàn)證本文提出的算法對(duì)于歸零Turbo碼碼長(zhǎng)N、幀同步特點(diǎn)、幀同步識(shí)別以及碼率、寄存器個(gè)數(shù)的識(shí)別有效性。仿真驗(yàn)證時(shí),將誤碼率設(shè)定在10-1量級(jí)上,驗(yàn)證所提算法是否具有極高的信道容錯(cuò)能力。 3.1.1 碼長(zhǎng)識(shí)別驗(yàn)證 設(shè)定交織幀待編碼的信息碼元數(shù)為50,碼率為1/3,交織方式為偽隨機(jī)交織(不特殊說(shuō)明后續(xù)的交織都為偽隨機(jī)交織),歸零Turbo碼分量編碼器為RSC(7,5),(7,5)對(duì)應(yīng)為八進(jìn)制表達(dá)式,代表二進(jìn)制(111,101)反饋與前向多項(xiàng)式系數(shù)(后續(xù)分量編碼器表示形式與此相同,不再作重復(fù)解釋)。其寄存器個(gè)數(shù)為2,由(6)式可知,歸零Turbo碼的碼長(zhǎng)N=158,設(shè)定誤碼率為0.10,截獲碼塊數(shù)目為500. 按照碼長(zhǎng)識(shí)別的流程,首先將截獲的碼元前后作差分處理,構(gòu)建分析矩陣,分析矩陣的行數(shù)設(shè)定為截獲碼塊數(shù)目的一半。利用(10)式對(duì)分析矩陣進(jìn)行變換,然后將所得變換矩陣按列方向求和,此時(shí)記錄不同列數(shù)j下,碼長(zhǎng)識(shí)別算法中max(S′1×j)的值,記錄結(jié)果如圖8所示。 從圖8可以明顯看出,在列數(shù)j為158時(shí)存在最大峰值,此時(shí)峰值所對(duì)應(yīng)的編號(hào)正好為設(shè)定的碼長(zhǎng),說(shuō)明在誤碼高達(dá)0.1情況下,本文算法對(duì)于碼長(zhǎng)識(shí)別也有效。同時(shí)從圖8中注意到,在最大峰值兩邊存在著兩個(gè)明顯的小峰值,原因是設(shè)定的碼長(zhǎng)158是2的倍數(shù)。當(dāng)列數(shù)j等于碼長(zhǎng)的一半時(shí),列數(shù)中將有一半的元素為確定的差分零點(diǎn),矩陣變換映射為1,其他元素-1與1隨機(jī)分布,1階累積量值將接近于最大峰值的一半,由于是記錄行向量S′1×j元素的最大值,故非碼長(zhǎng)位置的累積量分布在40左右徘徊。 3.1.2 幀同步特點(diǎn)驗(yàn)證 本節(jié)主要驗(yàn)證當(dāng)幀同步時(shí),分量編碼器多項(xiàng)式系數(shù)對(duì)于確定零點(diǎn)位置與隨機(jī)零點(diǎn)位置的分布影響。仿真驗(yàn)證時(shí),設(shè)定信道誤碼率為0.10,交織幀待編碼的信息序列為50,碼率為1/3,截獲碼塊數(shù)目為500. 為達(dá)到驗(yàn)證2.3.1節(jié)中所分析的4種情況,選擇RSC(47,75)為第1種情況的分量編碼器,RSC(51,57)為第2種情況的分量編碼器,RSC(47,73)與RSC(51,45)分別為第3種與第4種情況下的分量編碼器系數(shù),這4種分量編碼器分別對(duì)應(yīng)了4種情況下的編碼器系數(shù)條件。圖9所示為在4種情況下幀同步后確定零點(diǎn)位置與隨機(jī)位置的1階累積量值。 從圖9可以看出,確定零點(diǎn)位置對(duì)應(yīng)的1階累積量值要遠(yuǎn)遠(yuǎn)大于隨機(jī)位置的累積量,選擇的多項(xiàng)式所對(duì)應(yīng)的系數(shù)與圖中累積量分布情況是一致的。以圖9(a)為例,情況1中分量編碼器g1,0=g2,0、g1,m=g2,m,其他位置不存在連續(xù)系數(shù)相等的情況,而碼率設(shè)定為1/3,故幀同步頭為一個(gè)確定零點(diǎn),而末尾為2個(gè)確定零點(diǎn),仿真結(jié)果與之相同,同時(shí)滿足幀同步所滿足的3大特點(diǎn),其他情況同理可一一驗(yàn)證,說(shuō)明3.1.1節(jié)中的分析正確。 3.1.3 確定零點(diǎn)與隨機(jī)零點(diǎn)1階累積量分布驗(yàn)證 確定零點(diǎn)位置與隨機(jī)零點(diǎn)位置的統(tǒng)計(jì)特性對(duì)于后續(xù)幀同步識(shí)別具有重要的作用,本節(jié)主要驗(yàn)證確定零點(diǎn)位置與隨機(jī)零點(diǎn)位置1階累積量的統(tǒng)計(jì)分布,將仿真數(shù)據(jù)與理論均值進(jìn)行對(duì)比。仿真時(shí),設(shè)定截獲碼塊數(shù)目為500、1 000、1 500 3種,交織信息數(shù)據(jù)長(zhǎng)度為50,選擇RSC(7,5)作為歸零Turbo碼的分量編碼器,分析矩陣的列數(shù)為截獲碼塊的數(shù)目,信道誤碼率為0~0.50,間隔0.01取值,兩種位置的累積量仿真值與理論值如圖10所示。 從圖10的仿真結(jié)果來(lái)看,確定零點(diǎn)位置的1階累積量值在理論值附近徘徊,非常接近理論值,而隨機(jī)零點(diǎn)1階累積量在0附近波動(dòng),說(shuō)明2.3.2節(jié)中在求解基于極大極小門(mén)限時(shí),推導(dǎo)的概率分布是正確的。 3.1.4 幀同步識(shí)別、碼率以及寄存器個(gè)數(shù)識(shí)別驗(yàn)證 仿真設(shè)定交織幀信息長(zhǎng)度為50,碼率為1/3,分量編碼器為RSC(41,57),由(11)式可知碼長(zhǎng)N為170,同步起點(diǎn)設(shè)定為138,誤碼率設(shè)定為0.10. 基于極大極小準(zhǔn)則求解出確定零點(diǎn)判定門(mén)限Λ=60.606 1,仿真時(shí)假定碼長(zhǎng)已經(jīng)實(shí)現(xiàn)了識(shí)別。按照算法步驟,首先判定確定零點(diǎn)位置,其次遍歷確定零點(diǎn)位置,驗(yàn)證幀同步的3大特點(diǎn),滿足3個(gè)特點(diǎn)同步實(shí)現(xiàn),圖11所示即為確定零點(diǎn)判決以及遍歷確定零點(diǎn)過(guò)程。 從圖11可以看出,幀同步識(shí)別算法效果明顯。圖11(a)基于判決門(mén)限方法,實(shí)現(xiàn)了4個(gè)確定零點(diǎn)的判定,圖11(b)~圖11(d)是遍歷的過(guò)程,遍歷到第3個(gè)確定零點(diǎn)時(shí),與幀同步特點(diǎn)一致,此時(shí)遍歷零點(diǎn)位置為138,幀同步位置準(zhǔn)確識(shí)別。 從圖11(d)可知,第1個(gè)零點(diǎn)位置與第2個(gè)位置之差為3,同時(shí)末尾兩個(gè)確定零點(diǎn)位置之差為2,按照碼率識(shí)別方法,碼率只能為1/3,從而碼率識(shí)別正確。 從2到6遍歷寄存器個(gè)數(shù)值,使其滿足(6)式能夠整除,得到m的值為2和5,進(jìn)一步縮小了寄存器估計(jì)數(shù)值的范圍,通過(guò)剔除歸零比特碼元后進(jìn)行交織器識(shí)別和RSC碼識(shí)別,可以進(jìn)一步確定m為5,說(shuō)明寄存器個(gè)數(shù)估計(jì)方法有效。 3.1節(jié)中已經(jīng)驗(yàn)證所提算法在誤碼率為0.10條件下,能夠?qū)崿F(xiàn)歸零Turbo碼初始參數(shù)的識(shí)別,下面將針對(duì)算法的容錯(cuò)性能進(jìn)行研究,仿真時(shí)考慮碼長(zhǎng)長(zhǎng)度、截獲碼塊數(shù)量、確定零點(diǎn)數(shù)目3大因素對(duì)參數(shù)識(shí)別率的影響。容錯(cuò)性能分析主要是針對(duì)碼長(zhǎng)以及幀同步兩種參數(shù),因?yàn)榇a率以及寄存器個(gè)數(shù)能夠通過(guò)碼長(zhǎng)以及幀同步進(jìn)行求解。 3.2.1 碼長(zhǎng)對(duì)參數(shù)識(shí)別的影響 設(shè)定歸零Turbo碼交織幀信息碼長(zhǎng)分別為50、80、100、120,選擇分量編碼器為RSC(7,5)多項(xiàng)式,碼率為1/3,故對(duì)應(yīng)的歸零Turbo碼的碼長(zhǎng)為158、248、308、368,對(duì)每一種碼長(zhǎng)設(shè)定同步位置為126、216、276、336,即將第1幀數(shù)據(jù)前33個(gè)碼元丟棄,設(shè)定截獲碼碼塊數(shù)目為500,構(gòu)建的分析矩陣行數(shù)為碼塊數(shù)目的一半,誤碼率設(shè)定范圍為0.15~0.30,間隔0.01取值,蒙特卡洛仿真次數(shù)為500次,針對(duì)這兩種參數(shù)的識(shí)別,在不同誤碼率下,統(tǒng)計(jì)其識(shí)別率如圖12所示。 從圖12來(lái)看,碼長(zhǎng)對(duì)于這兩種參數(shù)識(shí)別的影響具有相同的趨勢(shì),即碼長(zhǎng)越大,兩種參數(shù)的識(shí)別概率越小,但是從識(shí)別率來(lái)看,即使在誤碼率高達(dá)0.20的條件下,碼長(zhǎng)與幀同步識(shí)別率仍然能夠達(dá)到96%以上,說(shuō)明本文算法具有極強(qiáng)的容錯(cuò)性能。 3.2.2 截獲碼塊數(shù)量對(duì)于算法的影響 設(shè)定歸零Turbo碼碼長(zhǎng)為158,截獲的碼塊數(shù)目設(shè)定為500、600、700、800 4種情況。仿真時(shí),選用分量編碼器為RSC(7,5),碼率為1/3,幀同步位置為126,構(gòu)建的分量編碼器行數(shù)每次為碼塊數(shù)目的一半,誤碼率范圍為0.15~0.30,間隔0.01取值,蒙特卡洛試驗(yàn)次數(shù)為500次,在不同誤碼率下統(tǒng)計(jì)參數(shù)正確的識(shí)別率,結(jié)果如圖13所示。 從識(shí)別性能結(jié)果來(lái)看,截獲碼塊數(shù)目對(duì)于參數(shù)的識(shí)別具有較大的影響,截獲碼塊數(shù)目越大,碼長(zhǎng)以及幀同步識(shí)別的性能越好。同時(shí),算法的容錯(cuò)性較好,信道環(huán)境極其惡化條件下,參數(shù)仍然具有極高的識(shí)別率。從截獲碼塊數(shù)目以及碼長(zhǎng)大小對(duì)參數(shù)識(shí)別性能來(lái)看,在實(shí)際工程應(yīng)用中,可以通過(guò)截獲更多的碼塊,來(lái)克服碼長(zhǎng)過(guò)長(zhǎng)造成的識(shí)別性能下降。 3.2.3 確定零點(diǎn)位置數(shù)目對(duì)于算法的影響 本節(jié)考察確定零點(diǎn)數(shù)目對(duì)于參數(shù)識(shí)別性能的影響。設(shè)定交織幀信息碼元長(zhǎng)度為50,碼率為1/3,選擇4種分量編碼器:RSC(47,75)、RSC(41,57)、RSC(51,57)、RSC(41,43),這4種多項(xiàng)式分別對(duì)應(yīng)確定零點(diǎn)數(shù)為3、4、5、6,碼長(zhǎng)為170,幀同步位置設(shè)定為138,誤碼率范圍為0.15~0.30,間隔0.01取值,蒙特卡洛試驗(yàn)次數(shù)為500,統(tǒng)計(jì)參數(shù)正確識(shí)別結(jié)果如圖14所示。 從圖14的結(jié)果來(lái)看,確定零點(diǎn)個(gè)數(shù)對(duì)于碼長(zhǎng)識(shí)別具有一定影響,而對(duì)于幀同步來(lái)說(shuō)影響不大。從識(shí)別的原理來(lái)看,確定零點(diǎn)越多,在碼長(zhǎng)識(shí)別過(guò)程中越容易找到正確的碼長(zhǎng)正確位置,因?yàn)橹恍枰业揭粋€(gè)正確的確定零點(diǎn)就能夠?qū)崿F(xiàn)碼長(zhǎng)的識(shí)別。而幀同步則不然,幀同步識(shí)別中,幀同步的識(shí)別主要與前兩個(gè)零點(diǎn)確定位置以及最后一個(gè)零點(diǎn)位置有關(guān),即是否符合幀同步的3大特點(diǎn),而與確定零點(diǎn)個(gè)數(shù)無(wú)關(guān)。 目前針對(duì)歸零Turbo碼初始參數(shù)識(shí)別算法主要基于高斯消元法,與本文算法進(jìn)行比較的是改進(jìn)的秩準(zhǔn)則算法[14]以及小區(qū)域檢測(cè)算法[15]。識(shí)別參數(shù)為歸零Turbo碼長(zhǎng),在同等條件下進(jìn)行蒙特卡洛仿真實(shí)驗(yàn),實(shí)驗(yàn)次數(shù)為500,識(shí)別率統(tǒng)計(jì)結(jié)果如圖15所示。 從圖15的對(duì)比結(jié)果可知,本文算法性能要遠(yuǎn)遠(yuǎn)好于其他兩種算法。傳統(tǒng)算法利用的是編碼碼元之間的線性約束關(guān)系,當(dāng)誤碼率增加時(shí)約束關(guān)系將破壞,算法將失效,導(dǎo)致其算法性能難以突破誤碼0.1量級(jí)的瓶頸。而本文算法與傳統(tǒng)算法在識(shí)別原理上完全不同,識(shí)別是利用了歸零Turbo碼幀初始前兩個(gè)碼元差分為0,本質(zhì)上利用的是兩個(gè)碼元的約束關(guān)系,算法容錯(cuò)性能當(dāng)然會(huì)遠(yuǎn)遠(yuǎn)好于傳統(tǒng)算法。 從完成識(shí)別所需數(shù)據(jù)量以及識(shí)別時(shí)間上對(duì)比,設(shè)定碼長(zhǎng)范圍為38~368,間隔30取值,針對(duì)每一種碼長(zhǎng),求取3種算法完成一次可靠識(shí)別,各自所需要的最少數(shù)據(jù)量,記錄結(jié)果見(jiàn)圖16. 同時(shí),選取碼長(zhǎng)為98、188、278、368 4種情況,記錄3種算法在不同碼長(zhǎng)下完成一次識(shí)別所需的時(shí)間,記錄結(jié)果見(jiàn)表1. 表1 3種算法識(shí)別時(shí)間對(duì)比Tab.1 Time-consuming of three algorithms s 從圖16來(lái)看,本文所提算法需要的數(shù)據(jù)量要遠(yuǎn)遠(yuǎn)小于改進(jìn)的秩準(zhǔn)則算法數(shù)據(jù)量,與小區(qū)域檢測(cè)算法量級(jí)相當(dāng),隨著碼長(zhǎng)的增加呈線性增加。從表1來(lái)看,本文算法的計(jì)算量遠(yuǎn)遠(yuǎn)小于與其相比較的兩種算法,其差距非常明顯,主要原因是算法避免了復(fù)雜的高斯消元,大大減少了識(shí)別時(shí)間。 綜合對(duì)比3種算法的性能,本文算法遠(yuǎn)遠(yuǎn)好于其他兩種算法。 1)利用了歸零Turbo碼幀初始位置兩碼元差分結(jié)果為0的特性,將差分后的序列排入分析矩陣,當(dāng)分析矩陣的列數(shù)等于碼長(zhǎng)整數(shù)倍時(shí),分析矩陣列方向1階累積量將出現(xiàn)峰值,從而完成碼長(zhǎng)識(shí)別;通過(guò)仿真驗(yàn)證了算法對(duì)于參數(shù)識(shí)別的有效性,同時(shí)算法具有極強(qiáng)的容錯(cuò)性,在誤碼率高達(dá)0.20條件下,參數(shù)識(shí)別率能夠達(dá)到96%以上。 2)分析了歸零Turbo碼幀同步后,差分確定零點(diǎn)位置分布與分量編碼器系數(shù)的關(guān)系,總結(jié)出了3條幀同步后的特點(diǎn),基于極大極小準(zhǔn)則推導(dǎo)了差分確定零點(diǎn)與隨機(jī)零點(diǎn)的識(shí)別門(mén)限,通過(guò)遍歷確定零點(diǎn)完成歸零Turbo碼幀同步的識(shí)別;通過(guò)仿真驗(yàn)證了幀同步位置特點(diǎn)的正確性、判決門(mén)限的合理性、算法極強(qiáng)的容錯(cuò)性能。 3)在碼長(zhǎng)識(shí)別以及幀同步完成的基礎(chǔ)上,按照碼長(zhǎng)、碼率、寄存器個(gè)數(shù)之間的數(shù)量關(guān)系,根據(jù)實(shí)際工程情況,通過(guò)遍歷碼率以及寄存器個(gè)數(shù)參數(shù)完成其識(shí)別。 本文提出的參數(shù)識(shí)別算法具有極強(qiáng)的容錯(cuò)性,在誤碼率高達(dá)0.20條件下,各種參數(shù)的識(shí)別均能達(dá)到96%以上,同時(shí)其計(jì)算復(fù)雜度遠(yuǎn)遠(yuǎn)小于現(xiàn)有算法,為后續(xù)交織器以及分量編碼器參數(shù)識(shí)別奠定了良好的基礎(chǔ)。 參考文獻(xiàn)(References) [1] Mukhtar H, Al-Dweik A, Shami A. Turbo product codes: applications, challenges, and future directions[J]. IEEE Communications Surveys & Tutorials, 2016, 18(4): 3052-3069. [2] Li H, Gao Z, Zhao M, et al. Partial iterative decode of Turbo codes for on-board processing satellite platform[J]. China Communications, 2015, 12(11):104-111. [3] 解輝, 王峰華, 黃知濤, 等. 基于改進(jìn)歐幾里得算法的卷積碼快速盲識(shí)別算法[J]. 國(guó)防科技大學(xué)學(xué)報(bào), 2012, 34(6):159-162. XIE Hui, WANG Feng-hua, HUANG Zhi-tao, et al. A fast method for blind recognition of convolutional codes based on improved Euclidean algorithm[J]. Journal of National University of Defense Technology, 2012, 34(6):159-162.(in Chinese) [4] 劉健, 王曉軍, 周希元. 基于Walsh-Hadamard變換的卷積碼盲識(shí)別[J]. 電子與信息學(xué)報(bào), 2010, 32(4):884-888. LIU Jian, WANG Xiao-jun, ZHOU Xi-yuan. Blind recognition of convolutional coding based on Walsh-Hadamard transform[J]. Journal of Electronics & Information Technology, 2010,32(4):884-888. (in Chinese) [5] 張岱, 張玉, 楊曉靜, 等. 基于分段抽取軟判決加權(quán)Walsh-Hadamard變換的卷積碼識(shí)別算法[J]. 兵工學(xué)報(bào), 2015, 36(12):2298-2305. ZHANG Dai, ZHANG Yu, YANG Xiao-jing, et al. An algorithm for convolutional codes recognition based on sectionally extracting soft-decision weighted Walsh-Hadanard transform[J]. Acta Armamentarii, 2015, 36(12):2298-2305.(in Chinese) [6] Debessu Y G, Wu H C, Jiang H. Novel blind encoder parameter estimation for Turbo codes[J].IEEE Communications Letters, 2012, 16(12):1917-1920. [7] 于沛東, 李靜, 彭華. 一種利用軟判決的信道編碼識(shí)別新算法[J]. 電子學(xué)報(bào), 2013, 41(2):302-305. YU Pei-dong, LI Jing, PENG Hua. A novel algorithm for channel coding recognition using soft-decision[J]. Acta Electronica Sinica, 2013, 41(2):302-305.(in Chinese) [8] 任亞博, 張健, 劉以農(nóng). 高誤碼率下Turbo碼交織器的恢復(fù)方法[J]. 電子與信息學(xué)報(bào), 2015, 37(8):1927-1930. REN Ya-bo, ZHANG Jian, LIU Yi-nong. Reconstruction of Turbo-code interleaver at high bit error rate[J]. Journal of Electronics & Information Technology, 2015, 37(8): 1927-1930.(in Chinese) [9] 劉俊, 李靜, 彭華. 基于校驗(yàn)方程平均符合度的Turbo碼交織器估計(jì)[J]. 電子學(xué)報(bào), 2016, 44(5):1213-1217. LIU Jun, LI Jing, PENG Hua. Estimation of Turbo-code interleaver based on average conformity of parity-check equation[J]. Acta Electronica Sinica, 2016, 44(5):1213-1217.(in Chinese) [10] Burel G, Gautier R. Blind estimation of encoder and interleaver characteristics in a non-cooperative context[C]∥Proceedings of International Conference on Communications, Internet and Information Technology. Scottsdale, AZ, US: IASTED, 2003:17-19. [11] Naseri A, Azmon O, Fazeli S. Blind recognition algorithm of Turbo codes for communication intelligence systems[J]. International Journal of Computer Science Issues, 2011, 8(6):68-72. [12] Marazin M, Gautier R, Burel G. Dual code method for blind identification of convolutional encoder for cognitive radio receiver design[C]∥Proceedings of IEEE Globecom Workshops. Honolulu,HI,US:IEEE, 2009:1-6. [13] 張永光. 一種Turbo碼編碼參數(shù)的盲識(shí)別方法[J]. 西安電子科技大學(xué)學(xué)報(bào), 2011, 38(2):167-172. ZHANG Yong-guang. Blind recognition method for the Turbo coding parameter[J]. Journal of Xidian University, 2011, 38(2):167-172.(in Chinese) [14] 李嘯天, 張潤(rùn)生, 李艷斌. 歸零Turbo碼識(shí)別算法[J].西安電子科技大學(xué)學(xué)報(bào), 2013, 40(4):161-166. LI Xiao-tian, ZHANG Run-sheng, LI Yan-bin. Research on the recognition algorithm of Turbo codes on trellis termination[J]. Journal of Xidian University, 2013, 40(4):161-166.(in Chinese) [15] 張旻, 陸凱, 李歆昊, 等. 歸零Turbo碼的盲識(shí)別方法[J]. 系統(tǒng)工程與電子技術(shù), 2016, 38(6):1424-1427. ZHANG Min, LU Kai, LI Xin-hao, et al. Blind recognition method for the Turbo codes on trellis termination[J]. Journal of Systems Engineering and Electronics, 2016, 38(6):1424-1427.(in Chinese) [16] Berrou C, Glavieux A, Thitimajshima P. Near Shannon limit error-correcting coding and decoding: Turbo codes[C]∥Proceedings of International Conference on Communication. Geneva, Swizerland: IEEE, 1993:1064-1074. [17] 武恒洲, 羅霄斌, 劉杰. Turbo碼盲識(shí)別技術(shù)研究[J].無(wú)線電工程, 2015, 45(5):24-27. WU Heng-zhou, LUO Xiao-bin, LIU Jie. Research on blind recognition of Turbo codes[J]. Journal of Radio Engineering, 2015, 45(5):24-27.(in Chinese) [18] 張立民, 劉杰, 鐘兆根. (n,1,m)遞歸系統(tǒng)卷積碼的盲識(shí)別[J]. 電訊技術(shù), 2014, 54(9):1220-1225. ZHANG Li-min, LIU Jie, ZHONG Zhao-gen. Blind recognition of (n, 1,m) recursive system convolutional code[J]. Telecommunication Engineering, 2014, 54(9): 1220-1225.(in Chinese)2.4 碼率與寄存器個(gè)數(shù)的識(shí)別
2.5 計(jì)算復(fù)雜度分析
3 仿真驗(yàn)證
3.1 算法對(duì)于參數(shù)正確性識(shí)別驗(yàn)證
3.2 算法容錯(cuò)性分析
3.3 與其他算法的比較
4 結(jié)論