吳昭軍,張立民,鐘兆根
(1.海軍航空大學(xué) 航空作戰(zhàn)勤務(wù)學(xué)院,山東 煙臺 264001;2.海軍航空大學(xué) 航空基礎(chǔ)學(xué)院,山東 煙臺 264001)
現(xiàn)代數(shù)字通信中廣泛采用信道編碼,作為信道編碼中極具代表性之一的Turbo碼,以其接近于香儂極限的性能,被廣泛運用于衛(wèi)星通信、深空探測等領(lǐng)域[1]。目前大多數(shù)通信系統(tǒng)編碼方式為歸零Turbo碼,由于在每幀數(shù)據(jù)結(jié)尾添加了歸零碼元,其譯碼性能要優(yōu)于不歸零以及刪余Turbo碼[2]。歸零Turbo碼盲識別首先要解決的是在高誤碼率環(huán)境下,碼長、幀同步、碼率、寄存器個數(shù)等參數(shù)識別問題。在高誤碼率下實現(xiàn)這些參數(shù)的正確識別,對于后續(xù)分量編碼器以及交織器識別具有十分重要的意義[3-9]。
目前,專門研究歸零Turbo碼的初始參數(shù)盲識別的論文較少,而且已有的論文大多數(shù)是通過構(gòu)建分析矩陣,利用高斯消元方法求分析矩陣的秩。從國外來看:Burel等[10]針對線性分組碼碼長以及幀同步等參數(shù)識別,提出了基于矩陣分析高斯消元算法,雖然該算法僅適用于線性分組碼,但為歸零Turbo碼識別提供了理論基礎(chǔ);Naseri等[11]針對Turbo碼參數(shù)識別,采取了同樣的方法,該方法在低誤碼率條件下能夠有效識別出碼率、碼長參數(shù),但當誤碼率上升時算法的識別性能急劇下降;為提高基于高斯消元算法的容錯性能,Marazin等[12]提出了改進的算法,該算法通過設(shè)定判決門限,用來區(qū)分線性相關(guān)列與不相關(guān)列,然后計算分析矩陣的修正秩,相比以往算法,該算法的容錯性明顯增強,但是算法的識別時間增加了,并且完成識別所需數(shù)據(jù)量多于以往算法。從國內(nèi)來看:張永光[13]在無噪聲條件下,提出了整個歸零Turbo碼參數(shù)的識別算法,算法的思想是基于二元域中矩陣變換,從變換后的矩陣中提取出歸零Turbo碼相關(guān)參數(shù)的信息;為減少Turbo碼碼長識別計算復(fù)雜度,李嘯天等[14]優(yōu)化了分析矩陣構(gòu)建方式,從仿真結(jié)果來看,優(yōu)化后的算法在計算復(fù)雜度以及識別性能上都有所提高;張旻等[15]針對Turbo碼碼長識別,考慮到誤碼對于分析矩陣相關(guān)性的影響,采用了小區(qū)域滑動窗的方式來判斷矩陣列與列之間的相關(guān)性,該方法容錯性顯著提升,但是計算復(fù)雜度也大大增加了。從國內(nèi)外研究現(xiàn)狀來看,針對歸零Turbo碼初始參數(shù)識別的算法主要基于高斯消元思想,其算法容錯性不好并且計算復(fù)雜度較大,難以滿足實際惡劣信道的要求。
針對現(xiàn)有算法容錯性能較差且實時性不好的缺點,本文首先從歸零Turbo碼實際的編碼結(jié)構(gòu)出發(fā),將截獲的序列做差分處理,然后構(gòu)建分析矩陣完成碼長識別;其次,分析出歸零Turbo碼幀同步后差分確定零點位置分布的3個特點,基于極大極小準則,實現(xiàn)差分確定零點與隨機零點的區(qū)分,通過遍歷差分確定零點實現(xiàn)同步;最后,按照工程實際的情況,遍歷寄存器個數(shù)以及碼率可能參數(shù),完成寄存器以及碼率參數(shù)的識別。所提算法容錯性能強、計算復(fù)雜度小,仿真驗證表明,所提算法在誤碼高達0.20情況下,各種參數(shù)識別率能夠達到96%以上。
Turbo碼從1993年提出以來,不斷受到通信界人士的重視[16]。目前,廣泛采用的Turbo碼編碼結(jié)構(gòu)為并行級聯(lián)型結(jié)構(gòu),圖1所示為碼率1/n并行級聯(lián)型歸零Turbo碼的編碼結(jié)構(gòu)示意圖[17]。
圖1中:mk為k時刻的信息碼元,ck,i(1≤i≤n)為分量編碼器編碼輸出,n為碼元路數(shù);kj(1≤j≤n-1)為歸零連接開關(guān)。當幀數(shù)據(jù)編碼結(jié)束時,開關(guān)連接歸零結(jié)構(gòu),實現(xiàn)寄存器的歸零,復(fù)用結(jié)構(gòu)將并行數(shù)據(jù)變成串行數(shù)據(jù)輸出,即Ck=(ck,1,ck,2…,ck,n)。
對于Turbo碼而言,一般采用遞歸系統(tǒng)卷積碼(RSC)分量編碼器,圖2所示為RSC編碼器[18]。
圖2由兩部分組成,即反饋部分G1與前向部分G2,其多項式為
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+…為信息序列多項式;C1(D)=c1,0+c1,1D+…+c1,kDk+…為第1路的編碼序列多項式;C2(D)=c2,0+c2,1D+…+c2,kDk+…為第2路的編碼序列多項式。
在編碼過程中,當一個交織幀碼元編碼結(jié)束時,為了迫使分量編碼器中寄存器狀態(tài)回歸到全0,需要在每一路交織幀末尾增加m個歸零比特,設(shè)在k時刻,增加的歸零比特Ik應(yīng)該滿足:
(5)
由于歸零Turbo碼是以碼塊的形式進行輸入與輸出的,設(shè)碼率為1/n,對于一個分量編碼器,需要增加2m個輸出歸零比特位,而歸零Turbo的輸出碼元長度為編碼碼元輸出長度與歸零比特長度,故歸零Turbo碼的輸出碼長N應(yīng)為
N=nL+2m(n-1),
(6)
式中:L為每幀信息碼元的長度。
目前針對Turbo碼識別的算法,僅僅關(guān)注于Turbo碼分量編碼器以及交織關(guān)系的識別,在識別之前,默認的先驗信息為碼率1/n、輸出碼長以及交織幀已經(jīng)同步等初始參數(shù),但是這些參數(shù)的識別是后續(xù)分量編碼器以及交織關(guān)系識別的前提。本文立足于此,僅僅利用截獲的二進制碼元,在誤碼量級達到10-1時,完成歸零Turbo碼碼長N、交織幀同步位置以及碼率的識別。
由圖1和圖2可知,由于歸零Turbo碼的編碼結(jié)構(gòu)中,第1個分量編碼器未經(jīng)過交織器的處理,故第1路碼元與第2路輸出碼元之間的約束關(guān)系未受到交織破壞,再由圖2中RSC碼的編碼原理,在時刻k,輸入碼元Ik與第2路碼元c2,k的關(guān)系為
(7)
實際的編碼多項式中應(yīng)滿足g1,0=g2,0,并由RSC碼的性質(zhì)即Ik=c1,k,故(7)式進一步可變?yōu)?/p>
(8)
將第1路與第2路碼元進行差分處理,得
(9)
對于歸零Turbo碼而言,第1路與第2路碼元之間的差分結(jié)果僅僅與寄存器中狀態(tài)以及多項式系數(shù)相關(guān)。由于在每一幀的初始位置寄存器的狀態(tài)是全零狀態(tài),故第1路與第2路碼元之間差分處理一定為0,而非交織幀起始位置的差分結(jié)果0、1隨機出現(xiàn),由此為歸零Turbo碼碼長、幀同步等參數(shù)識別提供了可能。
由(9)式可知,對于歸零Turbo碼而言,將每幀初始位置兩碼元作差分處理,其結(jié)果一定為0,而其他非初始位置,當g1,i≠g2,i時,由于寄存器狀態(tài)隨機變換,差分后結(jié)果0、1隨機出現(xiàn)。由此,可以將截獲的碼元序列首先進行差分處理,然后構(gòu)建分析矩陣,固定矩陣的行數(shù),變換分析矩陣的列數(shù),當分析矩陣的列數(shù)為歸零Turbo碼碼長的整數(shù)倍時,幀同步所在列零元素的個數(shù)要遠大于其他位置所在列零元素的個數(shù),從而完成識別。原理示意圖如圖3所示。
為了方便后續(xù)統(tǒng)計處理,進一步將構(gòu)建的分析矩陣進行變換,變換的規(guī)則為將矩陣中1元素映射為-1,0元素映射為1,設(shè)分析矩陣為Ar×j,得到變換后的矩陣為
Sr×j=ones(r,j)-2Ar×j,
(10)
式中:ones(r,j)表示r行j列的全1矩陣。
由以上分析,進一步得到歸零Turbo碼碼長識別的具體步驟:
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);
當碼長完成識別后,識別的參數(shù)為幀同步位置參數(shù)的識別。當構(gòu)建的分析矩陣列數(shù)等于碼長時,幀同步位置所對應(yīng)的寄存器的狀態(tài)為全0,故碼元差分結(jié)果一定為0. 但是從(9)式可知,決定碼元差分結(jié)果為0的因素不僅與寄存器的狀態(tài)有關(guān),還與編碼多項式系數(shù)有關(guān),當g1,i=g2,i時,不管寄存器的狀態(tài)如何,差分的結(jié)果都為0. 下面針對該問題進行詳細的分析。
2.3.1 幀同步位置特點研究
當寄存器狀態(tài)為全0時,分量編碼器對交織幀第1個碼元進行編碼,此時幀同步位置差分c1,1⊕c2,1=0. 隨著編碼的進行,當編碼時刻k滿足1 當交織幀信息碼元編碼完成時,開關(guān)會連接到歸零結(jié)構(gòu),分量編碼器會按照寄存器狀態(tài)自動增加額外的比特碼元,迫使寄存器狀態(tài)歸零。當增加到第k個碼元時,前k個寄存器狀態(tài)因額外的歸零比特而為0,而后m-k個寄存器狀態(tài)則為0、1隨機出現(xiàn)。此時,當且僅當g1,i=g2,i(k≤i≤m)時,c1,k⊕c2,k=0,對于實際的編碼多項式而言,存在g1,0=g2,0,g1,m=g2,m. 由以上分析,當幀同步時在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個系數(shù)相等的情況,幀同步后,碼元差分確定的零點位置如圖4所示,圖中o為零點確定位置,x為差分后不確定位置,n為圖1中碼元路數(shù)。 2)存在系數(shù)g1,0=g2,0、g1,m=g2,m,同時存在從第1個到第k1個系數(shù)連續(xù)相等,從后到第k1個系數(shù)之間不存在連續(xù)相等的系數(shù),幀同步后,差分碼元的零點確定位置分布如圖5所示。 3)存在系數(shù)g1,0=g2,0、g1,m=g2,m,同時存在從第k2個到最后第m個系數(shù)連續(xù)相等,從頭到第k2個系數(shù)之間不存在連續(xù)相等的系數(shù),幀同步后,差分碼元的零點確定位置分布如圖6所示。 4)該情況是情況2與情況3的組合,即存在系數(shù)g1,0=g2,0、g1,m=g2,m,同時存在從第1個到第k1個系數(shù)連續(xù)相等,從第k2個到最后第m個系數(shù)連續(xù)相等,k1與k2之間不存在連續(xù)相等系數(shù),幀同步后,差分碼元的零點確定位置分布如圖7所示。 從以上4種情況可知,當幀同步時,差分后新的編碼序列確定零點位置有3個特點: 1)差分碼元序列的初始位置一定是一個確定零點位置; 2)差分碼元序列第1個確定零點位置與第2個確定零點位置之差一定是大于2的,如情況1與情況3位置之差遠遠大于2,情況2與情況4的位置之差等于Turbo碼的編碼路數(shù)n,而n的最小值為3,所以差值至少為3; 3)差分碼元序列最后一個確定零點位置與碼長之差為1. 2.3.2 零點確定位置判決門限求解 2.3.1節(jié)中,幀同步時差分序列零點確定位置的分布特點是幀同步識別算法的核心基礎(chǔ),在幀同步識別中,至關(guān)重要的一步是如何將零點確定位置與隨機點位置區(qū)分開,從而實現(xiàn)確定零點位置的識別提取,利用幀同步的3大特點,完成幀同步位置的識別。區(qū)分的基本思想為確定位置與隨機位置0、1概率分布不同,通過設(shè)定門限將其區(qū)分開來。 在參數(shù)識別過程中,需要構(gòu)建分析矩陣Ar×N,行數(shù)r為唯一定值,列數(shù)N為碼長值,矩陣中元素是將差分碼元按行方向排入矩陣。將分析矩陣經(jīng)(10)式變換,得到Sr×N,設(shè)噪聲信道抽象為二元對稱信道,信道誤碼率為pe,則零點確定位置在矩陣Sr×N中為1的概率為 P=(1-pe)2+pe2, (11) 而隨機位置為1的概率應(yīng)為1/2. 當r→∞時,將矩陣Sr×N元素按列方向求和,確定零點位置元素之和應(yīng)該服從N((2P-1)r,4P(1-P)r)正態(tài)分布,而非確定位置元素之和應(yīng)該服從N(0,r)的正態(tài)分布。 對于門限Λ求解,需要綜合考慮兩種概率分布,本文采用極大極小準則來求解門限值。設(shè)定正確判決的代價因子為0,錯誤判決的代價因子為1,采用極大極小準則的門限Λ必須要滿足下列積分方程: (12) 式中:μ1與σ1為確定零點位置的均值與標準差;μ2與σ2為隨機位置的均值與標準差。 (13) 由此求得門限Λ為 (14) 將兩種概率分的均值與方差代入(14)式,進一步得 (15) 2.3.3 幀同步識別算法步驟 2.3.1節(jié)與2.3.2節(jié)中差分序列零點確定位置的分布特點以及判決門限的求解是幀同步識別算法的核心基礎(chǔ),由此得到幀同步識別算法的步驟如下: 1)將截獲的碼元作前向差分處理,得到新的差分碼元序列; 2)構(gòu)建分析矩陣Ar×N,行數(shù)為r,矩陣列數(shù)N為識別出來的碼長,將步驟1中的差分序列按行方向排入分析矩陣,并按(10)式將分析矩陣作元素變換得到Sr×N; 3)基于極大極小判決準則,求解判決門限Λ; 4)將步驟2中的矩陣Sr×N按列方向作求和處理,得到行向量S′1×N,由步驟3中的判決門限Λ,篩選出S′1×N中大于門限Λ的元素位置,并存儲; 5)遍歷步驟4中存儲的位置,將其作為步驟1中差分碼元序列新的起始位置,重復(fù)步驟2與步驟4,直到步驟4中存儲的元素位置滿足幀同步時差分序列零點確定位置3個分布特點,此時遍歷的位置即為幀同步位置。 完成碼長N以及幀同步位置識別后,碼率1/n以及寄存器個數(shù)m可以利用識別出的參數(shù)求解。在2.3.1節(jié)中,由幀同步位置的特點可知,4種情況都有一個共同的特點,即由幀末尾添加的歸零比特所生成的確定零點位置個數(shù)為n-1的倍數(shù),當完成碼長識別以及幀同步后,可以得到歸零比特確定零點的個數(shù)s,由于實際工程中3≤n≤5,通過遍歷n取值,若n-1能夠被s整除,則識別完成。 對于寄存器個數(shù)m的識別,同樣采取遍歷的思想,利用(6)式可知,碼長除去歸零比特后,能夠被n整除,實際工程中2≤m≤6,同樣通過遍歷m的取值,能夠滿足(6)式的m值即為參數(shù)的估計值。 在碼率以及寄存器的估計過程中,若出現(xiàn)多值現(xiàn)象,則可以先進行保存,在后續(xù)分量編碼器參數(shù)識別以及交織器識別中,分別進行驗證和篩選。 對于碼長識別而言,首先要將截獲的碼元進行差分運算,設(shè)截獲的碼元長度為l,則需要l-1次差分運算,當構(gòu)建出分析矩陣Ar×j后,按照算法步驟需要進行1次矩陣運算、j次列向量求和運算、1次最大值求解運算,總共要構(gòu)建?l/r」次分析矩陣,所以總共需要進行?l/r」次矩陣運算、0.5(?l/r」2+?l/r」)次的列向量求和運算、?l/r」+1次最值求解運算,忽略低階次項,故碼長識別算法總的運算復(fù)雜度為o(?l/r」2),其中?·」代表取整運算。 對于幀同步算法而言,首先要構(gòu)建Ar×N的分析矩陣,判定確定零點的位置,需要N次列向量的求和運算以及N次與門限比較運算;當篩選出確定零點位置后,需要將每一個確定零點作為差分序列的起點,重復(fù)初始運算直到滿足幀同步的3大特點,設(shè)幀長度中確定零點位置數(shù)目為w,完成幀同步最多所需要向量元素求和運算為(w+1)N次,比較運算為(w+1)N次,故算法的運算復(fù)雜度為o(N),僅僅與碼長成正比。 目前算法采用矩陣分析高斯消元法判定消元列,實現(xiàn)碼長以及幀同步識別,與本文相比,增加了二元域中矩陣行變換,其算法的復(fù)雜度遠遠大于本文算法。 本節(jié)主要驗證本文提出的算法對于歸零Turbo碼碼長N、幀同步特點、幀同步識別以及碼率、寄存器個數(shù)的識別有效性。仿真驗證時,將誤碼率設(shè)定在10-1量級上,驗證所提算法是否具有極高的信道容錯能力。 3.1.1 碼長識別驗證 設(shè)定交織幀待編碼的信息碼元數(shù)為50,碼率為1/3,交織方式為偽隨機交織(不特殊說明后續(xù)的交織都為偽隨機交織),歸零Turbo碼分量編碼器為RSC(7,5),(7,5)對應(yīng)為八進制表達式,代表二進制(111,101)反饋與前向多項式系數(shù)(后續(xù)分量編碼器表示形式與此相同,不再作重復(fù)解釋)。其寄存器個數(shù)為2,由(6)式可知,歸零Turbo碼的碼長N=158,設(shè)定誤碼率為0.10,截獲碼塊數(shù)目為500. 按照碼長識別的流程,首先將截獲的碼元前后作差分處理,構(gòu)建分析矩陣,分析矩陣的行數(shù)設(shè)定為截獲碼塊數(shù)目的一半。利用(10)式對分析矩陣進行變換,然后將所得變換矩陣按列方向求和,此時記錄不同列數(shù)j下,碼長識別算法中max(S′1×j)的值,記錄結(jié)果如圖8所示。 從圖8可以明顯看出,在列數(shù)j為158時存在最大峰值,此時峰值所對應(yīng)的編號正好為設(shè)定的碼長,說明在誤碼高達0.1情況下,本文算法對于碼長識別也有效。同時從圖8中注意到,在最大峰值兩邊存在著兩個明顯的小峰值,原因是設(shè)定的碼長158是2的倍數(shù)。當列數(shù)j等于碼長的一半時,列數(shù)中將有一半的元素為確定的差分零點,矩陣變換映射為1,其他元素-1與1隨機分布,1階累積量值將接近于最大峰值的一半,由于是記錄行向量S′1×j元素的最大值,故非碼長位置的累積量分布在40左右徘徊。 3.1.2 幀同步特點驗證 本節(jié)主要驗證當幀同步時,分量編碼器多項式系數(shù)對于確定零點位置與隨機零點位置的分布影響。仿真驗證時,設(shè)定信道誤碼率為0.10,交織幀待編碼的信息序列為50,碼率為1/3,截獲碼塊數(shù)目為500. 為達到驗證2.3.1節(jié)中所分析的4種情況,選擇RSC(47,75)為第1種情況的分量編碼器,RSC(51,57)為第2種情況的分量編碼器,RSC(47,73)與RSC(51,45)分別為第3種與第4種情況下的分量編碼器系數(shù),這4種分量編碼器分別對應(yīng)了4種情況下的編碼器系數(shù)條件。圖9所示為在4種情況下幀同步后確定零點位置與隨機位置的1階累積量值。 從圖9可以看出,確定零點位置對應(yīng)的1階累積量值要遠遠大于隨機位置的累積量,選擇的多項式所對應(yīng)的系數(shù)與圖中累積量分布情況是一致的。以圖9(a)為例,情況1中分量編碼器g1,0=g2,0、g1,m=g2,m,其他位置不存在連續(xù)系數(shù)相等的情況,而碼率設(shè)定為1/3,故幀同步頭為一個確定零點,而末尾為2個確定零點,仿真結(jié)果與之相同,同時滿足幀同步所滿足的3大特點,其他情況同理可一一驗證,說明3.1.1節(jié)中的分析正確。 3.1.3 確定零點與隨機零點1階累積量分布驗證 確定零點位置與隨機零點位置的統(tǒng)計特性對于后續(xù)幀同步識別具有重要的作用,本節(jié)主要驗證確定零點位置與隨機零點位置1階累積量的統(tǒng)計分布,將仿真數(shù)據(jù)與理論均值進行對比。仿真時,設(shè)定截獲碼塊數(shù)目為500、1 000、1 500 3種,交織信息數(shù)據(jù)長度為50,選擇RSC(7,5)作為歸零Turbo碼的分量編碼器,分析矩陣的列數(shù)為截獲碼塊的數(shù)目,信道誤碼率為0~0.50,間隔0.01取值,兩種位置的累積量仿真值與理論值如圖10所示。 從圖10的仿真結(jié)果來看,確定零點位置的1階累積量值在理論值附近徘徊,非常接近理論值,而隨機零點1階累積量在0附近波動,說明2.3.2節(jié)中在求解基于極大極小門限時,推導(dǎo)的概率分布是正確的。 3.1.4 幀同步識別、碼率以及寄存器個數(shù)識別驗證 仿真設(shè)定交織幀信息長度為50,碼率為1/3,分量編碼器為RSC(41,57),由(11)式可知碼長N為170,同步起點設(shè)定為138,誤碼率設(shè)定為0.10. 基于極大極小準則求解出確定零點判定門限Λ=60.606 1,仿真時假定碼長已經(jīng)實現(xiàn)了識別。按照算法步驟,首先判定確定零點位置,其次遍歷確定零點位置,驗證幀同步的3大特點,滿足3個特點同步實現(xiàn),圖11所示即為確定零點判決以及遍歷確定零點過程。 從圖11可以看出,幀同步識別算法效果明顯。圖11(a)基于判決門限方法,實現(xiàn)了4個確定零點的判定,圖11(b)~圖11(d)是遍歷的過程,遍歷到第3個確定零點時,與幀同步特點一致,此時遍歷零點位置為138,幀同步位置準確識別。 從圖11(d)可知,第1個零點位置與第2個位置之差為3,同時末尾兩個確定零點位置之差為2,按照碼率識別方法,碼率只能為1/3,從而碼率識別正確。 從2到6遍歷寄存器個數(shù)值,使其滿足(6)式能夠整除,得到m的值為2和5,進一步縮小了寄存器估計數(shù)值的范圍,通過剔除歸零比特碼元后進行交織器識別和RSC碼識別,可以進一步確定m為5,說明寄存器個數(shù)估計方法有效。 3.1節(jié)中已經(jīng)驗證所提算法在誤碼率為0.10條件下,能夠?qū)崿F(xiàn)歸零Turbo碼初始參數(shù)的識別,下面將針對算法的容錯性能進行研究,仿真時考慮碼長長度、截獲碼塊數(shù)量、確定零點數(shù)目3大因素對參數(shù)識別率的影響。容錯性能分析主要是針對碼長以及幀同步兩種參數(shù),因為碼率以及寄存器個數(shù)能夠通過碼長以及幀同步進行求解。 3.2.1 碼長對參數(shù)識別的影響 設(shè)定歸零Turbo碼交織幀信息碼長分別為50、80、100、120,選擇分量編碼器為RSC(7,5)多項式,碼率為1/3,故對應(yīng)的歸零Turbo碼的碼長為158、248、308、368,對每一種碼長設(shè)定同步位置為126、216、276、336,即將第1幀數(shù)據(jù)前33個碼元丟棄,設(shè)定截獲碼碼塊數(shù)目為500,構(gòu)建的分析矩陣行數(shù)為碼塊數(shù)目的一半,誤碼率設(shè)定范圍為0.15~0.30,間隔0.01取值,蒙特卡洛仿真次數(shù)為500次,針對這兩種參數(shù)的識別,在不同誤碼率下,統(tǒng)計其識別率如圖12所示。 從圖12來看,碼長對于這兩種參數(shù)識別的影響具有相同的趨勢,即碼長越大,兩種參數(shù)的識別概率越小,但是從識別率來看,即使在誤碼率高達0.20的條件下,碼長與幀同步識別率仍然能夠達到96%以上,說明本文算法具有極強的容錯性能。 3.2.2 截獲碼塊數(shù)量對于算法的影響 設(shè)定歸零Turbo碼碼長為158,截獲的碼塊數(shù)目設(shè)定為500、600、700、800 4種情況。仿真時,選用分量編碼器為RSC(7,5),碼率為1/3,幀同步位置為126,構(gòu)建的分量編碼器行數(shù)每次為碼塊數(shù)目的一半,誤碼率范圍為0.15~0.30,間隔0.01取值,蒙特卡洛試驗次數(shù)為500次,在不同誤碼率下統(tǒng)計參數(shù)正確的識別率,結(jié)果如圖13所示。 從識別性能結(jié)果來看,截獲碼塊數(shù)目對于參數(shù)的識別具有較大的影響,截獲碼塊數(shù)目越大,碼長以及幀同步識別的性能越好。同時,算法的容錯性較好,信道環(huán)境極其惡化條件下,參數(shù)仍然具有極高的識別率。從截獲碼塊數(shù)目以及碼長大小對參數(shù)識別性能來看,在實際工程應(yīng)用中,可以通過截獲更多的碼塊,來克服碼長過長造成的識別性能下降。 3.2.3 確定零點位置數(shù)目對于算法的影響 本節(jié)考察確定零點數(shù)目對于參數(shù)識別性能的影響。設(shè)定交織幀信息碼元長度為50,碼率為1/3,選擇4種分量編碼器:RSC(47,75)、RSC(41,57)、RSC(51,57)、RSC(41,43),這4種多項式分別對應(yīng)確定零點數(shù)為3、4、5、6,碼長為170,幀同步位置設(shè)定為138,誤碼率范圍為0.15~0.30,間隔0.01取值,蒙特卡洛試驗次數(shù)為500,統(tǒng)計參數(shù)正確識別結(jié)果如圖14所示。 從圖14的結(jié)果來看,確定零點個數(shù)對于碼長識別具有一定影響,而對于幀同步來說影響不大。從識別的原理來看,確定零點越多,在碼長識別過程中越容易找到正確的碼長正確位置,因為只需要找到一個正確的確定零點就能夠?qū)崿F(xiàn)碼長的識別。而幀同步則不然,幀同步識別中,幀同步的識別主要與前兩個零點確定位置以及最后一個零點位置有關(guān),即是否符合幀同步的3大特點,而與確定零點個數(shù)無關(guān)。 目前針對歸零Turbo碼初始參數(shù)識別算法主要基于高斯消元法,與本文算法進行比較的是改進的秩準則算法[14]以及小區(qū)域檢測算法[15]。識別參數(shù)為歸零Turbo碼長,在同等條件下進行蒙特卡洛仿真實驗,實驗次數(shù)為500,識別率統(tǒng)計結(jié)果如圖15所示。 從圖15的對比結(jié)果可知,本文算法性能要遠遠好于其他兩種算法。傳統(tǒng)算法利用的是編碼碼元之間的線性約束關(guān)系,當誤碼率增加時約束關(guān)系將破壞,算法將失效,導(dǎo)致其算法性能難以突破誤碼0.1量級的瓶頸。而本文算法與傳統(tǒng)算法在識別原理上完全不同,識別是利用了歸零Turbo碼幀初始前兩個碼元差分為0,本質(zhì)上利用的是兩個碼元的約束關(guān)系,算法容錯性能當然會遠遠好于傳統(tǒng)算法。 從完成識別所需數(shù)據(jù)量以及識別時間上對比,設(shè)定碼長范圍為38~368,間隔30取值,針對每一種碼長,求取3種算法完成一次可靠識別,各自所需要的最少數(shù)據(jù)量,記錄結(jié)果見圖16. 同時,選取碼長為98、188、278、368 4種情況,記錄3種算法在不同碼長下完成一次識別所需的時間,記錄結(jié)果見表1. 表1 3種算法識別時間對比Tab.1 Time-consuming of three algorithms s 從圖16來看,本文所提算法需要的數(shù)據(jù)量要遠遠小于改進的秩準則算法數(shù)據(jù)量,與小區(qū)域檢測算法量級相當,隨著碼長的增加呈線性增加。從表1來看,本文算法的計算量遠遠小于與其相比較的兩種算法,其差距非常明顯,主要原因是算法避免了復(fù)雜的高斯消元,大大減少了識別時間。 綜合對比3種算法的性能,本文算法遠遠好于其他兩種算法。 1)利用了歸零Turbo碼幀初始位置兩碼元差分結(jié)果為0的特性,將差分后的序列排入分析矩陣,當分析矩陣的列數(shù)等于碼長整數(shù)倍時,分析矩陣列方向1階累積量將出現(xiàn)峰值,從而完成碼長識別;通過仿真驗證了算法對于參數(shù)識別的有效性,同時算法具有極強的容錯性,在誤碼率高達0.20條件下,參數(shù)識別率能夠達到96%以上。 2)分析了歸零Turbo碼幀同步后,差分確定零點位置分布與分量編碼器系數(shù)的關(guān)系,總結(jié)出了3條幀同步后的特點,基于極大極小準則推導(dǎo)了差分確定零點與隨機零點的識別門限,通過遍歷確定零點完成歸零Turbo碼幀同步的識別;通過仿真驗證了幀同步位置特點的正確性、判決門限的合理性、算法極強的容錯性能。 3)在碼長識別以及幀同步完成的基礎(chǔ)上,按照碼長、碼率、寄存器個數(shù)之間的數(shù)量關(guān)系,根據(jù)實際工程情況,通過遍歷碼率以及寄存器個數(shù)參數(shù)完成其識別。 本文提出的參數(shù)識別算法具有極強的容錯性,在誤碼率高達0.20條件下,各種參數(shù)的識別均能達到96%以上,同時其計算復(fù)雜度遠遠小于現(xiàn)有算法,為后續(xù)交織器以及分量編碼器參數(shù)識別奠定了良好的基礎(chǔ)。 參考文獻(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]. 國防科技大學(xué)學(xué)報, 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變換的卷積碼盲識別[J]. 電子與信息學(xué)報, 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變換的卷積碼識別算法[J]. 兵工學(xué)報, 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] 于沛東, 李靜, 彭華. 一種利用軟判決的信道編碼識別新算法[J]. 電子學(xué)報, 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é)報, 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] 劉俊, 李靜, 彭華. 基于校驗方程平均符合度的Turbo碼交織器估計[J]. 電子學(xué)報, 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ù)的盲識別方法[J]. 西安電子科技大學(xué)學(xué)報, 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] 李嘯天, 張潤生, 李艷斌. 歸零Turbo碼識別算法[J].西安電子科技大學(xué)學(xué)報, 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碼的盲識別方法[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ù)研究[J].無線電工程, 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)卷積碼的盲識別[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 碼率與寄存器個數(shù)的識別
2.5 計算復(fù)雜度分析
3 仿真驗證
3.1 算法對于參數(shù)正確性識別驗證
3.2 算法容錯性分析
3.3 與其他算法的比較
4 結(jié)論