用于低密度奇偶校驗(yàn)碼的改善的解碼器的制造方法
【專利摘要】描述了用于對(duì)LDPC碼進(jìn)行解碼的方法和裝置。LDPC碼可以表現(xiàn)為Tanner圖,包括位節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)和其間的連接。在實(shí)施例中,支持具有任何子矩陣尺寸的很多不同LDPC碼的可配置的LDPC解碼器包括幾個(gè)獨(dú)立可尋址存儲(chǔ)器,被用于存儲(chǔ)對(duì)于每個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù)。解碼器還包括數(shù)量P個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng),其產(chǎn)生更新的軟判決數(shù)據(jù)。更新的值然后經(jīng)由混排系統(tǒng)傳遞回存儲(chǔ)器。如果由校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的校驗(yàn)節(jié)點(diǎn)的數(shù)量是PCNB(其中P≥PCNB),并且對(duì)于位節(jié)點(diǎn)的軟判決數(shù)據(jù)是q位字長(zhǎng),那么獨(dú)立可尋址存儲(chǔ)器的總寬度大于PCNB*q位。
【專利說(shuō)明】用于低密度奇偶校驗(yàn)碼的改善的解碼器
【背景技術(shù)】
[0001] 對(duì)于給定的消息字,低密度奇偶校驗(yàn)(LDPC)碼,像諸如漢明碼的其他碼一樣使用 多個(gè)位。每個(gè)奇偶校驗(yàn)覆蓋不同組的消息位,并且奇偶校驗(yàn)重疊,以便任何一個(gè)消息位被多 于一個(gè)的奇偶校驗(yàn)覆蓋。這意味著當(dāng)存在有限數(shù)量的錯(cuò)誤時(shí),可以識(shí)別錯(cuò)誤的位置。LDPC 碼的特征在于表示為H的奇偶校驗(yàn)矩陣,其具有對(duì)于每個(gè)奇偶校驗(yàn)的行、以及對(duì)于總碼字 中每個(gè)位的列。對(duì)于LDPC碼而言,這些奇偶校驗(yàn)矩陣非常大且稀疏(即,其包括很多0并 只有幾個(gè)1),結(jié)果導(dǎo)致非常長(zhǎng)的碼字。
[0002] 奇偶校驗(yàn)矩陣H還可以以Tanner圖的形式表現(xiàn),并且圖1示出示例奇偶校驗(yàn)矩陣 102和對(duì)應(yīng)的Tanner圖104。Tanner圖104示出位節(jié)點(diǎn)106和校驗(yàn)節(jié)點(diǎn)108以及其間的連 接(或者邊緣)。對(duì)于碼字中的每個(gè)位(并且這些對(duì)應(yīng)于奇偶校驗(yàn)矩陣102中的列)有一 個(gè)位節(jié)點(diǎn),并且對(duì)于每個(gè)奇偶校驗(yàn)(并且這些對(duì)應(yīng)于奇偶校驗(yàn)矩陣102中的行)有一個(gè)校 驗(yàn)節(jié)點(diǎn)。
[0003] LDPC碼典型地使用軟輸入軟輸出方法解碼,其中前級(jí)將信息傳遞至解碼器,其說(shuō) 明了對(duì)于每個(gè)位的估計(jì)值(1或〇)和與該估計(jì)關(guān)聯(lián)的置信度值。置信度值可以是對(duì)數(shù)似 然比(LLR)的形式。解碼器以相同的形式(即,估計(jì)值和與該估計(jì)關(guān)聯(lián)的置信度)輸出信 息。解碼器使用基于置信傳播的迭代消息傳遞算法來(lái)執(zhí)行解碼。根據(jù)該算法的示例,位節(jié) 點(diǎn)告知連接的校驗(yàn)節(jié)點(diǎn)其當(dāng)前LLR估計(jì),并且校驗(yàn)節(jié)點(diǎn)使用該信息來(lái)執(zhí)行其奇偶校驗(yàn),并 將信息提供回關(guān)于關(guān)聯(lián)的位是1的可能性的每個(gè)連接的位節(jié)點(diǎn)。在收到更新的信息時(shí),位 節(jié)點(diǎn)將其從所有連接的校驗(yàn)節(jié)點(diǎn)接收的值合并。然后重復(fù)該方法,位節(jié)點(diǎn)向校驗(yàn)節(jié)點(diǎn)提供 更新的LLR,盡管從位節(jié)點(diǎn)向任何校驗(yàn)節(jié)點(diǎn)傳遞的值可能不同,使得校驗(yàn)節(jié)點(diǎn)僅接收"新的" 信息,其指示在之前的迭代中其他連接的校驗(yàn)節(jié)點(diǎn)如何修改了LLR(即,校驗(yàn)節(jié)點(diǎn)接收有關(guān) 由除了其自身的所有其他連接的校驗(yàn)節(jié)點(diǎn)對(duì)LLR做出的改變的信息)。該方法是2通道 消息傳遞(TPMP,Two-PassMessagePassing)的示例,并且通過(guò)合并2個(gè)通道可以更有效 地進(jìn)行解碼,并且結(jié)果可以是合并計(jì)劃消息收發(fā)傳遞(MSMP,Merged-ScheduleMessaging Passing)算法。
[0004] 使用MSMP,對(duì)于每個(gè)位節(jié)點(diǎn)的當(dāng)前LLR估計(jì)被用于計(jì)算并存儲(chǔ)代表校驗(yàn)節(jié)點(diǎn)至位 節(jié)點(diǎn)消息的值,并且一旦已計(jì)算了值,該值被用于更新臨時(shí)變量,該臨時(shí)變量是對(duì)于每個(gè)位 節(jié)點(diǎn)的LLR更新的運(yùn)行總數(shù)。一旦已處理所有的校驗(yàn)節(jié)點(diǎn)(以及被用于更新運(yùn)行總數(shù)的它 們的校驗(yàn)節(jié)點(diǎn)至位節(jié)點(diǎn)消息),則運(yùn)行總數(shù)被用于更新對(duì)于每個(gè)位的LLR的存儲(chǔ)的值(當(dāng)前 LLR估計(jì))。如之前的一樣,然后重復(fù)該方法。
[0005] 對(duì)于LDPC碼有很多應(yīng)用,因?yàn)長(zhǎng)DPC碼已被發(fā)現(xiàn)提供了可靠且有效的方法,用于在 有噪聲的傳輸通道上傳輸數(shù)據(jù)。示例包含在很多數(shù)字電視標(biāo)準(zhǔn)中的使用(無(wú)論是地面、衛(wèi) 星、有線還是移動(dòng)使用),諸如DVB-T2、DVB-S2和DVB-C2、以及其他無(wú)線標(biāo)準(zhǔn),諸如WiMAX? 和一些WIFI?變型。
[0006] 下述實(shí)施例不限于解決了已知的LDPC解碼器的任何或者所有缺點(diǎn)的實(shí)施方式。
【發(fā)明內(nèi)容】
[0007] 提供該
【發(fā)明內(nèi)容】
來(lái)以簡(jiǎn)化形式介紹概念的選擇,其在【具體實(shí)施方式】中進(jìn)一步在下 面述。該
【發(fā)明內(nèi)容】
不意圖識(shí)別權(quán)利要求的主題的關(guān)鍵特征或者基本特征,也并非意圖被用 來(lái)協(xié)助確定權(quán)利要求的主題的范圍。
[0008] 描述了用于對(duì)LDPC碼進(jìn)行解碼的方法和裝置。LDPC碼可以表現(xiàn)為Tanner圖,包 括位節(jié)點(diǎn)(碼字中的每位一個(gè))和校驗(yàn)節(jié)點(diǎn)(每奇偶校驗(yàn)一個(gè))和其間的連接。在實(shí)施例 中,支持具有任何子矩陣尺寸的很多不同LDPC碼的可配置的LDPC解碼器,包括幾個(gè)獨(dú)立的 可尋址存儲(chǔ)器,被用于存儲(chǔ)對(duì)于每個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù)。解碼器還包括數(shù)量P的校驗(yàn)節(jié) 點(diǎn)處理系統(tǒng),其產(chǎn)生更新的軟判決數(shù)據(jù)。更新的值然后經(jīng)由混排系統(tǒng)傳遞回存儲(chǔ)器。如果 由校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的校驗(yàn)節(jié)點(diǎn)數(shù)量是Pras (其中P>PaJ,并且對(duì)于位節(jié)點(diǎn)的軟 判決數(shù)據(jù)是q位的字長(zhǎng),那么獨(dú)立可尋址存儲(chǔ)器的總寬度大于Pc:NB*q位。
[0009] 第一方面提供可配置的LDPC解碼器,被布置為支持具有任何子矩陣尺寸的多個(gè) 不同的LDPC碼構(gòu)造,所述LDPC解碼器包括:多個(gè)獨(dú)立可尋址存儲(chǔ)器,被布置為共同存儲(chǔ)對(duì) 于每個(gè)位節(jié)點(diǎn)的、用于解碼LDPC碼的軟判決數(shù)據(jù),并且每個(gè)存儲(chǔ)器具有寬度,存儲(chǔ)器的所 述寬度包括在單個(gè)周期從所述存儲(chǔ)器可訪問(wèn)的數(shù)據(jù)的量;多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng),被布置 為并行操作,并產(chǎn)生對(duì)所述位節(jié)點(diǎn)軟判決數(shù)據(jù)的更新;第一混排系統(tǒng),被布置為將數(shù)據(jù)從多 個(gè)獨(dú)立可尋址存儲(chǔ)器傳遞至多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng);以及第二混排系統(tǒng),被布置為將對(duì)所 述位節(jié)點(diǎn)軟判決數(shù)據(jù)的更新從所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)傳遞至所述多個(gè)獨(dú)立可尋址存 儲(chǔ)器,其中所述多個(gè)獨(dú)立可尋址存儲(chǔ)器的總寬度大于由所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的 校驗(yàn)節(jié)點(diǎn)的數(shù)量與對(duì)于位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的寬度之積。
[0010] 第二方面提供LDPC碼的解碼的方法,包括:在單個(gè)周期從多個(gè)獨(dú)立可尋址存儲(chǔ)器 訪問(wèn)對(duì)于多個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù),每個(gè)存儲(chǔ)器具有寬度,并且存儲(chǔ)器的寬度包括在單個(gè) 周期從所述存儲(chǔ)器可訪問(wèn)的數(shù)據(jù)的量;將訪問(wèn)的軟判決數(shù)據(jù)提供給多個(gè)校驗(yàn)節(jié)點(diǎn)處理系 統(tǒng);以及在所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)中并行產(chǎn)生對(duì)于所述多個(gè)位節(jié)點(diǎn)的對(duì)所述軟判決數(shù)據(jù)的 更新;以及在所述多個(gè)獨(dú)立可尋址存儲(chǔ)器中存儲(chǔ)對(duì)于所述多個(gè)位節(jié)點(diǎn)的更新的軟判決數(shù) 據(jù),其中在至少一個(gè)周期中,訪問(wèn)對(duì)于多個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù)包括:訪問(wèn)軟判決數(shù)據(jù)的總 量,其大于由所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的校驗(yàn)節(jié)點(diǎn)的數(shù)量與對(duì)于位節(jié)點(diǎn)的所述軟判 決數(shù)據(jù)的寬度之積。
[0011] 另一方面提供實(shí)質(zhì)上如參考附圖的圖5、7和9任一個(gè)描述的LDPC解碼器;實(shí)質(zhì)上 如參考附圖的圖14描述的方法;其上編碼有計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì), 用于產(chǎn)生包括本文描述的LDPC解碼器的處理器;以及其上編碼有計(jì)算機(jī)可讀程序代碼的 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于產(chǎn)生配置為執(zhí)行本文描述的方法的處理器。
[0012] 本文描述的方法可以由計(jì)算機(jī)執(zhí)行,該計(jì)算機(jī)配置有以機(jī)器可讀形式存儲(chǔ)在有形 存儲(chǔ)介質(zhì)上的軟件,例如以計(jì)算機(jī)程序的形式,包括用于配置計(jì)算機(jī)以執(zhí)行描述的方法的 組成部分的計(jì)算機(jī)可讀程序代碼;或者以計(jì)算機(jī)程序的形式,包括適于執(zhí)行本文描述的任 何方法的所有步驟的計(jì)算機(jī)程序代碼單元(當(dāng)在計(jì)算機(jī)上運(yùn)行程序,并且計(jì)算機(jī)程序可以 體現(xiàn)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上之時(shí))。有形(或者非暫時(shí)性)存儲(chǔ)介質(zhì)的示例包含盤、拇指 驅(qū)動(dòng)器、存儲(chǔ)卡等,并且不包含傳播的信號(hào)。軟件可以適于在并行處理器或者串行處理器上 執(zhí)行,使得方法步驟可以以任何適當(dāng)?shù)捻樞?、或者同時(shí)進(jìn)行。
[0013] 本文描述的硬件組件可以由其上編碼有計(jì)算機(jī)可讀程序代碼的非暫時(shí)性計(jì)算機(jī) 可讀存儲(chǔ)介質(zhì)產(chǎn)生。
[0014] 這承認(rèn)了固件和軟件可以分開使用并且是有價(jià)值的。意圖包括軟件,其運(yùn)行或者 控制"啞(dumb)"或者標(biāo)準(zhǔn)硬件來(lái)進(jìn)行期望的功能。還意圖包括"描述"或者定義硬件的配 置的軟件,諸如HDL(硬件描述語(yǔ)言)軟件,其用于設(shè)計(jì)硅芯片、或者用于配置通用可編程芯 片,來(lái)進(jìn)行期望的功能。
[0015] 如對(duì)技術(shù)人員將是明顯的,優(yōu)選特征可以適當(dāng)組合,并可以與本發(fā)明的任何方面 組合。
[0016] 附圖描述
[0017] 將參考下面的附圖,以示例的方式描述本發(fā)明的實(shí)施例,其中:
[0018] 圖1示出示例奇偶校驗(yàn)矩陣和對(duì)應(yīng)的Tanner圖;
[0019] 圖2示出2個(gè)示例奇偶校驗(yàn)矩陣;
[0020] 圖3是示出示例LDPC解碼器的示意圖;
[0021] 圖4示出奇偶校驗(yàn)矩陣的示例片段;
[0022] 圖5示出示例解碼器和包括單個(gè)子矩陣的H矩陣的片段示意圖;
[0023] 圖6示出2個(gè)示例子矩陣;
[0024] 圖7示出另一個(gè)示例解碼器的示意圖;
[0025] 圖8示出示例校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)的示意圖;
[0026] 圖9示出另一個(gè)示例解碼器的示意圖;
[0027] 圖10示出來(lái)自圖9所示的解碼器的選擇塊的示意圖;
[0028] 圖11是示出用于特定校驗(yàn)節(jié)點(diǎn)塊的數(shù)據(jù)如何對(duì)于特定碼進(jìn)行組裝的示例的示意 圖;
[0029] 圖12示出另一個(gè)示例校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)的示意圖;
[0030] 圖13示出另2個(gè)示例子矩陣;以及
[0031] 圖14示出LDPC解碼器的操作的示例方法的流程圖。
[0032] 貫穿附圖使用共同的附圖標(biāo)記,以指示類似的特征。
【具體實(shí)施方式】
[0033] 下面僅以示例的方式描述了本發(fā)明的實(shí)施例。這些示例代表目前 申請(qǐng)人:已知的將 本發(fā)明付諸實(shí)踐的最佳方式,盡管它們并非是實(shí)現(xiàn)的唯一方式。描述陳述了示例的功能、以 及用于構(gòu)建并操作該示例的步驟的順序。然而,相同的或者等價(jià)的功能和順序可以由不同 示例完成。
[0034] 上述LDPC解碼算法涉及在臨時(shí)變量(運(yùn)行總數(shù))中存儲(chǔ)所有位節(jié)點(diǎn)更新,直至迭 代的結(jié)束,此時(shí)所有更新被立即應(yīng)用。該技術(shù)被稱為泛洪(flooding),并且如果給定的位 節(jié)點(diǎn)涉及多個(gè)校驗(yàn)節(jié)點(diǎn)計(jì)算,那么對(duì)于該位節(jié)點(diǎn)的相同的LLR估計(jì)被用于迭代內(nèi)的所有計(jì) 算。然而,替代的方法允許首先處理的校驗(yàn)節(jié)點(diǎn)以立即更新其連接的位節(jié)點(diǎn)(并且因此,更 新對(duì)于這些位節(jié)點(diǎn)的當(dāng)前LLR估計(jì))。這意味著相同迭代內(nèi)的接下來(lái)的校驗(yàn)節(jié)點(diǎn)使用更新 的LLR估計(jì)。該方法被稱作分層解碼,其與泛洪相比要求更少的存儲(chǔ)設(shè)備,并且導(dǎo)致算法更 快速收斂。
[0035] -些LDPC碼被設(shè)計(jì)用于分層解碼,并且對(duì)于這些碼而言,奇偶校驗(yàn)(或者Η)矩陣 被分割為多個(gè)層,每個(gè)層由一組行(即,一組校驗(yàn)節(jié)點(diǎn))組成,并且每個(gè)層僅使用一次特定 位節(jié)點(diǎn),如圖2的第一示例202所示。由于層中的每行包含位的不同集合,因此層內(nèi)的行可 以并行處理,不會(huì)有兩個(gè)以上的校驗(yàn)節(jié)點(diǎn)試圖同時(shí)更新相同的位節(jié)點(diǎn)導(dǎo)致的任何沖突。
[0036] 在一些示例中,除了將H矩陣水平分割為層外,矩陣被進(jìn)一步垂直分割,以形成一 組子矩陣,每個(gè)尺寸為S1乘以S2,如圖2中的第二示例204所示。子矩陣的行構(gòu)成層,并且 每個(gè)子矩陣每列僅含有一個(gè)" 1 "以及每行僅含有一個(gè)" 1 "。這樣組成的碼稱作"架構(gòu)感知", 并且使得與之前的示例相比在解碼器中顯著的邏輯節(jié)省。
[0037] 盡管下面的描述是指分層解碼,但該方法還可以適用到非分層碼,諸如DVB-T2 碼,如下參考圖13所述。
[0038] 圖3是示出示例LDPC解碼器300的示意圖。其包括一個(gè)或多個(gè)存儲(chǔ)器,該存儲(chǔ)器 形成被布置為存儲(chǔ)對(duì)于每個(gè)位節(jié)點(diǎn)的估計(jì)的LLR(其可以稱作軟判決或者"位節(jié)點(diǎn)值")的 λRAM302。這些值可以表示為Qj[k],其中j指位節(jié)點(diǎn),并且k是迭代數(shù)。LDPC解碼器300 還包括并行操作的多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)(或者校驗(yàn)節(jié)點(diǎn)處理塊)304。每個(gè)校驗(yàn)節(jié)點(diǎn)處理 系統(tǒng)304與校驗(yàn)對(duì)位(check-to-bit)節(jié)點(diǎn)消息存儲(chǔ)306接合,并且該存儲(chǔ)可以由一個(gè)或多 個(gè)存儲(chǔ)器(例如每個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304可以有一個(gè)存儲(chǔ)器)提供。這些校驗(yàn)對(duì)位節(jié)點(diǎn) 消息可以表示為Rij [k],其中i指校驗(yàn)節(jié)點(diǎn)。LPDC解碼器300額外包括2個(gè)混排系統(tǒng)308、 310,其從λRAM302獲得用于處理的適當(dāng)?shù)奈还?jié)點(diǎn)數(shù)據(jù),并將其傳遞至校驗(yàn)節(jié)點(diǎn)處理系統(tǒng) 304,進(jìn)而將更新的位節(jié)點(diǎn)數(shù)據(jù)返回至λRAM302中的適當(dāng)點(diǎn)。
[0039] 圖3所示的解碼器300包括P個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304 (其中P是整數(shù)),因此, 解碼器可以最大并行處理P個(gè)校驗(yàn)節(jié)點(diǎn)。并行處理的校驗(yàn)節(jié)點(diǎn)的組可以稱作校驗(yàn)節(jié)點(diǎn)塊 (CNB),并且CNB402的示例可以在圖4的H矩陣400的示例片段中看到。CNB包括Pras個(gè)校 驗(yàn)節(jié)點(diǎn),并且在圖4的示例中Pras = 3。在利用了所有校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304的示例實(shí)施方 式中,P=Ρ? (對(duì)于特定LDPC碼),盡管如下所述在一些示例中,Ρ>Ρ_ (由于由LDPC解碼 器支持的各種碼的子矩陣尺寸的差異)。通過(guò)增加CNB的尺寸(即通過(guò)增加PaJ增加了吞 吐量,然而,硬件尺寸也增加了(作為額外校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304的結(jié)果,即隨著P增加)。 在示例中,層中的校驗(yàn)節(jié)點(diǎn)的數(shù)量可以是CNB尺寸的整數(shù)倍,以便整數(shù)個(gè)CNB包括層(例如 在圖4中,層中有9個(gè)校驗(yàn)節(jié)點(diǎn),并且CNB中有3個(gè)校驗(yàn)節(jié)點(diǎn))。在示例中,對(duì)于DVB-T2而 言,解碼器在每個(gè)層可以使用8個(gè)CNB,其中CNB尺寸為45 (即Pcmb = 45),或者通過(guò)在提升 的內(nèi)部時(shí)鐘頻率上運(yùn)行解碼器,可以減小CNB尺寸。
[0040] 混排系統(tǒng)308被布置為在校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304呈現(xiàn)正確的位節(jié)點(diǎn)數(shù)據(jù)。抓取用 于CNB的數(shù)據(jù)(如校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304要求的)涉及從λRAM302挑選出多組軟判決數(shù) 據(jù)(即多組%陽(yáng)值),長(zhǎng)度為一個(gè)CNB(即每個(gè)時(shí)鐘周期為Pras值)。盡管H矩陣可以布置 為一組子矩陣,其中每個(gè)子矩陣包括空矩陣或者一個(gè)或多個(gè)單循環(huán)移位的單位矩陣(例如 圖4所示的),但單位矩陣的循環(huán)移位意味著要求的來(lái)自λRAM302的多組數(shù)據(jù)可以在偽隨 機(jī)布置的開始點(diǎn)開始。當(dāng)子矩陣尺寸等于P或者等于Ρ*Ν(其中N是整數(shù))時(shí),那么開始點(diǎn) 將是規(guī)律的,并且(由混排系統(tǒng)308)要求的混排不太復(fù)雜。然而,當(dāng)子矩陣尺寸不等于Ρ*Ν 時(shí),那么開始點(diǎn)將是不規(guī)律的,并且混排系統(tǒng)執(zhí)行更復(fù)雜的操作。例如,當(dāng)多組數(shù)據(jù)在偽隨 機(jī)布置的開始點(diǎn)開始時(shí)(并且盡管是以連續(xù)的順序),其將繞子矩陣邊界環(huán)繞。這在圖4所 示的H矩陣400的示例片段的右手子矩陣中的CNB2中顯示。
[0041] 處理校驗(yàn)節(jié)點(diǎn)要求!Ti個(gè)位節(jié)點(diǎn)值(其中!Ti是連接至校驗(yàn)節(jié)點(diǎn)i的位節(jié)點(diǎn)的數(shù)量), 并且在圖4所示的示例中,每個(gè)非空子矩陣向每個(gè)校驗(yàn)節(jié)點(diǎn)貢獻(xiàn)一個(gè)位節(jié)點(diǎn)值。^的值對(duì)于 CNB中的所有校驗(yàn)節(jié)點(diǎn)相同,并且等于子矩陣的數(shù)量,位節(jié)點(diǎn)數(shù)據(jù)需要從所述子矩陣供應(yīng)。
[0042] 如果每個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304具有單個(gè)q位輸入和單個(gè)q位輸出(其中q是位 節(jié)點(diǎn)LLR數(shù)據(jù)的字寬度、[k]),那么連接的位節(jié)點(diǎn)數(shù)據(jù)以串行方式傳遞至每個(gè)校驗(yàn)節(jié)點(diǎn)處 理系統(tǒng),并且當(dāng)解碼器300在ri時(shí)鐘周期處理P個(gè)校驗(yàn)節(jié)點(diǎn)時(shí),實(shí)現(xiàn)了最大吞吐量。為了 在XRAM302的輸入和輸出匹配該吞吐量,ARAM302要求P*q位的總RAM寬度(對(duì)于雙端口 RAM而言);然而,如果總RAM寬度恰好等于P*q位(對(duì)于雙端口RAM而言),那么在混排系 統(tǒng)308、310內(nèi)實(shí)現(xiàn)的重新排序系統(tǒng)為了以正確的順序呈現(xiàn)數(shù)據(jù)(給校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304 和λRAM302)是復(fù)雜的,并且這會(huì)導(dǎo)致顯著的延遲。此外,當(dāng)對(duì)角線(循環(huán)移位的單位矩陣 中)沒有對(duì)齊存儲(chǔ)單元邊界時(shí),需要存儲(chǔ)在一個(gè)周期(即對(duì)于一個(gè)CNB)拉出的數(shù)據(jù)用于接 下來(lái)的CNB的處理,并且這可以參考圖4描述。
[0043] 在圖4所示的H矩陣400的示例片段中,子矩陣尺寸S(其中S是整數(shù))是CNB的 尺寸Pras的整數(shù)倍。在示出的示例中,Pcmb = 3并且S= 9,S卩,子矩陣中有3個(gè)CNB并且存 儲(chǔ)器寬度是3個(gè)位節(jié)點(diǎn)(即3q,恰好等于P_*q)。參考回圖3,對(duì)應(yīng)的解碼器包括3個(gè)校驗(yàn) 節(jié)點(diǎn)處理系統(tǒng)304(P= 3 =PaJ。在圖4所示的示例中,每個(gè)子矩陣也僅有一個(gè)單位矩陣, 盡管本文描述的方法可以適用于:每個(gè)子矩陣有多于一個(gè)單位矩陣的碼,如參考圖13在下 面描述。
[0044] 為了處理CNB0,左手子矩陣要求的所有數(shù)據(jù)可以通過(guò)訪問(wèn)存儲(chǔ)器單元0獲得(例 如在第一周期,一個(gè)位節(jié)點(diǎn)值被傳遞給3個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304中的每個(gè));然而,為了 訪問(wèn)用于右手子矩陣的數(shù)據(jù)(中心子矩陣是空矩陣,并被忽略對(duì)于CNB0-2),訪問(wèn)存儲(chǔ)單元 6和7 (其占用2個(gè)周期)。在訪問(wèn)這兩個(gè)存儲(chǔ)單元時(shí),獲得了比處理CNBO所需更多的數(shù)據(jù), 并且該附加的數(shù)據(jù)是處理CNBl和2所要求的。由于總RAM寬度等于PCNB*q(在該示例中P =PaJ,因此沒有可用的RAM吞吐量來(lái)再次訪問(wèn)相同的數(shù)據(jù)(當(dāng)處理CNBl或者2時(shí)),并 且因此該附加的數(shù)據(jù)需要被保留。保留該數(shù)據(jù)是有問(wèn)題的,因?yàn)槠鋵?dǎo)入了延遲(即,其導(dǎo)入 了一段時(shí)間,在該此期間數(shù)據(jù)在λRAM外緩存,并且在此期間,在相同的位節(jié)點(diǎn)在下一行饋 送至非空子矩陣的情況下,那么新的子矩陣行無(wú)法被處理)。這使得難以保證更新以正確的 順序處理,并且要求例如以緩存形式的、用于附加數(shù)據(jù)的額外存儲(chǔ)。
[0045] 本文描述的是可配置的改善的LDPC解碼器(或者解碼器架構(gòu)),其支持很多不同 的LDPC碼,并且這些支持的LDPC碼可以具有任何尺寸的子矩陣。此外,在改善的LDPC解 碼器中,總存儲(chǔ)器寬度(即,在單個(gè)周期可以從整個(gè)λΜΜ302訪問(wèn)的數(shù)據(jù)的量)寬于P*q, 這能使對(duì)于每個(gè)子矩陣完整的CNB有價(jià)值的數(shù)據(jù)在單個(gè)周期被訪問(wèn)(例如對(duì)存儲(chǔ)器單個(gè)訪 問(wèn)),不論對(duì)角線放置在子矩陣的哪里,并且不需要任何存儲(chǔ)供以后使用的不希望的數(shù)據(jù)。 λRAM302可以包括多個(gè)獨(dú)立可尋址存儲(chǔ)器(即M個(gè)獨(dú)立可尋址存儲(chǔ)器,其中M是整數(shù))。在 各種示例中,M個(gè)存儲(chǔ)器可以包括與P*q寬度的基線要求相比一個(gè)或多個(gè)額外庫(kù)(bank)的 存儲(chǔ)器(例如圖7所示的)、和/或更寬的存儲(chǔ)器庫(kù)(例如圖9所示的)。在很多示例中,M 個(gè)存儲(chǔ)器庫(kù)可以都具有相同的寬度;然而,在其他示例中,存儲(chǔ)器可以具有不同寬度(例如 4個(gè)更大寬度的存儲(chǔ)器和2個(gè)更小寬度的存儲(chǔ)器,其中M= 6)。
[0046] 在可以用于DVB-T2的示例中,Pcnb = 45 =P并且λRAM302可以包括多個(gè)存儲(chǔ)器 庫(kù),每個(gè)為15個(gè)軟判決寬(例如每個(gè)具有15q的寬度)。在該示例中,3個(gè)存儲(chǔ)器將匹配 P(并可以表示為基線存儲(chǔ)器要求);然而,在改善的解碼器示例中,可以有4個(gè)存儲(chǔ)器。在 第二示例中,可以使用3個(gè)更寬的存儲(chǔ)器,每個(gè)存儲(chǔ)器具有2/3*P*q的寬度(而非作為基線 要求的l/3*P*q)。
[0047] 當(dāng)P=Pcmb時(shí),基線存儲(chǔ)器要求可以表示為P*q或者Pc;NB*q。然而,當(dāng)P>Pc;NB時(shí),對(duì) 于特定碼的基線存儲(chǔ)器要求是Pc:NB*q,并且對(duì)于解碼器(其可以是能對(duì)多碼解碼的解碼器) 的基線存儲(chǔ)器要求是P*q(由于其由校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)的數(shù)量確定,并非用于任何碼的CNB 的實(shí)際尺寸)。當(dāng)基線要求(P*q)由Mmin個(gè)存儲(chǔ)器滿足時(shí),每個(gè)寬度為P/Mmin*q,可能有多于 Mmin個(gè)存儲(chǔ)器(即M>Mmin)和/或每個(gè)存儲(chǔ)器可能具有超過(guò)P/Mmin*q的寬度。
[0048] 圖5示出示例可配置的LDPC解碼器500的示意圖,其支持很多不同的LDPC碼(具 有任何尺寸的子矩陣)以及包括單個(gè)子矩陣502的H矩陣的片段,其中子矩陣尺寸是36。 在該示例中,P=Pcmb = 9 (因此有9個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)304并且Pcmb是子矩陣尺寸的整 數(shù)約數(shù)),并且λRAM302包括4個(gè)存儲(chǔ)器504 (記為A-D)。每個(gè)存儲(chǔ)器的存儲(chǔ)器寬度是3 位節(jié)點(diǎn)值(即3q),使得3個(gè)存儲(chǔ)器將滿足(P*q的)基線要求;然而,該系統(tǒng)包括額外的存 儲(chǔ)器(給出總存儲(chǔ)器寬度為12q= 4/3*P*q)。應(yīng)該理解的是,包括4個(gè)存儲(chǔ)器的該布置僅 示出為示例的方式,并且在其他示例中,根據(jù)子矩陣尺寸、要求的吞吐量等,可以使用不同 數(shù)量的存儲(chǔ)器。例如,可以使用M個(gè)存儲(chǔ)器的任何布置,其中那些M個(gè)存儲(chǔ)器的M-I的總 寬度至少可以供應(yīng)Pras-I位節(jié)點(diǎn)值,即對(duì)于每個(gè)具有w位節(jié)點(diǎn)值的寬度的M個(gè)存儲(chǔ)器而言, (M-I)w> (Pcnb-I)。
[0049] 盡管圖5示出Pcmb作為子矩陣尺寸的整數(shù)約數(shù),但應(yīng)該理解的是這可能并不總是 可能的(例如當(dāng)S是素?cái)?shù)時(shí))。
[0050] 解碼器500還包括2個(gè)混排系統(tǒng)508、510。第一混排系統(tǒng)508被布置為在校驗(yàn)節(jié) 點(diǎn)處理系統(tǒng)304呈現(xiàn)正確的位節(jié)點(diǎn)數(shù)據(jù),并且第二混排系統(tǒng)510被布置為將更新的位節(jié)點(diǎn) 數(shù)據(jù)(例如以更新的形式或者更新值,如下文更詳細(xì)描述的那樣)返回至λRAM504。
[0051] 從子矩陣502取出位節(jié)點(diǎn)數(shù)據(jù)的操作對(duì)于CNBO由圖5中的陰影示出,并且該操作 由第一混排系統(tǒng)508實(shí)現(xiàn)。如圖5所示,通過(guò)訪問(wèn)RAMC單元0、RAMD單元0、RAMA單元 1和RAMB單元1獲得了所有要求的位節(jié)點(diǎn)值,并且所有這些值可以在單個(gè)周期中被訪問(wèn) (因?yàn)閺拿總€(gè)存儲(chǔ)器僅有單個(gè)單元被訪問(wèn))。然后,從自RAMC訪問(wèn)的數(shù)據(jù)丟棄2個(gè)位節(jié)點(diǎn) 值,并且從自RAMB訪問(wèn)的數(shù)據(jù)丟棄1個(gè)位節(jié)點(diǎn)值。可以貢獻(xiàn)給每個(gè)CNB的存儲(chǔ)單元的數(shù) 量依賴于架構(gòu)設(shè)計(jì)。
[0052] 圖6示出類似于圖5所示的第一示例子矩陣600,其對(duì)應(yīng)于每個(gè)存儲(chǔ)單元具有3 個(gè)軟判決的4個(gè)存儲(chǔ)器布置(M= 4);然而,該在示例子矩陣600中,每個(gè)子矩陣僅有3個(gè) CNB,因此子矩陣尺寸是27 (與圖5中的S= 36相比,每個(gè)子矩陣有4個(gè)CNB)。這意味著在 子矩陣600中,有9個(gè)存儲(chǔ)單元貢獻(xiàn)給子矩陣:這是行的第一子矩陣,使得這些包括來(lái)自每 個(gè)存儲(chǔ)器的單元〇和1,以及額外地來(lái)自RAMA的單元2。
[0053] 在該示例中可見,處理子矩陣600中的CNBO將要求從存儲(chǔ)器A的2個(gè)單元(A0和 A2)拉取數(shù)據(jù),而存儲(chǔ)器B保持未使用,因此這是不可能的。
[0054] 相反,在圖6中的第二示例子矩陣602中,當(dāng)跨所有RAM(例如從每個(gè)RAMl至M的 單元X)應(yīng)用任何RAM單元(或者RAM地址)時(shí),僅從一個(gè)子矩陣訪問(wèn)數(shù)據(jù),并且這避免了 有關(guān)子矩陣600的上述的問(wèn)題。在第二示例中,有3個(gè)RAM(M= 3)并且每個(gè)存儲(chǔ)單元是5 個(gè)軟判決的寬度。每個(gè)RAM對(duì)每個(gè)子矩陣供應(yīng)2個(gè)單元,并且6個(gè)單元提供30位節(jié)點(diǎn)的存 儲(chǔ)器寬度。這導(dǎo)致3個(gè)浪費(fèi)的位節(jié)點(diǎn)(在該示例中的存儲(chǔ)單元Cl),然而,當(dāng)繞子矩陣邊界 環(huán)繞時(shí),這啟動(dòng)了存儲(chǔ)器的循環(huán)選擇(即為了不必對(duì)于單個(gè)的CNB從相同的存儲(chǔ)器中的2 個(gè)單元讀出)。在像這樣的示例中,當(dāng)有未使用的RAM數(shù)據(jù)通路時(shí),可以使用缺口封閉(gap closing)硬件,參考圖9在以下對(duì)其進(jìn)行描述。
[0055]GB20600碼(用于數(shù)字地面電視的LDPC碼的示例)使用127的子矩陣尺寸,其是 素?cái)?shù)。如果實(shí)現(xiàn)了能夠并行處理45個(gè)校驗(yàn)節(jié)點(diǎn)(P= 45,因?yàn)檫@是對(duì)于另一個(gè)碼的最佳布 置)的硬件,那么對(duì)于GB20600碼有效分裂為CNB將是每個(gè)子矩陣有3個(gè)CNB,尺寸為42、 42和43,因?yàn)檫@會(huì)有效使用可用的校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)。如上所述,具有4個(gè)存儲(chǔ)器布置,并 且這可能對(duì)于其他碼(例如DVB-T2)是最佳的;以及15個(gè)軟判決的存儲(chǔ)單元寬度,這在每 個(gè)子矩陣給出9個(gè)RAM單元(9個(gè)存儲(chǔ)器寬度給出135個(gè)軟判決)。然而,在該布置中,當(dāng)跨 所有RAM(例如每個(gè)RAMl至M中的單元X)應(yīng)用任何RAM單元時(shí),將不會(huì)僅從一個(gè)子矩陣訪 問(wèn)數(shù)據(jù)(如以上描述),反而,將有一些當(dāng)跨所有RAM應(yīng)用時(shí)從多于一個(gè)的子矩陣訪問(wèn)數(shù)據(jù) 的RAM單元。這意味著循環(huán)選擇將跨子矩陣邊界打破,因此是不可能的。為了使用4個(gè)存 儲(chǔ)器(M= 4)布置來(lái)處理該碼,每個(gè)子矩陣可以使用12個(gè)RAM單元(M的倍數(shù))。換言之, 這樣設(shè)計(jì)的系統(tǒng)對(duì)每個(gè)子矩陣將使用4個(gè)CNB,尺寸為32或者31 (3*32+31 = 127)。每個(gè) CNB從3個(gè)存儲(chǔ)單元獲取數(shù)據(jù),并有71 %的硬件利用率效率(因?yàn)槭褂昧?45個(gè)校驗(yàn)節(jié)點(diǎn)處 理系統(tǒng)中的32個(gè))。
[0056] 在該4個(gè)存儲(chǔ)器(M= 4)的布置下,不同的子矩陣尺寸可能導(dǎo)致非常不同的硬件 利用率。例如,在該子矩陣尺寸下,每個(gè)子矩陣可以使用S= 60的4個(gè)RAM單元,因此,完 全利用15個(gè)RAM數(shù)據(jù)路徑。每個(gè)子矩陣有2個(gè)CNB時(shí),有使用的30個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng) (來(lái)自總數(shù)為45個(gè)的校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)),效率為67%。然而,對(duì)于S= 61,每個(gè)子矩陣需 要使用8個(gè)RAM單元,因此,7個(gè)或者8個(gè)RAM單元實(shí)際上被用于每個(gè)RAM。這意味著使用 20或者21的CNB尺寸,(每個(gè)子矩陣3個(gè)CNB),效率降至45%。所以,根據(jù)子矩陣尺寸,4 個(gè)存儲(chǔ)器布置可能不是最佳的,參考圖9在下面描述了替代的布置。
[0057] 如上所述,為了避免與必須從相同的RAM、任何RAM單元(或者RAM地址)訪問(wèn)2 個(gè)存儲(chǔ)單元關(guān)聯(lián)的問(wèn)題,當(dāng)跨所有RAM應(yīng)用時(shí),僅從一個(gè)子矩陣訪問(wèn)數(shù)據(jù),即從每個(gè)RAMl至 M的單元X訪問(wèn)相同的子矩陣。因此,子矩陣中的存儲(chǔ)單元的數(shù)量是在一起形成ARAM的利 用的獨(dú)立可尋址存儲(chǔ)器(M)的數(shù)量的倍數(shù)。
[0058] 圖7是支持很多LDPC不同碼(具有任何尺寸的子矩陣)的另一個(gè)示例可配置的 LDPC解碼器700的示意圖,其中總存儲(chǔ)器寬度超過(guò)P*q的基線值。正如圖5的示例,圖7中 的示例包括4個(gè)存儲(chǔ)器701-704,并且具有4/3*P*q的總存儲(chǔ)器寬度。
[0059] 如圖5的示例那樣,解碼器700包括2個(gè)混排系統(tǒng)706、708。在λRAM701-704的 輸出的混排系統(tǒng)708包括讀出桶式移位器(readbarrelshifter) 710、以及多個(gè)互相連接 的復(fù)用器712。來(lái)自RAM701-704的讀出數(shù)據(jù)應(yīng)用到讀出桶式移位器710,其處理H矩陣內(nèi) 的每個(gè)對(duì)角線的開始可能沒有對(duì)齊存儲(chǔ)器寬度的事實(shí)。因此桶式移位器710從RAM701-704 得到4P/3個(gè)軟判決,并輸出要求的P軟判決,將位節(jié)點(diǎn)與其必要的校驗(yàn)節(jié)點(diǎn)對(duì)齊,并且丟棄 處理中不希望的P/3個(gè)軟判決。在桶式移位器710的輸入的所述多組復(fù)用器712對(duì)RAM輸 出重新排序,以處理含有更高校驗(yàn)節(jié)點(diǎn)的存儲(chǔ)器將根據(jù)對(duì)角線的位置而改變的事實(shí),并以 一致的順序(例如在示出的示例中,左側(cè)為最高校驗(yàn)節(jié)點(diǎn),右側(cè)為最低校驗(yàn)節(jié)點(diǎn))向桶式移 位器710提供位節(jié)點(diǎn)。
[0060] 單個(gè)CNB的處理包括依次從每個(gè)非空子矩陣(從λRAM701-704)讀出位節(jié)點(diǎn)數(shù) 據(jù),并將其通過(guò)桶式移位器710流至校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)714。然后,對(duì)于位數(shù)據(jù)的更新以相 同的順序從校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)(或者系統(tǒng))714流出,進(jìn)入(作為第二混排系統(tǒng)706的部分 的)寫入桶式移位器716(writebarrelshifter)。該桶式移位器716執(zhí)行與讀出桶式移 位器710相反的功能,將數(shù)據(jù)與RAM701-704中要求的位置重新對(duì)齊。復(fù)用器組718然后將 正確的值指引至每個(gè)RAM。由于RAM701-704得到4P/3個(gè)輸入值,而僅P個(gè)值從校驗(yàn)節(jié)點(diǎn)處 理系統(tǒng)714到達(dá),因此一些值將是無(wú)效的,并且其被遮蔽以防止由一組寫入啟動(dòng)控制720寫 入。
[0061] 應(yīng)該理解的是,本文指代的讀出和寫入桶式移位器的操作(例如讀出桶式移位器 710和寫入桶式移位器716)不同于可以被用于常規(guī)LDPC解碼器的常規(guī)桶式移位器。常規(guī) 桶式移位器被配置用于特定尺寸的碼子矩陣,并只是執(zhí)行輸入元件的循環(huán)旋轉(zhuǎn),進(jìn)而將這 些循環(huán)旋轉(zhuǎn)的輸入元件(即,相同數(shù)量的元件輸出作為輸入)輸出。然而,如上所述,在本 文描述的可配置的LDPC解碼器中實(shí)現(xiàn)的桶式移位器輸入并輸出不同數(shù)量的元件(例如,根 據(jù)精確的RAM布置、LDPC碼構(gòu)造等)。
[0062] 圖8示出示例校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)800的示意圖。每個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)接收一條 位節(jié)點(diǎn)數(shù)據(jù),每個(gè)時(shí)鐘周期為% [L-1],(其中L是對(duì)于分層解碼的層指數(shù)),因此其占用ri 個(gè)時(shí)鐘周期來(lái)積累充分的數(shù)據(jù)以繼續(xù)計(jì)算。因此,在校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)800的輸入位置的 Qj寄存器801-802是雙緩沖的:當(dāng)對(duì)于一個(gè)校驗(yàn)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)入時(shí),對(duì)于之前的校驗(yàn)節(jié)點(diǎn) 的數(shù)據(jù)被處理。
[0063] 校驗(yàn)節(jié)點(diǎn)處理的第一級(jí)是從上次迭代減去存儲(chǔ)的校驗(yàn)對(duì)位節(jié)點(diǎn)消息:從Qj[L_l] 值減去RijDi-I](塊803)。在一些示例中,RijDc-I]值可以以"壓縮的"形式(例如最小、最 小指數(shù)、符號(hào)位的組和最小但是一個(gè)值)存儲(chǔ)在存儲(chǔ)804中。該數(shù)據(jù)以雙緩沖方式"解壓 縮"(在塊806-807中),使得解壓縮的Rij[k-Ι]值看起來(lái)與對(duì)應(yīng)的Qj[L-1]值一致(在塊 803)。
[0064] 新的校驗(yàn)對(duì)位節(jié)點(diǎn)消息的組RijDO然后(在塊808中)可以使用如下計(jì)算:
[0065] & [A] = |ρ,.[£ - 1] - - 1]|) (I) -間nu,
[0066] 其中Sij是由符號(hào)的XOR函數(shù)確定的符號(hào)校正因子(參見下方的公式⑷),并且 表達(dá)式j(luò)'eR[i]\{j}代表指數(shù)j'跨連接的位節(jié)點(diǎn)的組運(yùn)行,但是跳過(guò)當(dāng)前指數(shù)j。新的 校驗(yàn)對(duì)位節(jié)點(diǎn)消息以壓縮的形式(壓縮在塊810中執(zhí)行)被重新存儲(chǔ)(在存儲(chǔ)804中),為 下一次迭代準(zhǔn)備好。
[0067] 下面的公式然后可以被用于更新位節(jié)點(diǎn)值:
[0068] Qj [L] =Qj [L-1]-Rij [k~l]+Rij [k] (2)
[0069] 然而,在圖8所示的示例中,從校驗(yàn)節(jié)點(diǎn)處理塊800出現(xiàn)的值只 是,辦-1]+1^[?部分(如塊812中產(chǎn)生的那樣),并且與Qj[L-l]的相加是由位于存儲(chǔ) 回RAM701-704之前的加法器722完成的(如圖7所示)。
[0070] 下面更詳細(xì)地描述上面的公式(1)和(2)。
[0071] 圖9是支持很多不同LDPC碼(具有任何子矩陣尺寸)的其他示例可配置的LDPC解碼器900的示意圖,其中,總存儲(chǔ)器寬度超過(guò)P*q的基線值。在該示例中,有3個(gè) λRAM901_903(M= 3),其中每個(gè)具有2/3*P*q的存儲(chǔ)器寬度,給出2P*q的總寬度。圖9所 示的架構(gòu)是非常靈活的,并可以容納很多不同子矩陣尺寸(例如從對(duì)于一些無(wú)線標(biāo)準(zhǔn)的小 的子矩陣尺寸、到對(duì)于數(shù)字電視標(biāo)準(zhǔn)的顯著更大的子矩陣尺寸),并且因此很多不同碼。
[0072] 在該示例中,混排系統(tǒng)904、906的實(shí)施方式略不同于圖7所示和上面描述的,盡管 應(yīng)該理解的是任一解碼器700、900都可以使用任何適當(dāng)?shù)募軜?gòu)來(lái)實(shí)現(xiàn)混排系統(tǒng)。在圖9的 示例中,讀出預(yù)移位器908-909和寫入后移位器910-911進(jìn)行操作,以封閉由RAM中未使用 的數(shù)據(jù)路徑導(dǎo)致的任何缺口。通過(guò)將該缺口填充硬件導(dǎo)入至架構(gòu),可以從每個(gè)存儲(chǔ)單元出 現(xiàn)的軟判決的數(shù)量(即位節(jié)點(diǎn)值)是變量,其可以針對(duì)特定應(yīng)用選擇。
[0073] 在RAM中的所有數(shù)據(jù)路徑被使用的標(biāo)準(zhǔn)(S卩,對(duì)于RAM中的所有數(shù)據(jù)路徑被使用 的子矩陣尺寸,P=PaJ中,預(yù)移位器和后移位器值保持在0,并且這些級(jí)沒有效果。這例 如是具有Pcmb = 36的DVB-T2中的情況。對(duì)于該碼,可以使用360的子矩陣尺寸,其可以被 分割為10個(gè)CNB,為了 100%利用可以設(shè)置在示例解碼器中的36個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)(其 中S= 360,P= 36)。每個(gè)RAM單元具有24個(gè)軟判決(因?yàn)榇鎯?chǔ)器寬度為2/3*P*q并且 2/3*36 = 24),每個(gè)子矩陣有15個(gè)RAM單元,其是3-RAM系統(tǒng)要求的3的倍數(shù)(由于參考 圖6的上述原因)。
[0074] 對(duì)于運(yùn)行在相同硬件上的GB20600的情況(不同的數(shù)字電視標(biāo)準(zhǔn)),S= 127并且 僅有6個(gè)RAM單元組成子矩陣(6是用于每個(gè)RAM單元的結(jié)果導(dǎo)致< 24個(gè)軟判決的3的最 小倍數(shù));所以僅有21或者22個(gè)軟判決實(shí)際上來(lái)自每個(gè)RAM單元,給出子矩陣尺寸為127。 當(dāng)有36個(gè)數(shù)據(jù)路徑可用(P= 36)時(shí),可以使用的最大CNB尺寸是36并且每個(gè)子矩陣可以 使用4個(gè)CNB,因此實(shí)際的CNB尺寸--Pcmb是31或者32 ;導(dǎo)致88%的利用圖(由PeNB/P 給出)。
[0075] 如該示例展示的那樣,為了改善效率,PaJCNB尺寸)應(yīng)該接近P,因?yàn)檫@意味著校 驗(yàn)節(jié)點(diǎn)處理硬件沒有未充分利用,受到如下約束:組成子矩陣的RAM單元的數(shù)量是獨(dú)立可 尋址存儲(chǔ)器的數(shù)量的倍數(shù),并且每個(gè)單元的軟判決的數(shù)量不超過(guò)單獨(dú)存儲(chǔ)器的寬度。
[0076] 讀出預(yù)移位器908-909將數(shù)據(jù)從"邊遠(yuǎn)的"存儲(chǔ)單元向內(nèi)朝向中心移位,這能創(chuàng)建 有未使用的數(shù)據(jù)路徑的"重疊"。這些預(yù)移位器908-909接下來(lái)的選擇塊912然后包括2對(duì)1 復(fù)用器,來(lái)選擇已創(chuàng)建重疊的適當(dāng)?shù)男?,即,在?lái)自一個(gè)存儲(chǔ)器的不希望的數(shù)據(jù)與來(lái)自第二 存儲(chǔ)器的希望的數(shù)據(jù)之間的重疊的區(qū)域,選擇塊將選擇第二存儲(chǔ)器。圖10示出選擇塊912 的示意圖,簡(jiǎn)化為P= 12的情況;以及圖11示出對(duì)于特定CNB的數(shù)據(jù)如何對(duì)于GB20600的 情況進(jìn)行組裝的示例。
[0077] 在圖11中,希望的數(shù)據(jù)1102示出為對(duì)角陰影,并且這對(duì)應(yīng)于在(在H矩陣片段 1105中)CNBO內(nèi)示出的粗對(duì)角線1104。不希望的數(shù)據(jù)1106示出為沒有任何陰影,并且來(lái) 自未使用的RAM數(shù)據(jù)路徑1108的數(shù)據(jù)示出為點(diǎn)狀圖案。應(yīng)該理解的是,CNB尺寸和使用的 RAM數(shù)據(jù)路徑的數(shù)量?jī)烧呖梢愿鶕?jù)H矩陣中的位置而變化。
[0078] 在該示例中,未使用的數(shù)據(jù)位于"右手"存儲(chǔ)器數(shù)據(jù)路徑(即,具有最高位節(jié)點(diǎn)指 數(shù)的數(shù)據(jù)路徑)。這在移位/選擇設(shè)計(jì)中會(huì)引起不對(duì)稱(例如圖9或者10中)。來(lái)自存儲(chǔ) 器B的輸出向右移位,以將未使用路徑丟失,然而,該區(qū)域中的數(shù)據(jù)總是來(lái)自存儲(chǔ)器B(即其 移位至之前也由來(lái)自存儲(chǔ)器B的數(shù)據(jù)占據(jù)的位置),因此不需要選擇器。來(lái)自存儲(chǔ)器A的輸 出向左移位,以與存儲(chǔ)器C的未使用的區(qū)域重疊,并且選擇塊選擇該區(qū)域中的存儲(chǔ)器A。因 此,封閉了不希望的缺口。
[0079] 圖9-11中示出并在上面所描述的缺口封閉硬件,能使系統(tǒng)有效改變RAM的寬度, 以應(yīng)對(duì)不同的子矩陣尺寸(通過(guò)允許系統(tǒng)保證該數(shù)據(jù)分割為子矩陣尺寸)。當(dāng)有多于一個(gè) 被封閉的缺口時(shí),不同缺口的尺寸不需要相同。
[0080] 圖9所示的示例解碼器不包括任何加法器(例如,對(duì)應(yīng)于圖7的加法器722)。在 這種情況下將-Hk-U+Ryk]相加至QjL-I]是在校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)914內(nèi)執(zhí)行的,并且 圖12示出這樣的校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)1200的示例的示意圖。
[0081] 在圖12所示的示例校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)1200中,在之前的迭代上來(lái)自該校驗(yàn)節(jié)點(diǎn) 的Rij消息事先從RijRAM1202取回;這些然后隨著它們進(jìn)入校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)1200被解壓 縮(在塊1204中),并且從Qj值中減去(在塊1206中),形成Qji位對(duì)校驗(yàn)節(jié)點(diǎn)消息。隨 著這些進(jìn)入,系統(tǒng)記錄它們的符號(hào),并保持最小以及下個(gè)最小幅度的運(yùn)行估計(jì)。Qji消息也存 儲(chǔ)在FIF01208中。一旦對(duì)于特定CNB的上次位節(jié)點(diǎn)值已進(jìn)入,每個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)然后 可以形成Ru消息的新的壓縮組(在塊1210中)用于存儲(chǔ)。這些消息存儲(chǔ)在小緩沖1212 中;以及當(dāng)從該緩沖輸出時(shí),它們可以被解壓(在塊1214中),并相加至從FIF01208出現(xiàn) 的^消息(在塊1216中),形成新的%值用于輸出回λRAM。
[0082] 在圖9-12中示出的LDPC解碼器900的變化中,對(duì)于讀出和寫入兩者示出的2個(gè) 級(jí)別的移位(即移位器和預(yù)移位器)可以合并為對(duì)于每個(gè)讀出和寫入的單個(gè)移位級(jí)。在示 例中,移位級(jí)可以借助適當(dāng)?shù)恼诒蜗蛎總€(gè)左、中和右組的LLR適用單個(gè)移位,進(jìn)而將其在一 起邏輯或。這在功能上等同于圖9-12中示出的2級(jí)方法,并應(yīng)該理解的是在移位策略上也 可以有在功能上等價(jià)的其他變化。
[0083] 在圖9-12中示出的架構(gòu)被設(shè)計(jì)為與多個(gè)不同碼操作,并作為結(jié)果,校驗(yàn)節(jié)點(diǎn)處理 系統(tǒng)1200的架構(gòu)略不同于圖8所示和以上描述的架構(gòu)。如果對(duì)于特定碼的每個(gè)校驗(yàn)節(jié)點(diǎn) 具有相同數(shù)量的連接的位節(jié)點(diǎn),那么%緩沖可以構(gòu)造為雙緩沖系統(tǒng)(如圖8中的示例):一 個(gè)緩沖被用于積累對(duì)于當(dāng)前校驗(yàn)節(jié)點(diǎn)的消息,而另一個(gè)緩沖讀出用于之前的校驗(yàn)的消息, 形成修改的%輸出。然而,在每個(gè)校驗(yàn)節(jié)點(diǎn)可能沒有恒定數(shù)量的連接的位節(jié)點(diǎn)(例如對(duì)于 一些DVB-T2碼,該數(shù)量從一個(gè)層到下個(gè)層會(huì)變化)的實(shí)施方式中,使用這樣的雙緩沖布置 將使得操作停頓并丟失處理周期(例如,如果要讀出的位節(jié)點(diǎn)的數(shù)量多于讀入數(shù)量,那么 校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)的操作停頓以等待讀出結(jié)束)。
[0084] 為了避免通過(guò)這樣停頓,圖12的實(shí)施方式中的壓縮的Rij緩沖1212是具有3個(gè)位 置的非常小的FIFO。如果!"《?是該碼中每個(gè)校驗(yàn)節(jié)點(diǎn)的最大數(shù)量的位節(jié)點(diǎn),那么在"天的 開始"(開始迭代),讀出校驗(yàn)節(jié)點(diǎn)被延遲了 周期。這意味著當(dāng)系統(tǒng)首先開始讀出時(shí),Qji FIF01208保持rmxf條目;并且系統(tǒng)寫入至Rij緩沖1212中的第二或者第三位置(根據(jù)第 一個(gè)CNB是否具有少于或者等于rMX個(gè)連接)。這然后給予充分的緩沖,以保證讀出或者處 理操作都不需要從那里開始停頓。
[0085] 盡管圖9所示的示例LDPC解碼器900包括3個(gè)λRAM(M= 3),但在另一個(gè)示例中 可能僅有2個(gè)λRAM(M= 2)。在這樣的示例中,移位邏輯與3λRAM示例中相同,除了相同 的LLR(來(lái)自一個(gè)ARAM的)被用于左和右LLR數(shù)據(jù)路徑(例如,塊910-911),使得移位邏 輯作為桶式移位器。
[0086] 在上述示例碼中,每個(gè)子矩陣有一個(gè)單位矩陣,盡管本文描述的方法可以應(yīng)用到 每個(gè)子矩陣有多于一個(gè)單位矩陣的碼。這樣的碼的示例是DVB-T2或者DVB-S2,并且這些碼 不是架構(gòu)感知的。然而,這些碼確實(shí)具有可以重新布置的構(gòu)造和H矩陣,以采用以下形式: 含有循環(huán)移位的單位矩陣(除了不與模式擬合的一個(gè)奇偶性位)的尺寸為360x360節(jié)點(diǎn)的 子矩陣。
[0087] 因?yàn)檫@些碼不是"架構(gòu)感知的",因此每個(gè)子矩陣要么可以是空矩陣,要么可以含 有一個(gè)或多個(gè)移位的單位矩陣。多于一個(gè)單位矩陣存在時(shí),這可以稱作"多對(duì)角線",并且在 一些示例中,高達(dá)4個(gè)單位矩陣可以存在于單個(gè)子矩陣中。
[0088] 這些多對(duì)角線使得不可能將H矩陣拆分為真正層。在多對(duì)角線子矩陣中,將多次 使用相同組的位節(jié)點(diǎn),其連接至不同的校驗(yàn)節(jié)點(diǎn)。在很多情形下,子矩陣內(nèi)的多個(gè)校驗(yàn)節(jié)點(diǎn) 將嘗試更新相同的位節(jié)點(diǎn)。這具有2個(gè)含義:首先,這些校驗(yàn)節(jié)點(diǎn)對(duì)于每個(gè)位節(jié)點(diǎn)將都使用 相同的輸入值(這意味著從分層解碼的想法出發(fā),每次使用已由之前的校驗(yàn)節(jié)點(diǎn)更新的位 節(jié)點(diǎn))。其次,不用修改上述架構(gòu),這將意味著對(duì)位節(jié)點(diǎn)的兩個(gè)更新中的一個(gè)將覆蓋另一個(gè), 使得更新中的一個(gè)將丟失。
[0089] 這些含義的第一個(gè)具有的效果是:解碼器性能下降至純泛洪解碼器(所有校驗(yàn)節(jié) 點(diǎn)從相同組的位節(jié)點(diǎn)饋送)與真正分層解碼器(位節(jié)點(diǎn)在每次使用之間更新)之間。
[0090] 這些含義的第二個(gè)具有更嚴(yán)重的后果:如果校驗(yàn)節(jié)點(diǎn)更新持續(xù)丟失,那么這將降 低碼的性能。仿真示出了如果這被允許發(fā)生,那么一些位節(jié)點(diǎn)將卡住,并沒能朝向改善的 LLR值遷移。沖突的數(shù)量通過(guò)使用CNB(如上所述)減小,并且可以通過(guò)去除在每個(gè)CNB內(nèi)沖 突的那些邊緣(即連接)來(lái)處理任何剩余沖突,如參考圖13所示的示例子矩陣1300、1301 解釋的。
[0091] 在第一示例子矩陣1300中,以多于CNB的尺寸隔開了 2個(gè)對(duì)角線1302、1304,因 此在用于任何CNB的位節(jié)點(diǎn)之間沒有沖突。如果對(duì)角線之間的間距減小到少于CNB尺寸, 那么沖突將開始出現(xiàn),如第二示例子矩陣1301所示,僅當(dāng)2個(gè)對(duì)角線相鄰放置時(shí)發(fā)生最大 沖突。假定在實(shí)際碼中在對(duì)角線之間一般有合理的間距,并且本文描述的方法對(duì)CNB而非 子矩陣進(jìn)行操作,需要在任何迭代中排除的邊緣的數(shù)量實(shí)際上非常小。在第二示例子矩陣 1301中,需要排除的邊緣被圈出1306,并且可見這些僅是涉及相同的CNB內(nèi)的2個(gè)奇偶校 驗(yàn)的位節(jié)點(diǎn)的這些點(diǎn)。
[0092] 當(dāng)處理具有多對(duì)角線的子矩陣時(shí),抓取CNB輸入數(shù)據(jù)(由混排系統(tǒng))將涉及訪問(wèn) 相同的子矩陣兩次(每個(gè)情況下對(duì)于對(duì)角線為不同的開始位置)。這可以潛在地將相同的 位節(jié)點(diǎn)數(shù)據(jù)放入處理管道兩次。當(dāng)數(shù)據(jù)回到RAM(再次從混排系統(tǒng))時(shí),將會(huì)有使得更新被 覆蓋的重復(fù)的寫入地址。將被保留、即不覆蓋的該值與上次出現(xiàn)的地址關(guān)聯(lián);并且這依賴于 當(dāng)起初讀出數(shù)據(jù)時(shí)對(duì)子矩陣索引的順序。通過(guò)循環(huán)旋轉(zhuǎn)順序(對(duì)角線以該順序被參考),當(dāng) 從λRAM拉出數(shù)據(jù)時(shí)(通過(guò)混排系統(tǒng)),不同的更新在不同迭代上對(duì)于給定層保留。參考回 圖13中的第二示例子矩陣1301,有2個(gè)對(duì)角線1308、1310。在第一迭代中,首先參考對(duì)角 線1308,在該情況下,從圈邊緣1306導(dǎo)致的更新將被覆蓋(并且因此那些邊緣將從系統(tǒng)被 有效排除)。在第二迭代中,首先參考另一個(gè)對(duì)角線1310,并因此從圈邊緣1306導(dǎo)致的更 新將實(shí)際上覆蓋從沖突邊緣導(dǎo)致的更新,并且因此這些圈邊緣1306將被保留。
[0093]在示例實(shí)施方式中,順序的循環(huán)旋轉(zhuǎn)(其中對(duì)角線以該順序被參考)可以使用二 維表來(lái)記錄對(duì)于每行的H矩陣信息,如下所示:
[0094]
【權(quán)利要求】
1. 一種可配置的LDPC解碼器(500、700、900),被布置為支持具有任何子矩陣尺寸的多 個(gè)不同的LDPC碼構(gòu)造,所述LDPC解碼器包括: 多個(gè)獨(dú)立可尋址存儲(chǔ)器(504、701-704、901-903),被布置為共同存儲(chǔ)對(duì)于每個(gè)位節(jié)點(diǎn) 的軟判決數(shù)據(jù),用于對(duì)LDPC碼進(jìn)行解碼,并且每個(gè)存儲(chǔ)器具有寬度,存儲(chǔ)器的所述寬度包 括在單個(gè)周期可從所述存儲(chǔ)器訪問(wèn)的數(shù)據(jù)的量; 多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)(304、714、914),被布置為并行操作,并產(chǎn)生對(duì)所述軟判決數(shù)據(jù) 的更新; 第一混排系統(tǒng)(508、708、906),被布置為從所述多個(gè)獨(dú)立可尋址存儲(chǔ)器將數(shù)據(jù)傳遞至 所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng);以及 第二混排系統(tǒng)(510、706、904),被布置為從所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)將對(duì)所述軟判 決數(shù)據(jù)的所述更新傳遞至所述多個(gè)獨(dú)立可尋址存儲(chǔ)器, 其中,所述多個(gè)獨(dú)立可尋址存儲(chǔ)器的總寬度大于由所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的 校驗(yàn)節(jié)點(diǎn)的數(shù)量與對(duì)于位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的寬度之積。
2. 如權(quán)利要求1所述的可配置的LDPC解碼器,其中對(duì)于所述LDPC碼的奇偶校驗(yàn)矩陣 包括多個(gè)子矩陣,校驗(yàn)節(jié)點(diǎn)塊包括由所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的校驗(yàn)節(jié)點(diǎn)的組,并 且子矩陣包括多個(gè)校驗(yàn)節(jié)點(diǎn)塊。
3. 如權(quán)利要求2所述的可配置的LDPC解碼器,其中所述多個(gè)獨(dú)立可尋址存儲(chǔ)器包括 M個(gè)獨(dú)立可尋址存儲(chǔ)器,每個(gè)存儲(chǔ)器包括多個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元被布置為存儲(chǔ)對(duì)于多 個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù),其中每個(gè)子矩陣中的所述位節(jié)點(diǎn)分布在X個(gè)存儲(chǔ)單元之間,其中X 是M的倍數(shù)并且M和X是整數(shù)。
4. 如權(quán)利要求2所述的可配置的LDPC解碼器(500、700),其中所述多個(gè)獨(dú)立可尋址存 儲(chǔ)器包括第一多個(gè)獨(dú)立可尋址存儲(chǔ)器,和至少一個(gè)額外的獨(dú)立可尋址存儲(chǔ)器,所述第一多 個(gè)獨(dú)立可尋址存儲(chǔ)器中的每個(gè)存儲(chǔ)器的寬度等于對(duì)于位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的寬度與 校驗(yàn)節(jié)點(diǎn)塊中的校驗(yàn)節(jié)點(diǎn)的數(shù)量之積。
5. 如權(quán)利要求4所述的可配置的LDPC解碼器,其中每個(gè)額外的獨(dú)立可尋址存儲(chǔ)器的寬 度等于對(duì)于位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的寬度與校驗(yàn)節(jié)點(diǎn)塊中的校驗(yàn)節(jié)點(diǎn)的數(shù)量之積。
6. 如權(quán)利要求2所述的可配置的LDPC解碼器(900),其中所述多個(gè)獨(dú)立可尋址存儲(chǔ)器 包括M個(gè)獨(dú)立可尋址存儲(chǔ)器,所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)包括P個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng),對(duì)于 位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的寬度是q,并且每個(gè)存儲(chǔ)器的寬度大于P*q/M。
7. 如權(quán)利要求6所述的可配置的LDPC解碼器,其中M = 3或者M(jìn) = 2。
8. 如權(quán)利要求6所述的可配置的LDPC解碼器,其中每個(gè)存儲(chǔ)器的寬度是2*P*q/M。
9. 如權(quán)利要求2所述的可配置的LDPC解碼器,其中所述第一混排系統(tǒng)被布置為訪問(wèn)多 個(gè)存儲(chǔ)單元,以獲得由所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)處理的數(shù)據(jù),并且丟棄任何來(lái)自那些存 儲(chǔ)單元內(nèi)的、在單個(gè)周期將不會(huì)由所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)使用的訪問(wèn)數(shù)據(jù)。
10. 如權(quán)利要求9所述的可配置的LDPC解碼器,其中所述第一混排系統(tǒng)包括缺口封閉 硬件(912),被布置為消除由丟棄的數(shù)據(jù)導(dǎo)致的、從多個(gè)存儲(chǔ)單元訪問(wèn)的所述數(shù)據(jù)中的任何 缺口。
11. 如權(quán)利要求2所述的可配置的LDPC解碼器,其中所述奇偶校驗(yàn)矩陣包括含有循環(huán) 移位的單位矩陣的子矩陣,每個(gè)單位矩陣稱作對(duì)角線,并且其中,所述第一混排系統(tǒng)被布置 為將順序進(jìn)行循環(huán)旋轉(zhuǎn),其中當(dāng)從所述多個(gè)獨(dú)立可尋址存儲(chǔ)器訪問(wèn)數(shù)據(jù)時(shí)所述對(duì)角線以所 述順序被參考。
12. 如權(quán)利要求11所述的可配置的LDPC解碼器,其中子矩陣包括D個(gè)對(duì)角線,所述子 矩陣中的每個(gè)對(duì)角線具有一指數(shù),并且對(duì)于給定迭代L,所述對(duì)角線以根據(jù)其指數(shù)的順序被 參考,以由L以D為模給出的指數(shù)開始。
13. 如之前任一權(quán)利要求所述的可配置的LDPC解碼器,其中每個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)對(duì) 于連接至位節(jié)點(diǎn)的每個(gè)校驗(yàn)節(jié)點(diǎn)使用校驗(yàn)對(duì)位節(jié)點(diǎn)消息,來(lái)產(chǎn)生對(duì)于所述位節(jié)點(diǎn)的對(duì)軟判 決數(shù)據(jù)的更新,并且其中每個(gè)校驗(yàn)對(duì)位節(jié)點(diǎn)消息是使用最小和算法和變量偏移計(jì)算的,其 中基于最低值的位對(duì)校驗(yàn)消息量級(jí)之間的差異來(lái)計(jì)算所述變量偏移。
14. 如權(quán)利要求13所述的可配置的LDPC解碼器,其中從使用所述最小和算法計(jì)算的初 始位對(duì)校驗(yàn)節(jié)點(diǎn)消息中減去所述變量偏移。
15. -種LDPC碼的解碼的方法,包括: 在單個(gè)周期從多個(gè)獨(dú)立可尋址存儲(chǔ)器訪問(wèn)對(duì)于多個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù)(1402),每 個(gè)存儲(chǔ)器具有寬度,并且存儲(chǔ)器的所述寬度包括在單個(gè)周期從所述存儲(chǔ)器可訪問(wèn)的數(shù)據(jù)的 量; 將訪問(wèn)的軟判決數(shù)據(jù)提供給多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)(1404);以及 在所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)中并行產(chǎn)生對(duì)于所述多個(gè)位節(jié)點(diǎn)的對(duì)所述軟判決數(shù)據(jù)的更 新(1406);以及 在所述多個(gè)獨(dú)立可尋址存儲(chǔ)器中存儲(chǔ)對(duì)于所述多個(gè)位節(jié)點(diǎn)的更新的軟判決數(shù)據(jù) (1408), 其中,在至少一個(gè)周期中,訪問(wèn)對(duì)于多個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù)包括:訪問(wèn)總量大于由所 述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的校驗(yàn)節(jié)點(diǎn)的數(shù)量與對(duì)于位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的寬度 之積的軟判決數(shù)據(jù)。
16. 如權(quán)利要求15所述的方法,其中在所述至少一個(gè)周期中,訪問(wèn)總量大于由所述校 驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的校驗(yàn)節(jié)點(diǎn)的數(shù)量與對(duì)于位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的寬度之積 的軟判決數(shù)據(jù)包括: 訪問(wèn)多個(gè)存儲(chǔ)單元來(lái)獲得用于由所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)進(jìn)行處理的數(shù)據(jù), 并且所述方法還包括: 在提供所述數(shù)據(jù)給所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)之前,丟棄來(lái)自那些存儲(chǔ)單元內(nèi)的、將不會(huì) 在單個(gè)周期由所述多個(gè)校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)使用的任何訪問(wèn)的數(shù)據(jù)(1410)。
17. 如權(quán)利要求15所述的方法,其中對(duì)于所述LDPC碼的奇偶校驗(yàn)矩陣包括多個(gè)子矩 陣,校驗(yàn)節(jié)點(diǎn)塊包括由所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)并行處理的校驗(yàn)節(jié)點(diǎn)的組,子矩陣包括多個(gè) 校驗(yàn)節(jié)點(diǎn)塊,并且至少一個(gè)校驗(yàn)節(jié)點(diǎn)塊包括兩個(gè)或更多個(gè)對(duì)角線,并且其中在單個(gè)周期從 多個(gè)獨(dú)立可尋址存儲(chǔ)器訪問(wèn)對(duì)于多個(gè)位節(jié)點(diǎn)的軟判決數(shù)據(jù)包括: 將順序進(jìn)行循環(huán)旋轉(zhuǎn),其中當(dāng)從所述多個(gè)獨(dú)立可尋址存儲(chǔ)器訪問(wèn)數(shù)據(jù)時(shí)所述對(duì)角線以 所述順序被參考。
18. 如權(quán)利要求17所述的方法,其中子矩陣包括D個(gè)對(duì)角線,所述子矩陣中的每個(gè)對(duì)角 線具有一指數(shù),并且對(duì)于給定迭代L,對(duì)角線以根據(jù)其指數(shù)的順序被參考,以由L以D為模給 出的指數(shù)開始。
19.如權(quán)利要求15-18中任一項(xiàng)所述的方法,其中在所述校驗(yàn)節(jié)點(diǎn)處理系統(tǒng)中,并行產(chǎn) 生對(duì)于所述多個(gè)位節(jié)點(diǎn)的所述軟判決數(shù)據(jù)的更新,對(duì)于每個(gè)位節(jié)點(diǎn)包括: 使用最小和算法,計(jì)算對(duì)于連接至所述位節(jié)點(diǎn)的每個(gè)校驗(yàn)節(jié)點(diǎn)的初始校驗(yàn)對(duì)位節(jié)點(diǎn)消 息(1414); 從每個(gè)初始校驗(yàn)對(duì)位節(jié)點(diǎn)消息減去變量偏移,以產(chǎn)生對(duì)于連接至所述位節(jié)點(diǎn)的每個(gè)校 驗(yàn)節(jié)點(diǎn)的最終校驗(yàn)對(duì)位節(jié)點(diǎn)消息(1416),其中基于最低值的位對(duì)校驗(yàn)節(jié)點(diǎn)消息之間的差異 來(lái)計(jì)算所述變量偏移;以及 基于對(duì)于連接至所述校驗(yàn)節(jié)點(diǎn)的每個(gè)位節(jié)點(diǎn)的最終校驗(yàn)對(duì)位節(jié)點(diǎn)消息,計(jì)算對(duì)所述軟 判決數(shù)據(jù)的更新(1418)。
【文檔編號(hào)】H03M13/11GK104426554SQ201410407562
【公開日】2015年3月18日 申請(qǐng)日期:2014年8月19日 優(yōu)先權(quán)日:2013年8月27日
【發(fā)明者】C·歐文, A·J·安德森 申請(qǐng)人:想象力科技有限公司