個4 X 4的矩陣來進一步提升譯碼效率。解5個錯時運用re liability-research 算法對5個錯進行譯碼,在這里該算法是一種重復利用4個錯的譯碼算法以實現(xiàn)對5個錯進 行譯碼的算法。本發(fā)明提出的4個錯譯碼算法高效,且reliability-research算法是一種隨 著信噪比增加其譯碼效率快速提高的算法,因此使得5個錯的譯碼效率得到較大提升。
【附圖說明】
[0018] 圖1為本發(fā)明提出的硬判決譯碼算法的流程圖;
[0019] 圖2為本發(fā)明提出的新譯碼算法與現(xiàn)有譯碼算法在AWGN信道下的性能對比。
【具體實施方式】
[0020] 以下針對附圖和具體實例,對本發(fā)明的實施作進一步具體說明。
[0021] 對于4個錯和5個錯而言,現(xiàn)有的譯碼算法均涉及到未知校正子的計算,它們具有 較大的運算量。本發(fā)明基于牛頓恒等式得出4個錯的代數(shù)式子作為錯誤位置多項式,直接用 已知校正子對其進行譯碼,該方法在一定程度減小了運算量,提升了譯碼效率。同時把現(xiàn)有 的4個錯判斷條件減小到8個4 X 4的矩陣來進一步提升譯碼效率。
[0022]給定一個接收矢量r(長度可為47比特),對r進行取模運算,得到余數(shù)si = r%g,其 中g是生成函數(shù);對余數(shù)81進行判斷,如果該值為0,則認為接收矢量r是一個合法碼字,輸出 r即可;如果S1不為0,則說明接收矢量r中發(fā)生錯誤,需要進一步的計算以實現(xiàn)譯碼。
[0023]根據平方剩余碼的構造規(guī)則利用有限域GF中元素獲得已知校正子,根據已知校正 子構建矩陣,計算不含未知校正子的系數(shù);根據已知校正子和矩陣判斷接收矢量發(fā)生錯誤 數(shù),根據系數(shù)建立錯誤位置多項式,求解錯誤位置多項式,根據錯誤位置多項式的根與有限 域中元素獲得接收矢量的錯誤位置。(可根據公式:w = Z/A得到錯誤位置,其中,w為接收矢 量中發(fā)生錯誤的位置數(shù)值,A為有限域中元素對應的冪)
[0024]通過牛頓恒等式組推導得出4個錯的錯誤位置多項式的不含未知校正子的系數(shù)。 建立4個錯錯誤位置多項式,
[0025]根據已知校正子S^S2, S3計算4個錯的錯誤位置多項式的不含未知校正子的系數(shù) 分別為。!^^^,根據如下公式獲得:
[0026]
[0027] (2)
[0028] (3)
[0029]
(4)
[0030] 其中kl一1?,匕2,匕9,1311為中間變量,31-S3為已知校正子,〇1-〇4分別為含有1 一4個 錯的不含未知校正子的系數(shù),取有限域GF(223)中的元素 β,通過公式:
[0031] sFr^heW1)計算得到已知校正子S1。根據平方剩余碼的構造規(guī)則,α為有限 域元素 ,β = α178481。參考該碼的構造規(guī)貝1】,如果譯碼正確必然有az = aw*A= (αΑΓ=Γ。這樣,β 是有限域GF(223)中的元素,β1表示邱勺i次方,r(x)為碼字的代數(shù)形式,e(x)是錯誤模式的代 數(shù)形式。假設一個碼的碼長是5,如其碼字的二進制形式是10110,相應的代數(shù)形式r(x)和e (X)為x4+x2+x計算已知校正子時,將代數(shù)式中的X替換為已知校正子S1即可。
[0032]其中中間變量與已知校正子的關系如下:
[0042] 根據未知校正子的系數(shù)建立4個錯誤的錯誤位置多項式為:
[0043] L4(Z) 其系數(shù)都不含未知校正子。
[0044] 從低錯誤形態(tài)依次解到高錯誤形態(tài)的譯碼過程,即依次根據發(fā)生錯誤的條件判斷 錯誤的次數(shù),根據錯誤次數(shù)建立相應多項式,解出多項式的根得到錯誤位置,依次類推,直 到解完5個錯的錯誤位置多項式為止。根據錯誤位置多項式的根及有限域中元素,確定錯誤 位置。再將接收矢量r對應的該錯誤位置翻轉即可(如該位置是1,則翻轉為0;如果該位置是 O,則翻轉為1)。
[0045] (如L1(Z)=O解出的Z為a16Q6329 ,因有限域GF(223)元素 β = α178481,那么α16()6329 = β9, 此時接收矢量的第9位就是錯誤位置。如:LKZ)=0解出的Z^a16t36329,辦為# 12658,其中有限 域GF(223)元素 β = α178481,那么α16()6329 = β9,α3212658 = β18,此時9,18就是錯誤位置,錯在第9位 和第18位。
[0046] 以下具體根據發(fā)生錯誤個數(shù)說明多項式的建立。
[0047] 1)發(fā)生0個錯誤
[0048] 如果S1 = O,判斷為接收矢量沒有發(fā)生錯誤,相應的〇1 = 〇2 = 〇3 = 〇4 = 〇5 = 0。錯誤位 置多項式為Lo(Z)=0。
[0049] 2)發(fā)生1個錯誤
[0050] 如果S147 = 1,判斷為接收矢量發(fā)生1個錯誤,相應的02 = 03 = 04=05 = (^:^1^ = S1,錯誤位置多項式為L1 (Z) = Z+S!。
[0051 ] 3)發(fā)生2個錯誤
[0052] 如果STXs+SiXg =。,判斷為接收矢量發(fā)生2個錯誤,其中X^Ss+SAX^SgSi9。相應 的 O3 = 〇4 = 〇5 = 0。得到O1 = Si,〇2 = (S3+S13) /Si,錯誤位置多項式為L2 ( Z ) = Z2+SlZ。
[0053] 4)發(fā)生3個錯誤
[0054] 根據已知校正子構建矩陣
,如果行列式Cl = 〇,判斷為接 收矢量發(fā)生3個錯誤,相應的系數(shù)〇4= O5 = 〇。得到O1 = Si,〇2 = ( S6X3+S9) /( S1S6+S7 ),O3 = ( S7X3 +S1X9) / (SiX6+S7),建立錯誤位置多項式L3⑵為:L3⑵=。
[0055] 5)發(fā)生4個錯誤
[0056]根據已知校正子構建矩陣:
[0057]
[0058]
[0059]
[0061 ]如果等式 M(Si8m+S27n2+S42n3)+N(Simi+S9m2+S2im3) =0,判斷為接收矢量發(fā)生 4 個錯 誤。相應的〇5 = 0。
[0062] t艮據公式〇i = Sl,〇2= (klk2+k3k4)/(k5k2+k3k6),〇3 = X3+Sl〇2,〇4=〇22+〇2b2+SlS3+Sl4+ b2S3/Sd#到發(fā)生4個錯誤的不含未知校正子的系數(shù),由此,建立錯誤位置多項式為:L 4(Z) = Z4+〇iZ3+〇2Z2+〇3Z+〇4。
[0063] 6)發(fā)生5個錯誤
[0064] 如果M(Si8m+S27n2+S42n3)+N(Simi+S9m2+S2im3)矣0,判斷為接收矢量至少發(fā)生5個錯 誤。首先計算接收矢量對應的比特可靠性值,并按可靠性值從小到大排序,接著翻轉可靠性 最低的比特,然后按照4個錯誤的譯碼方式譯碼,如果譯碼失敗,則將被翻轉的比特翻轉回 去,并翻轉可靠性第二低的比特,不斷重復直到解出4個錯誤位置,或者達到預設的最大翻 轉次數(shù)γ。如果譯碼成功,解出的4個錯誤位置加上前面翻轉的一個錯誤比特位置,即得到5 個錯誤位置。
[0065] 在譯碼過程中,需從第0個錯誤判斷條件到第4個錯誤判斷條件依次判斷。如果滿 足第3個錯誤條件就認為此時接收矢量發(fā)生3個錯誤,如果不滿足再計算第4個錯誤判斷條 件,如果滿足就認為此時接收矢量發(fā)生4個錯誤,否則接收矢量發(fā)生5個錯誤。一般錯誤位置 多項式的求解方式具有相當運算復雜度。在求解錯誤位置多項式之前,我們計算一種運算 復雜度較低的判斷條件,若果條件結果滿足要求,則再求解相應錯誤位置多項式,如果不滿 足則計算下一錯誤判斷條件并對其進行判斷。平方剩余碼是一種錯誤位置多項式的復雜度 會隨著錯誤個數(shù)的增加而增加的循環(huán)碼,所以通過使用判斷條件在一定程度上可減小運算 復雜度。
[0066]以下舉例說明采用reliability-research的方法解5個錯誤的方法,該算法是一 種重復利用4個錯的譯碼算法以實現(xiàn)對5個錯進行譯碼的算法,且是一種隨著信噪比增加其 譯碼效率快速提高的算法。
[0067] 為了解5個錯誤,譯碼器必須計算兩個11階的多項式f (S5)和g(S5)。在有限域GF (223)下,計算這兩個多項式的系數(shù)具有較高的運算復雜度。因此,為了降低譯碼復雜度,本 發(fā)明采用reliability-search algorithm的方法求解5個錯誤。這種譯碼方式運用接收矢 量中每個比特的可靠性值。該可靠性值越大,說明這個比特發(fā)生錯誤的可能性越??;反之, 則錯誤可能性越大。
[0068]假設在接收矢量中有5個錯。首先計算