TWI583141B - 低密度奇偶檢查碼的解碼方法與解碼器 - Google Patents

低密度奇偶檢查碼的解碼方法與解碼器 Download PDF

Info

Publication number
TWI583141B
TWI583141B TW105114682A TW105114682A TWI583141B TW I583141 B TWI583141 B TW I583141B TW 105114682 A TW105114682 A TW 105114682A TW 105114682 A TW105114682 A TW 105114682A TW I583141 B TWI583141 B TW I583141B
Authority
TW
Taiwan
Prior art keywords
decoding
schedule
parity check
density parity
low density
Prior art date
Application number
TW105114682A
Other languages
English (en)
Other versions
TW201740687A (zh
Inventor
李晃昌
翁詠祿
王晉良
Original Assignee
國立清華大學
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 國立清華大學 filed Critical 國立清華大學
Priority to TW105114682A priority Critical patent/TWI583141B/zh
Priority to US15/203,440 priority patent/US20170331496A1/en
Application granted granted Critical
Publication of TWI583141B publication Critical patent/TWI583141B/zh
Publication of TW201740687A publication Critical patent/TW201740687A/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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder

Landscapes

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

Description

低密度奇偶檢查碼的解碼方法與解碼器
本發明是有關於低密度奇偶檢查碼的解碼方法與解碼器,且特別是有關於解碼排程可變化(variable decoding schedule)的低密度奇偶檢查碼的解碼方法與解碼器。
在1962年,低密度奇偶檢查碼(LDPC code)即被Gallager提出,並被證明其錯誤校正能力非常接近理論最大值,香農極限(Shannon Limit),但是沒有具體實施的方式。
最近幾年,無線通訊的研發中,因應近代技術的需求,再度考慮低密度奇偶檢查碼的解碼方式。近代技術的需求例如是視訊的需求,其需要傳輸大量資料。基於傳輸資料大增而採用資料訊號平行傳送,以利於無線通訊裝置較快速地正確接收資料。又對於行動無線通訊裝置,更有利於在快速移動中(例如行車時)的通訊時,鎖定行動無線通訊裝置。另外,資料訊號平行傳送也可以適用於光學傳輸(optical transport),例如在 超高速串行光學傳輸網路 (ultra-high-speed serial optical transport network) 的應用。低密度奇偶檢查碼的具體實施方式,隨著積體電路的技術演進,已逐漸可行,而成為各種先進通訊系統的頻道編碼標準。
然而,低密度奇偶檢查碼在解碼時,依照低密度奇偶檢查矩陣的編碼方式,主要基於有疊代性(iterative)的可靠度傳播(belief propagation,BP),也有提出多種解碼方式。然而傳統方式在多次疊代的解碼嘗試中,其解碼排程一般是採用低密度奇偶檢查矩陣的陣元順序,當作解碼排程 (decoding schedule)。
這種固定解碼排程的解碼方式,雖然其實施方式可以簡易直接進行,但是在解碼效率考量上,解碼效率的提升是技術研發所需要考慮的因素。
本發明提供一種低密度奇偶檢查碼的解碼方法與解碼器,用以有效將輸入信號依據預定的低密度奇偶檢查矩陣解出正確的碼字 (codeword),加快疊代運算的收斂速度。
本發明的一種低密度奇偶檢查碼的解碼方法,用以將輸入信號依據預定的低密度奇偶檢查矩陣解出正確的碼字。本方法包括依據該低密度奇偶檢查矩陣,在預定的解碼嘗試次數內進行多次解碼嘗試,該多次解碼嘗試中至少包含使用第一解碼排程的第一解碼嘗試,以及使用第二解碼排程的第二解碼嘗試。該第二解碼嘗試相鄰接續於該第一解碼嘗試。該第一解碼排程為一組,不包含在該第二解碼排程中。
本發明的一種低密度奇偶檢查碼的解碼器,用以將輸入信號依據預定的低密度奇偶檢查矩陣解出正確的碼字,包括:一解碼單元,被配置以將輸入信號依據預定的低密度奇偶檢查矩陣解出正確的碼字,其中依據該低密度奇偶檢查矩陣,在預定的解碼嘗試次數內進行多次解碼嘗試,該多次解碼嘗試中至少包含使用第一解碼排程的第一解碼嘗試,以及使用第二解碼排程的第二解碼嘗試,其中該第二解碼嘗試相鄰接續於該第一解碼嘗試,該第一解碼排程不包含在該第二解碼排程中; 以及一解碼排程估計單元,被配置以根據該低密度奇偶檢查矩陣產生及儲存多種不同的解碼排程,以供該解碼單元取得該第一解碼排程與該第二解碼順。
在本發明的一實施例中,在上述低密度奇偶檢查碼的解碼方法與解碼器中,該第一解碼排程是層式可靠度傳播順序與垂直式可靠度傳播順序的其一,該第二解碼排程是該層式可靠度傳播順序與垂直式可靠度傳播順序的另其一。
在本發明的一實施例中,在上述低密度奇偶檢查碼的解碼方法與解碼器中,該第一解碼排程與該第二解碼排程都是層式可靠度傳播順序,但是該第二解碼排程的碼率低於該第一解碼排程的碼率。
在本發明的一實施例中,在上述低密度奇偶檢查碼的解碼方法與解碼器中,該第一解碼排程與該第二解碼排程都是垂直式可靠度傳播順序,但是該第二解碼排程的碼率低於該第一解碼排程的碼率。
在本發明的一實施例中,在上述低密度奇偶檢查碼的解碼方法與解碼器中,該第一解碼排程與該第二解碼排程是根據最大互信息增加(maximum mutual information increase,M 2I 2)演算法,依照不同參數條件所決定的不同順序。
在本發明的一實施例中,在上述低密度奇偶檢查碼的解碼方法與解碼器中,該第一解碼嘗試與該第二解碼嘗試都會重置該碼字的初始值,或是後續的該第二解碼嘗試會使用該第一解碼嘗試的結果為初始值。
在本發明的一實施例中,在上述低密度奇偶檢查碼的解碼方法與解碼器中,該第二解碼嘗試的碼率比該第一解碼嘗試碼率低。
在本發明的一實施例中,在上述低密度奇偶檢查碼的解碼方法與解碼器中,該第一解碼排程與該第二解碼排程是隨機安排。
基於上述,一個碼率相容(rate-compatible)低密度奇偶檢查碼的解碼過程可以包含多次的解碼嘗試,包含相鄰二次的解碼嘗試使用不同的解碼排程,以獲得更快的收斂速度,或是在相同的疊代次數限制內,得到更高的吞吐率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明是針對低密度奇偶檢查碼的解碼方法與解碼器,提出對碼字(codeword)解碼時,至少包括在前後兩次疊代的解碼運算,使用不同的解碼排程,以能更有效在後續的疊代的解碼運算中,能更有效使用在先前的解碼運算中已解出所累積的部分信息,加快疊代碼運算的收斂速度,又或是在相同的疊代次數限制內,得到更高的吞吐率(throughput)。
本發明提出解碼排程的規劃,提升解碼效率,但是對於所決定出的解碼排程下,不限定於在後端運作的特定解碼方式。也就是說,例如在一個給予的解碼排程的前提下,可以採用任何可適用的已知解碼機制進行解碼,其可以包括硬體以及/或軟體的運作。也就是LDPC的解碼方式本身,可以採用傳統現有技術,或甚至是未來研發的技術。然而,本發明提供決定其在解碼時所需要的解碼排程的規劃。
以下提出多個實施例來說明本發明,但是本發明不侷限於所舉的實施例。
圖1是依照本發明一實施例,繪示一種低密度奇偶檢查矩陣示意圖。參閱圖1,低密度奇偶檢查碼是基於具有稀疏矩陣性質的奇偶檢查矩陣建構而成。對(n, k)的低密度奇偶檢查碼而言, 每k位元資料會使用n位元的碼字進行編碼。以下是一個被(9, 6)的低密度奇偶檢查碼使用的奇偶檢查矩陣H的一個例,如圖1所示。在此H矩陣內的元素中,陣元為“1”的數量遠少於陣元為“0”的數量。這就是稀疏矩陣性質,也就是低密度的由來。
圖2是依照圖1的低密度奇偶檢查矩陣,繪示檢查點與變數點的連接示意圖。參閱圖2,低密度奇偶檢查碼的解碼,可對應成二分圖(bipartite graph)來表示。二分圖是依照上述奇偶檢查矩陣H建置,其中H的行(column)對應到檢查點(check node,C),而H的列(row)對應至位元點(bit node) 位元點也稱為變數點 (variable node)。檢查點與變數點之間有由矩陣H所決定的連接關係,又稱為連線(edge),其由矩陣H內的陣元1決定。
也就是,在矩陣H中的一行(column)的數值中,具有 “1”的陣元代表在與n個變數點中所對應的變數點有連線,另外具有 “0”的陣元代表沒有連線。以圖1、2為例,第一列(row)的數值是[100100100]描述第一個檢查點與變數點之間的連接關係,因此第0個檢查點與第0、3、6個變數點有連線。矩陣H代表所採用的編碼方式。
在無線傳輸中,多個位元的碼字編碼後是以類比的信號傳送,因此接收到的信號是有雜訊,也因此需要正確將碼字解碼,得到正確的碼字資料。解出來的碼字,依照矩陣的乘法規則,當矩陣H乘上碼字的轉置矩陣後,能得到kx1的“0”矩陣時,此碼字的內容就被認為是正確資料。
在LDPC解碼過程,其依照連線關係以及所接收相對變數點的信號,依照解碼排程作多次的疊代運算。連線關係基本上會包含檢査點傳播到變數點的信息(check to variable (C2V) message),變數點傳播到檢査點的信息(variable to check (V2C) message),例如在多次的疊代運算後達到收斂的狀態,以得到碼字。關於如何依照解碼排程,依照矩陣H的編碼關係來解出碼字是已知的技術,不予詳述,而本發明也不侷限於在特定的解碼機制的應用。
本發明包括提出在LDPC解碼時,所需要的解碼排程的規劃,其中就本發明所提出的特徵,以較廣泛的角度來看,在低密度奇偶檢查碼的解碼過程可以包含多次的解碼嘗試,包含相鄰二次的解碼嘗試使用不同的解碼排程,以獲得更快的收斂速度,或是在相同的疊代次數限制內,得到更高的吞吐率。
本發明所採用的解碼方式,例如包含傳統的層式可靠度傳播(layered belief propagation, LBP)運算或是垂直式可靠度傳播(shuffled belief propagation, SBP )運算。圖3是依照本發明一實施例,低密度奇偶檢查矩陣的一般性規劃示意圖。矩陣H例如以r1至r6代表一行的順序,以c1至c8代表一列的順序。可靠度傳播方式是,是將奇偶檢查矩陣H分為多個層。依照層的順序傳遞解碼訊息。每一個層可以包含一至多個列。也就是LBP是依照奇偶檢查矩陣中的列的順序傳遞解碼訊息。而垂直式可靠度傳播(SBP)是依照奇偶檢查矩陣中行的順序傳遞解碼訊息。
對於一矩陣H,依照碼率(code rate)R的大小,會將矩陣H分為多個對應不同碼率的次矩陣,例如對應碼率R1、R2、R3分為三個次矩陣H1、H2、H3。關於碼率的定義,對於以n 位元來編碼k位元的矩陣H(n, k),此矩陣的碼率值就是k/n。
如圖3所示的一個碼率相容LDPC碼的LDPC矩陣H的範例。H1,H2,H3的碼率分別為R1,R2,R3,且R1>R2>R3。H3包含8個行和6個列,H1包含4個行和2個列。若採用LBP的排程,則在解H1時的解碼排程可以是{r1,r2,r1,r2…},解H3時的解碼排程可以是{r1,r2,r3,r4,r5,r6,r1,r2…},重複多次疊代。若採用SBP的排程,則在解H1時的解碼排程可以是{c1,c2,c3,c4,c1,c2…},解H3時的解碼排程可以是{c1,c2,c3,c4,c5,c6,c7,c8,c1,c2…},一樣重複多次疊代。
在解碼時,一般會先採用較高碼率的次矩陣,例如矩陣H1。如果此矩陣H1的資料無法解出,則會再採用較低碼率的矩陣。一般而言,如果信號的噪聲較低,其表示可以容易辨識其所攜帶的資料,因此採用高碼率的此矩陣H1就足以解出碼字,但是多次的疊代運算仍是必要。如果是依照傳統方式,每次解碼嘗試(decoding attempt)都會採用相同的排程。例如第一次解碼嘗試以解碼採用LBP的排程,則其後的每次解碼嘗試也都將採用LBP。
然而本發明提出,在不同的解碼嘗試中,可以採用不同的解碼排程。例如在解H1時解碼的順序是採用LBP的{r1,r2,r1,r2…},而解H3時則切換採用SBP的順序可以是{c1,c2,c3,c4,c5,c6,c7,c8,c1,c2…}。換句話說,依據低密度奇偶檢查矩陣,在預定的解碼嘗試次數內進行多次解碼嘗試。在這多次解碼嘗試中至少包含使用第一解碼排程的第一解碼嘗試,以及使用第二解碼排程的第二解碼嘗試,其中第二解碼嘗試相鄰接續於第一解碼嘗試,且第一解碼排程不包含在第二解碼排程中。
然而,本發明的解碼嘗試不限於降低碼率。例如也可以在相同碼率相鄰的疊代運算改變解碼排程。進一步以另一實施例來說明,解碼順序的改變並不限定在 LBP 與 SBP 的切換。若LBP中解層的順序改變,如原本因為解H2時採用{r1, r2, r3, r4, r1, r2…},則解H3時傳統方式預期是{r1, r2, r3, r4, r5, r6, r1, r2…}。然而,依照本發明的方式,例如是改變為 {r3, r2, r1, r4, r6, r5, r3, r2…}的排程,這也是符合本發明解碼順序改變的方式。
再從較廣義的實施例來描述,一個碼率相容低密度檢查碼的解碼過程中,可能包含多次的解碼嘗試。每次解碼嘗試可以使用特定的解碼排程。例如S1,S2,…Sk 可以分別表示第一次,第二次…第k次解碼嘗試所使用的解碼排程。例如使用LBP時,Sk中包含的就是檢查矩陣中列的順序。例如圖3的例子中,S1={r1,r2}, S2={r1,r2,r3,r4}。而若採用SBP,則S1={c1,c2,c3,c4}。傳統的解碼過程中,通常被前次的解碼排程順序會包含在下次的解碼順序中,像以LBP解圖3的實施例時,S2={S1, r3,r4},其中S1代表{r1,r2}。較通用的表示方式,傳統的解碼排程可寫為 S(k-1) Sk。但是,本發明提出的方法,在下次的解碼排程中不包含前次的解碼排程順序,也就是S(k-1) Sk。
本發明的解碼排程的一實施例,在相同的概念下,是可以隨機變化。然而,解碼排程的決定也可以利用其他的估計機制來尋找較佳的解碼排程。例如由發明人發表的可變解碼排程方法“H.-C. Lee and Y.-L. Ueng, “Incremental Decoding Schedules for Puncture-based Rate-compatible LDPC codes,” accepted by IEEE VTC2016-Spring”,其中每次解碼嘗試所使用的順序都是由文獻 “H.-C. Lee and Y.-L. Ueng, “LDPC decoding scheduling for faster convergence and lower error floor,” IEEE Trans. on Commun., vol. 62, no. 9, pp. 3104-3113, Sept. 2014”所提出的使用最大互信息增加(maximum mutual information increase,M 2I 2)演算法所設計。這種方式也是符合前述S(k-1) Sk的原則。關於最大互信息增加(M 2I 2)演算法的詳細內容,可以參考文獻的描述,不在此詳述。
然而於此要說明的是,在M 2I 2演算法中,信噪比(S/N ratio,SNR)是一個控制參數,可以改變所估計的不同解碼排程。此信噪比例如是通道環境所提供的信噪比,以S1解碼嘗試而言,就是E s1/N 0,E s1為能量,N 0為噪聲。
另外在不同解碼嘗試中,如果採用不同碼率,由於其信噪比 (SNR)的條件自然會改變,在M 2I 2的運算下,自然會產生不同的解碼排程,不會包含在前估計的解碼排程,符合本發明S(k-1) Sk的技術特徵。
進一步過模擬結果可知,使用的方式進行碼率相容低密度檢查碼的解碼,可以在有限的疊代次數內,明顯增加吞吐率。每次解碼嘗試中,解碼排程順序的設計可以使用M 2I 2演算法,但也能使用其他設計方法,甚至可隨機安排。只要S(k-1) Sk,都是在本發明要保護的廣義範圍內。
因此,本發明包相連續的前後二個解碼,會嘗試使用不同的解碼順序。這個特徵可以多種方式來達成,例如若第k次解碼順序以Sk表示,則S(k-1) Sk。又例如,使用LBP時,Sk中包含的就是第k次解碼嘗試所使用的檢查矩陣中列的順序。又例如使用SBP的方式時,Sk中包含的就是第k次解碼嘗試所使用的檢查矩陣中行的順序。又例如解碼的順序的設計方法不受限制,也可以隨機挑選。更例如以M 2I 2演算法設計的結果,其只要S(k-1) Sk,就包含在本提案的保護範圍。又例如更可以配合採用漸增解碼排程 (Incremental Decoding Schedules),得到更有效率的解碼排程。
圖4 是依照本發明一實施例,低密度奇偶檢查解碼所採M 2I 2的解碼排程,每次重置的機制示意圖。參閱圖4,依照碼率R1、R2、R3,以M 2I 2演算法所建構的三個解碼嘗試S1、S2、S3。對於每一次的碼率R1、R2、R3,都會先重置初始資料。因此,針對每一次碼率都是重新開始,因此對於三個解碼嘗試S1、S2、S3的估計都是獨立進行,其間沒有關連。也就是,每次的運算都是以重置歸零的初始狀態開始運算。本實施例會較為耗時。
圖5是依照本發明一實施例,低密度奇偶檢查解碼所採M 2I 2的解碼排程,採用漸增解碼排程機制示意圖。參閱圖5,依照碼率R1、R2、R3,以M 2I 2演算法所建構的三個解碼嘗試S1、S2、S3。本實施例中,例如對於碼率R2、R3的運算,對於當前的一個碼率,雖然其結果可能無法得到有效的解碼排程,但是都會保留本次碼率的運算所得到的資料,以供在下一個碼率的估算時當作初始使資料。以中間的情形為例,以碼率R1估算解碼嘗試S1,由於其收斂值小於1,無法達到可以成功解碼,而改以碼率R2進行估算。此時,雖然解碼嘗試S1的結果是無法得到有效解碼,但是運算的結果,會被解碼嘗試S2當作初始條件,因此會加快收斂速率。關於圖4與圖5的效果差異,在前述的文獻也較詳細描述,於此不予詳述。
圖6是依照本發明一實施例,低密度奇偶檢查碼的解碼方法的流程示意圖。參閱圖6,依據前面本發明的描述,一低密度奇偶檢查碼的解碼方法包括步驟S100,會接接收依照低密度奇偶檢查矩陣編碼的碼字的輸入信號。步驟S102依照所規劃的解碼排程,進行碼字的解碼。依據低密度奇偶檢查矩陣,在預定的解碼嘗試次數內進行多次解碼嘗試,該多次解碼嘗試中至少包含使用第一解碼排程的第一解碼嘗試,以及使用第二解碼排程的第二解碼嘗試,其中該第二解碼嘗試相鄰接續於該第一解碼嘗試,該第一解碼排程不包含在該第二解碼排程中。
圖7是依照本發明一實施例,低密度奇偶檢查碼的解碼器的架構示意圖。參閱圖7,依據前面本發明的描述,一低密度奇偶檢查碼的解碼器100,用以將輸入碼字信號依據預定的低密度奇偶檢查矩陣解出正確的碼字後輸出碼字。解碼器100包括:一解碼單元102,被配置以將輸入信號依據預定的低密度奇偶檢查矩陣H解出正確的碼字,其中依據該低密度奇偶檢查矩陣,在預定的解碼嘗試次數內進行多次解碼嘗試,該多次解碼嘗試中至少包含使用第一解碼排程的第一解碼嘗試,以及使用第二解碼排程的第二解碼嘗試,其中該第二解碼嘗試相鄰接續於該第一解碼嘗試,該第一解碼排程不包含在該第二解碼排程中。一解碼排程估計單元104,被配置以根據該低密度奇偶檢查矩陣產生及儲存多種不同的解碼排程,以供該解碼單元取得該第一解碼排程與該第二解碼順。一儲存單元106,用以儲存由解碼排程估計單元104所規劃得到的解碼排程,以供解碼單元102使用於解碼。
本發明提出低密度奇偶檢查碼的解碼方法與解碼器,奇包含相連續的前後二個解碼中,會嘗試使用不同的解碼排程進行解碼,以達到更有效率的解碼運算。至於解碼排程的規劃,更可以例如利用M 2I 2當方式進行較有效率的規劃,但是本發明不限於利用M 2I 2運算來尋找不同的解碼排程。本發明的解碼排程的規劃只要有S(k-1) Sk的關係即可,本發明不限制採用何種機制來尋找解碼排程。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧解碼器
102‧‧‧解碼單元
104‧‧‧解碼排程估計單元
106‧‧‧儲存單元
H‧‧‧低密度奇偶檢查矩陣
S100、S102‧‧‧步驟
圖1是依照本發明一實施例,繪示一種低密度奇偶檢查矩陣示意圖。 圖2是依照圖1的低密度奇偶檢查矩陣,繪示檢查點與變數點的連接示意圖。 圖3是依照本發明一實施例,低密度奇偶檢查矩陣的一般性規劃示意圖。 圖4 是依照本發明一實施例,低密度奇偶檢查解碼所採M 2I 2的解碼排程,每次重置的機制示意圖。 圖5是依照本發明一實施例,低密度奇偶檢查解碼所採M 2I 2的解碼排程,採用漸增解碼排程機制示意圖。 圖6是依照本發明一實施例,低密度奇偶檢查碼的解碼方法的流程示意圖。 圖7是依照本發明一實施例,低密度奇偶檢查碼的解碼器的架構示意圖。
S100、S102‧‧‧步驟

Claims (12)

  1. 一種低密度奇偶檢查碼的解碼方法,用以將輸入信號依據預定的低密度奇偶檢查矩陣解出正確的碼字,包括:依據該低密度奇偶檢查矩陣,在預定的解碼嘗試次數內進行多次解碼嘗試,該多次解碼嘗試中至少包含使用第一解碼排程的第一解碼嘗試,以及使用第二解碼排程的第二解碼嘗試,其中該第二解碼嘗試於該第一解碼嘗試後接續執行,該第一解碼排程不包含在該第二解碼排程中,其中該第二解碼嘗試的碼率比該第一解碼嘗試碼率低。
  2. 如申請專利範圍第1項所述的低密度奇偶檢查碼的解碼方法,其中該第一解碼排程是層式可靠度傳播順序與垂直式可靠度傳播順序的其一,該第二解碼排程是該層式可靠度傳播順序與垂直式可靠度傳播順序的另其一。
  3. 如申請專利範圍第1項所述的低密度奇偶檢查碼的解碼方法,其中該第一解碼排程與該第二解碼排程都是層式可靠度傳播順序。
  4. 如申請專利範圍第1項所述的低密度奇偶檢查碼的解碼方法,其中該第一解碼排程與該第二解碼排程都是垂直式可靠度傳播順序。
  5. 如申請專利範圍第1項所述的低密度奇偶檢查碼的解碼方法,其中該第一解碼排程與該第二解碼排程是根據最大互信息 增加(maximum mutual information increase,M2I2)演算法,依照不同參數條件所決定的不同順序。
  6. 如申請專利範圍第1項所述的低密度奇偶檢查碼的解碼方法,其中該第一解碼嘗試與該第二解碼嘗試都會重置該碼字的初始值,或是後續的該第二解碼嘗試會使用該第一解碼嘗試的結果為初始值。
  7. 一種低密度奇偶檢查碼的解碼器,用以將輸入信號依據預定的低密度奇偶檢查矩陣解出正確的碼字,包括:一解碼單元,被配置以將輸入信號依據預定的低密度奇偶檢查矩陣解出正確的碼字,其中依據該低密度奇偶檢查矩陣,在預定的解碼嘗試次數內進行多次解碼嘗試,該多次解碼嘗試中至少包含使用第一解碼排程的第一解碼嘗試,以及使用第二解碼排程的第二解碼嘗試,其中該第二解碼嘗試於該第一解碼嘗試後接續執行,該第一解碼排程不包含在該第二解碼排程中,其中該第二解碼嘗試的碼率比該第一解碼嘗試碼率低;以及一解碼排程估計單元,被配置以根據該低密度奇偶檢查矩陣產生及儲存多種不同的解碼排程,以供該解碼單元取得該第一解碼排程與該第二解碼排程。
  8. 如申請專利範圍第7項所述的低密度奇偶檢查碼的解碼器,其中該第一解碼排程是層式可靠度傳播順序與垂直式可靠度傳播順序的其一,該第二解碼排程是該層式可靠度傳播順序與垂直式可靠度傳播順序的另其一。
  9. 如申請專利範圍第7項所述的低密度奇偶檢查碼的解碼器,其中該第一解碼排程與該第二解碼排程都是層式可靠度傳播順序。
  10. 如申請專利範圍第7項所述的低密度奇偶檢查碼的解碼器,其中該第一解碼排程與該第二解碼排程都是垂直式可靠度傳播順序。
  11. 如申請專利範圍第7項所述的低密度奇偶檢查碼的解碼器,其中該第一解碼排程與該第二解碼排程是根據最大互信息增加(maximum mutual information increase,M2I2)演算法,依照不同參數條件所決定的不同順序。
  12. 如申請專利範圍第7項所述的低密度奇偶檢查碼的解碼器,其中該第一解碼嘗試與該第二解碼嘗試都會重置該碼字的初始值,或是後續的該第二解碼嘗試會使用該第一解碼嘗試的結果為初始值。
TW105114682A 2016-05-12 2016-05-12 低密度奇偶檢查碼的解碼方法與解碼器 TWI583141B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW105114682A TWI583141B (zh) 2016-05-12 2016-05-12 低密度奇偶檢查碼的解碼方法與解碼器
US15/203,440 US20170331496A1 (en) 2016-05-12 2016-07-06 Decoding method and decoder for low density parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105114682A TWI583141B (zh) 2016-05-12 2016-05-12 低密度奇偶檢查碼的解碼方法與解碼器

Publications (2)

Publication Number Publication Date
TWI583141B true TWI583141B (zh) 2017-05-11
TW201740687A TW201740687A (zh) 2017-11-16

Family

ID=59367439

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105114682A TWI583141B (zh) 2016-05-12 2016-05-12 低密度奇偶檢查碼的解碼方法與解碼器

Country Status (2)

Country Link
US (1) US20170331496A1 (zh)
TW (1) TWI583141B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11863201B2 (en) * 2022-04-01 2024-01-02 Qualcomm Incorporated Correlation-based hardware sequence for layered decoding

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200729743A (en) * 2005-10-18 2007-08-01 Nokia Corp Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
TW201029337A (en) * 2009-01-16 2010-08-01 Ralink Technology Corp Method for decoding LDPC code and the circuit thereof
CN101350625B (zh) * 2007-07-18 2011-08-31 北京泰美世纪科技有限公司 一种高效通用的qc-ldpc码译码器及其译码方法
US8347172B2 (en) * 2008-12-12 2013-01-01 Electronics And Telecommunications Research Institute Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof
TWI398103B (zh) * 2006-12-17 2013-06-01 Univ Ramot 低密度奇偶校驗解碼之橫向排程
US8972817B2 (en) * 2011-08-22 2015-03-03 Telex Maglorie Ngatched Nkouatchah Two low complexity decoding algorithms for LDPC codes
CN102859885B (zh) * 2010-04-09 2015-10-07 Sk海尼克斯存储技术公司 Ldpc选择性解码调度的实现

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1819056B1 (en) * 2004-12-02 2013-07-17 Mitsubishi Electric Corporation Decoding device and communication device
US7929625B2 (en) * 2007-09-20 2011-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Quality of service based antenna mapping for multiple-input multiple-output communication systems
EP2667512B1 (en) * 2011-01-21 2017-10-25 Sun Patent Trust Encoding and decoding of tail-biting rate (n-1)/n low-density parity check convolutional codes (ldpc-cc)
US8762798B2 (en) * 2011-11-16 2014-06-24 Stec, Inc. Dynamic LDPC code rate solution
US9806743B2 (en) * 2015-11-16 2017-10-31 Mitsubishi Electric Research Laboratories, Inc. System and method of belief propagation decoding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200729743A (en) * 2005-10-18 2007-08-01 Nokia Corp Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
TWI398103B (zh) * 2006-12-17 2013-06-01 Univ Ramot 低密度奇偶校驗解碼之橫向排程
CN101350625B (zh) * 2007-07-18 2011-08-31 北京泰美世纪科技有限公司 一种高效通用的qc-ldpc码译码器及其译码方法
US8347172B2 (en) * 2008-12-12 2013-01-01 Electronics And Telecommunications Research Institute Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof
TW201029337A (en) * 2009-01-16 2010-08-01 Ralink Technology Corp Method for decoding LDPC code and the circuit thereof
CN102859885B (zh) * 2010-04-09 2015-10-07 Sk海尼克斯存储技术公司 Ldpc选择性解码调度的实现
US8972817B2 (en) * 2011-08-22 2015-03-03 Telex Maglorie Ngatched Nkouatchah Two low complexity decoding algorithms for LDPC codes

Also Published As

Publication number Publication date
TW201740687A (zh) 2017-11-16
US20170331496A1 (en) 2017-11-16

Similar Documents

Publication Publication Date Title
KR101610727B1 (ko) Ldpc 선택적 디코딩 스케줄링의 구현
JP4702632B2 (ja) 符号化方法および符号化装置、並びにプログラム
JP4602418B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
TWI594583B (zh) 硬決定輸入之一般化低密度同位檢查軟解碼
JP5506879B2 (ja) 低密度パリティ検査符号を使用する通信システムのチャネル復号化装置及び方法
US9075738B2 (en) Efficient LDPC codes
JP2008035524A (ja) 反復確率伝搬を使用して記号ブロックを復号化する装置および方法
KR20200127783A (ko) 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법
US9553611B2 (en) Error correction coding with high-degree overlap among component codes
KR101503653B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
TWI583141B (zh) 低密度奇偶檢查碼的解碼方法與解碼器
US20100287439A1 (en) Encoding method and device to determine tldpc codes
JP2009225325A (ja) 復号方法および復号装置、並びにプログラム
Yoon et al. Arbitrary bit generation and correction technique for encoding QC-LDPC codes with dual-diagonal parity structure
EP3526899B1 (en) Decoding of low-density parity-check convolutional turbo codes
TWI566532B (zh) 用於低密度同位檢查碼之使用增強型同位檢查矩陣與再編碼方案的解碼演算法
Zolotarev et al. Usage of divergence within concatenated multithreshold decoding convolutional codes
KR101268061B1 (ko) 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법
Ravanmehr et al. Check-hybrid GLDPC codes: systematic elimination of trapping sets by super checks
KR101257776B1 (ko) 상태-체크 코드를 이용한 부호화 방법 및 부호화 장치
KR101267654B1 (ko) 가변 부호어 길이를 지원하는 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
KR101218658B1 (ko) 불규칙 반복 다상 누산 코드를 이용한 부호화 방법 및 복호화 방법
Fong et al. Multiple phased-burst correcting superposition product LDPC codes
WO2020151835A1 (en) Combined belief propgation (bp) and ordered statistics decoding (osd) for concatenated codes
JP2008199149A (ja) 復号装置および復号方法