一種rs碼頻域快速譯碼方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于糾錯碼技術(shù)領(lǐng)域,尤其涉及一種RS(Reed Solomon)碼頻域快速譯碼方 法。
【背景技術(shù)】
[0002] 糾錯碼的編譯碼歷史始于1948年香農(nóng)發(fā)表的一篇著名論文。香農(nóng)指出,只要一個 通信系統(tǒng)所要求的傳信率R小于信道容量C,就有可能用糾錯碼為此信道設(shè)計一通信系統(tǒng) 使其輸出差錯概率為任意小。RS碼是一種代數(shù)結(jié)構(gòu)比較完美的一種糾錯碼,也是一類有很 強糾錯能力的多進制BCH碼,能糾正突發(fā)錯誤。RS碼已廣泛應(yīng)用于⑶、DVD以及藍光光盤 中,在數(shù)據(jù)傳輸中,它被用于DSL和WiMAX,在廣播系統(tǒng)中DVB和ATSC中也有其應(yīng)用。若將 碼字看作是時間域或頻率域上的信號,糾錯碼的譯碼可以分為基于有限域的傅里葉變換的 頻域譯碼以及時域譯碼。在RS碼頻域譯碼中不需要求出錯誤位置和錯誤值,較其時域譯碼 方式譯碼復(fù)雜度低。因此,研究RS碼的頻域快速譯碼算法具有重要的意義。
[0003] 在GF (qm)域上的糾 t個錯誤的RS碼,碼參數(shù)n = qm_l關(guān)系如下:n = qm_l, k = n-2t,d = 2t+l,其中q表示素數(shù)(通常取2),η表示碼長,k表示信息段,d表示 最小碼距,其接收多項式r (X)為r (X) = IV^r1X+." +rn Jn 1 (n = qm-l),對接收多項式 r(x)進行頻域譯碼。常規(guī)RS碼頻域譯碼處理包括下列步驟:(1)計算接收多項式r(x) 的傅里葉變換R(x)及系數(shù)R j,其中R(x) zR。+!^+···+!^,1,而R(x)的各傅里葉分量
其中α為GF(cf)的本原元;(2)計算錯誤位置多項式 σ (X),其常用的為基于Berlekamp迭代算法求錯誤位置多項式σ (X) :RS碼頻域譯碼中 其2t (t為糾錯個數(shù))個伴隨式分量Sl,S2,…,s2t等于R(X)的2t個譜分量R ^ R2,…,R2t, 由伴隨式分量迭代求出錯誤位置多項式σ (X) = 〇Q+〇lX+…+ 〇vxv,其中V為實際錯誤 個數(shù);(3)計算頻域上錯誤多項式E(X) :RS碼頻域譯碼中的錯誤多項式e(x)的傅里葉 變換E(X)的2t個譜分量E1, E2,…,E2t等于R(X)的2t個譜分量R u R2,…,R2t,按式Ελ+? =-(σ !+ σ 2Ελ+? 2+..· + σ νΕλ+? v),t+1 < λ < η-1- λ 計算譜分量 E2t+1至Ij E " 1;按式
計算譜分量Ε。; (4)計算頻域譯碼V(x)的傅里葉逆變換, 輸出譯碼結(jié)果。即根據(jù)公式V(X) =R(X)-E(X)計算頻域譯碼V(x),再計算其逆傅里葉變 換,即得譯碼的碼字多項式,逆傅里葉變換算法類似于傅里葉變換算法,根據(jù)步驟(1) 采用的某種方法計算傅里葉逆變換,完成譯碼。
[0004] 在RS碼的常規(guī)頻域譯碼處理中,步驟(1)中求解接收多項式r(x)的傅里葉變換 RU)的計算量非常大,從而導(dǎo)致其譯碼的復(fù)雜度高,因此有必要對其進行改進,以降低現(xiàn)有 RS碼的譯碼復(fù)雜度。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的發(fā)明目的在于:對常規(guī)RS碼頻域譯碼進行改進,進而達到降低譯碼復(fù)雜 度的目的。本發(fā)明利用有限域特征通過合并同類項的方式實現(xiàn)有限域的傅里葉變換的快 速計算,并將該方法應(yīng)用到RS碼譯碼中。為了進一步降低譯碼的計算復(fù)雜度,本發(fā)明還將 Cooley-Tukey FFT算法和合并同類項方法相結(jié)合應(yīng)用到RS譯碼中。
[0006] 本發(fā)明的RS碼頻域快速譯碼方法,包括下列步驟:
[0007] 步驟1 :計算碼長η的接收多項式r(x) = IV^r1X+…+rn Jn \ (n = qm_l)的傅里葉 變換R(x),R(x) = Ro+R1X+…+Rn Z S計算傅里葉變換R(x)可采用如下兩種方法之一來完 成。
[0008] 方法1 :合并同類項法;
[0009] (1)將有限域6?(〇中的元素表示為{0}1^<11|0彡1^^-2},( 1為本原元,根 據(jù)
計算非零元素集合中(Ct1IO彡i彡q m_2}各元素 α1的階ord(a % 其中g(shù)cd〇表示求取最大公約數(shù),將{a 1IO < i < qm_2}中的元素按照元素的階劃分集合, 階相同的元素劃分為一個子集合;
[0010] ⑵計算傅里葉分量Rj:
[0011] 設(shè)p = 〇rd( a D,對P辛η的各元素所對應(yīng)的傅里葉分量(也稱譜分量),采用合 并同類項法計算所對應(yīng)的傅里葉分量民(1 e [0,qm-2]):
[0012] 假設(shè)階為p的子集合的元素個數(shù)為K個,則對應(yīng)該K個元素(1,a \ (a D2,… η ,(α T 4均有^組(1,α1,(α1)2,…(α1) 15 4循環(huán),所以計算對應(yīng)傅里葉分量民時可先提 取公因子。因為碼長為n,f組循環(huán),所以[r]可以合并^項,傅里葉分量R1可以根據(jù)公式
計算得到,其中階系數(shù)
[0013] 當元素的階為η時,相應(yīng)的傅里葉分量R,則不能用上述算法計算得到,仍需按照 基本傅里葉變換公式
[0014] 方法2 :Cooley_Tukey FFT算法與合并同類項法相結(jié)合計算傅里葉變換;
[0015] Cooley-Tukey FFT 算法描述如下:
[0016] 分解碼長n = Ii1 · n2,將接收多項式r (X)的系數(shù)r。,!T1,…rn i改組為:
?即將原系數(shù)巧(0彡i彡cf-2)的下標i改為(i',i"),其中 i = i ' +riji " , i' = 0, 1,...,n「l,i " = 0, 1,...,n2_l ;
[0017] 對應(yīng)上述改組,將傅里葉變換R(x)的傅里葉分量R。,R1,…Rn i改組為
,即將傅里葉分量R JO彡j彡qm-2)的下標j改為 (j',j");其中 j = n2j' +j",j' = 0, 1,…,n「l,j" = 0, 1,…,n2-l ;
[0018] 根據(jù)公式
計算與階為n的元素 a ] (j e [0, qm-2)所對應(yīng)的傅里葉變換分量R,,采用合并同類項法計算階ρ辛η的各元素 所對應(yīng)的傅里葉分量R1,對民、Rj而言,i辛j。在上述方法2中,即對于譜分量下標為元素 階為η的真因子的域元素上標時,按照合并同類項法計算相應(yīng)譜分量;對于譜分量下標為 元素階為η本身的域元素上標時,按照Cooley-Tukey FFT算法計算相應(yīng)譜分量。
[0019] 步驟2 :計算錯誤位置多項式σ (X),如利用Berlekamp迭代算法求錯誤位置多項 式 〇 (X):
[0020] RS碼頻域譯碼中其2t(t為糾錯個數(shù))個伴隨式分量S1, S2,…,S2t等于R(X)的 2t個譜分量RpR2,…,R 2t,由伴隨式分量迭代求出錯誤位置多項式〇 (X) = σ。+O1X+… + σνχν,ν為實際錯誤個數(shù)。
[0021] 步驟3 :計算頻域上錯誤多項式E(X);
[0022] RS碼頻域譯碼中其錯誤多項式e (X)的傅里葉變換E (X)的2t個譜分量E1, E2,… ,E2t等于R (X)的2t個譜分量R ^ R2,…,R2t;
[0023] 按式按式 Ελ+?=-( 〇 !+σ 2Ελ+? 2+…+ σ νΕλ+? v),t+Ι < λ < η-1-λ 計算譜 分量 E2t+1ilj En 1;
[0024] 按式
計算譜分量Ε。。
[0025] 步驟4 :根據(jù)公式V (X) = R (X) -E (X)計算頻域上譯碼V (X),再對其計算其反傅里 葉變換,即得譯碼的碼字多項式4 Y):逆傅里葉變換算法類似于傅里葉變換算法,根據(jù)步驟 1采用的方法1或方法2計算V(X)的傅里葉逆變換MO,完成譯碼。
[0026] 本發(fā)明公開了兩種將有限域的快速傅里葉變換應(yīng)用到RS碼頻域譯碼的方法, 均能達到降低譯碼復(fù)雜度的目的。以計算總乘法次數(shù)表示傅里