本發(fā)明涉及數(shù)字通信差錯控制編碼領(lǐng)域,尤其涉及一種面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法。
背景技術(shù):
在信息傳輸或存儲過程中,由于定時和同步的偏差等原因,造成符號的插入或刪節(jié),稱為同步錯誤,包括插入或刪節(jié)錯誤。插入或刪節(jié)錯誤與傳統(tǒng)替代錯誤(例如二進制對稱信道或二進制刪除信道中存在的錯誤)有較大差別。由于被插入與刪節(jié)錯誤干擾的信道具有記憶性,單個未被糾正的同步錯誤會引發(fā)一系列突發(fā)性的替代錯誤,造成災害性的錯誤傳播,適用于無記憶信道和加性噪聲的傳統(tǒng)糾錯編碼技術(shù)很少能直接應用到插入與刪節(jié)錯誤糾正問題中。因此,插入與刪節(jié)錯誤糾錯碼方案的設計是一個非常有挑戰(zhàn)性的問題。
目前,針對插入刪節(jié)與替代錯誤的基于級聯(lián)碼的編譯碼方案是目前認為最有潛力的方案。其主要思想是將一個可幫助接收端識別同步錯誤的內(nèi)碼與一個具有較好糾正替代錯誤能力的外碼級聯(lián),達到糾正同步錯誤的目的。在Davey和Mackay提出的級聯(lián)方案中,采用的內(nèi)碼為水印碼,外碼為非二進制低密度奇偶校驗碼(NB-LDPC)。發(fā)送端,NB-LDPC編碼器的輸出被映射為一個稀疏二進制序列,并與收發(fā)端均已知的水印序列模二加得到發(fā)送序列;接收端,內(nèi)譯碼器采用基于隱馬爾可夫模型的前向-后向算法,推斷同步錯誤發(fā)生的位置,并輸出外碼的每一個符號取q個值對應的似然信息。外譯碼算法的輸入為前后向算法輸出的似然信息,采用NB-LDPC碼的基于對數(shù)域的和積譯碼算法,糾正接收序列中的未糾正的插入/刪節(jié)錯誤及替代錯誤,輸出發(fā)送信息向量的估計值。
發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下缺點和不足:
采用水印碼與一般糾錯碼的級聯(lián)方案能夠有效識別塊邊界,可以糾正插入刪節(jié)語替代錯誤,但是其比特級譯碼算法的性能還存在較大的改善空間。本發(fā)明將外譯碼器的結(jié)果反饋給內(nèi)譯碼器的前后向算法,從而輔助前后向算法的插入刪節(jié)錯誤位置估計,改善了整體性能。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法,以較小的額外復雜度獲得了較大的性能增益。
本發(fā)明的特征在于,針對采用級聯(lián)水印與糾錯碼的方案,用于插入刪節(jié)錯誤錯誤估計的前后向算法引入外譯碼器輸出的硬判決稀疏估計序列,使得內(nèi)譯碼器的參考序列為水印序列與稀疏化后的硬判決碼字序列的疊加;引入硬判決導向的水印譯碼器利用該參考序列和更新后的有效替代錯誤概率計算輸出概率,進一步用于計算前向度量值和后向度量值,進而提高了前后向估計方法輸出給外譯碼器的每個符號的似然信息的可靠度。
一種面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法,所述方法包括以下步驟:
(1)利用外譯碼器輸出的硬判決碼字序列生成水印譯碼器新的參考序列;
(2)更新描述接收序列的隱馬爾可夫過程的狀態(tài)輸出概率即由j時刻的同步漂移狀態(tài)xj轉(zhuǎn)移至j+1時刻的同步漂移狀態(tài)xj+1時產(chǎn)生序列的概率,其中j時刻表示接收碼字中第j-1個比特已傳輸、第j個比特待傳輸?shù)臅r刻,漂移狀態(tài)xj是指從第0個傳輸比特到第j個傳輸比特由信道產(chǎn)生的全部插入比特數(shù)與全部刪節(jié)比特數(shù)之差,xj,xj+1∈{-xmax,…,0,…,xmax},其中xmax是內(nèi)譯碼器設定的最大漂移,且滿足xj-1≤xj+1≤xj+I,I是最大連續(xù)插入比特數(shù),為接收子序列0≤j≤N,N是碼字的比特長度;
(3)遞歸計算硬判決導向的前向度量值和后向度量值,并利用更新后的前向和后向度量值計算碼字中第i個符號di的似然信息P(di|r),其中,di∈{0,1,…,2k-1}為LDPC碼字中第i個符號的可能十進制取值,0≤i<N/n,k為稀疏前一個符號包含的比特數(shù),n為稀疏后一個符號包含的比特數(shù),N/n為碼字中符號總個數(shù),r為接收序列;
所述利用外譯碼器輸出的硬判決碼字序列生成水印譯碼器新的參考序列具體為,
(1.1)將外譯碼器硬判決后碼字的估計序列進行稀疏化得到稀疏序列其中碼長為Nk/n比特,為N比特;
(1.2)令生成內(nèi)譯碼器新的參考序列w′,其中w為N比特的原始水印序列。
所述更新描述接收序列的隱馬爾可夫過程的狀態(tài)輸出概率即由j時刻的同步漂移狀態(tài)xj轉(zhuǎn)移至j+1時刻的同步漂移狀態(tài)xj+1時產(chǎn)生序列的概率,其中j時刻表示接收碼字中第j-1個比特已傳輸、第j個比特待傳輸?shù)臅r刻,漂移狀態(tài)xj是指從第0個傳輸比特到第j個傳輸比特由信道產(chǎn)生的全部插入比特數(shù)與全部刪節(jié)比特數(shù)之差,xj,xj+1∈{-xmax,…,0,…,xmax},其中xmax是內(nèi)譯碼器設定的最大漂移,且滿足xj-1≤xj+1≤xj+I,I是最大連續(xù)插入比特數(shù),為接收子序列0≤j≤N,N是碼字的比特長度具體為,
(2.1)更新等效碼字序列密度f=0,并初始化等效替代錯誤概率Pf=Ps,其中Ps為信道的替代錯誤概率,0≤j<N;
(2.2)根據(jù)當前j時刻的同步漂移狀態(tài)xj與j+1時刻的同步漂移狀態(tài)xj+1之間的聯(lián)系,計算轉(zhuǎn)移概率具體為,
若xj+1=xj-1,則
若xj+1=xj,則
若xj<xj+1<xj+I,則
若xj+1=xj+I,則
否則其中αI=1/(1-(Pi)I)為考慮最大插入長度I的歸一化常數(shù),Pd為刪節(jié)概率;Pi為插入概率;Pt為傳輸概率;
(2.3)計算其中,A為插入xj+1-xj+1個比特并刪節(jié)發(fā)送比特的概率;B為插入xj+1-xj個比特并傳輸發(fā)送比特的概率;
(2.4)判斷接收比特串中的最后一個比特是否滿足判斷條件其中w′j為內(nèi)譯碼器新的參考序列w′在第j位的取值,若滿足判斷條件,輸出概率若不滿足判斷條件,輸出概率
本發(fā)明提供的技術(shù)方案的有益效果是:用于插入與刪節(jié)估計的前后向算法引入外譯碼器輸出的硬判決碼字序列,設計了一種面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法,提高了前后向方法估計準確度,以較小的額外復雜度獲得了較大的性能增益。
附圖說明
圖1為本發(fā)明提供的一種面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法的流程圖;
圖2是計算前后向度量中輸出概率的流程圖;
圖3是計算前向度量的流程圖;
圖4是計算后向度量的流程圖;
圖5是計算碼字中每個符號的似然信息的流程圖;
圖6是計算中間度量的流程圖;
圖7是計算中間度量值的輸出概率流程圖;
圖8是采用本發(fā)明方法與傳統(tǒng)方法的誤塊率性能比較圖。
具體實施方式
為進一步提高比特級譯碼算法的性能,本發(fā)明提供了一種面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法,參見圖1至圖8。下面將結(jié)合附圖對本發(fā)明實施方式進行詳細描述。
本發(fā)明的特征在于,用于插入與刪節(jié)錯誤估計的前后向算法引入外譯碼器輸出的硬判決結(jié)果,使得內(nèi)譯碼器的參考序列為水印序列與稀疏化后的硬判決碼字序列的疊加;引入硬判決導向的水印譯碼器利用該參考序列和更新后的有效替代錯誤概率計算輸出概率,進一步用于計算前向度量值和后向度量值,進而提高了前后向估計方法輸出給外譯碼器的每個符號的似然信息的可靠度。其基本流程如圖1所示,具體地:
(1)所述利用外譯碼器輸出的硬判決碼字序列生成水印譯碼器新的參考序列具體為,
(1.1)將外譯碼器硬判決后碼字的估計序列進行稀疏化得到稀疏序列其中碼長為Nk/n比特,為N比特;
(1.2)令生成內(nèi)譯碼器新的參考序列w′,其中w為N比特的原始水印序列。
(2)所述更新前向度量值和后向度量值中描述接收序列的隱馬爾可夫過程的狀態(tài)輸出概率即由j時刻的同步漂移狀態(tài)xj轉(zhuǎn)移至j+1時刻的同步漂移狀態(tài)xj+1時產(chǎn)生序列的概率,其中j時刻表示接收碼字中第j-1個比特已傳輸、第j個比特待傳輸?shù)臅r刻,漂移狀態(tài)xj是指從第0個傳輸比特到第j個傳輸比特由信道產(chǎn)生的全部插入比特數(shù)與全部刪節(jié)比特數(shù)之差,xj,xj+1∈{-xmax,…,0,…,xmax},其中xmax是內(nèi)譯碼器設定的最大漂移,且滿足xj-1≤xj+1≤xj+I,I是最大連續(xù)插入比特數(shù),為接收子序列0≤j≤N,N是碼字的比特長度。
其中,該步驟的流程圖如圖2所示,具體為:
(2.1)更新等效碼字序列密度f=0,并初始化等效替代錯誤概率Pf=Ps,其中Ps為信道的替代錯誤概率,0≤j<N;
(2.2)根據(jù)當前j時刻的同步漂移狀態(tài)xj與j+1時刻的同步漂移狀態(tài)xj+1之間的聯(lián)系,計算轉(zhuǎn)移概率具體為,
若xj+1=xj-1,則
若xj+1=xj,則
若xj<xj+1<xj+I,則
若xj+1=xj+I,則
否則其中αI=1/(1-(Pi)I)為考慮最大插入長度I的歸一化常數(shù),Pd為刪節(jié)概率;Pi為插入概率;Pt為傳輸概率;
(2.3)計算其中,A為插入xj+1-xj+1個比特并刪節(jié)發(fā)送比特的概率;B為插入xj+1-xj個比特并傳輸發(fā)送比特的概率;
(2.4)判斷接收比特串中的最后一個比特是否滿足判斷條件其中wj′為內(nèi)譯碼器新的參考序列w′在第j位的取值,若滿足判斷條件,輸出概率若不滿足判斷條件,輸出概率
(3)所述遞歸計算硬判決導向的前向度量值和后向度量值,并利用更新后的前向和后向度量值計算碼字中第i個符號di的似然信息P(di|r),其中di∈{0,1,…,2k-1}為LDPC碼字中第i個符號的可能十進制取值,0≤i<N/n,k為稀疏前一個符號包含的比特數(shù),n為稀疏后一個符號包含的比特數(shù),N/n為碼字中符號總個數(shù),r為接收序列,具體為,
(3.1)遞歸計算j時刻漂移狀態(tài)為y時的前向度量值Fj(y),其中0≤j≤N,-xmax≤y≤xmax,如圖3所示,具體步驟為,
(3.1.1)初始化0時刻的前向度量值和j=1;
(3.1.2)設當前時刻漂移狀態(tài)y=-xmax;
(3.1.3)令前一時刻的漂移狀態(tài)a=y(tǒng)-I;
(3.1.4)判斷a是否滿足-xmax≤a≤xmax,若不滿足判斷條件,令a加1,重復步驟(3.1.4)直至滿足判斷條件;若滿足判斷條件,令由前一時刻的漂移狀態(tài)a轉(zhuǎn)移至當前時刻漂移狀態(tài)y的一次前向度量的概率執(zhí)行步驟(3.1.5);
(3.1.5)利用求出的輸出概率,按照公式計算當前值,其中,F(xiàn)j-1(a)為j-1時刻漂移狀態(tài)為a時的前向度量值,Pa,y為由前一時刻的漂移狀態(tài)a轉(zhuǎn)移至當前時刻漂移狀態(tài)y的轉(zhuǎn)移概率,為由前一時刻的漂移狀態(tài)a轉(zhuǎn)移至當前時刻漂移狀態(tài)y的輸出概率;
(3.1.6)判斷a是否滿足a=y(tǒng)+1,若不滿足判斷條件,令a加1,重復步驟(3.1.4)至(3.1.6)直至滿足條件;若滿足判斷條件,利用公式即得到j時刻漂移狀態(tài)為y時的前向度量值;
(3.1.7)判斷y是否滿足y=xmax,若不滿足判斷條件,令y加1,重復步驟(3.1.3)至(3.1.7)直至滿足判斷條件;若滿足判斷條件,執(zhí)行步驟(3.1.8);
(3.1.8)判斷j是否滿足j=N,若不滿足判斷條件,令j加1,重復步驟(3.1.2)至(3.1.8)直至滿足判斷條件;若滿足判斷條件,輸出時刻0到N所有漂移狀態(tài)時的前向度量值。
(3.2)遞歸計算j時刻漂移狀態(tài)為y時的后向度量值Bj(y),其中0≤j≤N,-xmax≤y≤xmax,如圖4所示,具體步驟為,
(3.2.1)初始化j=N,并重新初始化當前塊的后向度量值其中為塊末端的最大可能偏移量;
(3.2.2)設當前時刻漂移狀態(tài)y=-xmax;
(3.2.3)令后一時刻的漂移狀態(tài)b=y(tǒng)+I;
(3.2.4)判斷b是否滿足-xmax≤b≤xmax,若不滿足判斷條件,令b減1,重復步驟(3.2.4)直至滿足判斷條件;若滿足判斷條件,令由當前時刻漂移狀態(tài)y轉(zhuǎn)移至后一時刻的漂移狀態(tài)b的一次后向度量的概率執(zhí)行步驟(3.2.5);
(3.2.5)利用求出的輸出概率,按照公式計算當前值,其中,Bj+1(b)為j+1時刻漂移狀態(tài)為b時的前向度量值,Py,b為由前一時刻的漂移狀態(tài)y轉(zhuǎn)移至當前時刻漂移狀態(tài)b的轉(zhuǎn)移概率,為由前一時刻的漂移狀態(tài)y轉(zhuǎn)移至當前時刻漂移狀態(tài)b的輸出概率;
(3.2.6)判斷b是否滿足b=y(tǒng)-1,若不滿足判斷條件,令b減1,重復步驟(3.2.4)至(3.2.6)直至滿足條件;若滿足判斷條件,利用公式即得到j時刻漂移狀態(tài)為y時的后向度量值;
(3.2.7)判斷y是否滿足y=xmax,若不滿足判斷條件,令y加1,重復步驟(3.2.3)至(3.2.7)直至滿足判斷條件;若滿足判斷條件,執(zhí)行步驟(3.2.8);
(3.2.8)判斷j是否滿足j=0,若不滿足判斷條件,令j減1,重復步驟(3.2.2)至(3.2.8)直至滿足判斷條件;若滿足判斷條件,輸出每一時刻j下所有漂移狀態(tài)時的后向度量值。
(3.3)遞歸計算硬判決導向的前向度量值和后向度量值,并利用更新后的前向和后向度量值碼字中每個符號的似然信息P(di|r),其中r為接收序列,di∈{0,1,…,2k-1}為LDPC碼字中第i個符號的可能取值,0≤i<N/n,k為稀疏前一個符號包含的比特數(shù),n為稀疏后一個符號包含的比特數(shù),該步驟的流程圖如圖5所示,具體為,
(3.3.1)初始化i=0;
(3.3.2)令di=0;
(3.3.3)初始化xn×i=-xmax;
(3.3.4)初始化xn×(i+1)=-xmax;
(3.3.5)計算中間度量值M=P(r0,xn×(i+1)|xn×i,di),其中r0為
(3.3.6)令
(3.3.7)按照公式計算當前的值;
(3.3.8)判斷xn×(i+1)是否滿足條件xn×(i+1)=xmax,若不滿足判斷條件,令xn×(i+1)加1,重復步驟(3.3.5)至(3.3.8)直至滿足判斷條件;若滿足判斷條件,執(zhí)行步驟(3.3.9);
(3.3.9)判斷xn×i是否滿足條件xn×i=xmax,若不滿足判斷條件,令xn×i加1,重復步驟(3.3.4)至(3.3.9)直至滿足判斷條件;若滿足判斷條件,利用公式即得到LDPC碼字第i個符號取di時的比特級似然概率;
(3.3.10)判斷di是否滿足di=2k-1,若不滿足判斷條件,令di加1,重復步驟(3.3.3)至(3.3.10)直至滿足判斷條件;若滿足判斷條件,執(zhí)行步驟(3.3.11);
(3.3.11)判斷i是否滿足條件i=N/n,若不滿足判斷條件,令i加1,重復步驟(3.3.2)至(3.3.11)直至滿足判斷條件;若滿足判斷條件,輸出第0個符號到第N/n個符號所有可能取值時的似然信息。
如圖6所示,在步驟(3.3.5)中,計算中間度量值P(r0,xn×(i+1)|xn×i,di),其中r0為的計算步驟具體為,
1)初始化m=1,并初始化0時刻各同步狀態(tài)的初始概率值其中m表示第i個符號對應的稀疏向量表示形式中第m個比特,1≤m≤n;
2)設當前m時刻的同步漂移狀態(tài)y=-xmax;
3)令即將水印比特與第i個符號對應位置處的稀疏比特相異或;
4)令a=y(tǒng)-I;
5)判斷a是否滿足-xmax≤a≤xmax,若不滿足判斷條件,令a加1,重復步驟4)直至滿足判斷條件;若滿足判斷條件,令由前一時刻的漂移狀態(tài)a轉(zhuǎn)移至當前m時刻漂移狀態(tài)y的一次中間度量的概率執(zhí)行步驟6);
6)利用中間度量中輸出概率的計算公式,按照公式計算當前值;
7)判斷a是否滿足a=y(tǒng)+1,若不滿足判斷條件,令a加1,重復步驟5)至7)直至滿足條件;若滿足判斷條件,利用公式即得到m時刻同步漂移狀態(tài)為y時的概率值;
8)判斷m是否滿足m=n,若滿足判斷條件執(zhí)行步驟11);若不滿足判斷條件執(zhí)行步驟9);
9)判斷y是否滿足y=xmax,若不滿足判斷條件,令y加1,重復步驟3)至9)直至滿足判斷條件;若滿足判斷條件,執(zhí)行步驟10);
10)判斷m是否滿足m=n-1,若不滿足判斷條件,令m加1,重復步驟2)至10)直至滿足判斷條件;若滿足判斷條件,令m加1,令y=xn×(i+1),重復執(zhí)行步驟3)至8);
11)輸出中間度量值P(r0,xn×(i+1)|xn×i,di)=Mn(xn×(i+1))。
如圖7所示,在步驟6)中,中間度量值中輸出概率的計算步驟具體為,
①對于1≤m≤5,判斷當前時刻m的偏移狀態(tài)y與上一時刻m-1的漂移狀態(tài)a之間的聯(lián)系,計算轉(zhuǎn)移概率Pa,y=P(xy|xa),具體為,
若y=a-1,則Pa,y=Pd;
若y=a,則Pa,y=αIPiPd+Pt;
若a<y<a+I,則Pa,y=αI((Pi)y-a+1Pd+(Pi)y-aPt);
若y=a+I,則Pa,y=αI(Pi)IPt;
若不滿足上述四種情況,則Pa,y=0,其中αI=1/(1-(Pi)I)為考慮最大插入長度I的歸一化常數(shù),Pd為刪節(jié)概率;Pi為插入概率;Pt為傳輸概率;
②計算
③判斷比特串中的比特rn×i+m-1+y是否滿足判斷條件rn×i+m-1+y=tn×i+m-1,若滿足判斷條件,輸出概率若不滿足判斷條件,輸出概率
下面給出一個具體實施例,說明本發(fā)明提出的面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法的可行性。
在該發(fā)明實施例中,采用水印碼與傳統(tǒng)糾錯碼的級聯(lián)碼,選擇偽隨機序列作為水印序列,外碼為GF(16)上碼長NL=999,碼率為8/9的NB-LDPC碼,其中將NB-LDPC碼的每個符號di(0≤i<NL)映射為5比特低密度的二進制序列(s0,s1,s2,s3,s4)完成稀疏化;稀疏后的序列與水印序列相異或生成傳輸序列;DM級聯(lián)碼的整體碼率二進制輸入、二進制輸出的插入/刪節(jié)替代信道中的刪節(jié)概率與插入概率相同;分別仿真替代錯誤概率為0和0.003時的譯碼性能;內(nèi)譯碼器設定信道的最大連續(xù)插入比特的數(shù)量I=2,最大漂移量內(nèi)譯碼器輸出的每一個符號的似然信息轉(zhuǎn)換為對數(shù)似然比并傳遞給外譯碼器。
外譯碼器采用基于對數(shù)域的和積譯碼算法,迭代次數(shù)為50次;硬判決導向的迭代譯碼的最大迭代次數(shù)為5次。
圖8為不同插入/刪節(jié)概率下,采用硬判決導向的前后向估計方法的迭代譯碼與非迭代譯碼的誤塊率性能,其中Pindel表示同步錯誤概率,Ps表示替代錯誤概率。仿真結(jié)果表明,在相同的插入/刪節(jié)概率下,采用本發(fā)明提出的面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法的譯碼方案的性能優(yōu)于非迭代情況。
綜上所述,本發(fā)明實施例具體說明了面向插入刪節(jié)與替代錯誤的硬判決導向前后向估計方法。本發(fā)明通過用于插入刪節(jié)錯誤估計的前后向算法中引入外譯碼器輸出的硬判決碼字序列,使得內(nèi)譯碼器的參考序列為水印序列與稀疏化后的硬判決碼字序列的疊加,設計了一種采用硬判決導向的前后向估計方法。本發(fā)明提出的方法提高了內(nèi)譯碼算法的性能,以較小的復雜度獲得譯碼增益。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。