專利名稱:一種bch碼的譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線通信系統(tǒng)的通信領(lǐng)域,特別涉及到無線同播技術(shù)中的一種BCH碼的譯碼方法。
背景技術(shù):
DMR協(xié)議中,30ms數(shù)據(jù)為一幀,包含^8bit。在無線數(shù)字同播技術(shù)中,將一幀數(shù)據(jù)分6個時隙發(fā)送,每時隙包含5ms的數(shù)據(jù)量,即48bit。實(shí)際應(yīng)用中,需有一些數(shù)據(jù)用于功率上升及距離保護(hù),本技術(shù)中ISbit用于此功能,30bit為有效信息。BCH碼是迄今為止所發(fā)現(xiàn)的一類很好的線性糾錯碼。它的糾錯能力很強(qiáng),特別在短和中等碼長下,其性能很接近于理論值,并且構(gòu)造方便,編碼簡單。BCH碼的譯碼問題,一直是編碼理論研究中最感興趣的課題之一。1960年彼得遜奠定了二進(jìn)制BCH碼譯碼的理論基礎(chǔ),稍后戈雷(Gore)和齊勒爾(Zierler)推廣到多進(jìn)制情況。1965年福尼(Forney)解決了 BCH碼的糾錯糾刪碼。1966年伯利坎普提出了迭代譯碼算法,節(jié)省了計(jì)算量,加快了譯碼速度,因而從實(shí)際上解決了 BCH碼的譯碼問題。1969年梅西(Massey)指出了迭代譯碼算法與序列的最短線性移位寄存器綜合之間的關(guān)系,并進(jìn)行了簡化,自此以后把這種譯碼算法稱為BM迭代譯碼算法。BCH碼譯碼需用到伽羅華域上的運(yùn)算。GF(2m)中的每個元素有兩種表示方法冪表示和多項(xiàng)式表示。冪表示即為某個本原元α的冪,方便乘法運(yùn)算。多項(xiàng)式表示即為α°,α,…,α Μ的線性和的形式,方便加法運(yùn)算。DMR協(xié)議中,每一個時隙的發(fā)送都需要48個bit,而除了 18個保護(hù)比特外,還需要用于承載信息的30個bit來一并發(fā)送,但實(shí)際情況下,只有9個bit承載信息,不能滿足需要。針對DMR協(xié)議的這種需要,發(fā)明人設(shè)計(jì)了 BCH(30,9,12),通過編碼,把9個比特變到30個比特,這樣就可以通過一個時隙來發(fā)送所需數(shù)據(jù)量。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的缺陷,本發(fā)明提出了一種BCH碼的譯碼算法,其抗干擾性好, 且能夠?qū)崿F(xiàn)30個bit承載信息。本發(fā)明的技術(shù)方案如下一種BCH碼的譯碼方法,其包括以下步驟Sl 提供一 BCH(30,9,12)碼,所述 BCH(30,9,12)碼由本原 BCH(31,16)的縮短碼 BCH(29,9)增加一位奇偶校驗(yàn)位而得;S2 構(gòu)造BCH(30,9,12)碼的生成多項(xiàng)式,所述生成多項(xiàng)式為g00 = X2°+X18+X17+X13+X1(l+X9+X7+X6+X4+X2+1,其以 α,α 2,α 3,···, α 10 為根;S3 根據(jù)S2的生成多項(xiàng)式得到接收多項(xiàng)式r (X),r(X) =Iv1Xn-Wmr2X^r1Xkr0;S4 由接收多項(xiàng)式r(X)計(jì)算校正子S,校正子S= (S1, S2, S2t);
S5 由校正子S確定錯誤多項(xiàng)σ (X),σ (X) = (1+βνΧ)— (1+β2Χ) (l+β = σ νΧν+... σ 2Χ2+σ J+σ 0 ;S6 求σ⑴的根,確定錯誤位置數(shù),并糾正r (X)的錯誤;其中,ν為錯誤數(shù),βι; β2,…,β ν為錯誤位置。較佳地,所述步驟S4進(jìn)一步包括設(shè)發(fā)送碼字ν⑴=Vn^1Xn-1+- V2Xiv1Xkvtl,e⑴為錯誤模式,則接收多項(xiàng)式r⑴ 為r(X)= v(X)+e (X)0因α,α 2,α 3,…,α Μ為生成多項(xiàng)式的根,則校正子為Si = Hai) = I^1 a (n-1)i+...r2a 2i+ri a Wr0=(…((Iv1 ααa '+―+Γι) a ^r0 1 彡 i 彡 2t此計(jì)算方法在軟件實(shí)現(xiàn)下是最優(yōu)的;對于GF⑵上的多項(xiàng)式f(X),有f2⑴= f(x2),則校正子滿足S2i = Si2O較佳地,所述步驟S5進(jìn)一步包括σ i與校正子S之間的關(guān)系由如下牛頓恒等式確定S1+ σ j = 0S2+ σ jSi+2 O2 = O...Sv+o ^^+- + σ ^Si+νσ v = 0Sv+1+ σ ^v+- + σ ^1S2+ σ = 0以上方程組有很多解,所要求的是具有最低次數(shù)的σ⑴的解。較佳地,所述步驟S5使用簡化的BM迭代算法求解σ⑴令μ = -1/2,0,1,2,…t為迭代步,ο (μ) (X)為第μ次迭代獲得的錯誤多項(xiàng)式, du為第μ步差值,1μ為ο (μ)(Χ)的次數(shù)。μ =-1/2步時,初始值為ο H/2)(X) = 1,du =Io μ = 0步時,初始值為ο (°)(X) =l,d,= Sp假定已完成了第μ步迭代,第μ+1 步為1)如果 dv = 0,則 σ (μ+1)⑴=σ ⑷(X)2)如果(1μ興0,獲得μ步之前的一步P使得dp興0且2P-Ip具有最大值。于是σ (μ+1) (X) = σ (μ) (X)+d,。⑷(X)無論哪種情況,差值du+1為dM+l = S2m+3 + σ^%μ+2 + σ產(chǎn)+') +, + …+最后一行中的多項(xiàng)式σ ω(χ)就是要求的σ (X);若其次數(shù)大于t,則在接收多項(xiàng) Sr(X)中有多于t個不可糾的錯誤。較佳地,當(dāng)錯誤數(shù)ν小于t時,不需執(zhí)行t步迭代就可得到σ⑴;如果對于某個μ,d,及其后R-L-1)/2"!步迭代的差值都是0,則。⑷(X)就是錯誤位置多項(xiàng)式;若錯誤數(shù)目ν ( t,則僅需「( + v)/2]步迭代。較佳地,所述步驟S6進(jìn)一步包括
將1,α,α2,…,α (η = 2m_l)代入σ⑴就可求得ο⑴的根。由于αη = 1,因此α-1= α "Λ若01是σ⑴的根,則α Η就是錯誤位置數(shù),并且接收位IV1是錯誤位。較佳地,所述步驟S6中,m = 5,t = 5 ;當(dāng)錯誤數(shù)ν小于t時,僅需「(5+ ν)/2"]步迭
代即可得到錯誤多項(xiàng)式ο (X)。與現(xiàn)有技術(shù)相比,本發(fā)明的抗干擾性好,且能夠?qū)崿F(xiàn)30個bit承載信息。根據(jù)無線數(shù)字同播技術(shù)中的數(shù)據(jù)格式以及BCH碼的強(qiáng)糾錯性能,故設(shè)計(jì)出了 BCH(30,9,12)碼。因?yàn)槊恳粋€時隙的發(fā)送都需要48個bit,而除了 18個保護(hù)比特外,還需要30個bit來一并發(fā)送,但實(shí)際情況下,只有9個bit承載信息,通過BCH(30,9,12)編碼后,此9個bit就變成了 30個bit。綜上所述,構(gòu)造BCH(30,9,12)碼的目的有二 第一,把 9bit變到30bit,符號發(fā)射的bit數(shù);第二,BCH碼自身的性能很好,抗干擾強(qiáng)。
圖IBCH(30,9,12)軟、硬譯碼誤信性能比較示意圖;圖2BCH(30,9,12)軟、硬譯碼誤檢性能比較示意圖。
具體實(shí)施例方式下方結(jié)合附圖和具體實(shí)施例對本發(fā)明做進(jìn)一步的描述。實(shí)施例一種BCH碼的譯碼方法,其包括以下步驟Sl 提供一 BCH(30,9,12)碼,BCH(30,9,12)碼屬于 GFQ5)域,所述 BCH(30,9,12) 碼由本原BCH(31,16)的縮短碼BOK29,9)增加一位奇偶校驗(yàn)位而得,BCH(30,9,12)可糾正小于等于5的所有錯。S2 構(gòu)造BCH(30,9,12)碼的生成多項(xiàng)式,所述生成多項(xiàng)式為g 00 = X20+X18+X17+X13+X10+X9+X7+X6+X4+X2+l,其以 α,α 2,α 3,…,α 10 為根。S3 根據(jù)S2的生成多項(xiàng)式得到接收多項(xiàng)式r (X),r(X) =Iv1Xn-Wmr2X^r1Xkr0;S4 由接收多項(xiàng)式r(X)計(jì)算校正子S,校正子S= (S1, S2, S2t);S5 由校正子S確定錯誤多項(xiàng)σ⑴,σ (X) = (1+βνΧ)— (1+β2Χ) (l+β = σ νΧν+... σ 2Χ2+σ J+σ 0 ;S6 求ο⑴的根,確定錯誤位置數(shù),并糾正r⑴的錯誤;其中,ν為錯誤數(shù),β β 2,…,βν為錯誤位置。在本實(shí)施例中,所述步驟S4進(jìn)一步包括設(shè)發(fā)送碼字ν⑴=Vn^1Xn-1+- V2Xiv1Xkvtl,e⑴為錯誤模式,則接收多項(xiàng)式r⑴ 為r(X) = v(X)+e (X)0因α,α 2,α 3,…,α Μ為生成多項(xiàng)式的根,則校正子為Si = r ( α 0 = rn_! α (n_1)i+··· r2 α 2 +Γι α ^r0=(…((Iv1 α、_2) αα、…+巧)α ^r0 1 彡 i 彡 2t此計(jì)算方法在軟件實(shí)現(xiàn)下是最優(yōu)的;對于GF⑵上的多項(xiàng)式f(X),有f2⑴= f(x2),則校正子滿足S2i = Si2O在本實(shí)施例中,所述步驟S5進(jìn)一步包括
步驟S5由校正子S確定錯誤多項(xiàng)σ (X)經(jīng)理論推導(dǎo),可得
σi與校正子S之間的關(guān)系由如下牛頓恒等式確定
S1+ σ ! = 0
S2+ σ jSi+2 σ2 = 0
Sv+0 lSv-! + - + 0 v-iSi+VO v = O Sv+i+° iSv+- +Ov^VovS1 = O以上方程組有很多解,所要求的是具有最低次數(shù)的σ (X)的解。下面使用簡化的 BM迭代算法求解σ (X)0令μ = -1/2,0,1,2,…t為迭代步,σ (μ)(χ)為第μ次迭代獲得的錯誤多項(xiàng)式, du為第μ步差值,1μ為ο (μ)(Χ)的次數(shù)。μ =-1/2步時,初始值為ο H/2)(X) = 1,du =Io μ = O步時,初始值為ο (°)(X) =l,d,= Sp假定已完成了第μ步迭代,第μ+1 步為1)如果(1μ =0,則 0(μ+1)(Χ) = σ(μ)(Χ)2)如果dv Φ 0,獲得μ步之前的一步P使得dp興O且2Ρ -Ip具有最大值。于是
權(quán)利要求
1.一種BCH碼的譯碼方法,其特征在于,其包括以下步驟51提供一 BCH(30,9,12)碼,所述BCH(30,9,12)碼由本原BCH(31,16)的縮短碼 BCH(29,9)增加一位奇偶校驗(yàn)位而得;52構(gòu)造BCH(30,9,12)碼的生成多項(xiàng)式,所述生成多項(xiàng)式為gOO =X20+X18+X17+X13+X10+X9+X7+X6+X4+X2+1,其以 α,α2,α3,…,α 10 為根;53根據(jù)S2的生成多項(xiàng)式得到接收多項(xiàng)式r (X), r(X) =IV1Xn-^mr2Xir1Xkr0;S4:由接收多項(xiàng)式r (X)計(jì)算校正子S,校正子S= (S1, S2, -,S2t); S5 由校正子S確定錯誤多項(xiàng)σ (X),σ (X) = (1+ β νΧ)... (1+ β 2Χ) (1+ ^1X) = σ νΧν+…σ 2Χ2+ σ σ 0 ; S6:求σ⑴的根,確定錯誤位置數(shù),并糾正r (X)的錯誤; 其中,ν為錯誤數(shù),β2,…,β ν為錯誤位置。
2.根據(jù)權(quán)利要求1所述的一種BCH碼的譯碼方法,其特征在于,所述步驟S4進(jìn)一步包括設(shè)發(fā)送碼字V(X) = Vn^1Xn-1+-v^+v^^vo, e(X)為錯誤模式,則接收多項(xiàng)式r (X)為 r(X) = v(X)+e (X)0因α,α 2,α 3,…,α 2t為生成多項(xiàng)式的根,則校正子為 Si = r(a O = r^a fc^i+-. r2 α 2 +Γι a ^r0 =(…((IV1 α、_2) α、_3) a +Γι) a ^r0 1 彡 i 彡 2t此計(jì)算方法在軟件實(shí)現(xiàn)下是最優(yōu)的;對于GF (2)上的多項(xiàng)式f (X),有f2 (X) =f(X2),則校正子滿足S2t = S/。
3.根據(jù)權(quán)利要求1所述的一種BCH碼的譯碼方法,其特征在于,所述步驟S5進(jìn)一步包括σi與校正子S之間的關(guān)系由如下牛頓恒等式確定Si+σ ! = OS2+ σ jSi+2 σ2 = 0S + σ ,S ,+··· + σ ,S,+v σ =0wvIwV-IV-IwI ν νwSv+i+° iSv+- +Ov^VovS1 = O以上方程組有很多解,所要求的是具有最低次數(shù)的σ (X)的解。
4.根據(jù)權(quán)利要求3所述的一種BCH碼的譯碼方法,其特征在于,所述步驟S5使用簡化的BM迭代算法求解σ⑴令μ =-1/2,0,1,2, 為迭代步,ο⑷(X)為第μ次迭代獲得的錯誤多項(xiàng)式,dv 為第μ步差值,Iu為ο (μ)(Χ)的次數(shù)。μ = -1/2步時,初始值為ο (_"2)(X) =l,d,= 1。μ = O步時,初始值為O (0) (X) = 1,du =Sp假定已完成了第μ步迭代,第μ+l步為1)如果(1μ=0,則 ο(μ+1)(Χ) = ο(μ)(Χ)2)如果(1μ興0,獲得μ步之前的一步ρ使得dp興0且2p-lp具有最大值。于是σ (u+1) (X) = σ ⑷⑴+丄九-爐“)σ (P)(X) 無論哪種情況,差值Cl1^1為+ <+1) +2 + σ2 一) +1 + …+最后一行中的多項(xiàng)式ο ω(Χ)就是要求的σ (X);若其次數(shù)大于t,則在接收多項(xiàng)式 r(X)中有多于t個不可糾的錯誤。
5.根據(jù)權(quán)利要求4所述的一種BCH碼的譯碼方法,其特征在于, 當(dāng)錯誤數(shù)ν小于t時,不需執(zhí)行t步迭代就可得到σ (X);如果對于某個μ,d,及其后「( -[-1)/2"!步迭代的差值都是0,則σ⑷(X)就是錯誤位置多項(xiàng)式;若錯誤數(shù)目ν ( t,則僅需「( + v)/2"|步迭代。
6.根據(jù)權(quán)利要求1所述的一種BCH碼的譯碼方法,其特征在于,所述步驟S6進(jìn)一步包括將1,α,α2,…,α (η = 2m_l)代入σ⑴就可求得ο⑴的根。由于αη = 1,因 Μα-1= α "Λ若α1是σ⑴的根,則α 1^1就是錯誤位置數(shù),并且接收位Iv1是錯誤位。
7.根據(jù)權(quán)利要求5或6所述的一種BCH碼的譯碼方法,其特征在于,所述步驟S6中,m =53 = 5;當(dāng)錯誤數(shù)¥小于{時,僅需「(5 +力/2"1步迭代即可得到錯誤多項(xiàng)式σ (X)0
全文摘要
本發(fā)明公開了一種BCH碼的譯碼方法,其包括以下步驟S1提供一BCH(30,9,12)碼,所述BCH(30,9,12)碼由本原BCH(31,16)的縮短碼BCH(29,9)增加一位奇偶校驗(yàn)位而得;S2構(gòu)造BCH(30,9,12)碼的生成多項(xiàng)式,所述生成多項(xiàng)式為g(X)=X20+X18+X17+X13+X10+X9+X7+X6+X4+X2+1,其以α,α2,α3,…,α10為根;S3根據(jù)S2的生成多項(xiàng)式得到接收多項(xiàng)式r(X),r(X)=rn-1Xn-1+…r2X2+r1X1+r0;S4由接收多項(xiàng)式r(X)計(jì)算校正子S,校正子S=(S1,S2,…,S2t);S5由校正子S 確定錯誤多項(xiàng)σ(X),σ(X)=(1+βvX)…(1+β2X)(1+β1X)=σvXv+…σ2X2+σ1X+σ0;S6求σ(X)的根,確定錯誤位置數(shù),并糾正r(X)的錯誤;其中,v為錯誤數(shù),β1,β2,…,βv為錯誤位置。
文檔編號H03M13/15GK102394662SQ201110332249
公開日2012年3月28日 申請日期2011年10月27日 優(yōu)先權(quán)日2011年10月27日
發(fā)明者吳峰, 戎駿, 戴輝發(fā), 盛建峰 申請人:優(yōu)能通信科技(杭州)有限公司