Ldpc解碼器和ldpc解碼方法
【技術(shù)領(lǐng)域】
[0001 ] 本申請(qǐng)涉及LDPC解碼器和LDPC解碼方法。
【背景技術(shù)】
[0002]LDPC(Low Density Parity Check,低密度奇偶校驗(yàn)碼)碼首先由美國(guó)麻省理工學(xué)院的Gallager教授在1962年提出,但此后未能引起人們的廣泛關(guān)注,直到上個(gè)世紀(jì)九十年代才由MacKay等人重新發(fā)現(xiàn)并推廣了 LDPC碼。近年來,由于BP (Belief Propagat1n)譯碼算法在LDPC碼譯碼中的應(yīng)用,以及超大規(guī)模集成電路和可編程邏輯器件工藝的不斷進(jìn)步和完善,LDPC碼不僅具有接近香農(nóng)極限的優(yōu)異性能,還具有譯碼復(fù)雜度低、譯碼吞吐率高的優(yōu)點(diǎn),十分便于硬件實(shí)現(xiàn),這使其逐漸成為研究和應(yīng)用領(lǐng)域的熱點(diǎn)。
[0003]LDPC有三種解碼方式,分別是串行解碼、部分并行解碼和全并行解碼。其中串行解碼結(jié)構(gòu)簡(jiǎn)單,但速度慢,吞吐量??;全并行解碼器速度最快,吞吐量最高,但是消耗資源多;部分并行解碼器是串行解碼器和全并行解碼器的折中?,F(xiàn)階段,部分并行解碼器是領(lǐng)域研究的熱點(diǎn)。但是,一些對(duì)LDPC解碼吞吐量要求較高的通信標(biāo)準(zhǔn)(例如802.1 lad),其LDPC解碼吞吐量要求達(dá)到1.7Gbps,即使采用全并行解碼器也只能滿足部分標(biāo)準(zhǔn)要求。
[0004]為此,期望提供一種新穎的和改進(jìn)的LDPC解碼器和LDPC解碼方法,其能夠有效地利用解碼器中的資源,提高譯碼器的解碼吞吐量。
【發(fā)明內(nèi)容】
[0005]根據(jù)本發(fā)明一個(gè)實(shí)施例,提供了一種LDPC解碼器,包括:
[0006]變量更新節(jié)點(diǎn)模塊,包括M個(gè)變量更新節(jié)點(diǎn)計(jì)算單元,用于對(duì)輸入的消息執(zhí)行變量節(jié)點(diǎn)更新計(jì)算,從而獲得變量節(jié)點(diǎn)更新后信息;
[0007]校驗(yàn)更新節(jié)點(diǎn)模塊,包括N個(gè)校驗(yàn)更新節(jié)點(diǎn)計(jì)算單元,用于對(duì)輸入的消息執(zhí)行校驗(yàn)節(jié)點(diǎn)更新計(jì)算,從而獲得校驗(yàn)節(jié)點(diǎn)更新后消息;
[0008]全局互連模塊,用于將所述M個(gè)變量更新節(jié)點(diǎn)計(jì)算單元的每個(gè)和所述N個(gè)校驗(yàn)更新節(jié)點(diǎn)計(jì)算單元的每個(gè)互相連接;
[0009]控制單元,用于執(zhí)行控制,使得獲得的變量節(jié)點(diǎn)更新后信息傳遞給所述N個(gè)校驗(yàn)更新節(jié)點(diǎn)計(jì)算單元的每個(gè),以及使得獲得的校驗(yàn)節(jié)點(diǎn)更新后消息傳遞給所述M個(gè)變量更新節(jié)點(diǎn)計(jì)算單元的每個(gè),
[0010]其中,在所述變量更新節(jié)點(diǎn)模塊完成第k個(gè)消息的更新及傳遞后,在所述校驗(yàn)更新節(jié)點(diǎn)模塊對(duì)所述第k個(gè)消息執(zhí)行校驗(yàn)節(jié)點(diǎn)更新計(jì)算的同時(shí),所述變量更新節(jié)點(diǎn)模塊接收第k+Ι個(gè)消息以執(zhí)行變量節(jié)點(diǎn)更新計(jì)算。
[0011]優(yōu)選地,所述第k個(gè)消息和所述第k+i個(gè)消息來自待解碼的不同的兩個(gè)碼字。
[0012]優(yōu)選地,所述解碼器還包括:
[0013]檢驗(yàn)?zāi)K,用于從所述變量更新節(jié)點(diǎn)模塊接收變量節(jié)點(diǎn)更新后信息,并且根據(jù)接收的變量節(jié)點(diǎn)更新后信息判斷解碼的碼字是否正確。
[0014]優(yōu)選地,所述檢驗(yàn)?zāi)K在判斷解碼的碼字正確時(shí)輸出解碼后的碼字,以及
[0015]所述檢驗(yàn)?zāi)K在判斷解碼的碼字不正確時(shí)判斷所述變量節(jié)點(diǎn)更新后信息是否已經(jīng)迭代處理預(yù)定次數(shù),并且當(dāng)已經(jīng)迭代處理預(yù)定次數(shù)時(shí)確定解碼失敗。
[0016]優(yōu)選地,所述控制單元還比較所述變量更新節(jié)點(diǎn)模塊執(zhí)行變量節(jié)點(diǎn)更新處理所述的第一時(shí)間以及所述檢驗(yàn)更新節(jié)點(diǎn)模塊執(zhí)行檢驗(yàn)節(jié)點(diǎn)更新處理所需的第二時(shí)間,并且根據(jù)第一時(shí)間和第二時(shí)間中較大的一個(gè)的定時(shí)執(zhí)行控制,使得獲得的變量節(jié)點(diǎn)更新后信息傳遞給所述N個(gè)校驗(yàn)更新節(jié)點(diǎn)計(jì)算單元的每個(gè),以及使得獲得的校驗(yàn)節(jié)點(diǎn)更新后消息傳遞給所述M個(gè)變量更新節(jié)點(diǎn)計(jì)算單元的每個(gè)。
[0017]根據(jù)本發(fā)明另一實(shí)施例,提供了一種LDPC解碼方法,應(yīng)用于LDPC解碼器,所述LDPC解碼器包括變量更新節(jié)點(diǎn)模塊和校驗(yàn)更新節(jié)點(diǎn)模塊,所述方法包括:
[0018]通過變量更新節(jié)點(diǎn)模塊對(duì)輸入的消息執(zhí)行變量節(jié)點(diǎn)更新計(jì)算,從而獲得變量節(jié)點(diǎn)更新后信息;
[0019]通過校驗(yàn)更新節(jié)點(diǎn)模塊對(duì)輸入的消息執(zhí)行校驗(yàn)節(jié)點(diǎn)更新計(jì)算,從而獲得校驗(yàn)節(jié)點(diǎn)更新后消息;
[0020]使得獲得的變量節(jié)點(diǎn)更新后信息傳遞給所述變量更新節(jié)點(diǎn)模塊,以及使得獲得的校驗(yàn)節(jié)點(diǎn)更新后消息傳遞給所述校驗(yàn)更新節(jié)點(diǎn)模塊,
[0021]其中,在所述變量更新節(jié)點(diǎn)模塊完成第k個(gè)消息的更新及傳遞后,在所述校驗(yàn)更新節(jié)點(diǎn)模塊對(duì)所述第k個(gè)消息執(zhí)行校驗(yàn)節(jié)點(diǎn)更新計(jì)算的同時(shí),所述變量更新節(jié)點(diǎn)模塊接收第k+Ι個(gè)消息以執(zhí)行變量節(jié)點(diǎn)更新計(jì)算。
[0022]優(yōu)選地,所述第k個(gè)消息和所述第k+Ι個(gè)消息來自待解碼的不同的兩個(gè)碼字。
[0023]優(yōu)選地,所述方法還包括:
[0024]從所述變量更新節(jié)點(diǎn)模塊接收變量節(jié)點(diǎn)更新后信息,并且根據(jù)接收的變量節(jié)點(diǎn)更新后信息判斷解碼的碼字是否正確。
[0025]優(yōu)選地,在判斷解碼的碼字正確時(shí)輸出解碼后的碼字,以及
[0026]在判斷解碼的碼字不正確時(shí),判斷所述變量節(jié)點(diǎn)更新后信息是否已經(jīng)迭代處理預(yù)定次數(shù),并且當(dāng)已經(jīng)迭代處理預(yù)定次數(shù)時(shí)確定解碼失敗。
[0027]優(yōu)選地,所述方法還包括:
[0028]比較所述變量更新節(jié)點(diǎn)模塊執(zhí)行變量節(jié)點(diǎn)更新處理所述的第一時(shí)間以及所述檢驗(yàn)更新節(jié)點(diǎn)模塊執(zhí)行檢驗(yàn)節(jié)點(diǎn)更新處理所需的第二時(shí)間,以及
[0029]根據(jù)第一時(shí)間和第二時(shí)間中較大的一個(gè)的定時(shí)執(zhí)行控制,使得獲得的變量節(jié)點(diǎn)更新后信息傳遞給所述檢驗(yàn)更新節(jié)點(diǎn)模塊,以及使得獲得的校驗(yàn)節(jié)點(diǎn)更新后消息傳遞給所述變量更新節(jié)點(diǎn)模塊。
[0030]因此,根據(jù)本發(fā)明實(shí)施例的LDPC解碼器和LDPC解碼方法,其能夠有效地利用解碼器中的資源,提高譯碼器的解碼吞吐量。
【附圖說明】
[0031]圖1是描述現(xiàn)有技術(shù)的LDPC解碼器的硬件配置框圖;
[0032]圖2是描述現(xiàn)有技術(shù)的LDPC解碼方法的流程圖;
[0033]圖3是描述根據(jù)本發(fā)明實(shí)施例的解碼器的功能配置框圖;
[0034]圖4是描述根據(jù)本發(fā)明實(shí)施例的解碼方法的解碼調(diào)度方式;以及
[0035]圖5是描述根據(jù)本發(fā)明實(shí)施例的解碼方法的流程圖。
【具體實(shí)施方式】
[0036]下面,將參考附圖詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的LDPC解碼器和LDPC解碼方法。
[0037]在描述根據(jù)本發(fā)明實(shí)施例的LDPC解碼器和LDPC解碼方法之前,首先簡(jiǎn)要描述現(xiàn)有技術(shù)中的LDPC解碼器和LDPC解碼方法。
[0038]圖1是描述現(xiàn)有技術(shù)的LDPC解碼器的硬件配置框圖。如圖1所示,典型的LDPC解碼器主要包括三個(gè)部分:1)變量更新節(jié)點(diǎn)(variable node update, VNU)模塊;2)校驗(yàn)更新節(jié)點(diǎn)(check node update, CNU)模塊;和 3)互連(Global Interconnect1ns)模塊。
[0039]需要注意的是,雖然圖中只示出VNU模塊包括12個(gè)VNU單元,但是取決于實(shí)際需要,VNU模塊可以包括更多或更少的VNU單元。同樣地,雖然圖中只示出CNU模塊包括6個(gè)CNU單元,但是取決于實(shí)際需要,CNU模塊可以包括更多或更少的CNU單元。
[0040]互連模塊通過內(nèi)部的接線將VNU模塊中的12個(gè)VNU單元的每個(gè)與CNU模塊中的6個(gè)CNU單元互相連接,從而每個(gè)VNU單元可以使用來自CNU單元的消息,并且每個(gè)CNU單元可以使用來自VNU單元的消息。
[0041]在圖1所示的LDPC解碼的配置下,現(xiàn)有的LDPC解碼方法的工作流程如圖2所示。
[0042]圖2是描述現(xiàn)有技術(shù)的LDPC解碼方法的流程圖。在圖2所示的LDPC解碼方法中,包括以下步驟:<