TW201119247A - Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes - Google Patents
Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes Download PDFInfo
- Publication number
- TW201119247A TW201119247A TW098139768A TW98139768A TW201119247A TW 201119247 A TW201119247 A TW 201119247A TW 098139768 A TW098139768 A TW 098139768A TW 98139768 A TW98139768 A TW 98139768A TW 201119247 A TW201119247 A TW 201119247A
- Authority
- TW
- Taiwan
- Prior art keywords
- matrix
- decoder
- sub
- parity check
- code
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 31
- 239000011159 matrix material Substances 0.000 claims description 126
- 238000006073 displacement reaction Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 2
- 101100356682 Caenorhabditis elegans rho-1 gene Proteins 0.000 claims 1
- PWWVAXIEGOYWEE-UHFFFAOYSA-N Isophenergan Chemical compound C1=CC=C2N(CC(C)N(C)C)C3=CC=CC=C3SC2=C1 PWWVAXIEGOYWEE-UHFFFAOYSA-N 0.000 claims 1
- 230000002463 transducing effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 32
- 238000013461 design Methods 0.000 description 25
- 230000000875 corresponding effect Effects 0.000 description 22
- 239000013598 vector Substances 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 241000282320 Panthera leo Species 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 241000212342 Sium Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000010437 gem Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000001256 tonic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Description
201119247 六、發明說明:. 【發明所屬之技術領域】 本發明係與通訊系統及儲存系統中的解碼器相關,並且 尤,與適用於根據里德_索羅門(Reed_s〇1〇m〇n,吻碼建立之 低密度同位檢查(l〇w_density parity check,LDpc)碼的 解碼方法相關。 【先前技術】 由於LDPC碼具有接近極限的良好表現和適用於高度平 行解碼器的特性,目前已經有許多與這種編碼相關的研究。 LDPC碼可被應用在例如光通訊和透過無線通道傳送影像資 料等多種應用中。許多較新的通訊標準,例如IEEE 8〇23an 和802.16e ’已將與LDPC碼相關的規定包含在内。ieee 802.3an標準所採用的LDPC碼是一種根據具有兩個資訊符號 (information symbol)之 RS 碼建立的規律編碼。l Djurdjevic 等人在 2003 年 7 月於 IEEE Commun. Lett.,vol. 7, no. 7 發表 的論文「A class of low-density parity-check codes constructed based on Reed-Solomon codes with two information symbols」, 以及 G· Liva 等人在 2006 年 9 月於 J. Commun. Soflw. Syst., vol. 2, no. 3 發表的論文「Design of LDPC codes: A survey and new results」’對於如何根據短式rs碼(shortened RS code)及 延伸式RS碼(extended RS code)建立LDPC碼已有介紹。RS-LDPC碼具有一定的最小漢明距離(Hamming distance),並且 4 201119247 具有較大之最小漢明距離的RS_LDPC碼也是可實現的。 IEEE 802.3an標準所採用之(2〇48, RS_LDpc碼的錯誤底 限(error floor)為10-13即可符合此通訊標準的要求。像(2〇48, 1723) RS-LDPC石馬這樣的高碼率編碼經常被用在具有低雜訊 通道的應用中,亦即希望在有限頻寬中盡量提高可傳遞之訊 息量的情況。咼碼率編碼通常被用在例如8〇23an標準之有 線通及硬碟等儲存系統中。一般而言,這類應用所要求的 資料傳輸量會在每秒十億位元以上。 利用包含變數節點(variable node)及檢查節點(check node) 的丹拿圖(Tanner graph) ’訊息傳遞解碼(message_passing decoding,MPD)可被用來為LDPC碼解碼。R GaUager等人在 1962 年 1 月於 IRE Trans Inf. The〇ry,v〇1 7 發表的「L〇w_ density parity-check Codes」以及 D. J. C· Mackay 等人在 1999 年 3 月於 IEEE Trans. Inf. Theory,vol. 45, no. 2 發表的「Good error correcting codes based on very sparse matrices」揭露了一 種稱為雙相位訊息傳遞(two-phase message passing,TPMP)的 解碼排程方法,其中每一次疊代運算的解碼程序被分為檢查 節點運算和變數節點運算兩個相位。分層式(layered) MPD和 混合式(shuffled) MPD可被用以增加收斂速度,進而減少達到 特定之位元錯誤率所需要的疊代運算的次數。 如果以完全平行架構來實現高處理量之解碼器,會面臨 電路連接過度複雜的問題。採用位元串行(bit-seriai)架構或是 5 201119247 隨機(stochastic)解碼器可降低電路接線的複雜度。線路分割 (wire partitioning)技巧可被用以縮短臨界路徑延遲(critical_path
delay),進而提昇資料處理量。A. J. Blanksby等人在2002年 3 月於 IEEE J. Solid-State Circuits, vol. 37,no. 3 發表之「A 690-mW 1-Gb/s 1024-b, rate-1/2 low-density parity-check code decoder」、T. Brandon 等人在 2008 年 3 月於 Integration,vol. 41, no. 3 發表之「A scalable LDPC decoder ASIC architecture with bit-serial message exchange」、S. S. Tehrani 等人在 2008 年 11 月於正EE Trans. Signal Processing, vol. 56, no. 11 發表之 「Fully parallel stochastic LDPC decoders」,以及 N. Onizawa 等人在 IEEE Trans. VLSI Syst.發表之「Design of high-throughput fUlly parallel LDPC decoders based on wire partitioning」所提出的解碼器,屬於單一模式1/2率LDPC解 碼器(single-mode rate-1/2 LDPC decoder),其檢查節點之數量 較低,比方說等於6。A. Darabiha等人在2008年8月於 IEEE J. Solid-State Circuits,vol. 43,no. 8 發表之「Power reduction techniques for LDPC decoders」、A. Darabiha 等人在 2008 年 1 月於 IEEE Trans. Circuits. Syst. II,Exp. Briefs, vol. 55 發表之「Block-interlaced LDPC decoders with reduced interconnect complexity」,以及 T. Mohsenin 等人在 2009 年 5 月於 Proc. IEEE ISCAS 發表之「Multi-split-row threshold decoding implementations for LDPC codes」所揭露的解碼器為 適用於高碼率2048位元(6, 32)-規律LDPC碼之完全平行式解 6 201119247 碼器,其變數節點及檢查節點的數量分別為6和32。 在完全平行式的解碼器中,檢查節點的數量愈高,硬體 電路的複雜度會隨之大幅上升。因此,L. Liu等人在2008年 12 月於 IEEE Trans. Circuits Syst. I,Reg. Papers,vol. 55, no. 11 所發表的「Sliced message passing: high throughput overlapped decoding of high-rate low-density parity-check codes」中提出切 片式訊息傳遞(sliced message passing,SMP)的做法,以暫存器 (register)為基礎的部份平行式架構來設計適用於(6,32)規律 LDPC碼的高處理量解碼器。為解決完全平行式解碼器中電 路複雜度隨著編碼長度大幅增加的問題,適用於長LDpC碼 的解碼器通常會採用部份平行式的架構。然而,這種解碼器 通常是以TPMP排程方法為基礎,收斂速度難以提升。 以共用記憶體為基礎的部份平行式解碼器較適合多模式 解碼器,在不同模式下共用大部分的硬體資源。許多應用於 WiMAX網路之LDPC碼多模式解碼器係結合部份平行式架 構可與分層式MPD的做法,藉此增加收斂速度。要實現適 用於WiMAX標準中類循環(quasi_CyCiic, qc)式之ldpc碼的 夕模式解碼态’解碼器中的排列器&ermutat〇r)在不同模式下 必須被有效率地共享,才能降低硬體的複雜度。M. Karkooti 等人在 2006 年 9 月發表於 Proc. IEEE Application-specific
Systems, Architectures and Processors 的「Configurable,high throughput, irregular LDPC decoder architecture tradeoff analysis 201119247 and implementation」提出了 一種運用桶式位移器(barrel shifter) 的多模式解碼器架構。J. Tang等人在2006年9月發表於 Proc. IEEE 2006 Application-specific Systems, Architectures and Processors 的「Reconfigurable shuffle network design in LDPC decoder」、D. Oh 等人在 2008 年發表於 Proc. IEEE ISCAS 的 「Area efficient controller design of barrel shifters for reconfigurable LDPC decoders」、C. H. Liu 等人在 2008 年發表 於Proc.正EE ISCAS 的「Multi-mode message passing switch networks applied for QC-LDPC decoder」,以及 J. Lin 等人在 2009 年 3 月發表於 IEEE Trans. Circuits. Syst. II,Exp. Briefs, vol. 54,no. 3 的「Efficient shuffle network architecture and application for WiMAX LDPC decoders」,揭露了 幾種多碼長-多速率之QC-LDPC碼解碼器中的排列器。然而,對於以共 用記憶體為基礎的部份平行式解碼器而言,要實現高處理量 之多模式解碼器的難度還是很高。 A. Darabiha 等人在 2008 年 8 月於 IEEE J. Solid-State Circuits,vol. 43, no. 8 發表之「Power reduction techniques for LDPC decoders」所揭露的RS-LDPC碼解碼器為單模式解碼 器。J. Sha 等人在 2009 年 9 月於 IEEE Trans. Circuits. Syst. II, Exp. Briefs,vol. 56, no. 9 發表之「Decoder design for RS-based LDPC codes」中所提出的位移結構性質,以及z. Zhang等人 在 2009 年 6 月於 IEEE VLSI Circuits Symposium,Kyoto, Japan 發表之「A 47 Gb/s LDPC decoder with improved low error rate 201119247 performanee」t所S.x乡jn||(muitipiexei·,廳^)為基礎的 設計概念,都能為單模式部份平行式RS-LDPC解碼器降低其 排列器的娜度n _RS_LDPC碼麟麵環式的編 碼’如何為翅^Rs_LDpc解碼^設計有效率的剩器還是 一大挑戰。 【發明内容】 „本發明提出一種適用於高速率RS-LDPC碼的多模式解碼 器架構。此錄式解端可被獅在多種需要碼率彈性和校 正能力的通訊產品中。本發明利用同位檢查矩陣㈣㈣心 的賴触科朗財可配置㈣频咖細滿 P t。⑻和平仃式的架構可被結合於該排列器,藉此 =實現多模式解碼器之硬體的複雜度。採用根據本發明的 =式下的硬體資源可财效如。 變^財被分為多個群組,並且每—個群組被依序處理, ^服叫查即點數量較多時造成的困難度。藉此,臨界路 徑延遲可被縮短,且資料處理量能夠被提升。此外,為了進 ==處理量,根據本發明之解碼器可採用混合_ 的方式來奸⑽速度,#此減対_ 需要的疊代運算的次數。 凡錯决率所 ,根據本發明之一多模式解碼器已經利用90奈米的CM〇s 製程被實現並驗證。該解碼器適用於八種 二、 元至3968位元間的RS_LDp並乾1536位 仏碼其碼率範圍在0.79和0.93 201119247 ==發明之解碼器可提供每秒數十億位元的資料處 里、_碼器架構係應用於為單一種根據延伸式挞碼 建立之LDPC碼解碼時,根據本發明之排列器可被進 :。以碼長為2〇48之單模式解碼器為例’根據本發明之二 。。可達到每秒9.7十億位元的資料處理量,其操作頻率為3〇3 百萬赫故’晶片面積為6.31 mm2 ° * 根據本發明之-具體實施例為一種解碼器,適用於根據 RS馬建立之LDPC碼。該解碼ϋ包含一排列電路。該排列電 路係用以提供根據一同位檢查矩陣中-子矩Ρ車B(/0, y.〇)所定義 之複數個可配置的連結(conflgurable c〇nnecti〇n)。該同位檢查 矩陣係與一高氏場GF(^)相關。户為一質數(prime),^為—正 整數’ 和办分別為範圍在〇到y _丨)間之一整數指標。一組 輸入包含/個元素(element)。該排列電路包含兩個排列器及 一固定選路(fixed routing)。該第一排列器係用以固定該組輸 入中之第一個元素,並將該組輸入中之其他_ 1;)個元素環 式位移(cyclically shifting)办個位置,以產生一組第一臨時元 素。該固定選路係用以重新排列該組第一臨時元素,以產生 一組第二臨時元素。該第二排列器係用以固定該組第二臨時 元素中之第一個元素,並將該組第二臨時元素中之其他^^ — U 個元素環式位移ζ·〇個位置。 關於本發明之優點與精神可以藉由以下的發明詳述及所 附圖式得到進一步的瞭解。 201119247 【實施方式】 I.簡介 以下將依序介紹:同位檢查矩_結構概、根據本發 明之適用於RS-LDPC碼的排列電路架構、針對RS_LDpc碼 之混移式訊息傳遞解碼(shuffled message-passing decoding)及 其相對應的位元錯誤率結果、根據本發明之解碼器架構、實 現根據本發明之解碼器架構的結果,以及根據本發明之解碼 裔與其他先前技術的比較。 II·適用於RS-LDPC碼之排列器架構 A.根據短式RS碼建立之LDPC碼 考慮一高氏場(Galois field) GF(y),/?為一質數$ 為一正整數。假設ο:為GF(/Z)之一原始元素(primitive element) 且正整數p的範圍為2 S p < /。根據GF〇s)可建立一組RS 碼’其產生多項式(generatorpolynomial)如下: SPO = (X- α)(Χ- α2)···(Χ — 〇Τ2) =纷 +幻z+g2z2 + ...+r-2,(1) 其中幻e GF(ps)。多項式幺⑻的〇〇-1)個係數皆不為零。 若藉由刪除前(ps - p - 1)個資訊符號(information symbol)來縮 短該RS碼,可得到具有兩個資訊符號的短式RS碼,其 11 201119247 產生多項式為:
Gb 此短式RS瑪的長度為P個碼符(code symbol),且具有兩 種不同的碼重(code weight),p和p - 1。若分別以巧和。表 示Q的第一列和第二列,ri和&可用以建立〇之—副碼 (subcode) C〗1),表示如下: 撕+r2)WEGF〇/)}〇 ⑺ 假設的碼重為Γι + &,則非零的副碼c〗〇之 重為”卜《«並不在^且可筛= 方矛王式被用以建iCf之一共集(coset) 00 λϊ) ,(*·) -中z的$&圍為。針對1 y v,在 中’ Ci>具有〆個碼字(codeword)。 ” " 二)為二位元的P-元組(响,其成分對赫 υ,α,α,·’,《 。這些位置向量〇,aV,.· 表示為视純奶..·,〆,,其中z(〇)::則 z(〆-2…- ,)’… 12 201119247 碼字’並以位置向量z(c;)取代c中的每一個成分& (l sy < 户)可彳于到二位元、碼重一户的元組: Z(C) = (z(ci),z(ci),.,z〇p)),(4) 再為c的付说位置向量(symbol location vector)。 子於1 $ / $ p,可為GF(ps)形成一個y x p的矩陣d" '、中的T列為C丨°巾/解同的碼字。〇的碼字Clj/= 〇, ,···,〆〜2可被寫成: W(W),(5) C(I) Γ(,·) 6中5轉非零的碼字被表示為。對ζ· = 2, 3, ...,/, 中的碼字W = 〇, 1,...,〆一2可被寫成: cij - a1'1 ri+今1+r2) ’⑹ 其中θ)中的cu^被寫成: ct·,. = α1'2 因此,矩陣Di•可被寫成
C. C U ,0 Λ,-2 。⑻ 13 201119247 對1 y W,藉由將矩陣Di中的每一個碼字(列以其 符號位置向量z(Ci,i)取代,可形成一個二位元的〆χ〆矩陣 Α,。矩陣Α,·巾的所有攔之碼重為!,且所有列的碼重為户。 假設為y範圍等於1 9 W的正整數,如以下所示之# χ ρ/矩陣Hy的零空間(nuii space)為一 RS_LDpc竭。 A2
Hy= : ^ (9)
Ar_ 口此為組(Ν,Κ) RS-LDPC碼的同位檢查矩陣 (paritycheck matrix,PCM),其中 N 等於p;/,且 N 和 κ 分別 為碼和訊息的長度。由於該同位檢查矩陣未必為滿秩(制 rank),因此Μ >狀,其中等於#的Μ為該同位檢查矩陣 的列數。碼率(code rate)為娜。該RS_LDPC碼為一以办規 律LDPC碼’矩陣Ηγ巾的每一列都具有相同的列重(丽 weight) ρ,且矩陣Ηγ中的每一攔都具有相同的棚重㈣_
Weight) 7。矩陣Ηγ可被切割為y(p)個區塊列(block卿)或區塊 欄(block column) ’每一個區塊列/欄包含〆列/棚。此外,矩 陣Ηγ也T被切割為yp個子矩陣,每一個子矩陣 的尺寸為P P。母一個子矩陣是一個排列矩陣①e加饥 matrix),但未必為循環(cjrcuiant)矩陣。 R以範例論證RS-LDPC碼的結構特性以及根據本發明之排 14 201119247 列器架構 考慮高氏場GF(22)及其原始多項式(primitive polynomial) 1 +尤。此南氏場的四個兀素為0、1 以及β = 1+α。令ρ = 3,此RS碼的產生多項式為= cc+X,且此短 式RS碼的產生矩陣(generator matrix)為: 因此,r! = (ct 1 0),r2 = (0 α 1),q + r2 = (α α2 1)。根據式 ⑻,可得到: 0 0 0. a a2 1 a2 1 a _ 1 a a2 D2 = a 1 0 0 a 1 1 0 a 2 2 2 a a a D3 = a1 a 0 1 1 1 0 a2 a a 0 a2 15 201119247
A 如圖'一所示,H'2x3 —乃2 〇 A. 以相對應的位置向量取代中的每一個場元素之後, 可付到如圖二所示之矩陣/fuw2。〇、1、α和α2的位置向量 分別為 z(o) = (1 〇 〇 〇)、ζ(ι) = (ο 1 ο 〇)、ζ(α) = (〇 〇 i 〇)和 ζ(α2) = (000 1)。 矩陣丹α丨2的零空間(null space)為一(3,3)-規律LDPC碼, 其長度為12位元,瑪率為1/3。矩陣β1:Μ2中的第z•個區塊列 (block row)為A,· ’ ζ·=1,2,3 ;每一個區塊列包含四列。矩陣 好mi2可被分割為九個子矩陣,每一個子矩陣的尺寸為4χ4。 既然並非矩陣好咖2所有的4x4子矩陣皆為循環矩陣(circulant matrix) ’ 該 RS-LDPC 碼不是類循環(qUasi-CyCiic,qC)碼。因 此’傳統上針對QC-LDPC碼的排列器無法直接適用於此Rs_ LDPC 碼。 如圖二所示,矩陣%μ2的這些4x4子矩陣可以分成三種 類型。除了最右邊的子矩陣之外’ Al中的其他子矩陣屬於第 一類子矩陣。如先前所述,Al是由中之碼字的符號位置 向量而來。由於A】中的第一列為零碼字的符號位置向量,每 一個第一類子矩陣的第一列都會是[丨〇 〇 〇]。此外,由於 中每一個非零碼字的碼重為P (在這個範例中等於3),除了第 一列之外,付1'2^·中的第一個區塊列不會有零場元素。因此, 201119247 每個第類子矩陣的第一攔會是[1 〇 〇 〇]r,其中的z代表 矩陣轉置。如林看第—類子矩陣的第—列和第—搁,第— 類〇子矩陣中其他的3 X 3部份是碼重為1的循環矩陣。對於 广〇,\來說’ cv+1 = %·。針對第一類子矩陣,根據本發明的 解碼器可採用—桶式位移ϋ (barrel shifter)加上-HI定式的電 路連接(interconnection)做為其排列電路。 —由於Γι和1'1 + I*2的最後一個元素分別為0和i中 每一個區塊列的最後—欄都會是[〇 1 « «Υ。因此,如圖二所 示,所有的第二類子矩陣皆為4χ4單位矩陣(identitymatrix)。 由圖-和圖二可看出’圖—中對應於圖二所示之第三類 子矩陣的每一個子矩陣可以被寫為: a'0 b(J〇,j 〇)= (10) ai〇(l + aJo) 〇ri〇(l + ay〇+1) αί〇(1 + αΜ2) 其中的為兩個根據相對應之共集首(c〇set lea㈣決 定的整數。藉由以相對應的位置向量取代bfe施陣中的每 -個元素,可得到-個第三類子矩陣B(z。, 7。)。舉例而言,圖 二中的第三類部分可以被寫為: 5(1,0) 5(0,2)! _5(2,2) 5(1,1)」。(11) 17 201119247 由第(Π)式可看出,與該同位檢查矩陣之第(/+1)區塊列相 關的/〇個值可藉由將第/區塊列相關的/〇值加1來產生。相 似地’與該同位檢查矩陣之第(/+1)區塊列相關的力個值可藉 由將第/區塊列相關的值減1來產生。上述性質可被利用 來減少儲存這些位移指標(shift index)的複雜度。 如圖—(A)所示’以b(0,0)為一基礎矩陣(base matrix), 藉由將B(G,_第—觸定,再將戦Q)中的其他攔向上環 式位移(cyclically shifting)-⑹個位置,即可得到B(〇,】)。如 果令,陣EyO為-個_某4x4 #位矩陣之第一列後將其餘搁 向上環式位移y.G個位置的結果,可以制下列關係式:
0 (12)
如圖三(B)所;Γ 式位移兩〇·〇)個位j —個固定某4x4 -/〇個位置的結果, 5(2,1) = 5(0,1)F2= 5(0,1)
0 (13) 201119247 根據_式和_式,可推論叩,1)= :=力的處理方式, 發明所描φ1 " 疋電路連接來實現。圖四(A)顯示了本 發月所k出的根據矩陣B(2,⑽定義之排列器 根據基礎矩陣B(0 〇)所 σ /、 八中, (喻實現。:Γ 係以具有固定連結的選路 陣 / W 4 陣 B( W〇)=E/〇B(M见〇 ;根據矩 :。)斤疋義之排列可被實現為如圖四⑻所示之架構。如 ’ __G,綱定細_包含—個搁桶 42、—固定連結的魏44以及-個職式位移器 4〇 ° C·由多模式解碼器支援的RS-LDPC碼 f據本發明之倾式解碼科_支援録_高氏場 (2 )及其原始多項式(Primitive p〇iynomial) 7 + χ + / 建立 的RS LDPC瑪。在接下來的說明中,將利用(6, 32)•規律RS- LDPC馬做為說明範例。該短式RS碼的產生矩陣(generator 酬fix)為: 接著,可得到矩陣,該矩陣中的每一列為該短式 RS碼的一個碼字,並且該矩陣中的第z.個區塊列包含cf中 的所有碼字。在以相對應的位置向量取代矩陣$84x32中的每 201119247 個場元素之後,可得到此(6,32>規律RS_LDpc碼的同位檢查 矩陣° ®五所示即為輯,其巾的每一個點 代表矩陣中的1。此矩陣可被分割為^個(也就是6 32 = 192 個)子矩陣,每—個子矩陣的大小為〆V (= 64 X 64)。類似於 圖-的情況’ ϋ 192個子矩陣可以被分為三類。每一個區塊 歹64列。第一區塊列中的前31個子矩陣屬於第一類子 矩陣。如果科第—類子矩_第-列和第-攔,第-類子 矩陣中其他的63 χ 63部份是碼重為1的循環矩陣。針對第- 類子矩陣’根據本發明的解碼器可採用一桶式位移器加上一 固定式的電路連接做為其排列電路。這192個子矩陣中最後 處於一個區塊攔的7個(也就是6個)64 X 64子矩陣屬於第二 類子矩陣’並且都是單位矩陣(細卿咖㈣。其他的⑸個 子矩陣即屬於第三類子矩陣。第三類子矩陣可以根據一個大 J為64x64的基礎矩陣B(〇, 〇)來建立。基礎矩陣B(〇,…的第 —列為1的位置向量,帛ζ·列為1+βΜ的位置向量,卜工, 2, · · ·,63。第三類子矩陣B(z〇,yG)的產生步驟如下··首先固定 ,礎矩陣峨0)中的第—列,接著將戦Q)中的其他搁向上 %式位移_/G個位置,域生—臨時矩陣(也可視為—組第一臨 時7G素)’·接著,先固定該_矩陣的第—攔,再將臨時矩陣 中的其他列向右環式位移/g個位置。上述針對第三類子矩陣 的排列步驟可以透過圖四(B)所示的電路架構來實現, f争的固定選路(fixed routing)係用以實現根據基礎矩陣峨〇) 定義的排列。 ’ 20 201119247 由於圮队·的秩數(rank)為325,此(6, 32)-規律RS-LDPC碼的同位檢查矩陣具有碼率1723/2048。〇·84。除此之 外,根據本發明的解碼器還被設計為可適用於其他七種碼率 在0.79到0.93之間且長度在1536位元和3%8位元之間的 RS-LDPC碼。該等RS_LDpc碼相對應的參數列示於表一。 每一種碼的同位檢查矩陣可各自被分割為個子矩陣,每個 子矩陣的大小為〆X〆(例如64χ64)。類似於上述仏8⑽^矩 陣,该等同位檢查矩陣中的子矩陣都可被分為第一類、第二 類和第三類。由於這些RS.LDPC碼都是根據高氏場GF(26)所 建立,只要適當地改變桶式位移器的設定參數,這些不同的 碼便可以共用相同的排列電路。 D.根據延伸式RS碼建立的RS_LDpc碼 RS-LDPC亦可根據高氏場CTV)及其對應之延伸式y,2) RS馬來建立。依知、段洛h a揭露的概念,可得到矩陣^, 1 < / </ , ,rl=(l 1 · · * 1 1 0) 5 Γι + r2=(l W . . α α〗)。矩陣D/和矩陣Hy的大小分別為〆X〆和 y/ χ 。藉由從矩陣Hy中連續或不連續地選擇p個區塊 欄,可得到長度為#之RS-LDPC碼的一個同位檢查矩陣。 舉例而言,IEEE 802.3an標準所採用的(2048, 1723) RS- LDPC碼係根據(64, 2)延伸式RS碼所建立,並且屬於不連續 地選擇區塊攔。這種Rs_LDpc碼的同位檢查矩陣也可以被分 割為ΓΡ個子矩陣,每個子矩陣的大小為〆χ〆。如同根據短 21 201119247 式RS碼建立的RS_LDpc碼,這些子矩陣都可被分為第一 類、第二類和第三類。段落ΠΒ所揭露的彈性化排列電路架 構亦可被應用於根據延伸式RS碼建立的rs-LDPC碼。 舉例而言’考慮高氏場GF(22)及原始多項式7+x+jf。 若選擇 y = 3 ’ 將使ri=(i 1 1 〇),且!;1+]:2=(1 α2α 〇。根據第 (8)式,可得到: 0 0 0 0 " 1 a2 a 1 α 1 a2 a 9 a2 cc 1 a2 a° a0 a° 0 l + a° a2 +a° a + a° 1 a + a° \ + a° a2 + a0 a a2 +a° l + a° a2 以及 a1 a1 a1 0 \ + al a1 +al a + al 1 a + al l + a1 a2 +al a 2 1 a +a a + al l + al a2 A =
A A A 令丑12x4 22 201119247 k擇矩陣中的第—攔、第三欄和第四攔,可得到一 、圖八所示被表示為丑^3的矩陣。以相對應之位置向量取 =矩陣好㈤中的每個場元素之後’可得到矩陣丑_。矩陣 12x12的第三類部份可被寫為: 5(〇,〇) 6(〇,1)_ ,(U)叫1,〇)」° (14) 由第(H)式可看出,該同位檢查矩陣中屬於同一區塊列 之第三類子矩陣有相同的列位移參數6。由L Sha等人在 2_年9月於IEEE 丁聰細π, Εχρ阶峨ν〇ι %, 二0’ 9 發表的「Decoder design for RS-based LDPC codes」中, 可,出除了第—列和最後_欄,矩陣D,的其他部分是大小為 w 一-1)的循環矩陣,i $ z. 。於此先前技術中,這 種位移性質被應用在採用連續地選擇區塊攔且根據延伸式RS 馬建立的RS-LDPC碼,希望藉此降低排列電路的複雜度。 、,然而,對於根據短式RS碼建立的RS_LDpc碼,此性質 並不存在。舉例來說,對於段落ΠΒ提及的RS_LDpc碼, 屏除其矩陣D2或D3之第D和最後—攔所形成的矩陣即不 具備上述循環性質。如圖六之矩陣开;m所示,對於採用不連 續地選擇區塊攔且根據延伸式RS碼建立的RS_LDPC碼,上 述位移性質亦不存在。 HI·利用混合式訊息傳遞解碼的RS_LDPC碼 23 201119247 LDPC碼的同位檢查矩陣可利用二分圖(bipartite卿的或 丹拿圖(Tanner graph)來表示。如果H中的(z.,刀元素出現一個 1,在丹拿圖中,第/個檢查節點和第y個變數節點之間便有 一.邊緣連結(edge connecting)。訊息傳遞解碼(message_passing decoding, MPD)可針對該丹拿圖來執行。和_積演算法(sum_ product algorithm,SPA)與最小和演算法(min_sum alg〇rithm, MSA)都可以被用來實現上述檢查節點和變數節點之間的運 异。J. Zhang 荨人在 2005 年 2 月於];EEE Trans. Commun,vol. 53,no. 6 發表的「Shuffled iterative decoding」中提出 了利用 和-積演算法的逐位元(bit-wise)運算且以群組為基礎混合式訊 息傳遞解碼(bit-wise and group-based shuffled MPD)。F.
Guilloud 4 人在 2007 年 11 月於 IEEE Trans. Commun.,vol. 55,
no. 11 發表的「Generic description and synthesis of LDPC decoders」揭露了 一種以SPA為基礎的混合式訊息傳遞解碼 硬體架構。Z. Cui等人在2008年12月於IEEE Asia Pacific
Conf. on Circuits and Syst.發表的「Efficient decoder design for
higbthroughput LDPC decoding」揭露了一種運用修正式 MSA 的混合式訊息傳遞解碼方法,希望藉此降低運算複雜度。接 下來’將介紹本發明所提出之以群組為基礎的混合式訊息傳 遞解碼’其中的變數節點(等同於同位檢查矩陣的攔)被分割 為G個群組,每個群組的大小為Ng個變數節點(亦即Ng 攔)。 A•本發明所提出的混合式訊息傳遞解碼 24 201119247 針對每個變數節點j•,在第免次疊代運算⑽恤㈣中所產 生對應於檢查祕/的魏檢查V2(:)m息 被表不為⑽]。針對每個檢查節f,在^次叠代運算中 所產生對應㈣數紐(eheek_to_variabie,C2V) 乱息被表TF為刷。在第A次疊代運算中,針對群組g所進 行的檢查節點/變數節點運算如下: (1)針對群組g所進行的變數節點運算:對於群組g中的 每個變數節點;·,也就是g.NG y < (g+1}凡範_〜·,根 據以下方程式計算對應於其每個檢查節轉居ζ·的跳]: (15)
Qji[k】=vA>M 其中為變數即點J•對應的通道可信度(channel reliab卿) 而/c[/·]表示該等連接至變數節點J的檢查節點。 ⑺針對群組g所進行的檢查節點運算:對於群組.g中與 變數節點/有關的檢查節點ζ·,也就範圍在z· e棚,咖y < 1).NG内的ζ·,根據以下方程式計算心阅:
RijW = Sij[k]xmax{(|R;.[k]-j)〇} , (16) min· /<(g+l)N0 (Π)及 25 201119247 f>(g+l)-Nc (18) 其1^ J為-偏移常數(offset constant) ’ 4Μ表示該等連接 至檢查節點ζ·的變數節點(亦即位元節點)。 在每一次的疊代運算中,針對群組〇、群組1、...、群組 G-1的檢查節點運算和變數節點運算係依序執行。圖七係綠 示對應於該(6, 32)-規律LDPC碼的運算順序,其中每個群組 包含-個區塊欄中的攔,也就是Ng個攔(64 _。在最後一次 疊=運算(也就是(嘱的情況)’針對每個變數節點y的硬性 決定(hard dedsion)係根據該變數節點)的後驗機率_— probabiUty)之正負號來決定,該正負號八肌]係表示如下:
EfjN,-!] 〇 (19) 二由第(17)式可看出為了產生一個|义[啦需要進行大量的 比較。因it匕’針對如表一所示之高碼率LDpc碼進行檢查節 點運算的娜度很高。為了降低歧較的複雜度,在根 據本發明之解碼时可針對^列儲存—排列後触合必w e AW,表示如下:
},其中 26 201119247 此外,相對應的指標Λ也會被儲存,A = 〇, i,. . |/Λ[Ζ·]| _ 1。需>主意的是’ |0彳的值係於本次或前一次疊代運算中產 生。運用上述排列後的集合,更新|%|的步驟可被簡化許多。 更明確地說,在更新14時只需要讀取㈤、|仏|和;0。如果 ·/-y〇 ’ 則 = βΛί。如果/ # ,則 |巧| = ρ加。 為了正確計算\ ’每個③·的正貞號也需要被儲存。此 外,可儲存 A-rtr1-1 哪(¾) 以簡化計算\的複雜度。產生\和|^1之後,即可根據 第(16)式計算足)·。藉此,便不需要儲存該等A值。 根據本發明,若希望縮減儲存空間以及比較過程的複雜 度,可僅儲存該排列後集合中的前ω個值,亦即:|g〜|、 A、. . .、。此做法的原因在於其他較大的|β7|對於 1义|的影響很小。該組精簡後的排列後集合被表示為Φί>,係 以一大常數初始化。相對應的指標集合仏九人被 表不為Λω。一開始,乂,ω=(ρ,其中供為一空集合。詳細的解 碼演算法被列示於圖十四。 27 201119247 在第-次的疊代後,φ/,_^賴於第ζ·列的 "個最_通道值之絕龍。接著,_處理ϋ可在選擇 C2V訊息的階段(簡稱為c财階段外計算該群組的㈣。 其後’屬於該群組的2"·值係以變數節點運算產生。最後, Φ’,ω中的内谷及其所對應的指標集合‘於節點處理器中的排 列㈣ng)階段(簡稱為CN_S階段)被更新。第⑽式、第⑼ 式和第⑽式表示的運算係於上述CN_R階段和cn_s階段中 被執行。 B·位元錯誤率結果 、由段落冚-A的說明可看出,ω值與排列順序(或比較)的 複雜度、存取記紐的次數,以及所需的記㈣大小皆成反 比從這個角度來看,ω愈小愈好。舉例而言,乙㈤等人 ^ 2008 ^ 12 ^ ^ IEEE Asia Pacific Conf. on Circuits and Syst.
毛表的「Efficient decoder design for high-throughput LDPC ecoding」所採用的ω為2。然而,由圖八可看出,在混合式 訊息傳遞解碼巾制ω = 2所產生的位元錯誤率結果顯然較 採用ω = 3的情況差。以下說明此差異存在的原因。由第(17) 式可看出,匕㈣係與丨刷丨變數-檢查(V2〇值相關。此外, 在依序處理各群組的解碼過程中,φ;ω中的内容持續被更 新。因此,即使在同一次的疊代運算中,中的内容都未 必保持不變。如果ω = 2,雖然在採用最小和演算法(MSA)的 雙相位訊息傳遞(two-phase message passing, TPMP)解碼程序 28 201119247 中產生.1义I時只需要中的最小的前兩個值,也就是|心|和 〜|,這兩個最小值也可能在同—次的疊代運算中發生變 化。換句話說’在計算_]|和這兩個值時所根據的 和W可能是不同的,其中變數節點#《屬於兩個不 同的群組。這是根據本發明之混合式訊息傳遞解碼和τρ娜 的重要差異。 以下藉由實例來說明採用不同ω值會造成的C2V值差 異。考慮連接至變數_ i、2、3的檢查節點z•。假設如圖九 (A)所示,在第(η)次疊代運算的結尾,〜={〇山〇 2, 〇$ 且H,2, 3}。此外,假設群組i只和變數節點i相關, =組2只和變數節點2相關。根據段落ΠΙ.Α中提出的解碼演 算法’針對群組卜在第灸次疊代運算可於CN_R階段得到 = 0.2。假設針對變數節點丨在變數節點運算中得到 的V2C況息值為0.4,也就是必綱=〇·4。在檢查節點運算 階段’ 和I會分別變為{〇.2, 〇.3, (U}和{2, 3, 1}。針對群 組2,在第是次疊代運算可於CN_R階段得到及办—7]= 0.3 °上述程序係繪示於圖九(A)。ω = 2的情況係繪示於圖九 ⑻。在ω = 2的情況下’= 〇.4,不同於ω = 3時得 到的、、、。果。由此可知,採用ω = 2的位元錯誤率係不同於採 用ω==3的位元錯誤率。 、,由圖八亦可看出,採用ω = 3時所形成的位元錯誤率幾 乎相同於採用ω = 32的情況。因此,綜合降低運算複雜度及 29 201119247 維持較低位元錯解這兩個考量,根縣發明之解碼程序可 =ω = 3,亦可將ω的範圍限制在3到(㈣])間。圖八亦 dm Τ聰請Α的位元錯誤率結果。根據本 ω 3的此合式訊息傳遞解碼的收敛速度快於採 用ΤΡΜΡ的情況。表-也包含了根縣發明之混合式訊氣傳 2解碼針#4RS_LDPC碼職生祕辨結果,魏 疋為 NG = 64,N"= 8,⑺3。 IV. 針對高碼率RS-LPDC碼採用混合式訊息傳遞解碼的 器架構 這個^又落將介紹包含根據本發明之排列電路所建立的適 ^於同碼_ RS-LPDC碼之垂直排程(vertieally_sehedu][ed)解碼 器架構。多模式解碼器和單模式解碼器都會被介紹。該多模 式解碼器可支援例如表一所示之根據短式RS建立的多種rs_ LDPC碼。如先前所述,正EE 802.3an標準所採用的Rs_ LDPC碼係根據延伸式RS碼所建立,據本發明之單模式解 碼器即可適用於此規格的RS-LDPC碼。 Α·針對(γ,ρ)-規律RS-LDPC碼的解碼器架構 圖十係繪示根據本發明之一實施例中的解碼器架構,該 解碼器適用於根據高氏場GF(26)建立且y = 6之一(γ,ρ)_規律 RS-LDPC碼,NG = 64。段落ΙΠ.Α提出之解碼演算法中的 CN-R階段、變數節點運算階段,以及CN_S階段係分別由 201119247 C2V-訊息計算器12、變數節點處理器(variable n〇de ρι^_Γ, VNP) 14,以及V2C-訊息排列器16執行。y個排列器(π〇, nh ...,Πμ) 18係設置於C2V-訊息計算器12和變數節點處理 器14之間。相對地,);個反向排列器(江-1,]1「1,...,汀')20係 設置於變數節點處理器14和V2C_訊息排列器16之間。各個 排列器18及反向排列器20的輸入分別包含y =64個元素。 C2V-訊息計算器12包含y個模組,每個模組負責計算對應於 RS-LDPC碼之同位檢查矩陣中一區塊列的C2V訊息^。這 y個模組係平行運作。每個模組後面接著一個大小為〆的排 列器18。變數節點處理器包含^^個變數節點處理單元, 能平行處理NG攔(亦即NG個變數節點)。在反向排列之後, 集合Φζ>及其相對應的指標集合&會根據最新產生的必丨值 被更新。V2C_訊息排列n 16 +的排列暫存器及指標暫存器 係分別用以儲存集合、及指鍵合I _容。在V2C-訊 息排列器16中,一正負號位元記憶體和複數個總正負號暫存 器(未顯示於圖中)係分別用以儲存&•值的正負號和知值的 正負號。 圖十中簡寫為StoT的方塊代表正負大小至二之補數轉換 Ksign-magnitude to two^s complement transformer) ;
Ttos的方塊則代表二之補數至正負a小轉換器細,s complement to sign-magnitude transformer) ° 在圖十所示之解碼器的平行解碼量為64,也就是NG等 31 201119247 於64的情況,冑64個變數節點處理單元在平行運作。如果 希望將解碼時的資料卢神曰 祕n 倍,則可將魏_處理單元 編個,令變數節點處理器14能同時處理128 、貝;、$於兩個區塊攔的資料),亦即將 128。在這樣的情況下,排列器18及反向排列器20的數量ί 要力曰,倍,C2V_訊息計算器12和V2C•訊息排舰ΐ6中的模組 數1同樣要加倍。絲據本發_解碼器架構巾,資料處理 量(TP)可根據下列方程式來計算: fcik gn.
_G N: (20) _ /、中N Ng G,且乂《;表示其操作頻率。根據第(2〇)式, 資料處理量(τρ)的大小係無關於RS_LDpc碼的碼長。此外, 只要增加ng或是降低N",就可以提升#料處理量(τρ)。若 要藉由縮紐臨界路徑延遲(critical_path delay)來進一步提升資 料處理量(TP) ’該解碼n可細管道式㈣心)的架構。 B.多模式功能 /、要採用彈性的、可配置的(c〇nggUrable)排列器戌和反 向排列器ΠΓ1,圖十中所緣示的解石馬器架構亦適用於多模式解 碼器,/= 0, 1, . . .,5。如同段中所描述的,以办規律 RS-LDPC碼之同位檢查矩陣中的沙個子矩陣可被分為三 類排列器Π。和反向排列态Π。可用以執行根據第一類和第 32 201119247 二類子矩陣定義的排列方式。實務上,可_—個多階桶式 位移益加上一個固定連接來實現Π。或Πό1。其他= ls 2... 5-=排:和五個反向排列器卬1可用以執行根據第 -類U二類子矩陣錢的排列方式。利用如圖四⑻所示之 架構,根據本翻的解碼器可_兩個多階桶式位移器來實 m ·,5的η或町。於此實施例中,可利用 -6個位70的控制指令控制各個桶式位移器。也就是說,上 述實施方式鱗只需要22 _式轉22何 位元的控制指令。 個 汴尼兹網路(Benes netw献)是_種被廣泛採用以實現任音 排列的架構。根據本發明之排列電路可以和路做二 比較。典齡卞尼兹_包含//2 χ (21〇以一 ^個開關,每 -個開關的尺寸為2 X 2並各自需要丨位元的控制信號。因 此’汗尼細路總共需衫/2 x (21。&/ _丨)位元的控制信 號。若以字長為5位元的多模式解碼“言,採將尼兹網 路架構的翻電路總共需要侧测個賴問和4224個控制 位=。相較之下’根據本發明之排列電路只需要15〇,㈣個 邏輯閘和I32個控繼元。根據本翻之制電路顯然是個 相當適用於多模式解碼器的良好設計。 以下將說明除了(6, 32)_規律、碼長捕8之RS_LDpc 碼,要實現能夠支援表一中的其他七種似肌碼的解碼器 需要哪些額外的設計。首先’解·巾的儲存空間必須被增 33 201119247 加,以符合p = 62且y = 6所對應之(3968, 3643)碼的需求。 由於這八種RS_LDPC碼是絲綱的冑咕GF(26)所建立, 只要為桶式位移器設定適當的位移量,前述電路即適用 於這八種不同的RS-LDPC碼。因此,針對不_ RSlDpc 碼時需安排不同的排列器位移設定。針對y = 5的情況,變數 節點單元和檢查節點單元的某些電路會被忽略,因此也需要 設置-些hit。表二性理了支援單—蝴支援人種碼队 64)的複雜度比較。由此可看出在多種模式下,硬體資源可 以被有效共享。 C·單模式(2048,1723)解碼器架構 如同段落II.D所述’ IEEE 802.3an標準所採用的(2〇48, 1723) RS-LDPC碼係根據(64, 2)延伸式rs碼所建立,並且屬 於不連續地選擇區塊欄。以下將說明如何以圖十之解碼器架 構實現針對IEEE 802.3an標準(NG = 64)的單模式解碼器。對 於运種RS-LDPC碼來說,只要屬於同一個區塊列,第三類子 矩陣的列位移係數6都是相同的。因此,根據基礎矩陣B(〇, 〇)和矩陣定義的排列可以被整合在一起,並以包含固定電 路連結的選路(routing)來實現。也就是說,圖十中的每一個排 列器Π,和反向排列器Π71可各自以一個桶式位移器和複數個 固疋連結來實現。因此,此卓模式解碼器的排列電路只需要 12個桶式位移器和12.6=72位元的控制指令。不同排列器中 的固定連結之連接方式通常是不同的。需注意的是,對於根 34 201119247 據短式RS石馬建立的RS_LDpc碼來說,屬於同一個區塊列之 第一類子矩陣的列位移係數&都不相同,因此即使只支援單 種、、爲碼解碼裔中根據矩陣.b定義的排列仍不能被設計為 固定的,可利用桶式位移器來實現。 z. Zhang 等人在 2〇〇9 年 6 月於 IEEE vlsj Circu-its
Sy琴sium發表之rA 4職LDpc dec〇der碰[呵職d low error rate perf〇rmance」所揭露的以多工器為基礎的排列 器《又彳相g適用於平行排程(h〇riz〇ntaiiy_scheduie(j)解碼器。 以下將討論將以多工器為基礎的設計應用於如圖十所示之垂 直排程解碼ϋ的狀況。針對NG=64、以多xll為基礎的解碼 器’可分別採用64個1到32反多工器如祕响㈣來實現 排列器Π,.和反向排列器πγ,z_ = 〇,丨,...,5。每個排列器η, 和反向排列器Df1各自需要64.5=320位元的控制指令,表三 列示了根據本發明之排列器與以多工器為基礎的設計之複雜 度比較。NG = 64和NG = 256兩種狀況都被列入考慮。由此
可看出,針對圖十所示之垂直排程單模式解碼器,根據本發 明之排列器較具優勢。 X D.與以TPMP為基礎之垂直排程解碼器的比較
J. Sha 荨人在 2009 年 9 月於 IEEE Trans. Circuits. Syst II
Exp. Briefs,v〇l. S6, no. 9 發表之「Decoder design f〇r 咫如如 LDPC codes」(以下簡稱為57^)提出了 一種以TPMp為基礎 適用於(2048, 1723) RS-LDPC碼的垂直排程解碼器。即使同 35 201119247 樣採用垂直排程’本發明所提出的混合式疊代解碼器之收叙 速度仍快於施r中提出的以TPMp為基礎之解碼器。伽中 所探討的RS-LDPC碼係根據(64,乃延伸式RS碼所建立,並 且屬於連續地選擇區塊攔。加係利用這種RS_LDp(〕碼本身 潛在的循環位移特性來降低其湖電路的複雜度。因此,其 解碼器可在-找資料處理量下仍達到相當的低複雜度。為 了達成IEEE 802.3an標準規定的資料處理量,如中採用户_ 平行式(ρ> υ的解石馬器架構。然而,脏E 8023an標準所採用 的RS-LDPC碼屬於不連續地選擇區塊攔,因此不具有如所 利用的循環位移特性。施亦提及其p平行式解碼器架構並 不適用於屬於連續地選擇區塊攔^RS_LDpc碼。相較之下, 本發明所提出的解碼器不存在這個問題。 在本發明所提出的解碼器和伽所提出的解碼器中,圖 十中的通道值記憶庫(memory bank) 22被用以儲存通道值, 這些值的頻寬要求不是太高。此外,這兩種解碼器的變數節 點運算單元類似。在本發明所提出的解碼器中,集合免①及 其相對應的指標集合4係儲存於暫存器中。在施所提出 的解碼器中’目前這-次和前一次疊代運算中產生的c2v訊 息分別被壓縮並儲存在不同的列暫存器中。 E•與採用本發明之排列器的LMPD解碼器之比較 在分層式訊息傳遞解碼(layered message_passing LMPD)中’檢查節點(等同於同位檢查矩陣的列)被分為多 36 201119247 層,每一層被依序處理;為了增加收斂速度,各層之間的訊 息會被交換。LMPD適用水平排程。乙Cui等人在2〇〇9年4 月於 IEEE Trans. VLSI Syst·,vol. 17, no. 4 提出之「High- throughput layered LDPC decoding architecture」 揭露了 一種高 資料處理量、以LMPD為基礎的解碼器,適用於低檢查節點 量、碼率·1/2 QC-LDPC碼。該解碼$之排列器的輸入為後驗 機率;本發明所提出的解碼器之排列器的輸入為c2v訊息。 根據第d9)m表示後驗機率所需要的位元數大於表示 ⑽訊息所需要的位动:。因此,採用根據本發明之垂直排 程架構來實現多模式解碼器可以減少排列n需處理的字長。 若運用本發明提出的架構來實現適用於(2048, 1723)碼的單模 式解碼ϋ ’如段落IV.C所述,第三類子矩陣所定義的排列可 僅以一個桶式位移器和複數個固定連結來實現。若採用水平 排程解碼器,每-個排列器負責處理根據同—區塊欄中大小 為64 X 64之子轉定祕洲。由於在這雜況下,該等子 、車的歹Η立移才曰標Z〇和攔位移指標都不相同,於以副^ 為基礎的水平排程解碼器中,第三類子矩陣所定義的排列可 =用兩個桶式轉H和複數侧定連結來實現。基於上述考 根據本發明之實齡,!㈣解碼器雜職直排程混合式 訊息交換解碼。 V·效能評估 A.實際實現結果 37 201119247 根據本發明的概念已利用UMC 90-奈米CMOS製程(包 含九層金制)被實際實現為兩辦模式解碼器,_於表一 列出的八種RS-LDPC碼,以下分職為設計A和設計B。
這兩種解碼器的ng分別為128和64;其中之通道值、C2V 訊息以及V2C訊息的量化後位元數(包含—個正貞號位元)都 是5。 圖十-顯不了根據本發明之解碼器採用= 128且配合 (6’ 32)-規律RS-LDPC碼時的位元錯誤率,其中同時包含固定 點運算(fixed-point)和浮點運算(fl〇ating_p〇int)的結果。在固定 點運’考慮管道等待時間φφΜ— latene力和不考慮 管道等待時間的情況都被納人了。如先前所述,相較於 TPMP ’混合魏息舰解碼可提錄快的收贿度。在混合 式訊息傳遞解碼巾’在各次疊代運算巾產生的電訊息可被 用做計算該次疊代運算之C2V訊息的基礎。如第(17)式所 不,在處理群組g時,|込,私]|值可用以計算|巧[幻|,),<仏+ 1) NG。然而,在硬體實現上,由於管道等待時間的存在,某 些當次的V2C訊息(丨2,邱來不及產生,只能根據前一次的 V2C訊息机R—Φ計算C2V訊息(丨义㈣)。由此可之,管 道等待時时使收斂速度賴。由針—可看出,考慮管道 等待時間時的結果(曲線Q略差於不考鮮道#待_時的結 果(曲線B);曲線B和曲線c的疊代次數相同。此外,導因 於管道等待__失小於G.l dB,主要的損絲自於量化 (q職tization)。在NG = 64的情況也的到相同的結論。 38 201119247
或正在處理哪群組,通道鋪是由記憶庫讀取並 运至變數節點處理ϋ。如針二顯示的佈線峰卿_所 不,記憶庫和魏節點處萄被安置在中央區域。因此,這 兩者之間的接線可以·化。檢查節點單元和變數節點單元 之間的接線係經由排列ϋ和反向制器之緩衝。根據本發明 模式架構中,無論在哪一種模式 之言免計A的垃八”且ti ;拉Ο 1。1 1 ,
為 70%, 時,設計Α的資料處理量為4.85Gbit/s。表四的内容為其實 現結果之酸’其巾亦包含設計A和設計B的初步耗電量估 計,不同模式下的耗電量差異並不大。相較於設計A,設計 B的利用率較尚、複雜度較低、耗電量較低,但資料處理量 也較低。 B.與其他RS-LDPC解瑪器的比較 A. Darabiha 等人在 2008 年 8 月於 IEEE J. Solid-State Circuits,vol. 43, no. 8 中發表之「power reducti〇n techniques for LDPC decoders」(以下簡稱提出一種完全平 行式位元串流MPD架構,希望降低LDPC解碼器的接線複 雜度。A. Darabiha 等人在 2008 年 1 月於 IEEE Trans. Circuits. 39 201119247
Syst. II,Exp. Briefs,vol. 55 中發表之「Block-interlaced LDPC decoders with reduced interconnect complexity」(以下簡稱 提出的設計係利用硬性決定演算法來達成較高的 資料處理量,其中採用單位元量化。T. Mohsenin等人在2009 年 5 月於Proc. IEEE ISCAS 發表之「Multi-split-row threshold decoding implementations for LDPC codes」(以下簡稱 提出將同位檢查矩陣分割為多個子矩陣的設計及降 低位元錯誤率的方法。L. Liu等人在2008年12月於IEEE Trans. Circuits Syst. I,Reg. Papers,vol. 55, no. 11 發表之 「Sliced message passing: high throughput overlapped decoding of high-rate low-density parity-check codes」(以下簡稱提 出一種以暫存器為基礎的部份平行式解碼架構,稱為切片訊 息傳遞(sliced message passing, SMP)。Z. Zhang 等人在 2009 年六月於 IEEE VLSI Circuits Symposium 發表之「A 47Gb/s LDPC decoder with improved low error rate performance」(以下 簡稱Z/zimg)提出一種利用提前結束(eariy termination)概念的 高資料量解碼器。》S/ζα提出了一種適用於根據延伸式RS碼所 建立且屬於連續選擇區塊攔之LDPC碼的低複雜度解碼器。 表五的内容為根據本發明之設計A與上述其他解碼器的 比較。由於係採用硬性決定解碼演算法,而51½未 揭露其晶片面積和功率消耗,因此這兩者並未被列入表五中 比較。DarahTza-i提出了針對(660, 484) LDPC碼的測量結 果’其中對於(2048,1723) LDPC碼僅包含合成(synthesis)結 201119247 果。提出的解碼器係以65奈米製程製作;利用提前結 束(early termination)的概念,該解碼器可提供的資料處理量為 47.7Gb/s,其電壓為1.2伏特’y^=7〇〇MHz,並且具有相當高 的“號雜訊比;佔據了總面積13.7 %的後處理器可改良該解 碼器的錯誤底限(_r fl00r)。雖然ζ/2β呢有提出位元錯誤率 結果,但並未指明評估位元錯誤率時執行疊待運算的次數。 由圖八可看出,根據本發明的混合式訊息傳遞解碼器實施例 係採用ω = 3,其疊代運算次數讲")為8時的位元錯誤率幾乎 等於採用ΤΡΜΡ的先前技術之疊代運算次數為12的結果。根 據ztog中的解碼等待時間,其解碼器於疊代運算次數 2 時的資料處理量可被絲,如表五所示。G.施等人 在雇年 6 月於1ΕΕΕ τ聰.Circuits. Syst. II,Exp. Briefs,v〇l. 54, no. 6 發表之「Implementati〇n 〇f a 版脇 LDpc 如⑺如」 "、’、口了個為料處理量·面積比例(如〇11咖职〇_魟從加沁,丁仏) 參數’其計算方式為資料處理量H同面積。舉例而言, 以65奈米製程製作的解碼器之面積會被轉換為在9〇奈求製 程中的等_積,標較健(n_alizatiQn如㈣為2。各解 碼器採用的演算法不同,所以達到相同之位元錯誤率所需要 =疊代運算的次數亦不同。因此,應基於相_位元錯誤率 才不準來衡畺金代運算的次數及相對應的資料處理量。 一相較於乃卿驗-/及仏’根據本發明的解碼器具有更 南的TAR,並與ZW中提出的解碼器之碰相當。相較於 仏―y中提出的完全平行、分列·ΐ6門植解碼器,根據本 201119247 發明的解碼态之TAR較低。由於中未提出固定點 運算的位元錯鮮絲,以下比㈣以其巾的浮轉算結果 為準。相較於採用™P及修正式MSA,分歹,H6門檻解碼 器的錯誤表現在位元錯誤率(]8£;11)為1〇-6時為〇21。由圖八 可看出’相較於採訂PMP及修正式MSA (曲線D),採用混 合式訊息傳遞解碼且①=3 (曲線B),於增益等於〇〇8犯時 之位元錯解(卿)為ισ6。因此,根據本伽之解碼器可提 供較門檻解碼器為佳的錯誤表現。此外,相較於本段中提到 的解碼器,根據本發明之解碼器只要執行較少次的叠代 就可以達縣佳的錯絲現。再者,她_ 先雜術,根齡發仅解具魏提供多= 的優努。 表五巾的單模式蜗㈣之峨,根縣發明的概 念被實現為一個單模式觫踩哭、ώια 立之⑽m 適用於根據延伸式RS碼建 立之(2〇48, I723) RS_£dpc 攔。為了符合資料處理量的需求,^於不連續地選擇區塊 被設計為NG = 256。此單模物〃碼平行度⑦aralldl㈣ 處理量,頻率為3。3 :=碼器^ :::’此解碼器的晶片面積“3 I537,其核心利用率為68% K為 叫烈的設計“模式解碼器,/ς兩個理由’她於咏 明顯增加。首先,該單模式解萄式解碼器的面積並未 模式解碼器則係採用5位 如罝化,該多 里化其次,該單模式解碼器中 42 201119247 的排列器和反排列器係以如段落ivc所述之單一桶式位移器 來實現’該多模績碼器中的排列器和反排N器則是以兩個 桶式位移器來實現。相較於採用5位元量化,採用4位元量 化的解碼器之錯誤表現在位元錯誤率(BER)為10_6時為01 dB。相較於表五中的單模式解碼器,根據本發明的單模式解 碼器的面積較小’因此更適合應用在ffiEE 8〇23an標準的產 品中。 C· 與其他多模式解碼器的比較 先前有許多針對無線通訊規格(例如DVB-S2、IEEE 802.16e、IEEE 802.11n)設計的多模式解碼器。表六顯示了 丁 Brack等人在2007年4月於Proc Des,Aut〇m Test細發表 _PleXi1^LDPC — decoders for next ge職ti〇n standards」_細_提出針m鱗鮮中的LDPC碼之 合成結果。㈣多模物碼雜制辟鐘為基礎的部份 平打式架構。她於轉解翻,根縣㈣之多模式解碼 器(設計B)所提供的模式較少但資料處理量和TAR都較高。 _本發明之多模式解碼器主要係針對高碼率的編碼所設 二在具有低雜訊通道且希望在有限頻寬下能盡量 ㈣況,例如有線通訊和儲存錢。根據本發明 情二、'知尤其適用於希望碼率可調且提供錯誤校正的 需要採用碼 針對如無顧道等信餘瓶較低的通道 43 201119247 率較低的編碼。實務上,如段落IV.B所述,4艮據本發明的解 碼器可以支援根據高氏場证的且y等於5或6所建立的 RS-LDPC碼。針對上述情況,可建立三種分別為(6, 11)、(6, 14)和(6, 20)的 RS_LDPC 碼,其碼率分別為 〇 57、 0.65和0.75,接近於WiMAX標準所狀的碼率α5、〇 67和 0.75。 、圖十三顯示了不_ f料處理量需求與模式數量需求所 kcr的解碼H架構暫存||為基礎的完全平行架構能提供 高資料處理量’但無法達❹模式魏。收髓為基礎的 2平行架魏提供高達八_上賴式,但其雜處理量 ^ Gblt/S。根據本發明之部分平行架構結合了記憶體 需口求㈣’可兼顧高資料處理量(> 2伽叫與多模式數量的 VI.結論. 本發明提出了一種適用於容措 器的排列器料。為了 3 /椒早模式收職解碼 疊代運算達到特定之位元錯誤率所需要的 且代递异_人數,以及縮短臨界 器係採用部分平行式架频、、θ A I遲’根據本發明之解碼 用Qn ’、 合式訊息傳遞解碼。發明人剎 用卯奈米製程製作了兩個多握_^ L㈣I明人利 卿解碼器,其佈線後模=式解碼器和一個單模式陶, 示,該等多模式解碼器的資料/^⑽Slmuiati0n)結果顯 ㈣。此外,晶片 处理置能達到每秒數千兆位元 積為63W之該單模式解碼器的資料 44 201119247 處理量能知10GbitS/S。 藉由以上較佳具體實施例之詳述,係希 述本發明之特徵與精神,而並非社述所揭露的較佳 施例來對本發明之料加錄制。相反地,其目的是希望能 涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範 圍的範臂内。 45 201119247 【圖式簡單說明】· 圖一係繪示矩陣开;2x3。 圖二係繪示矩陣丑12><丨2。 ,圖二(A)係繪示基礎矩陣B(〇, 〇)與矩陣B(0, 1)的相對關 係’圖二問係緣示b(0, u與矩陣B(2, d的相對關係。 圖四(A)顯不了本發明所提出的根據矩陣B(2,⑽定義之 排列器架構;圖四⑻顯示了本發明所提出的根據矩陣叫 所定義之排列器架構。 圖五所不為矩料384_ ’其+的點代表糾中的1。 圖六係繪示矩陣i/;2x3。 圖七係繪示對應於—⑹32>規律LDpc侧運算順序 圖八顯示了祕不_贼序所造成的位it錯誤率。 圖九(A)及圖九⑼係綠示疊代運算的過程與結果。 圖十係繪示根據本發明之-實施例中的解石馬器架構 128且配合 圖十一顯示了根據本發明之解碼器採用Np (6, 32)-規律RS-LDPC竭時的位元錯誤率。 圖十二顯示了根據本翻之解焉_佈_ 46 201119247 圖十三顯示了不同的資料處理量需求與模式數量需求所 適合的解碼器架構。 圖十四係列示根據本發明之解碼演算法。 【主要元件符號說明】 12 : C2V-訊息計算器 14 :變數節點處理器 16 : V2C-訊息排列器 18 :排列器 20:反向排列器 22 :通道值記憶庫 42 :攔桶式位移器 46 :列桶式位移器 44 :固定連結的選路 47
Claims (1)
- 201119247 七、申請專利範圍: 1、 一種解碼器’適用於根據一里德-索羅門(Reed-Solomon,RS) 碼建立之一低密度同位檢查(low-density parity check,LDPC) 碼’該解碼器包含: 一排列電路(permutation circuit),用以提供根據一同位檢 查矩陣中一子矩陣B(/〇,力)所定義之複數個可配置的連 結(configurable connection),該同位檢查矩陣係與一高 氏%GF(/Z)相關,;?為一質數(prime),$為一正整數,心 和y〇分別為範圍在0到1)間之一整數指標,一組輸入 包含〆個元素(element),該排列電路包含: 一第一排列器(permutator),用以固定該組輸入中之第 一個元素,並將該組輸入中之其他_ 1)個元素環式位 移(cyclically shifting)/〇個位置,以產生一組第一臨時元 素; 一固定選路(fixed routing),用以重新排列該組第一臨時 元素,以產生一組第二臨時元素;以及 一第二排列器,用以固定該組第二臨時元素中之第一 個元素,並將該組第二臨時元素中之其他_丨)個元素 環式位移ζ·〇個位置。 2、 如申請專利範圍第1項所述之解碼器,該解碼器係位於符合 百億位元乙太網路(l〇-gigabit Ethernet)規格之一接收器中。 3、 如申請專利範圍第1項所述之解碼器,其中當該低密度同位 檢查碼為一延伸式里德-索羅門碼,該第二排列器中用以環 式位移該(p -1)個第二臨時元素之(ps-l)個連結被固定。 48 201119247 4、 =青專利範圍第i項所述之解碼器,該解碼器係採用搁排 私(column schedulmg)並且包含複數個該排列電路,1 該低密度同位檢查碼為—延伸式里德索羅門媽,心: ,路中之該整數指標Ζσ皆相同,並且該第—排列“含一桶 ^位移器(bairel shifter) ’該第二排列器包含複數個固定連 、否σ 0 5、 如申請專利範圍第!項所述之解碼器,其中該第一排列器和 a亥第一排列器各自包含一桶式位移器。 6、 如巾請專難圍第㈣之解碼器,其巾制位檢查矩陣 包含γχρ個子矩陣,該同位檢查矩陣中之一第一區塊列(bi〇ck 贿)中的前(p υ個子矩陣係屬於—第—類子矩陣,該同位 檢查矩陣巾之―最末區塊攔(blodk eGlumn)巾的γ個子矩陣係 屬於一第二類子矩陣,並且該同位檢查矩陣中其他(丫 _〗)χ(ρ -1)個=矩陣係屬於一第三類子矩陣,其中供口分別為一正 整數,„亥子矩陣B(z〇, j〇)屬於該第一類子矩陣或該第三類子矩 陣。 7、 如申請專利範圍第1項所述之解碼器,進一步包含: 一檢查節點(check-node)操作模組,用以於一第灸次疊代運 算(iteration)中根據下列方程式產生與一第7•變數節點 (variable node)及一第/檢查節點相關之一檢查_變數訊息 (check-to-variable message) ^[k]: 'W =〜W x max{(|4⑷卜巧,〇}, 其中S〃[A^R#]之一正負符號,§為一偏移(〇ffset)常數,該 檢查節點操作模組係由{^知1,|义丨,...,|2九」}中選擇 49 201119247 |4[φ 其中{1¾。,丨,1¾I,· · .,I}為與該第/檢查節點相關之複數 個變數·檢查訊息(variable-to-check message)中最小的ω個數 值; 其中/為範圍在〇到(M-1)間之一整數指標,j·為範圍在〇到 |/Λ[ζ·]|間之一整數指標’ A為一正整數,〇〇為範圍在3到(|/jq|_ 1}間之一整數’ Μ為該同位檢查矩陣之一列數,|/λ[ζ·]|為該同 位檢查矩陣之一第ζ·列份量(row weight)。 8、 如申請專利範圍第7項所述之解碼器,其中該等數值, 1^1 ’ . . .,係於該第々次疊代運算或是早於該第&疊 代運算之一第〇1)次疊代運算中產生。 9、 如申請專利範圍第7項所述之解碼器,其中如果[幻之一最 高位元(most significant bit)等於1,晚於該第卜欠^代運算之 一第(奸1)次疊代運算即被終止。 10、-種解碼方法,適用於根據一里德_索羅門碼建立之一低密 查T 一同位檢查矩陣係與-高氏場剛相關,户 心:、正整數,ζ。和)。分別為範圍在0到- 1)間之 2數指標…組輸人包含,該 針人’利用以下子步驟提供根據該同位檢查矩 陣中一子矩陣B(w。默義之複數 : 二定該組輸μ之第-麵素,並將雜/中之並 素·元素環式位細位置,以產生一組第一臨 50 201119247 重新排列該組第-臨時元素,以產生一組第二臨時元 素;以及 固定該組第二臨時元素中之第一個元素,並將該組第 - ^時70素巾之其他(pM)個元素環式位移滴位置。 11、 ^申^專利範圍第項所述之解瑪方法,該解碼方法係應用 於付合百億位元乙太網路規格之一接收器中。 12、 如申請專利範圍第10項所述之解碼方法,其中該等步驟中之 環式位移係利用桶式位移(barrel北诅匕幻來實現。 13、 專利範圍第1G項所述之解碼方法,其中該同位檢查矩 陣包含γχρ個子矩陣,關位檢查轉巾之—第―區制中 矩陣係屬於—第—類子矩陣’ _位檢查矩 車中之S末區塊攔中的γ個子矩陣係屬於一第二類子矩 ί5 1)x(p =一第^子矩陣,其中咖分別為—正整數,該子矩陣 B(z〇,7o)屬於該第一類子矩陣或該第三類子矩陣。 進一步包含下列步 14、如申請專利範圍第1〇項所述之解碼方法, 驟: 於1炫疊代運算中根據下列方程式產生與一第廣數節 點及-第漱查節點相關之一檢查-變數訊息啡: RijW = sy[k] X max{(|^.[^]| - ^)j〇| , 點操作模組係由机|,Qji 其中机I,|叫,.· few|}中選擇|&.μ]| ; }為與該第Ζ·檢查節點相關之複數 ^\_R#]之—正負符號’ δ為—補償常數,該檢查節 個變數-檢查訊息中最小的①個數值; 51 201119247 其中/為範圍在0到(Μ-l)間之一整數指標,j·為範圍在0到 間之一整數指標,无為一正整數,ω為範圍在3到(|/Λ[ζ·]|-1:)間之一整數’ Μ為該同位檢查矩陣之一列數,|/Λ[/]|為該同 位檢查矩陣之一第/列份量。 15、 如申請專利範圍第14項所述之解碼方法,其中該等數值 〜’ |2λ,| ’ . · . ’ iQ/wl係於該第Α次疊代運算或是早於該 第灸次疊代運算之一第(卜丨)次疊代運算中產生。 16、 =申請專利範圍第14項所述之解碼方法,其中如果剛之一 ,位元等於丨’晚於該第枝疊代運算之一第(㈣次疊代運 52
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098139768A TWI415396B (zh) | 2009-11-23 | 2009-11-23 | 適用於根據里德-索羅門碼建立之低密度同位檢查碼的解碼器及解碼方法 |
| US12/945,597 US8549375B2 (en) | 2009-11-23 | 2010-11-12 | Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098139768A TWI415396B (zh) | 2009-11-23 | 2009-11-23 | 適用於根據里德-索羅門碼建立之低密度同位檢查碼的解碼器及解碼方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201119247A true TW201119247A (en) | 2011-06-01 |
| TWI415396B TWI415396B (zh) | 2013-11-11 |
Family
ID=44062991
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW098139768A TWI415396B (zh) | 2009-11-23 | 2009-11-23 | 適用於根據里德-索羅門碼建立之低密度同位檢查碼的解碼器及解碼方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8549375B2 (zh) |
| TW (1) | TWI415396B (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI626830B (zh) * | 2016-03-17 | 2018-06-11 | 慧榮科技股份有限公司 | 低密度奇偶校驗解碼器以及對其進行省電的方法 |
| TWI730582B (zh) * | 2020-01-07 | 2021-06-11 | 瑞昱半導體股份有限公司 | 具有多模式的資料移位運算裝置及方法 |
| US11309915B1 (en) | 2019-07-11 | 2022-04-19 | Arrowhead Center, Inc. | Efficient implementation of a threshold modified min-sum algorithm for low-density parity-check decoders |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8281210B1 (en) * | 2006-07-07 | 2012-10-02 | Aquantia Corporation | Optimized correction factor for low-power min-sum low density parity check decoder (LDPC) |
| CN102130695B (zh) * | 2010-01-15 | 2013-06-12 | 中兴通讯股份有限公司 | 一种级联码的译码方法及装置 |
| US10103751B2 (en) * | 2011-02-28 | 2018-10-16 | Inphi Corporation | Non-concatenated FEC codes for ultra-high speed optical transport networks |
| US10063262B2 (en) | 2011-02-28 | 2018-08-28 | Inphi Corporation | Non-concatenated FEC codes for ultra-high speed optical transport networks |
| WO2012118766A1 (en) | 2011-02-28 | 2012-09-07 | Clariphy Communications, Inc. | Non-concatenated fec codes for ultra-high speed optical transport networks |
| US9037564B2 (en) | 2011-04-29 | 2015-05-19 | Stephen Lesavich | Method and system for electronic content storage and retrieval with galois fields on cloud computing networks |
| US9569771B2 (en) | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
| US9137250B2 (en) | 2011-04-29 | 2015-09-15 | Stephen Lesavich | Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks |
| US9361479B2 (en) | 2011-04-29 | 2016-06-07 | Stephen Lesavich | Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks |
| US12212341B2 (en) * | 2012-02-27 | 2025-01-28 | Marvell Asia Pte Ltd | Decoding FEC codewords using LDPC codes defined by a parity check matrix which is defined by RPC and QC constraints |
| CN104220990B (zh) * | 2012-03-28 | 2017-04-12 | 英特尔公司 | 对信道上的编码数据进行解码的方法和系统 |
| US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
| US9281841B2 (en) * | 2012-10-31 | 2016-03-08 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Load balanced decoding of low-density parity-check codes |
| US9021339B2 (en) | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
| US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
| KR102068030B1 (ko) | 2012-12-11 | 2020-01-20 | 삼성전자 주식회사 | 메모리 컨트롤러 및 그 동작방법 |
| US8966339B1 (en) | 2012-12-18 | 2015-02-24 | Western Digital Technologies, Inc. | Decoder supporting multiple code rates and code lengths for data storage systems |
| US9122625B1 (en) | 2012-12-18 | 2015-09-01 | Western Digital Technologies, Inc. | Error correcting code encoder supporting multiple code rates and throughput speeds for data storage systems |
| US9619317B1 (en) * | 2012-12-18 | 2017-04-11 | Western Digital Technologies, Inc. | Decoder having early decoding termination detection |
| US9214963B1 (en) | 2012-12-21 | 2015-12-15 | Western Digital Technologies, Inc. | Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system |
| US9009557B2 (en) * | 2013-01-21 | 2015-04-14 | Lsi Corporation | Systems and methods for reusing a layered decoder to yield a non-layered result |
| EP3364578B1 (en) | 2015-11-17 | 2023-07-26 | Huawei Technologies Co., Ltd. | Parallel decoding for qc-ldpc codes |
| KR102626162B1 (ko) | 2016-06-14 | 2024-01-18 | 삼성전자주식회사 | 연산 복잡도를 감소시킬 수 있는 디코더의 동작 방법과 이를 포함하는 데이터 저장 장치의 동작 방법 |
| US10218384B2 (en) * | 2016-12-01 | 2019-02-26 | Sandisk Technologies Llc | ECC decoder with multiple decoding modes |
| US10565040B2 (en) * | 2016-12-01 | 2020-02-18 | Western Digital Technologies, Inc. | ECC decoder with selective component disabling based on decoding message resolution |
| US10530393B2 (en) | 2016-12-01 | 2020-01-07 | Western Digital Technologies, Inc. | Configurable ECC decoder |
| WO2019003888A1 (ja) * | 2017-06-26 | 2019-01-03 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置及び方法 |
| KR102543059B1 (ko) | 2017-11-22 | 2023-06-14 | 삼성전자주식회사 | 저밀도 패리티 체크 코드의 디코딩 방법, 이를 수행하는 디코더 및 시스템 |
| KR101917829B1 (ko) * | 2017-11-30 | 2018-11-12 | 고려대학교 산학협력단 | Ldpc 부호의 셔플 복호를 위한 복호 순서 결정 방법 및 장치 |
| CN108599775B (zh) * | 2018-05-10 | 2020-09-01 | 清华大学 | 一种混合校验ldpc码的构造方法 |
| CN112655152B (zh) * | 2018-08-03 | 2024-07-19 | 科得鲁西达股份有限公司 | 用于编码准循环低密度奇偶校验码的方法及设备 |
| US11424766B1 (en) | 2020-01-31 | 2022-08-23 | Marvell Asia Pte Ltd. | Method and device for energy-efficient decoders |
| US11206043B2 (en) * | 2020-02-04 | 2021-12-21 | SK Hynix Inc. | Bit-flipping decoder architecture for irregular quasi-cyclic low-density parity-check codes |
| CN112242851B (zh) * | 2020-11-23 | 2024-03-19 | 湖南国科锐承电子科技有限公司 | 一种ldpc码的分层译码中迭代数据处理方法及译码器系统 |
| CN113556136B (zh) * | 2021-07-06 | 2024-05-17 | 北京航空航天大学 | 一种gn陪集码译码方法及装置 |
| GB2613899B (en) * | 2021-12-20 | 2024-08-21 | Accelercomm Ltd | Communication device with low density parity check rotator, and method therefor |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7237174B2 (en) * | 2003-09-04 | 2007-06-26 | The Directv Group, Inc. | Method and system for providing short block length low density parity check (LDPC) codes in support of broadband satellite applications |
| US7549105B2 (en) * | 2005-01-10 | 2009-06-16 | Broadcom Corporation | Construction of irregular LDPC (low density parity check) codes using RS (Reed-Solomon) codes or GRS (generalized Reed-Solomon) code |
| US8196010B1 (en) * | 2007-08-17 | 2012-06-05 | Marvell International, Ltd. | Generic encoder for low-density parity-check (LDPC) codes |
| US8145970B2 (en) * | 2007-09-06 | 2012-03-27 | Broadcom Corporation | Data puncturing ensuring orthogonality within communication systems |
| EP2056510B1 (en) * | 2007-10-30 | 2013-04-03 | Sony Corporation | Data processing apparatus and method |
| NZ585421A (en) * | 2007-11-26 | 2013-03-28 | Sony Corp | An apparatus for encoding using a low-density parity check code |
-
2009
- 2009-11-23 TW TW098139768A patent/TWI415396B/zh not_active IP Right Cessation
-
2010
- 2010-11-12 US US12/945,597 patent/US8549375B2/en not_active Expired - Fee Related
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI626830B (zh) * | 2016-03-17 | 2018-06-11 | 慧榮科技股份有限公司 | 低密度奇偶校驗解碼器以及對其進行省電的方法 |
| US10050642B2 (en) | 2016-03-17 | 2018-08-14 | Silicon Motion Inc. | Low power scheme for bit flipping low density parity check decoder |
| US11309915B1 (en) | 2019-07-11 | 2022-04-19 | Arrowhead Center, Inc. | Efficient implementation of a threshold modified min-sum algorithm for low-density parity-check decoders |
| US11962324B1 (en) | 2019-07-11 | 2024-04-16 | Arrowhead Center, Inc. | Threshold-based min-sum algorithm to lower the error floors of quantized low-density parity-check decoders |
| US12334954B1 (en) | 2019-07-11 | 2025-06-17 | Arrowhead Center, Inc. | Threshold-based min-sum algorithm to lower the error floors of quantized low-density parity-check decoders |
| TWI730582B (zh) * | 2020-01-07 | 2021-06-11 | 瑞昱半導體股份有限公司 | 具有多模式的資料移位運算裝置及方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US8549375B2 (en) | 2013-10-01 |
| US20110126078A1 (en) | 2011-05-26 |
| TWI415396B (zh) | 2013-11-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201119247A (en) | Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes | |
| JP7372369B2 (ja) | 構造的ldpcの符号化、復号化方法および装置 | |
| ES3031114T3 (en) | Encoding method, decoding method, encoding device and decoding device for structured qc-ldpc codes | |
| Echard et al. | The/spl pi/-rotation low-density parity check codes | |
| Cheng et al. | A fully parallel LDPC decoder architecture using probabilistic min-sum algorithm for high-throughput applications | |
| TWI373922B (en) | Data decoding apparatus, data decoding method, data tramsmitting/receiving system, data receiving apparatus, data receiving method and program | |
| TW200922152A (en) | Distributed processing LDPC (low density parity check) decoder | |
| Hagiwara et al. | Spatially coupled quasi-cyclic quantum LDPC codes | |
| Mahdi et al. | A multirate fully parallel LDPC encoder for the IEEE 802.11 n/ac/ax QC-LDPC codes based on reduced complexity XOR trees | |
| CN101904101A (zh) | 编码器、解码器、编码方法和解码方法 | |
| Xie et al. | Euclidean geometry-based spatially coupled LDPC codes for storage | |
| Sha et al. | Multi-Gb/s LDPC code design and implementation | |
| US20070033484A1 (en) | System and method for designing RS-based LDPC code decoder | |
| Ueng et al. | A multimode shuffled iterative decoder architecture for high-rate RS-LDPC codes | |
| CN100505555C (zh) | 一种无线通信系统中非正则低密度奇偶校验码的生成方法 | |
| CN101997552A (zh) | 低编码复杂度多元非规则ldpc码的设计 | |
| Cai et al. | Low-complexity parallel Min-sum medium-density parity-check decoder for McEliece cryptosystem | |
| Cui et al. | Area-efficient parallel decoder architecture for high rate QC-LDPC codes | |
| Pei et al. | Design of irregular LDPC codec on a single chip FPGA | |
| Hwang et al. | Block-circulant RS-LDPC Code: code construction and efficient decoder design | |
| Arzel et al. | Stochastic multiple stream decoding of cortex codes | |
| CN101662291B (zh) | 编码装置和方法 | |
| CN102970045B (zh) | Omp的ldpc解码装置及转换奇偶校验矩阵生成装置 | |
| EP3496277A1 (en) | Parallel encoding method and system for protograph-based ldpc codes with hierarchical lifting stages | |
| Sharma et al. | Fault-Tolerant Quantum LDPC Encoders |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |