TWI487291B - 循環碼解碼器及其方法 - Google Patents

循環碼解碼器及其方法 Download PDF

Info

Publication number
TWI487291B
TWI487291B TW100139777A TW100139777A TWI487291B TW I487291 B TWI487291 B TW I487291B TW 100139777 A TW100139777 A TW 100139777A TW 100139777 A TW100139777 A TW 100139777A TW I487291 B TWI487291 B TW I487291B
Authority
TW
Taiwan
Prior art keywords
symptom
values
error
symbols
code
Prior art date
Application number
TW100139777A
Other languages
English (en)
Other versions
TW201320622A (zh
Inventor
Yi Min Lin
Chih Hsiang Hsu
Hsie Chia Chang
Chen Yi Lee
Original Assignee
Univ Nat Chiao Tung
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Nat Chiao Tung filed Critical Univ Nat Chiao Tung
Priority to TW100139777A priority Critical patent/TWI487291B/zh
Priority to US13/609,829 priority patent/US8943391B2/en
Publication of TW201320622A publication Critical patent/TW201320622A/zh
Application granted granted Critical
Publication of TWI487291B publication Critical patent/TWI487291B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1525Determination and particular use of error location polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/159Remainder calculation, e.g. for encoding and syndrome calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Description

循環碼解碼器及其方法
本發明是有關於一種解碼器及其方法,特別是指一種循環碼(cyclic code)解碼器及其方法。
一循環碼編碼字碼從傳送端發出後,會藉由通道傳遞而在接收端形成一接收序列,其中編碼字碼具有多個為硬性資訊的符元,而接收序列則具有多個為軟性資訊的元素。
最為常見的接收端解碼方式是基於Chase演算法,先對接收序列的多個元素進行可靠度評估以產生R個評估後字碼,接著解碼出R個對應候選字碼,最後再從這些候選字碼中選出最接近接收序列者當作解碼碼字。此可參考D. Chase於1972年提出的”A Class of Algorithms for Decoding Block Codes with Channel Measurement Information,”IEEE Trans. Inform. Theory ,vol.1T-18,p.170~182。
其中,最常使用歐式距離(Euclidean distance)法則來計算哪一候選字碼最接近接收序列。但是,接收序列的各元素均為軟性資訊而呈現浮點數型式,所以這個步驟的計算十分繁瑣。
此外,習知循環碼的解碼過程中,不管是採用Berlekamp-Massey(BM)的迭代計算,或是採用Euclid的輾轉相除法來求取錯誤位置多項式,實現電路都相當複雜。且Chase演算法又必須搭配R套解碼電路來解碼該R個候選字碼,因此電路成本頗高。
因此,本發明之目的,即在提供一種能降低電路成本的循環碼解碼器及其方法。
於是,本發明循環碼解碼方法,包含以下步驟:(A)藉由一可靠度處理器處理一個具有n個符元的接收字碼,並為其中q個不可靠符元設定R=2q 組候選值,n>q>1;(B)藉由一徵兆計算器為該接收字碼計算出相關於其中一組候選值的2t個徵兆值,其中t為該接收字碼所對應之一循環碼編碼字碼的錯誤更正能力;(C)藉由一關鍵方程式運算器根據該等徵兆值產生一個階數最多為t的錯誤位置多項式;(D)當該錯誤位置多項式的階數大於一門檻,藉由該徵兆計算器更新該2t個徵兆值使相關於另一組候選值,其中該門檻<t;(E)重複步驟(C)~(D),直到該錯誤位置多項式的階數不大於該門檻,則藉由一錯誤更正器基於最後調整出之錯誤位置多項式的根值來對該接收字碼進行錯誤更正。
而本發明循環碼解碼器,包含:一可靠度處理器,用以處理一個具有n個符元的接收字碼,並為其中q個不可靠符元設定R=2q 組候選值,n>q>1;一徵兆計算器,為該接收字碼計算出相關於其中一組候選值的2t個徵兆值,其中t為該接收字碼所對應之一循環碼編碼字碼的錯誤更正能力;一關鍵方程式運算器,根據該等徵兆值產生一個階數最多為t的錯誤位置多項式;及一錯誤更正器,用以對該接收字碼進行錯誤更正;當該關鍵方程式運算器判斷出該錯誤位置多項式的階數大於一門檻,該徵兆計算器會更新該2t個徵兆值使相關於另一組候選值,且該關鍵方程式運算器會以更新後的該等徵兆值調整該錯誤位置多項式,其中該門檻<t;直到調整出的錯誤位置多項式階數不大於該門檻,該錯誤更正器會基於最後調整出之錯誤位置多項式的根值來對該接收字碼進行錯誤更正。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之二個較佳實施例的詳細說明中,將可清楚的呈現。
在本發明被詳細描述之前,要注意的是,在以下的說明內容中,類似的元件是以相同的編號來表示。
第一較佳實施例
參閱圖1,本發明循環碼解碼器100之第一較佳實施例適用於經由一通道8接收一個具有n個元素的接收序列,以找出接收序列中哪幾個元素受到通道8干擾並進行錯誤更正,而得到一個逼近於接收序列的解碼字碼。
由於接收序列是取自通道8,而解碼字碼是經過數位解碼產生,因此本例特別定義接收序列具有的n個元素為軟性資訊而呈現類比形式(如浮點數0.78或1.26),解碼字碼則對應地具有n個呈數位形式的符元。
圖1的循環碼解碼器100包含一可靠度處理器1、一徵兆(syndrome)計算器2、一關鍵方程式運算器3、一徵兆更新器5及一錯誤更正器6。
可靠度處理器1評估接收序列的n個類比形式元素來分別對應得到一第一評估字碼的n個數位形式符元,且從中選出最不可靠的q個符元,並為該q個符元設定R=2q 組候選值,1<q<n。徵兆計算器2為該接收序列計算出相關於其中一組候選值的2t個徵兆值,關鍵方程式運算器3則根據該等徵兆值產生一個階數最多為t的錯誤位置多項式,其中t為接收序列所對應之循環碼編碼字碼的錯誤更正能力。
當錯誤位置多項式的階數不大於一門檻,錯誤更正器6利用該錯誤位置多項式找出接收序列的哪幾個元素受到通道8干擾,並進行錯誤更正。而當錯誤位置多項式的階數大於該門檻,徵兆更新器5則選用另一組候選值來產生2t個分別對應該等徵兆值的調整因子,以供徵兆計算器2更新對應的徵兆值來送往關鍵方程式運算器3。
為便於說明循環碼解碼器100所執行之本發明循環碼解碼方法的較佳實施例,以下假設一編碼字碼經由通道8傳遞而在循環碼解碼器100處形成該接收序列,這個編碼字碼基於BCH(Bose-Chaudhuri Hocquenghem)編碼方式而具有n=15個數位形式的符元,且如熟悉本技藝者所熟知:BCH字碼的各符元僅含有m=1個位元,所以符元值非1即0。這意味著接收序列的各元素只有m=1個浮點數信號,且評估字碼和解碼字碼的各符元只有m=1個位元。
解碼方法包含圖2的以下步驟:步驟71:可靠度處理器1評估接收序列的n個類比形式元素來分別對應得到第一評估字碼的n個數位形式符元,且從中選出最不可靠的q個符元。
較佳地,本例採用LLR(對數似然比,log-likelihood ratio)來決定各類比形式元素較可能被判斷成為1值的符元或較可能為0值的符元。倘若元素為1與為0的機率相當,則稱對應符元不可靠。當然在其他應用中判斷方式不限於此。
步驟72:可靠度處理器1為選出的q個符元設定R=2q 組候選值。
例如:第一評估字碼中,位於第二、第五和第八位置的符元被選為最不可靠,那這三個符元會有R=23 組候選值,即{0,0,0}、{0,0,1}、{0,1,0}、{0,1,1}、{1,0,0}、{1,0,1}、{1,1,0}、{1,1,1}。
步驟73:徵兆計算器2為該接收序列計算出相關於其中一組候選值的2t個徵兆值。
具體來說,徵兆計算器2會以類似可靠度處理器1的評估方式來分析接收序列的n個類比形式元素而得到一第二評估字碼的n個數位形式符元,然後據以計算2t個徵兆值。請注意,將第二評估字碼中「對應於第一評估字碼之q個最不可靠符元」的q個符元集合起來,即為步驟73所稱的相關候選值。
步驟74:關鍵方程式運算器3根據2t個徵兆值產生一個階數最多為t的錯誤位置多項式。
步驟75:關鍵方程式運算器3判斷錯誤位置多項式的階數是否不大於一門檻。當判斷出階數不大於該門檻,流程跑到步驟77;而當判斷出階數大於該門檻,流程跑到步驟76。
較佳地,門檻=(t-1)。這是因為錯誤位置多項式的階數通常代表著該接收序列受到通道8干擾的元素數目,而階數達最高值t時,更意味著受干擾元素數目至少為t。假設受干擾元素數目=t,那麼這個錯誤位置多項式的t個根值可被求出;但是若受干擾元素數目>t,則根值無解。因此為了避免無解的窘境,本例不在階數=t時進行多項式求解。當然,在其他應用中,也可以依據通道8狀況設定較小的門檻值,如:(t-2)、(t-3)...。
步驟76:徵兆更新器5選用該q個不可靠符元的另一組候選值來求取2t個分別對應該等徵兆值的調整因子,以供徵兆計算器2更新對應的徵兆值,然後跳回步驟74以更新後的徵兆值調整錯誤位置多項式。
在此舉例說明如何更新徵兆值,假設以接收多項式P(x)=r 0 +r 1x +r 2x 2 +r 3x 3 +...+r 14x 14 來表示第二評估字碼的n=15個符元r0 ,r1 ,r2 ,r3 ...,r14 。徵兆計算器2先在步驟73將2t個非零元素分別代入接收多項式來算出2t個對應的徵兆值。然後,徵兆更新器5於步驟76以另一組候選值來取代第二評估字碼的其中q個符元,且計算這個取代程序會對各徵兆值產生多大變動,以做為更新對應徵兆值的調整因子。
計算方式為:若以{s1 (i),s1 (j),s1 (k)}表示前一次選用的候選值,以{s2 (i),s2 (j),s2 (k)}表示目前選用的候選值,當非零元素為α且符元ri 、rj 、rk 不可靠,調整因子={s 2 (i )‧α i +s 2 (j )‧α j +s 2 (k )‧α k }-{s 1 (i )‧α i +s 1 (j )‧α j +s 1 (k )‧α k }。例如:{r2 ,r5 ,r8 }從候選值{0,1,0}換成{0,1,1},那麼調整因子={0‧α 2 +1‧α 5 +1‧α 8 }-{0‧α 2 +1‧α 5 +0‧α 8 }。
步驟77:錯誤更正器6解析錯誤位置多項式,以找出該接收序列受到通道8干擾的元素位置並進行錯誤更正來得到該解碼字碼。
詳細來說,錯誤更正器6會以該q個不可靠元素最後選用的候選值來更新第二評估字碼,並且求出錯誤位置多項式的根值來得知需進行錯誤更正的元素位置,接著修改第二評估字碼中和那些位置相呼應的符元。以BCH編碼來說,符元值非1即0,所以修改動作是將該符元反相即可。
值得注意的是,本例循環碼解碼器100不侷限使用於BCH編碼應用,也可適用於其他循環碼,如:RS(Reed Solomon,李德所羅門)編碼。本發明領域具有通常知識者可類推前述解碼方法而找出RS接收序列受到通道干擾的元素位置,故在此不多贅述。不過,RS符元具有m(m>1)個位元,因此符元的可能值有2m 個,無法僅以簡單的反相動作進行修改。所以,錯誤更正器6還會找出匹配於錯誤位置多項式的錯誤值多項式,藉以求出錯誤更正後的適當符元值。
又,應用於RS解碼時,接收序列之各元素所具有的m個信號為類比形式,且評估字碼之各符元所具有的m個位元為數位形式。可靠度處理器1會逐一評估這些元素的各個信號是較偏向1值的位元或較偏向0值的位元。當其中一信號為1值與為0值的機率相當,該可靠度處理器1判斷對應位元不可靠。
此外,步驟73不限於在步驟71~72後執行,也可以同時執行,或早於步驟71~72。並且,徵兆更新器5於步驟76選用另一組候選值的選擇順序可以是基於二進位碼(Binary Code)或是格雷碼(Gray Code)。例如:當第一個選用的候選值是{0,1,0},可依據二進位方式依序選取{0,1,1}、{1,0,0}、{1,0,1}...,其中各候選值的集合值會遞增。或者,可依據格雷碼方式依序選取{1,1,0}、{1,1,1}、{1,0,1}...,其中任意兩個相鄰候選值只有一個位元改變。
又,雖然步驟71是希望選出「最不可靠」的q個符元,但是如果有多個符元不可靠度相當,也可以選取其中q個「較不可靠」的符元即可。
由前述流程可以明顯觀察到:本例會一一檢視該等候選值所對應的錯誤位置多項式,直到檢驗出錯誤位置多項式的階數不大於該門檻,才停止。所以求取錯誤位置多項式的次數≦候選值R=2q ,且只要針對最後調整出的錯誤位置多項式進行求解即可。反觀習知Chase演算法,必須搭配R套電路來算出R組候選值的錯誤位置多項式並分別求出根值,運算次數和電路成本都遠高於本例。
此外,本例以更新徵兆值的方式來得到下一個候選值所對應的錯誤位置多項式,而不是像習知技術般為每一個候選值都獨立算出對應的徵兆值,所以省去了許多重複的計算電路。
參閱圖3,其顯示了本例相對於Chase演算法的字碼錯誤率模擬。這個模擬使用了一個RS(255,239)編碼字碼,具有以k=239個資料符元編碼而得到的n=255個編碼符元。從圖示可觀察到:選取出的不可靠元素數目q越多,字碼錯誤率越低。特別說明的是,本例於q=5的字碼錯誤率和Chase演算法於q=3時的表現相當,但是從表一可得知本例所需進行的運算次數明顯少於Chase演算法。
表二更比較了本例和Chase演算法的硬體實現成本,不難察覺本例的邏輯閘數(gate count)少於Chase,尤其是記憶體的使用。其中,Chase相關數據取自Zhang提出的”High-speed VLSI Architecture for Low-complexity Chase Soft-decision Reed-Solomon Decoding”。
第二較佳實施例
參閱圖4,本發明循環碼解碼器200之第二較佳實施例不直接接收載有軟性資訊的接收序列,而是透過一前級電路9來接收相關信號。明確來說,該前級電路9會評估接收序列而送出具有n個數位形式符元的接收字碼,且會送出一個不可靠信號來提示接收字碼中哪q個符元不可靠。
因此,可靠度處理器1’不用進行評估與不可靠位置選取,可直接將接收字碼視為第一評估字碼,且根據不可靠信號為其中q個符元設定R=2q 組候選值。也就是說,解碼方法省略了步驟71。且步驟73中,徵兆計算器2’也不用進行評估,可直接拿接收字碼當作第二評估字碼來計算徵兆值。
綜上所述,前述較佳實施例中,循環碼解碼器100、200會為該R個候選值求出對應的錯誤位置多項式,且直到錯誤位置多項式階數不大於門檻,才進行錯誤位置多項式求解。所以前述實施例不需像習知技術般準備R套電路,也不需要以歐式距離法則選擇最接近接收序列的候選字碼,能有效降低電路成本,故確實能達成本發明之目的。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
100...循環碼解碼器
200...循環碼解碼器
1、1’...可靠度處理器
2、2’...徵兆計算器
3...關鍵方程式運算器
5...徵兆更新器
6...錯誤更正器
71~77...步驟
8...通道
9...前級電路
圖1是一方塊圖,說明本發明循環碼解碼器之第一較佳實施例;
圖2是一流程圖,說明循環碼解碼方法;
圖3是一模擬示意圖,說明本例相對於Chase演算法的字碼錯誤率;及
圖4是一電路圖,說明本發明循環碼解碼器之第二較佳實施例。
100...循環碼解碼器
1...可靠度處理器
2...徵兆計算器
3...關鍵方程式運算器
5...徵兆更新器
6...錯誤更正器
8...通道

Claims (10)

  1. 一種循環碼解碼方法,包含以下步驟:(A)藉由一可靠度處理器處理一個具有n個符元的接收字碼,並為其中q個不可靠符元設定R=2q 組候選值,n>q>1;(B)藉由一徵兆計算器為該接收字碼計算出相關於其中一組候選值的2t個徵兆值,其中t為該接收字碼所對應之一循環碼編碼字碼的錯誤更正能力;(C)藉由一關鍵方程式運算器根據該等徵兆值產生一個階數最多為t的錯誤位置多項式;(D)當該錯誤位置多項式的階數大於一門檻,藉由該徵兆計算器更新該2t個徵兆值使相關於另一組候選值,其中該門檻<t;(E)重複步驟(C)至(D),直到該錯誤位置多項式的階數不大於該門檻,則藉由一錯誤更正器基於最後調整出之錯誤位置多項式的根值來對該接收字碼進行錯誤更正。
  2. 依據申請專利範圍第1項所述之循環碼解碼方法,其中,步驟(D)中,會藉由一徵兆更新器使用該另一組候選值來產生2t個分別對應該等徵兆值的調整因子,以做為該徵兆計算器的更新基礎。
  3. 依據申請專利範圍第2項所述之循環碼解碼方法,其中,該接收字碼的n個符元r 0 ,r 1 ,r 2 ,...r ( n -1) 對應一接收多項式P(x)=r 0 +r 1x +r 2x 2 +r 3x 3 +...+r ( n - 1)x ( n-1) ,且該2t個徵兆值分別對應2t個非零元素;當其中一非零元素為α且符元ri 、rj 、rk 不可靠,該徵兆更新器為該非零元素所產生的調整因子為{s 2 (i )‧α i +s 2 (j )‧α j +s 2 (k )‧α k }-{s 1 (i )‧α i +s 1 (j )‧α j +s 1 (k )‧α k };其中i、j、k為介於0~(n-1)的整數,{s1 (i),s1 (j),s1 (k)}是前一次選用的候選值,{s2 (i),s2 (j),s2 (k)}是目前選用的候選值。
  4. 依據申請專利範圍第1項所述之循環碼解碼方法,其中,每次執行步驟(D)該徵兆計算器會選用特定的候選值,且選用順序是基於二進位碼(Binary Code)或是格雷碼(Gray Code)。
  5. 依據申請專利範圍第1項所述之循環碼解碼方法,更包含於步驟(A)之前的一步驟:藉由該可靠度處理器接收一個具有n個元素的接收序列,而評估得到具有n個符元的該接收字碼,其中每一元素所具有的m個信號為類比形式,且每一符元所具有的m個位元為數位形式,m≧1;該可靠度處理器使用對數似然比(log-likelihood ratio,LLR)來決定每一類比形式元素的信號較可能被判斷成為1值的位元或較可能為0值的位元;且當其中一信號為1值與為0值的機率相當,該可靠度處理器判斷對應位元不可靠。
  6. 一種循環碼解碼器,包含:一可靠度處理器,用以處理一個具有n個符元的接收字碼,並為其中q個不可靠符元設定R=2q 組候選值,n>q>1;一徵兆計算器,為該接收字碼計算出相關於其中一組候選值的2t個徵兆值,其中t為該接收字碼所對應之一循環碼編碼字碼的錯誤更正能力;一關鍵方程式運算器,根據該等徵兆值產生一個階數最多為t的錯誤位置多項式;及一錯誤更正器,用以對該接收字碼進行錯誤更正;當該關鍵方程式運算器判斷出該錯誤位置多項式的階數大於一門檻,該徵兆計算器會更新該2t個徵兆值使相關於另一組候選值,且該關鍵方程式運算器會以更新後的該等徵兆值調整該錯誤位置多項式,其中該門檻<t;直到調整出的錯誤位置多項式階數不大於該門檻,該錯誤更正器會基於最後調整出之錯誤位置多項式的根值來對該接收字碼進行錯誤更正。
  7. 依據申請專利範圍第6項所述之循環碼解碼器,更包含:一徵兆更新器,使用該另一組候選值來產生2t個分別對應該等徵兆值的調整因子,以做為該徵兆計算器的更新基礎。
  8. 依據申請專利範圍第7項所述之循環碼解碼器,其中,該接收字碼的n個符元r 0 ,r 1 ,r 2 ,...r ( n -1 ) 對應一接收多項式P(x)=r 0 +r 1x +r 2x 2 +r 3x 3 +...+r ( n -1)x ( n-1) ,且該2t個徵兆值分別對應2t個非零元素;當其中一非零元素為α且符元ri 、rj 、rk 不可靠,該徵兆更新器為該非零元素所產生的調整因子為{s 2 (i )‧α i +s 2 (j )‧α j +s 2 (k )‧α k }-{s 1 (i )‧α i +s 1 (j )‧α j +s 1 (k )‧α k };其中i、j、k為介於0~(n-1)的整數,{s1 (i),s1 (j),s1 (k)}是前一次選用的候選值,{s2 (i),s2 (j),s2 (k)}是目前選用的候選值。
  9. 依據申請專利範圍第6項所述之循環碼解碼器,其中,該徵兆計算器選用該等候選值的順序是基於二進位碼(Binary Code)或是格雷碼(Gray Code)。
  10. 依據申請專利範圍第6項所述之循環碼解碼器,其中,該可靠度處理器接收一個具有n個元素的接收序列,而評估得到具有n個符元的該接收字碼,其中每一元素所具有的m個信號為類比形式,且每一符元所具有的m個位元為數位形式,m≧1;該可靠度處理器使用對數似然比(log-likelihood ratio,LLR)來決定每一類比形式元素的信號較可能被判斷成為1值的位元或較可能為0值的位元;且當其中一信號為1值與為0值的機率相當,該可靠度處理器判斷對應位元不可靠。
TW100139777A 2011-11-01 2011-11-01 循環碼解碼器及其方法 TWI487291B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW100139777A TWI487291B (zh) 2011-11-01 2011-11-01 循環碼解碼器及其方法
US13/609,829 US8943391B2 (en) 2011-11-01 2012-09-11 Cyclic code decoding method and cyclic code decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100139777A TWI487291B (zh) 2011-11-01 2011-11-01 循環碼解碼器及其方法

Publications (2)

Publication Number Publication Date
TW201320622A TW201320622A (zh) 2013-05-16
TWI487291B true TWI487291B (zh) 2015-06-01

Family

ID=48173732

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100139777A TWI487291B (zh) 2011-11-01 2011-11-01 循環碼解碼器及其方法

Country Status (2)

Country Link
US (1) US8943391B2 (zh)
TW (1) TWI487291B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5275398B2 (ja) * 2011-03-28 2013-08-28 株式会社東芝 リードソロモン復号器及び受信装置
JP2020150515A (ja) * 2019-03-15 2020-09-17 キオクシア株式会社 誤り訂正回路及びメモリシステム
DE102021133678A1 (de) * 2021-01-20 2022-07-21 Infineon Technologies Ag Korrektur von bitfehlern

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104489A1 (en) * 2006-11-01 2008-05-01 Fujitsu Limited Maximum likelihood detector, error correction circuit and medium storage device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821268A (en) 1987-10-26 1989-04-11 Cyclotomics, Inc. Soft decision Reed-Solomon decoder
KR100403634B1 (ko) * 2001-10-17 2003-10-30 삼성전자주식회사 고속 파이프라인 리드-솔로몬 디코더에 적용하기 위한메모리 장치와 메모리 액세스 방법 및 그 메모리 장치를구비한 리드-솔로몬 디코더
US8386894B2 (en) * 2009-03-23 2013-02-26 Applied Micro Circuits Corporation Parallel forward error correction with syndrome recalculation
US8301987B2 (en) * 2009-10-29 2012-10-30 Sandisk Il Ltd. System and method of decoding data with reduced power consumption

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104489A1 (en) * 2006-11-01 2008-05-01 Fujitsu Limited Maximum likelihood detector, error correction circuit and medium storage device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yingquan Wu, "New List Decoding Algorithms for Reed-Solomon and BCH Codes" December 10, 2008 Margreta Kuijper, Jan Willem Polderman, "Reed–Solomon List Decoding From a System-Theoretic Perspective" IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 2, FEBRUARY 2004. *

Also Published As

Publication number Publication date
US8943391B2 (en) 2015-01-27
TW201320622A (zh) 2013-05-16
US20130111304A1 (en) 2013-05-02

Similar Documents

Publication Publication Date Title
US10998922B2 (en) Turbo product polar coding with hard decision cleaning
KR100881192B1 (ko) 에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법
US7716561B2 (en) Multi-threshold reliability decoding of low-density parity check codes
US8726137B2 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
US11652498B2 (en) Iterative bit flip decoding based on symbol reliabilities
US20180351581A1 (en) System and method for early termination of decoding in a multi user equipment environment
US8433975B2 (en) Bitwise reliability indicators from survivor bits in Viterbi decoders
WO2018179246A1 (en) Check bit concatenated polar codes
JP2001036417A (ja) 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
CN101035297B (zh) 基于具有低不可检测错误概率的纠错码的硬判决迭代译码
CN110233698B (zh) 极化码的编码及译码方法、发送设备、接收设备、介质
TWI487291B (zh) 循環碼解碼器及其方法
RU2438252C1 (ru) Декодер с повышенной корректирующей способностью
CN114073024A (zh) 极性码的卷积预编码和解码
JP2008118327A (ja) ビタビ復号方法
US20140013190A1 (en) Iterative Decoding Device and Related Decoding Method
GB2523586A (en) Method and a device for decoding a bitstream encoded with an outer convolutional code and an inner block code
TWI551060B (zh) Bch解碼方法及其解碼器
EP4205284A1 (en) Staircase polar encoding and decoding
WO2002052729A2 (en) Decoder, system and method for decoding turbo block codes
WO2020234185A1 (en) A method of marking bits, a method of decoding bits, a bit marking device, a decoder, a receiver and a chip
JPH1022839A (ja) 軟判定誤り訂正復号方法
EP2228935A1 (en) MIMO communication method and devices
JP3987153B2 (ja) マンハッタンあるいはハミングメトリックスキームに基づくビタビデコーダのための信号のデコード
TWI760772B (zh) 基於維特比演算法之解碼電路及解碼方法