專利名稱:一種譯碼方法及其譯碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信道糾錯(cuò)編碼領(lǐng)域,特別涉及一種譯碼方法及其譯碼裝置。
背景技術(shù):
Reed-Solomon (RS)碼是ー類糾錯(cuò)能力很強(qiáng)的糾錯(cuò)碼,可以糾正隨機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤,目前已經(jīng)被廣泛地應(yīng)用在數(shù)字通信和數(shù)據(jù)存儲(chǔ)中。RS碼譯碼分為硬判決和軟判決兩種譯碼方式。RS碼的代數(shù)軟判決譯碼算法能比硬判決譯碼算法獲得更高的編碼增益。但是,RS碼的軟判決譯碼的復(fù)雜度較高,硬件實(shí)現(xiàn)較為困難。在代數(shù)軟判決譯碼中,在保持與 其他代數(shù)軟判決譯碼性能相近的前提下,J. Bellorado和A. Kavcic提出了 LCC譯碼,參見J.Bellorado and A. Kavcic, “A low-complexity method for Chase-type decoding 01Reed-Solomon codes,,,in Proc. of IEEE Intl. Symp. on Info. Theory, Seattle, WA, Jul. 2006,pp. 2037-2041。LCC譯碼相比于其他代數(shù)軟譯碼,具有較低的復(fù)雜度,更易于硬件實(shí)現(xiàn)。第一種LCC譯碼方法對(duì)碼字采用重編碼、坐標(biāo)變換,然后對(duì)2n個(gè)測(cè)試向量進(jìn)行插值,采用錢搜索選擇插值結(jié)果,最后采用錢搜索選擇與福尼算法,擦除譯碼完成整個(gè)譯碼過程,參見 X. Zhang and J. Zhu, “Reduced-complexity multi-interpolator algebraicsoft—decision Reed—Solomon decoder,,,丄n Proc. of 丄EEE WorKshop on bigna丄Processing Syst. , San Francisco, CA, Oct. 2010,pp. 398-403。第二種LCC譯碼方法基于校正子的譯碼。此算法將2n個(gè)測(cè)試向量的校正子完全計(jì)算出來,然后全部采用inversion-less Berlekamp-Massy (iBM)算法求解錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式,此步驟稱為KES (Key Equation Solution,關(guān)鍵方程求解),再用錢搜索選擇和福尼算法,此算法參見 F. Garcia-Herrero, J. Valls and P. K. MeherHigh, “HighSpeed RS (255, 239) Decoder Based on LCC Decoding,,,Circuits Syst. Signal Process,vol. 30, no. 6, pp. 1643-1669,2011。通過對(duì)上述兩種方法進(jìn)行分析發(fā)現(xiàn)二者均存在著以下不足和缺陷第一種LCC譯碼方法1)求解錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式采用插值步驟實(shí)現(xiàn),但是插值算法本身算法較為復(fù)雜,不易于硬件實(shí)現(xiàn),即便采用了重編碼、坐標(biāo)變換等技術(shù),插值始終是LCC RS譯碼器硬件速度與輸出的瓶頸。目前主流的流水線LCC RS譯碼器設(shè)計(jì)均采用插值器所需要的時(shí)鐘周期數(shù)作為整個(gè)流水線設(shè)計(jì)的譯碼時(shí)鐘周期數(shù);另一方面,由于插值算法的復(fù)雜性,控制電路也不易設(shè)計(jì),而且實(shí)際設(shè)計(jì)中很容易形成很大的關(guān)鍵路徑,降低譯碼器最大時(shí)鐘頻率,進(jìn)ー步影響了譯碼器輸出速度;2)插值器的計(jì)算步驟復(fù)雜,同時(shí)需要存儲(chǔ)兩組插值多項(xiàng)式,因此,插值器不僅需要大量的計(jì)算單元,包括有限域乘法器、有限域加法器和選擇器,還需要大量的寄存器存儲(chǔ)更新的多項(xiàng)式,如為了提高速度,采用多插值器的設(shè)計(jì),則更加増加了插值步驟所占的硬件資源。第二種LCC譯碼方法此算法相比于插值算法雖有一定簡化,但是需要分別計(jì)算不同測(cè)試向量中的公共點(diǎn)與非公共點(diǎn)的校正子,不僅導(dǎo)致硬件需求增加,而且需要更多的時(shí)鐘周期才能完成計(jì)算。
發(fā)明內(nèi)容
為了提高LCC RS譯碼器的輸出速度,降低硬件資源消耗,優(yōu)化譯碼器的譯碼效率問題,本發(fā)明提供了一種譯碼方法及其譯碼裝置,一種譯碼方法,所述方法包括以下步驟(I)根據(jù)信道接受信息完成重?cái)?shù)分配,輸出硬判決接受序列,同時(shí)構(gòu)造2n個(gè)測(cè)試
向量;(2)獲取每個(gè)測(cè)試向量對(duì)應(yīng)的校正子S(X);(3)獲取所述校正子S(X)對(duì)應(yīng)的錯(cuò)誤位置多項(xiàng)式σ (X)與錯(cuò)誤估值多項(xiàng)式
ω (X);(4)判斷所述錯(cuò)誤位置多項(xiàng)式σ (X)根的數(shù)目和次數(shù)是否一致,如果是,執(zhí)行步驟
(8);如果否,執(zhí)行步驟(5);(5)判斷已經(jīng)測(cè)試的測(cè)試向量個(gè)數(shù)是否超過2η,如果是,執(zhí)行步驟(6);如果否,執(zhí)行步驟⑵(6)錯(cuò)誤超出可糾正范圍,譯碼失敗,流程結(jié)束;(7)對(duì)所述校正子S(X)進(jìn)行更新,得到下一個(gè)測(cè)試向量對(duì)應(yīng)的校正子,重新執(zhí)行步驟⑶;(8)計(jì)算每個(gè)碼元位置a1的多項(xiàng)式σ (X)的值,判斷σ Ui)是否等于0,如果是,執(zhí)行步驟(9);如果否,執(zhí)行步驟(10);(9)所述碼元位置α 1為錯(cuò)誤位置,根據(jù)錯(cuò)誤值公式獲取錯(cuò)誤值,將所述錯(cuò)誤位置的碼兀rHD—i與ei相加,作為正確的碼兀輸出,流程結(jié)束;(10)所述碼元」直接作為譯碼結(jié)果輸出,流程結(jié)束。所述對(duì)所述校正子S(X)進(jìn)行更新,得到下一個(gè)測(cè)試向量對(duì)應(yīng)的校正子具體包括計(jì)算完第I個(gè)測(cè)試向量的校正子之后,將第I個(gè)測(cè)試向量與第2個(gè)測(cè)試向量取值不同的碼元位置標(biāo)記為am,計(jì)算碼元位置α"1上rmm與r2HDm的差值,并乘以am,得到ffl-r2Iffl_m) α 將其加到第I個(gè)測(cè)試向量的校正子S1上,得到第2個(gè)測(cè)試向量的S1 ;接著分別計(jì)算(rHD—m_r2m m) α '2t,加到第I個(gè)測(cè)試向量的校正子も上即更新得到第2個(gè)測(cè)試向量的A,以此類推,完成第τ個(gè)測(cè)試向量校正子更新之后,采用同樣方法得到第τ+1個(gè)測(cè)試向量校正子,τ <2η,繼而得到全部2η測(cè)試向量的校正子。一種譯碼裝置,所述譯碼裝置分為三級(jí)流水線,第一級(jí)為校正子計(jì)算單元;第二級(jí)包含了校正子更新単元,KES単元和多項(xiàng)式選擇單元;第三級(jí)為錢捜索與福尼算法単元,所述校正子計(jì)算單元,用于輸出硬判決接受序列,構(gòu)造2η個(gè)測(cè)試向量;所述校正子更新単元,用于接受所述硬判決接受序列的校正子,對(duì)校正子進(jìn)行更新;所述KES単元,用于計(jì)算錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式;所述多項(xiàng)式選擇單元,用于對(duì)2 η錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式進(jìn)行計(jì)算,判斷是否是正確的KES結(jié)果;所述錢搜索與福尼算法単元,用于根據(jù)多項(xiàng)式選擇的錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式,對(duì)碼字進(jìn)行糾錯(cuò)。
所述校正子更新單元具體為第一個(gè)時(shí)鐘周期,寄存器D3, D4, ...D2t^中首先存入第I個(gè)測(cè)試向量rHD(x)的校正子S1, S2, . . . S2t,將第I個(gè)測(cè)試向量與第2個(gè)測(cè)試向量取值不同的碼兀位置記為a m,多路選擇器I選擇rHD—m,多路選擇器2選擇r2HD—m,送入加法器,得到rHD—m-r2HD—m,存入寄存器D2 ;多路選擇器3選擇a m,存入寄存器Dl ;第二個(gè)時(shí)鐘周期吋,多路選擇器4選擇D2的輸出,則乘法器計(jì)算得到m-r2m m) X α %存入寄存器S_diff ;第三個(gè)時(shí)鐘周期吋,S_diff與S1相加得到第2個(gè)測(cè)試向量的S1,存入D2t+3,而S2t存入D2t+2,以此類推,寄存器D3, D4,. . . D2t+2都左移一位,此時(shí)多路選擇器4選擇寄存器S_diff作為輸出,則乘法器結(jié)果為m-r2m m) X α 2%存入S_diff ;第四個(gè)時(shí)鐘周期吋,(rHD m-r2HD m) X a 2m與S2相加得到第2個(gè)測(cè)試向量的S2,存入D2t+3,第2個(gè)測(cè)試向量的S1存入D2t+2,以此類推,寄存器D3, D4, · · · D2t+1都左移一位;如此,2t個(gè)時(shí)鐘周期后,寄存器D3, D4, . . . D2t+3中儲(chǔ)存著第2個(gè)測(cè)試向量的校正子S1, S2, . . . S2to
所述多項(xiàng)式選擇單元具體為第一個(gè)時(shí)鐘周期吋,t個(gè)多路選擇器選擇錯(cuò)誤位置多項(xiàng)式σ (X)的系數(shù)σ t, σ t-!, ... σ i作為輸入,自上而下第一行的t個(gè)乘法器輸出依次為QtXat, σ αト1,· · · Q1Xa,加上σ。得到σ (α )的值;同理,自上而下最后一行t個(gè)乘法器輸出依次為otX atp,Ot^1X Qpft-1), ... O1X αρ,加上。。便可以得到σ ( α ρ)的值;同時(shí),最后一行的乘法器輸出分別被存入t個(gè)寄存器;第二個(gè)時(shí)鐘周期,t個(gè)多路選擇器選擇t個(gè)寄存器,自上而下第一行的t個(gè)乘法器輸出依次為σ tX a (p+1)t, OmX α (p+1)
Q1X αρ+1,加上σ。得到 (αρ+1)的值;同樣,自上而下最后一行t個(gè)乘法器輸出依次為OtX a2pt,OwX α2ρ(Η),..· O1X α2ρ,加上σ。得到σ ( α 2り的值;如此反復(fù)在2q+p個(gè)時(shí)鐘后,完成對(duì)σ (X)所有根的捜索,P為并行因子,q為有限域的參數(shù)。本發(fā)明提供的一種譯碼方法及其譯碼裝置的有益效果是本方法代替第二種LCC譯碼方法中的公共點(diǎn)與非公共點(diǎn)分離校正子算法,校正子更新単元與RiBM的KES単元所需時(shí)鐘周期相同,可以流暢地完成對(duì)2n個(gè)測(cè)試向量校正子的更新與KES ;校正子更新単元所需硬件需求小于公共點(diǎn)與非公共點(diǎn)分離校正子算法,并且實(shí)現(xiàn)簡單,可以達(dá)到較高的最大時(shí)鐘頻率,繼而得到高速譯碼輸出。
圖I為本發(fā)明提供的一種譯碼方法的流程圖;圖2為本發(fā)明提供的一種譯碼裝置的結(jié)構(gòu)示意圖;圖3為本發(fā)明提供的校正子計(jì)算單元的結(jié)構(gòu)示意圖;圖4為本發(fā)明提供的校正子更新單元的結(jié)構(gòu)示意圖;圖5為本發(fā)明提供的KES單元的結(jié)構(gòu)示意圖;圖6為本發(fā)明提供的多項(xiàng)式選擇單元的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)ー步地詳細(xì)描述。為了提高LCC RS譯碼器的輸出速度,降低硬件資源消耗,優(yōu)化譯碼器的譯碼效率問題,本發(fā)明實(shí)施例提供了一種譯碼方法,參見圖1,詳見下文描述101 :根據(jù)信道接受信息完成重?cái)?shù)分配,輸出硬判決接受序列,同時(shí)構(gòu)造2n個(gè)測(cè)試
向量;其中,該步驟具體為根據(jù)信道接受信息,得到硬判決序列rHD(X)=rm(n-D X xn_1+rHD_(n-2) X xn_2. . . rro_0, rHD—,是硬判決序列rHD (x)的第i個(gè)碼元的值,選擇后驗(yàn)概率最小的Π個(gè)碼元位置視為不可靠位置,輸出第一硬判決值rm i和第二硬判決值r2m i,對(duì)于這Π個(gè)位置中的碼元位置Cii,符號(hào)α表示有限域GF(2O上的本原元,通常用α 1來表示碼字中第i個(gè)碼元的位置,r2HD」是第i個(gè)碼元的第二硬判決值。這η個(gè)碼元位置中的任意ー個(gè)位置i上,對(duì)碼元取值為rHD」或者r2HD i;因此一共有2n種情況,可以產(chǎn)生2n個(gè)可能 的碼字,稱為2n個(gè)測(cè)試向量。102 :獲取每個(gè)測(cè)試向量對(duì)應(yīng)的校正子S(X);
η-I其中,校正子S(X) =S2tXX2SS2HXx2t' --S1Xx, sι = Σ rnD_ia'],I く j く 2t,rHD_i(x)是第一硬判決值rHD(X)的第i個(gè)碼元,α是有限域GF(2O上的本原元,11=2^ - 1,硬判決可糾正錯(cuò)誤為t, > k為信息位的長度,q為有限域的參數(shù)。103 :獲取校正子S(X)對(duì)應(yīng)的錯(cuò)誤位置多項(xiàng)式σ (X)與錯(cuò)誤估值多項(xiàng)式ω (χ);其中,該步驟采用現(xiàn)有技術(shù)中通用的RiBM算法,計(jì)算δ (χ)多項(xiàng)式,并依此求錯(cuò)誤位置多項(xiàng)式σ (χ)和錯(cuò)誤估值多項(xiàng)式ω (X),本發(fā)明實(shí)施例在此不做贅述。104:判斷錯(cuò)誤位置多項(xiàng)式σ (χ)根的數(shù)目和次數(shù)是否一致,如果是,執(zhí)行步驟108 ;如果否,執(zhí)行步驟105 ;105 :判斷已經(jīng)測(cè)試的測(cè)試向量個(gè)數(shù)是否超過2n,如果是,執(zhí)行步驟106 ;如果否,執(zhí)行步驟107 106 :錯(cuò)誤超出可糾正范圍,譯碼失敗,流程結(jié)束;107 :對(duì)校正子進(jìn)行更新,得到下一個(gè)測(cè)試向量對(duì)應(yīng)的校正子,重新執(zhí)行步驟103 ;其中,該步驟具體為采用類似格雷碼的方式排序2n個(gè)測(cè)試向量,所得所有測(cè)試向量與其后測(cè)試向量只在一個(gè)碼元位置上的碼元取值不同;計(jì)算完第I個(gè)測(cè)試向量的校正子之后,將第I個(gè)測(cè)試向量與第2個(gè)測(cè)試向量取值不同的碼元位置標(biāo)記為CIm,計(jì)算碼元位置パ上rmm與r2HDm的差值,并乘以α'得到(rHD m) a m,將其加到第一個(gè)測(cè)試向量的校正子S1上,得到第二個(gè)測(cè)試向量的S1 ;接著分別計(jì)算(rHD_ffl-r2HD_ffl) αj ^ 2t,カロ到第一個(gè)測(cè)試向量的校正子Sj上即更新得到第二個(gè)測(cè)試向量的も,以此類推,完成第τ個(gè)測(cè)試向量校正子更新之后,采用同樣方法得到第τ+1個(gè)測(cè)試向量校正子,τ〈2η,繼而得到全部2n測(cè)試向量的校正子。108 :計(jì)算每個(gè)碼元位置α 1的多項(xiàng)式σ (χ)的值,判斷 ( αり是否等于0,如果是,執(zhí)行步驟109 ;如果否,執(zhí)行步驟110 ;109 :碼元位置α 1為錯(cuò)誤位置,根據(jù)錯(cuò)誤值公式獲取錯(cuò)誤值,將錯(cuò)誤位置的碼元rm—i與ei相加,作為正確的碼元輸出,流程結(jié)束;
其中,錯(cuò)誤值計(jì)算公式g, =(Wf11 Φ\) Λ , σ' Ui)表示碼元位置Cii在錯(cuò)
Cir χσ ^ )
誤位置多項(xiàng)式σ (χ)的導(dǎo)函數(shù),ω(α0表示碼元位置α 1的錯(cuò)誤估值多項(xiàng)式。110 :碼元rm」直接作為譯碼結(jié)果輸出。為了提高LCC RS譯碼器的輸出速度,降低硬件資源消耗,優(yōu)化譯碼器的譯碼效率問題,本發(fā)明實(shí)施例提供了一種譯碼裝置,重?cái)?shù)分配一般通過軟件實(shí)現(xiàn),不包含在本譯碼裝置之中。參見圖2,譯碼裝置分為三級(jí)流水線,第一級(jí)為校正子計(jì)算單元;第二級(jí)包含了校正子更新単元,KES単元和多項(xiàng)式選擇單元;第三級(jí)為錢捜索與福尼算法単元,流水線各級(jí)間碼字通過RAM存儲(chǔ)。校正子計(jì)算單元,用于輸出硬判決接受序列,構(gòu)造2n個(gè)測(cè)試向量;校正子更新単元,用于接受硬判決接受序列的校正子,對(duì)校正子進(jìn)行更新;KES単元,用于計(jì)算錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式;多項(xiàng)式選擇單元,用于對(duì)2 n錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式進(jìn)行計(jì)算,判斷是否是正確的KES結(jié)果;錢搜索與福尼算法単元,用于根據(jù)多項(xiàng)式選擇的錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式,對(duì)碼字進(jìn)行糾錯(cuò)。其中,參見圖3,校正子計(jì)算單元中的寄存器初始化為0,乘法器輸出為0,rHD(x)硬判決序列依次由高到低進(jìn)入校正子計(jì)算單元,第一個(gè)時(shí)鐘周期時(shí),輸入加上乘法器輸出0,依然得到rm (n_D,被送入2t寄存器;第二個(gè)時(shí)鐘周期時(shí)2t個(gè)寄存器輸出rm—(Iri)通過各自的乘法器,再加上輸入rHD—(n_2)分別得到rm—(Iri) X a +rHD—(η_2),rm—
(n-l) X Q +rHD—(n-2), · · · rHD_(n-l) X Q +rHD_(n-2)
一共2t個(gè)結(jié)果,再次被存入2t個(gè)寄存器;如
此類推,η 個(gè)時(shí)鐘周期后,得到 rm—(Iri) X a n_1+rHD (n_2) X α n_2· · · +rro o, rHD—(Iri) X a 2(n_1)+rro_(n-2) X a 2(n_2)· · · +rHD—o,· · · rHD—Μ) X a 2t(Iri)+rm—(n_2) X a 2t(n_2)· · · +rroo,即 S1, S2,. . . S2t。校正子計(jì)算單元計(jì)算出對(duì)應(yīng)第I個(gè)測(cè)試向量的校正子后,即最佳硬判決碼字rm(x)的校正子,然后將第一個(gè)計(jì)算結(jié)果和n個(gè)不可靠點(diǎn)傳給SKP。SKP在接受到校正子計(jì)算的結(jié)果時(shí),校正子更新單元和KES單元同時(shí)開始工作。KES單元開始根據(jù)RiBM算法計(jì)算第I個(gè)測(cè)試向量的δ (χ)多項(xiàng)式,以求得錯(cuò)誤位置多項(xiàng)式和錯(cuò)誤估值多項(xiàng)式。同時(shí)校正子更新多項(xiàng)式開始計(jì)算對(duì)于第2個(gè)測(cè)試向量的校正子。因?yàn)镵ES和校正子更新多項(xiàng)式均需要2t個(gè)時(shí)鐘周期,所以兩者之間可以實(shí)現(xiàn)流水線對(duì)接。而KES單元輸出的結(jié)果傳送給SKP中的多項(xiàng)式選擇單元進(jìn)行判斷該結(jié)果是否正確。如果正確則停止KES単元與多項(xiàng)式更新,將此KES単元的錯(cuò)誤位置多項(xiàng)式和錯(cuò)誤估值多項(xiàng)式傳給錢捜索與福尼算法単元,SKP工作結(jié)束。
其中,參見圖4,校正子更新単元更新開始時(shí),第一個(gè)時(shí)鐘周期,寄存器D3, D4,…D2t+3中首先存入第I個(gè)測(cè)試向量rm(x)的校正子S1, S2, . . . S2to將第I個(gè)測(cè)試向量與第2個(gè)測(cè)試向量取值不同的碼元位置記為a m,多路選擇器I選擇m,多路選擇器2選擇r2mm,送入加法器,得到rHDm-r2HDm,存入寄存器D2。多路選擇器3選擇α"1,存入寄存器Dl。第ニ個(gè)時(shí)鐘周期吋,多路選擇器4選擇D2的輸出,即m-r2m m,則乘法器計(jì)算得到( JXam,存入寄存器S_diff。第三個(gè)時(shí)鐘周期吋,S_diff與S1相加得到第2個(gè)測(cè)試向量的S1,存入D2t+3,而S2t存入D2t+2,以此類推,寄存器D3, D4,... D2t+2都左移一位,此時(shí)多路選擇器4選擇寄存器S_diff作為輸出,則乘法器結(jié)果為(rHDm-r2HDm) X α2"1,存入S_diff。第四個(gè)周期吋,(rro_m-r2Iffl m) X α 2ηι與S2相加得到第二個(gè)測(cè)試向量的S2,存入D2t+3,第2個(gè)測(cè)試向量的S1存入D2t+2,以此類推,寄存器D3, D4, . . . D2t+1都左移一位。如此,2t個(gè)時(shí)鐘周期后,寄存器D3,D4, . . . D2t+3中儲(chǔ)存著第2個(gè)測(cè)試向量的校正子S1, S2, . . . S2to其中,參見圖5,本發(fā)明實(shí)施例中采用通用的KES單元結(jié)構(gòu)完成RiBM算法的實(shí)現(xiàn)。該結(jié)構(gòu)由兩個(gè)寄存器、兩個(gè)有限域乘法器,ー個(gè)有限域加法器以及ー個(gè)多路選擇器實(shí)現(xiàn)。整個(gè)譯碼器共需要3t個(gè)KES単元。通過對(duì)校正子S1;S2,. . . S2t的運(yùn)算,可以得到錯(cuò)誤位置多項(xiàng)式σ (χ)和錯(cuò)誤估值多項(xiàng)式ω (χ)。其中,參見圖6,多項(xiàng)式選擇單元選擇開始,第一個(gè)時(shí)鐘周期吋,t個(gè)多路選擇器選擇錯(cuò)誤位置多項(xiàng)式σ (χ)的系數(shù)ot,Q1作為輸入,則此時(shí)刻自上而下第一行的t 個(gè)乘法器輸出依次為OtXat, σ ^1X αト1,... O1Xa,加上σ。便可以得到σ (a )的值。同理,自上而下最后一行t個(gè)乘法器輸出依次為OtX atp,OwX αρ(Η),... O1X αρ,加上%便可以得到σ (αρ)的值。同時(shí),最后一行的乘法器輸出分別被存入t個(gè)寄存器。第二個(gè)時(shí)鐘周期,t個(gè)多路選擇器選擇t個(gè)寄存器,此時(shí)刻自上而下第一行的t個(gè)乘法器輸出依次為 0tXa(p+1)t,OhX a (ρ+1)(η),... O1Xap+1,加上便可以得到 σ ( a ρ+1)的值。同樣,自上而下最后一行t個(gè)乘法器輸出依次為otXa2pt,OwXa2pa-1),... O1Xa2p,加上%便可以得到σ (α2り的值。如此反復(fù),在24P個(gè)時(shí)鐘后,既可以完成對(duì)ο (χ)所有根的捜索,P為并行因子。下面以ー個(gè)具體的試驗(yàn)來驗(yàn)證本發(fā)明實(shí)施例提供的一種譯碼方法和譯碼裝置的可行性,詳見下文描述本發(fā)明實(shí)施例通過對(duì)相鄰測(cè)試向量進(jìn)行排序,可以充分前一個(gè)測(cè)試向量的校正子結(jié)果,從而避免了原有的對(duì)于所有測(cè)試向量的校正子的大量計(jì)算,減小了譯碼復(fù)雜度,可以提供具有更高輸出和更小面積的LCC RS譯碼裝置。以(255,239) RS碼LCC譯碼器為例,本發(fā)明實(shí)施例提供的 LCC RS譯碼器與 Garcia 等人“High Speed RS (255,239) Decoder Basedon LCC Decoding”一文中的譯碼器均采用XC5vlx50t-3Virtex-V FPGA實(shí)現(xiàn),表I為兩者的結(jié)果對(duì)比,顯然本發(fā)明實(shí)施例中的譯碼器可以獲得更大的譯碼輸出,而消耗的硬件資源則大幅減少。表I (255,239) RS碼,η =3的本實(shí)例LCCRS譯碼器實(shí)現(xiàn)
寄存器 LUT Slice 最大時(shí)鐘頻譯碼時(shí)鐘最大輸
率(MHz) 周期出
(Mbps)
—本發(fā)明__2247 __5621 __1534 __149 5 __275 __1109 _
Garcia文中的
RS LCC 譯碼 5399 5114 2524 150.5432 710 7
II Ill___
綜上所述,本發(fā)明實(shí)施例提供了一種譯碼方法和譯碼裝置,本方法代替第二種LCC譯碼方法中的公共點(diǎn)與非公共點(diǎn)分離校正子算法,校正子更新単元與RiBM的KES単元所需時(shí)鐘周期相同,可以流暢地完成對(duì)2n個(gè)測(cè)試向量校正子的更新與KES ;校正子更新単元所需硬件需求小于公共點(diǎn)與非公共點(diǎn)分離校正子算法,并且實(shí)現(xiàn)簡單,可以達(dá)到較高的最大時(shí)鐘頻率,繼而得到高速譯碼輸出。本領(lǐng)域技術(shù)人員可以理解附圖只是ー個(gè)優(yōu)選實(shí)施例的示意圖,上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種譯碼方法,其特征在于,所述方法包括以下步驟 (1)根據(jù)信道接受信息完成重?cái)?shù)分配,輸出硬判決接受序列,同時(shí)構(gòu)造2n個(gè)測(cè)試向量; (2)獲取每個(gè)測(cè)試向量對(duì)應(yīng)的校正子S(X); (3)獲取所述校正子S(X)對(duì)應(yīng)的錯(cuò)誤位置多項(xiàng)式0(X)與錯(cuò)誤估值多項(xiàng)式《 (X); (4)判斷所述錯(cuò)誤位置多項(xiàng)式0(X)根的數(shù)目和次數(shù)是否一致,如果是,執(zhí)行步驟(8);如果否,執(zhí)行步驟(5); (5)判斷已經(jīng)測(cè)試的測(cè)試向量個(gè)數(shù)是否超過2n,如果是,執(zhí)行步驟(6);如果否,執(zhí)行步驟(7) (6)錯(cuò)誤超出可糾正范圍,譯碼失敗,流程結(jié)束; (7)對(duì)所述校正子S(X)進(jìn)行更新,得到下一個(gè)測(cè)試向量對(duì)應(yīng)的校正子,重新執(zhí)行步驟(3); (8)計(jì)算每個(gè)碼元位置Cii的多項(xiàng)式。(x)的值,判斷0(Cii)是否等于O,如果是,執(zhí)行步驟(9);如果否,執(zhí)行步驟(10); (9)所述碼元位置Cii為錯(cuò)誤位置,根據(jù)錯(cuò)誤值公式獲取錯(cuò)誤值,將所述錯(cuò)誤位置的碼元rHD—,與ei相加,作為正確的碼元輸出,流程結(jié)束; (10)所述碼元rHD」直接作為譯碼結(jié)果輸出,流程結(jié)束。
2.根據(jù)權(quán)利要求I所述的一種譯碼方法,其特征在于,所述對(duì)所述校正子S(X)進(jìn)行更新,得到下一個(gè)測(cè)試向量對(duì)應(yīng)的校正子具體包括 計(jì)算完第I個(gè)測(cè)試向量的校正子之后,將第I個(gè)測(cè)試向量與第2個(gè)測(cè)試向量取值不同的碼元位置標(biāo)記為am,計(jì)算碼元位置a1 上的差值,并乘以a"1,得到(rmni-r2mJam,將其加到第I個(gè)測(cè)試向量的校正子S1上,得到第2個(gè)測(cè)試向量的S1 ;接著分別計(jì)算(rro_ffl-r2Ifflffl) a '2t,加到第I個(gè)測(cè)試向量的校正子Sj上即更新得到第2個(gè)測(cè)試向量的I,以此類推,完成第T個(gè)測(cè)試向量校正子更新之后,采用同樣方法得到第t+1個(gè)測(cè)試向量校正子,T〈2\繼而得到全部2q測(cè)試向量的校正子。
3.—種譯碼裝置,其特征在于,所述譯碼裝置分為三級(jí)流水線,第一級(jí)為校正子計(jì)算單元;第二級(jí)包含了校正子更新單元、KES單元和多項(xiàng)式選擇單元;第三級(jí)為錢搜索與福尼算法單元, 所述校正子計(jì)算單元,用于輸出硬判決接受序列,構(gòu)造2n個(gè)測(cè)試向量; 所述校正子更新單元,用于接受所述硬判決接受序列的校正子,對(duì)校正子進(jìn)行更新; 所述KES單元,用于計(jì)算錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式; 所述多項(xiàng)式選擇單元,用于對(duì)2n錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式進(jìn)行計(jì)算,判斷是否是正確的KES結(jié)果; 所述錢搜索與福尼算法單元,用于根據(jù)多項(xiàng)式選擇的錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式,對(duì)碼字進(jìn)行糾錯(cuò)。
4.根據(jù)權(quán)利要求3所述的一種譯碼裝置,其特征在于,所述校正子更新單元具體為 第一個(gè)時(shí)鐘周期,寄存器D3, D4, ...D2t+3中首先存入第一個(gè)測(cè)試向量1^00的校正子S1, S2, . . . S2t,將第I個(gè)測(cè)試向量與第2個(gè)測(cè)試向量取值不同的碼元位置記為a m,多路選擇器I選擇m,多路選擇器2選擇r2HD m,送入加法器,得到rHD m-r2HD m,存入寄存器D2 ;多路選擇器3選擇a m,存入寄存器Dl ;第二個(gè)時(shí)鐘周期時(shí),多路選擇器4選擇D2的輸出,則乘法器計(jì)算得到(rm m-r2m J X a %存入寄存器S_diff ;第三個(gè)時(shí)鐘周期時(shí),S_diff與S1相加得到第2個(gè)測(cè)試向量的S1,存入D2t+3,而S2t存入D2t+2,以此類推,寄存器D3, D4,…仏代都左移一位,此時(shí)多路選擇器4選擇寄存器S_diff作為輸出,則乘法器結(jié)果為m-r2m J X a '存入S_diff ;第四個(gè)時(shí)鐘周期時(shí),(rHD m-r2HD m) X 02-與52相加得到第二個(gè)測(cè)試向量的S2,存入D2t+3,第2個(gè)測(cè)試向量的S1存入D2t+2,以此類推,寄存器D3, D4,. . . D2t+1都左移一位;如此,2t個(gè)時(shí)鐘周期后,寄存器D3, D4, . . . D2t+3中儲(chǔ)存著第2個(gè)測(cè)試向量的校正子S1, S2, . . . S2to
5.根據(jù)權(quán)利要求3所述的一種譯碼裝置,其特征在于,所述多項(xiàng)式選擇單元具體為第一個(gè)時(shí)鐘周期時(shí),t個(gè)多路選擇器選擇錯(cuò)誤位置多項(xiàng)式0 (X)的系數(shù)O t, O t_j, . . . O i作為輸入,自上而下第一行的t個(gè)乘法器輸出依次為OtXat, a hX a卜1,... O1Xa,加上o。得到o (a )的值;同理,自上而下最后一行t個(gè)乘法器輸出依次為otXatp,OhX Cip(H), ... 0iXaP,加上0。得到0 ( a p)的值;同時(shí),最后一行的乘法器輸出分別被存入t個(gè)寄存器;第二個(gè)時(shí)鐘周期,t個(gè)多路選擇器選擇所述t個(gè)寄存器,自上而下第一行的t個(gè)乘法器輸出依次為0tXa(p+1)t,O ^1X a (p+1)_,... O1X ap+1,加上得到o (ap+1)的值;同樣,自上而下最后一行t個(gè)乘法器輸出依次為otX a2pt, OwX Ci2p(H),... %>< 加上0。得到0 ( a ”的值;如此反復(fù)在2^+p個(gè)時(shí)鐘后,完成對(duì)O (X)所有根的搜索,p為并行因子,q為有限域的參數(shù)。
全文摘要
本發(fā)明公開了一種譯碼方法及其譯碼裝置,涉及信道糾錯(cuò)編碼領(lǐng)域,譯碼裝置分為三級(jí)流水線,第一級(jí)為校正子計(jì)算單元;第二級(jí)包含了校正子更新單元,KES單元和多項(xiàng)式選擇單元;第三級(jí)為錢搜索與福尼算法單元,所述校正子計(jì)算單元,用于輸出硬判決接受序列,構(gòu)造2η個(gè)測(cè)試向量;所述校正子更新單元,用于接受所述硬判決接受序列的校正子,對(duì)校正子進(jìn)行更新;所述KES單元,用于計(jì)算錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式;所述多項(xiàng)式選擇單元,用于對(duì)2η錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式進(jìn)行計(jì)算,判斷是否是正確的KES結(jié)果;所述錢搜索與福尼算法單元,用于根據(jù)多項(xiàng)式選擇的錯(cuò)誤位置多項(xiàng)式與錯(cuò)誤估值多項(xiàng)式,對(duì)碼字進(jìn)行糾錯(cuò)。
文檔編號(hào)H03M13/15GK102684709SQ201210144049
公開日2012年9月19日 申請(qǐng)日期2012年5月10日 優(yōu)先權(quán)日2012年5月10日
發(fā)明者張為, 王皓 申請(qǐng)人:天津大學(xué)