專利名稱:用于循環(huán)行列式大小非整數(shù)倍的準(zhǔn)循環(huán)ldpc編碼和解碼的制作方法
用于循環(huán)行列式大小非整數(shù)倍的準(zhǔn)循環(huán)LDPC編碼和解碼其它申請的交叉引用
本申請是出于所有目的而通過引用結(jié)合于此、2010年12月16日提交、標(biāo)題為MULTISTAGE LDPC ENCODING的第12/970,731號(代理案號LINKP052)共同未決美國專利申請的部分繼續(xù)申請,該美國專利申請要求對出于所有目的而通過引用結(jié)合于此、于2010年 2 月 I 日提交、標(biāo)題為 EFFICIENT ENCODING OF A GENERAL LDPC CODE 的第 61/337,287號(代理案號LINKP052+)美國臨時專利申請的優(yōu)先權(quán);本申請也要求對出于所有目的而通過引用結(jié)合于此、2010年3月4日提交、標(biāo)題為QUASI-CYCLIC LOW-DENSITY-PARTY-CHECKCODES ENCODING的第61/339,564號(代理案號LINKP058+)美國臨時專利申請以及對出于所有目的而通過引用結(jié)合于此、2010年5月3日提交、標(biāo)題為LDPC ENCODER AND DECODER的第61/330,627號(代理案號LINKP062+)美國臨時專利申請的優(yōu)先權(quán)。
背景技術(shù):
準(zhǔn)循環(huán)低密度奇偶校驗(QC-LDPC)代碼是特殊類型的LDPC代碼。QC-LDPC代碼(與非QC-LDPC代碼做對比)具有可以分解成構(gòu)建塊(稱為循環(huán)行列式)的奇偶校驗矩陣。使用QC-LDPC代碼的編碼器預(yù)計輸入數(shù)據(jù)具有如下長度,該長度是循環(huán)行列式大小的整數(shù)倍。如果可以開發(fā)允許其它數(shù)據(jù)長度的新技術(shù)則將合乎需要。在一些實施例中,編碼器包括多級編碼器,其中奇偶校驗矩陣或者生成矩陣分解成子矩陣并且多級編碼器的各級使用相應(yīng)子矩陣。如果允許如下數(shù)據(jù)長度的新技術(shù)也與多級編碼技術(shù)一起工作則將進一步合乎需要,這些數(shù)據(jù)長度不是循環(huán)行列式大小的整數(shù)倍。
在下文具體描述和附圖中公開本發(fā)明的各種實施例。圖I是示出了配置成使用低密度奇偶校驗(LDPC)代碼來編碼和存儲數(shù)據(jù)的系統(tǒng)的實施例的圖。圖2是圖示了 QC-LDPC奇偶校驗矩陣和如下循環(huán)行列式的實施例的圖,根據(jù)該循環(huán)行列式可以(重新)生成關(guān)聯(lián)QC-LDPC奇偶校驗。圖3是示出了兩級QC-LDPC編碼器的實施例的圖。圖4是示出了在使用QC-LDPC代碼來編碼期間執(zhí)行的矩陣乘法的一些實施例的圖。圖5是圖示了能夠處理具有如下長度的數(shù)據(jù)的QC-LDPC編碼過程的實施例的流程圖,該長度不是循環(huán)行列式大小的整數(shù)倍。圖6是示出了使用填充表以交換與填充有關(guān)的信息的讀取控制器和寫入控制器的實施例的圖。圖7是圖示了如下LDPC解碼過程的實施例的流程圖,在該LDPC解碼過程中較與未填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先。
圖8A是示出了 QC-LDPC奇偶校驗矩陣和校驗節(jié)點更新的實施例的圖,其中較用于未填充數(shù)據(jù)的判決和可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先。圖SB是示出了變量節(jié)點更新的實施例的圖,其中較用于未填充數(shù)據(jù)的判決和可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先。圖9是示出了 QC-LDPC奇偶校驗矩陣的實施例的圖。圖10是示出了 QC-LDPC生成矩陣的實施例的圖。
具體實施例方式本發(fā)明可以用諸多方式實施,包括實施為過程;裝置;系統(tǒng);物質(zhì)組成;在計算機可讀存儲介質(zhì)上具體化的計算機程序產(chǎn)品;和/或處理器,比如配置成執(zhí)行在耦合到處理
器的存儲器上存儲和/或由該存儲器提供的指令的處理器。在本說明書中,這些實施方式或者本發(fā)明可以采用的任何其它形式可以稱為技術(shù)。一般而言,可以在本發(fā)明的范圍內(nèi)變更公開的過程的步驟順序。除非另有明示,描述為配置成執(zhí)行任務(wù)的部件(比如處理器或者存儲器)可以實施為暫時配置成在給定時間執(zhí)行任務(wù)的一般部件或者制造成執(zhí)行任務(wù)的具體部件。如這里所用,術(shù)語‘處理器’指代配置成處理數(shù)據(jù)(比如計算機程序指令)的一個或者多個設(shè)備、電路和/或處理芯。下文與圖示本發(fā)明原理的附圖一起提供本發(fā)明一個或者多個實施例的具體描述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán)利要求限制,并且本發(fā)明涵蓋諸多替選、修改和等效物。在下文描述中闡述諸多具體細節(jié)以便提供本發(fā)明的透徹理解。出于例子的目的而提供這些細節(jié),并且在沒有這些具體細節(jié)中的一些或者所有具體細節(jié)的情況下可以根據(jù)權(quán)利要求實現(xiàn)本發(fā)明。出于清楚目的,尚未具體描述與本發(fā)明有關(guān)的技術(shù)領(lǐng)域中已知的技術(shù)材料,從而未不必要地模糊本發(fā)明。圖I是示出了配置成使用低密度奇偶校驗(LDPC)代碼來編碼和存儲數(shù)據(jù)的系統(tǒng)的實施例的圖。在所示例子中,LDPC編碼器100接收數(shù)據(jù)輸入并且包括希望存儲的數(shù)據(jù)。LDPC編碼數(shù)據(jù)由LDPC編碼器100輸出并且寫入到儲存器102。在各種實施例中,儲存器102包括多種儲存器類型或者介質(zhì),比如(例如磁)盤驅(qū)動儲存器、閃存儲存器等。在一些實施例中,在收發(fā)器中運用技術(shù),并且通過信道(例如有線或者無線)傳輸和接收數(shù)據(jù)而不是向儲存器寫入或者從儲存器讀取數(shù)據(jù)。當(dāng)(例如由存儲數(shù)據(jù)的應(yīng)用或者用戶)請求或者以別的方式需要存儲的數(shù)據(jù)時,軟輸出檢測器103訪問儲存器102并且取回包括一些噪聲或者錯誤的讀取數(shù)據(jù)。軟輸出檢測器102對讀取數(shù)據(jù)執(zhí)行解碼并且輸出判決和可靠性信息。例如軟輸出檢測器103可以是軟輸出Viterbi解碼器。硬解碼器(解碼器103不是硬解碼器)是輸出判決而未提供對應(yīng)可靠性信息的解碼器。例如,硬解碼器可以輸出特定位是“I”或者“O”的判決而未指示解碼器對該判決有多么確定或者確信。對照而言,軟輸出解碼器輸出判決和與判決關(guān)聯(lián)的可靠性信息??煽啃灾?一般而言)指示解碼器對給定判決有多么確定。在一個例子中,軟輸出解碼器輸出對數(shù)似然比(LLR),其中符號指示判決(例如正值對應(yīng)于“ I ”判決而負(fù)值對應(yīng)于“O”判決)并且量值指示檢測器對該判決有多么確信或者確定(例如,大量值指示高可靠性或者確定性)。向LDPC解碼器104傳遞判決和可靠性信息,該LDPC解碼器104使用判決和可靠性信息來執(zhí)行LDPC解碼。LDPC解碼器104生成的數(shù)據(jù)被傳遞到適當(dāng)實體(例如,請求該數(shù)據(jù)的用戶或者應(yīng)用)。利用恰當(dāng)?shù)木幋a和解碼,數(shù)據(jù)輸入與數(shù)據(jù)輸出匹配。在各種實施例中,使用多種技術(shù)(包括專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)和/或通用處理器(例如高級RISC機器(ARM)芯))來實施所示系統(tǒng)。在LDPC代碼(準(zhǔn)循環(huán)(QC)和非QC 二者)中,代碼由奇偶校驗矩陣(H)定義或者以別的方式表征;對于所有LDPC代碼,H是大小為mXn (即m行和η列)的矩陣。QC-LPDC代碼的一個性質(zhì)是它們具有相對可重復(fù)或者重復(fù)的結(jié)構(gòu),該結(jié)構(gòu)使它們有吸引力,因為更少數(shù)量的儲存器可以用來存儲矩陣。具體而言,QC-LDPC奇偶校驗矩陣(H^uirc)具有稱為循環(huán)行列式的如下構(gòu)建塊,根據(jù)該構(gòu)建塊可以(重新)生成QC-LDPC奇偶校驗矩陣。下文更具體描述循環(huán)行列式和QC-LDPC奇偶校驗矩陣的例子。根據(jù)QC-LDPC奇偶校驗矩陣可以生成QC-LDPC生成矩陣(GQC_LDrc)。生成矩陣(用于QC和非QC代碼二者)用來根據(jù)輸入數(shù)據(jù)生成LDPC編碼數(shù)據(jù)。例如,如果將輸入數(shù)據(jù)表示 為u (lX(n-m)矩陣)而將編碼寫入數(shù)據(jù)表示為c (IXn矩陣),則c = u* G,其中是矩陣乘法。在一些情況下,生成矩陣(G)被操縱成有特殊形式(即系統(tǒng)矩陣),其中G = [I P]并且I是單位矩陣而P是奇偶生成矩陣。在系統(tǒng)形式中,編碼數(shù)據(jù)(c)包括以其原有形式的輸入數(shù)據(jù)U)。在一個例子中,編碼數(shù)據(jù)可以是跟隨有奇偶位的輸入數(shù)據(jù)(U)。奇偶數(shù)據(jù)(P)可以根據(jù)u * P來獲得并且在與輸入數(shù)據(jù)組合(例如通過追加或者級聯(lián))時生成代碼字(即編碼數(shù)據(jù))。圖2是圖示了 QC-LDPC奇偶校驗矩陣和如下循環(huán)行列式的實施例的圖,根據(jù)該循環(huán)行列式可以(重新)生成關(guān)聯(lián)QC-LDPC奇偶校驗。在所示例子中,QC-LDPC奇偶校驗矩陣(H 。)是mXη矩陣,其中m和η 二者是兩個整數(shù)(即在m的情況下為c和b而在t的情況下為t和b)的乘積。QC-LDPC奇偶校驗矩陣200包括多個循環(huán)行列式A。。循環(huán)行列式是具有維度bXb的方陣,其中每個行矢量或者列矢量是在它之前的行矢量或者列矢量的(例如向上或者向左)循環(huán)移位。維度b是循環(huán)行列式大小。循環(huán)行列式202示出了用于A"的例子循環(huán)行列式。在這一例子中,b=4并且在循環(huán)行列式202中的每個行矢量是向右循環(huán)移位一個位置的先前行矢量的副本,其中在末尾的值向開頭卷繞。存儲與一個或者多個循環(huán)行列式關(guān)聯(lián)的信息,并且使用存儲的信息可以完全重新生成QC-LPDC奇偶校驗矩陣200。下文更具體描述存儲什么與循環(huán)行列式有關(guān)的信息的一些例子。在一些實施例中,在多級(例如與單遍或者單級做對比)中執(zhí)行QC-LDPC編碼。下圖描述一個這樣的實施例。圖3是示出了兩級QC-LDPC編碼器的實施例的圖。在所示例子中,將QC-LDPC奇偶校驗矩陣H^lirc (未示出)分解成兩個子矩陣mX (n-m)子矩陣Hi和mXm子矩陣Hp。子矩陣Hp的逆(inversion)具有相同大小mXm并且是相對高密度矩陣(例如在一個例子中,
I與O之比粗略地為I :1),由H1;1表示;子矩陣Hi具有相對低密度(例如多數(shù)為O而相對少數(shù)I)。Hp是低密度矩陣而Hp的逆(即Hp-1)為高密度。兩個子矩陣的大小根據(jù)m和η的值變化;在具有用于m和η的示例和/或典型值(即m〈〈n)的一些情況下,子矩陣Hp及其逆Hf1的大小與子矩陣Hi的大小相比小得多。在一些實施例中,如在這一幅圖中所示的那樣實施圖I中所示的QC-LDPC編碼器100。低密度子矩陣Hi和高密度矩陣Hf1分別傳遞到第一 QC-LDPC編碼級(300)和第二QC-LDPC編碼級(304)并且由它們使用。第一編碼級(300)執(zhí)行運算u * Hi1,其中u是輸入數(shù)據(jù)的IX (n-m)矩陣。HZ是(n_m) Xm矩陣,因而矩陣乘法產(chǎn)生形式為I Xm矩陣的中間數(shù)據(jù)(t)。中間數(shù)據(jù)傳遞到中間緩沖器302,在該中間緩沖器存儲中間數(shù)據(jù)。例如第二編碼級304可能忙于(例如與更早輸入數(shù)據(jù)關(guān)聯(lián)的)其它中間數(shù)據(jù),并且當(dāng)?shù)诙幋a級304空閑時,從中間緩沖器302取回存儲的中間數(shù)據(jù)。在一些實施例中,中間緩沖器302包括關(guān)斷的2個“往復(fù)交換”緩沖器或者存儲器。例如在用于第一(例如更晚到達)組輸入數(shù)據(jù)的中間數(shù)據(jù)由第一編碼級300生成并且寫入到第一緩沖器之時,與第二 (例如更早到達)組輸入數(shù)據(jù)關(guān)聯(lián)的中間數(shù)據(jù)從第二緩沖器傳遞到第二編碼級(304)。一旦第一緩沖器充滿而第二緩沖器已經(jīng)騰空,兩個緩沖器就關(guān)斷(即第一緩沖器將它的中間數(shù)據(jù)卸載到第二編碼級而第二緩沖器從第一編碼級接收與第三(例如甚至更晚到達)組輸入數(shù)據(jù)關(guān)聯(lián)的中間數(shù)據(jù))。在一些實施例中,緩沖器302包括一個或者多個FIFO,從而第一編碼級300和第二編碼級304
無需在加載或者卸載中間數(shù)據(jù)(t)時處理存儲器地址。第二編碼級304執(zhí)行運算t * Ον1)1,該運算產(chǎn)生形式為IXm矩陣的奇偶數(shù)據(jù)。通過組合奇偶數(shù)據(jù)與輸入數(shù)據(jù)(例如通過級聯(lián),因而編碼數(shù)據(jù)包括如下輸入數(shù)據(jù),該輸入數(shù)據(jù)具有在它之后附著的奇偶數(shù)據(jù)),可以產(chǎn)生系統(tǒng)形式的QC-LDPC編碼數(shù)據(jù)。圖4是示出了在使用QC-LDPC代碼來編碼期間執(zhí)行的矩陣乘法的一些實施例的圖。在所示例子中,圖400示出了如何使用單級QC-LDPC編碼器來生成編碼數(shù)據(jù)(C)。在該例子中,通過執(zhí)行用戶數(shù)據(jù)U)與生成矩陣(G^lirc)的矩陣乘法來生成編碼數(shù)據(jù)。在矩陣維度方面,這對應(yīng)于通過將IX (n-m)矩陣乘以(n-m) Xn矩陣而產(chǎn)生的I Xn矩陣。在循環(huán)行列式大小(也就是b)方面,通過將IX (tb-cb)矩陣乘以(tb-cb) Xtb來生成IXtb矩陣。圖402示出了與多級QC-LDPC編碼器的第一級關(guān)聯(lián)的矩陣乘法(例如圖3中的第一編碼級300執(zhí)行的矩陣乘法)。在這一例子中,通過將用戶數(shù)據(jù)(U)乘以第一級矩陣的轉(zhuǎn)置(HiT)來產(chǎn)生中間數(shù)據(jù)(t)。這對應(yīng)于通過將IX (n-m)矩陣乘以(n_m)Xm矩陣而生成的I Xm矩陣;當(dāng)以b、c和t為單位來表達時,這對應(yīng)于通過將IX (tb-cb)矩陣乘以(tb-cb) Xcb矩陣而生成的IXcb矩陣。根據(jù)矩陣乘法規(guī)則,乘數(shù)(即用戶數(shù)據(jù))的第二維度必須在400和402 二者中與被乘數(shù)的第一維度匹配。因而,用于單級QC-LDPC編碼和多級QC-LDPC編碼二者的用戶數(shù)據(jù)必須具有是b的整數(shù)倍的長度(例如因為由于t和b均為整數(shù),所以t-b也是整數(shù)因此tb-cb也是b的整數(shù)倍)。將希望能夠處理未必滿足這一約束的數(shù)據(jù)。例如一些系統(tǒng)可能用單個代碼來“硬編碼”并且將希望支持如下用戶數(shù)據(jù)長度,這些用戶數(shù)據(jù)長度不是循環(huán)行列式大小的整數(shù)倍。在另一例子中,系統(tǒng)存儲多組奇偶校驗矩陣和生成矩陣對(或者如下與循環(huán)行列式有關(guān)的信息,根據(jù)該信息可以重新生成矩陣對)并且將所選矩陣對加載到存儲器中以供能夠支持多個代碼的編碼器和解碼器使用。在這樣的實施例中,可能希望處理具有如下長度的用戶數(shù)據(jù)而無需卸載矩陣對和重載矩陣對(例如加載和卸載可能耗費時間),該長度不是循環(huán)行列式大小的整數(shù)倍。這里描述的是一種實現(xiàn)對具有如下長度的數(shù)據(jù)進行編碼的技術(shù),該長度是循環(huán)行列式大小的整數(shù)倍。在一些實施例中,在單級QC-LDPC編碼器中使用該技術(shù);在其它實施例中,在多級QC-LDPC編碼器中使用該技術(shù)。圖5是圖示了能夠處理具有如下長度的數(shù)據(jù)的QC-LDPC編碼過程的實施例的流程圖,該長度不是循環(huán)行列式大小的整數(shù)倍。在各種實施例中,圖I中的QC-LDPC編碼器100和/或圖3中的第一 QC-LDPC編碼級300執(zhí)行所示過程。在一些實施例中,一些更高級實體(例如驅(qū)動器或者應(yīng)用)向?qū)懭肟刂破?00傳遞具有可變長度的用戶數(shù)據(jù)。也就是,一條用戶數(shù)據(jù)可以具有一個長度,而下一條用戶數(shù)據(jù)的長度可以未必具有相同長度。在一些實施例中,更高級實體傳遞在長度上從一條用戶數(shù)據(jù)到另一條用戶數(shù)據(jù)一致(例如至少持續(xù)某一時間段直至改變配置或者設(shè)置)的用戶數(shù)據(jù)。在500確定用戶數(shù)據(jù)的長度是否為循環(huán)行列式大小的整數(shù)倍。如果是這樣,則在502使用用戶數(shù)據(jù)來生成LDPC編碼數(shù)據(jù)。例如參見圖 4中所示的矩陣乘法。由于長度已經(jīng)是循環(huán)行列式大小的整數(shù)倍,所以未執(zhí)行填充。否則,在504對用戶數(shù)據(jù)進行零填充,從而具有填充的長度是循環(huán)行列式大小的整數(shù)倍。在一些實施例中已經(jīng)加載QC-LDPC奇偶校驗矩陣(H^lirc)和/或QC-LDPC生成矩陣(H^uirc)并且在504執(zhí)行填充,從而填充長度與加載矩陣的維度匹配(例如從而填充數(shù)據(jù)具有長度tb-cb)。在一些實施例中,向用戶數(shù)據(jù)的開頭添加零填充(例如如果循環(huán)行列式大小為4位并且未填充數(shù)據(jù)的長度為9,則向數(shù)據(jù)填充已知值的3個附加位以產(chǎn)生[O O OU])。在各種其它實施例中,零填充散布于用戶數(shù)據(jù)、在用戶數(shù)據(jù)之后追加等。例如在先前例子中,3個用戶位可以跟隨有I個填充位、然后為另外3個用戶位和另一填充位并且以此類推。在506使用填充數(shù)據(jù)來生成LDPC編碼數(shù)據(jù)。在各種實施例中,步驟506包括單級QC-LDPC編碼或者多級QC-LDPC編碼。無論使用哪種技術(shù),都產(chǎn)生如下編碼數(shù)據(jù),該編碼數(shù)據(jù)包含由零填充所產(chǎn)生的零。為了使用上面例子(其中在用戶數(shù)據(jù)的開頭添加3個零填充),步驟506的結(jié)果是
或者替選地為系統(tǒng)形式,其中在編碼數(shù)據(jù)[O O O u P]中包括用戶數(shù)據(jù),其中P是奇偶數(shù)據(jù)。在508從LDPC編碼數(shù)據(jù)去除零。例如
變成[c]或者[O O O u p]變成[u P]。在一些應(yīng)用中,希望在用戶數(shù)據(jù)的開頭或者末尾插入零填充,從而更容易實現(xiàn)在508去除零和/或簡化編碼器設(shè)計。在508去除零在一些應(yīng)用中是可接受的并且甚至合乎需要。例如在儲存器應(yīng)用中,儲存器容量尤為令人感興趣,并且在寫入到儲存器之前去除零填充合乎需要,因為提高儲存器容量。類似地,在一些無線應(yīng)用中,通過空中傳輸數(shù)據(jù)成本高(例如在功率消耗方面或者由于僅一個分組可以在任何給定時間占用信道),并且去除零填充可以減少通過空中發(fā)送的分組的長度。圖6是示出了使用填充表以交換與填充有關(guān)的信息的讀取控制器和寫入控制器的實施例的圖。在所示例子中,寫入控制器600接收如下數(shù)據(jù)輸入,該數(shù)據(jù)輸入中的一些或者所有數(shù)據(jù)輸入具有如下長度,這些長度不是循環(huán)行列式大小b的整數(shù)倍。LDPC編碼器602被配置成如需要的那樣/如果需要則填充數(shù)據(jù)輸入從而填充數(shù)據(jù)的長度是循環(huán)行列式大小的整數(shù)倍、然后對填充數(shù)據(jù)執(zhí)行LDPC編碼。寫入控制器600將填充信息寫入到讀取控制器610在處理期間使用的填充表604。在一些實施例中,讀取控制器610執(zhí)行的處理根據(jù)特定扇區(qū)是否由寫入控制器填充而變化;讀取控制器610可以使用填充信息以確定什么處理適合于給定扇區(qū)。使用填充表604在控制器600與610之間交換的信息的一些例子包括包括填充數(shù)據(jù)的那些扇區(qū)在儲存器606上的位置(例如物理地址或者關(guān)于某一參考的偏移),填充信息位于何處(例如填充信息是否與數(shù)據(jù)輸入一起混合輸入、零填充是否在開頭/末尾聚在一起)等。LDPC解碼器608使用604中存儲的信息以確定適當(dāng)處理并且對向它傳遞的判決和可靠性信息執(zhí)行該處理。下圖描述LDPC解碼器608如何在解碼處理期間使用填充表604中存儲的填充信息的實施例。圖7是圖示了如下LDPC解碼過程的實施例的流程圖,在該LDPC解碼過程中較與未填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先。在一些實施例中,圖6中的LDPC解碼器608執(zhí)行下文描述的步驟中的一些或者所有步驟。在700確定是否已經(jīng)填充正被處理的數(shù)據(jù)。例如數(shù)據(jù)可能已經(jīng)存儲于盤上的特定扇區(qū)或者位置并且圖6中的填充表604中存儲的信息向LDPC解碼器608指示該條數(shù)據(jù)是否 與填充數(shù)據(jù)關(guān)聯(lián)。注意填充數(shù)據(jù)未存儲于用于那些扇區(qū)或者位置的存儲器中,但是為了對那些扇區(qū)或者位置恰當(dāng)解碼,解碼器需要知道填充由寫入控制器執(zhí)行。如果在700確定無填充(例如基于填充表中的存儲信息),則在702使用判決和可靠性信息來執(zhí)行消息傳遞。例如使用由圖6中的軟輸出檢測器607生成的判決和可靠性信息(并且僅使用該信息)。消息傳遞過程的一些例子包括求和乘積算法(SPA)、最小值求和、縮放最小值求和以及偏移最小值求和。在消息傳遞迭代之后,在703確定解碼是否成功。例如可以校驗校正子(syndrome)并且如果所有校正子為零則斷言解碼成功。如果解碼未成功,則在702執(zhí)行另一消息傳遞迭代(例如用來自先前消息傳遞迭代的更新值)。在一些實施例中,如果達到最大迭代次數(shù),則斷言解碼失敗。否則,如果在700確定已經(jīng)填充正被處理的數(shù)據(jù),則在704向數(shù)據(jù)信號中引入與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息。例如,如果圖5中的步驟508是[O O O c] -> [c]或者[O O O u P] -> [u p],則用于對應(yīng)扇區(qū)或者儲存器位置的步驟704是[r] -> [O O O r],其中r是從軟輸出檢測器接收的判決和可靠性信息。回顧圖6中所示的實施例,填充數(shù)據(jù)實際上未存儲于儲存器606中,因而將沒有LDPC解碼器608針對填充數(shù)據(jù)從軟輸出檢測器607接收的判決或者可靠性信息。多種硬件部件可以用來在704引入判決和可靠性信息,比如某一類如下信號注入器(例如復(fù)用器),該注入器輸入來自軟輸出檢測器的判決和可靠性信息(例如對應(yīng)于在儲存器中存儲的或者通過傳輸信道傳輸?shù)奈刺畛鋽?shù)據(jù))并且向該信號中引入用于(未存儲或者傳輸?shù)?填充數(shù)據(jù)的判決和可靠性信息。在一些實施例中,步驟704將與填充數(shù)據(jù)對應(yīng)的判決設(shè)置成O (例如由于在對應(yīng)編碼器實施例中使用零填充)。在一些實施例中,將可靠性設(shè)置成最高值(例如在LLR的情況下設(shè)置成最大量值)。在706使用用于未填充數(shù)據(jù)和填充數(shù)據(jù)的判決和可靠性信息來執(zhí)行消息傳遞,包括通過在消息傳遞期間較與未填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先。在各種實施例中,這是以多種方式執(zhí)行的。一般而言,思想在于已知填充數(shù)據(jù),從而判決和/或可靠性信息應(yīng)當(dāng)比與未填充數(shù)據(jù)關(guān)聯(lián)的該信息有利、優(yōu)先或者以別的方式占優(yōu)勢。例如在通信應(yīng)用中,傳輸信道可能有損或者有噪聲,或者在儲存器應(yīng)用中,讀取頭可能從相鄰軌道接收信號信息。這可能使軟輸出檢測器(例如圖6中的607)針對存儲或者傳輸?shù)奈刺畛鋽?shù)據(jù)輸出不正確判決和/或不準(zhǔn)確可靠性測量。不正確判決和不準(zhǔn)確可靠性可能又以負(fù)面方式在消息傳遞期間影響填充位的判決和可靠性。通過基于已知信息給予或者以別的方式強制優(yōu)先,可以去除對填充位的負(fù)面影響并且可以提高關(guān)聯(lián)到未填充位的消息的質(zhì)量。如何在706給予優(yōu)先的特定實施方式可以依賴于所用的具體消息傳遞過程(例如由于不同消息傳遞過程具有用于信息如何交換、組合、選擇等的不同規(guī)則)??梢酝ㄟ^以下方式實施用于實施如何較用于未填充數(shù)據(jù)的判決和/或可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和/或可靠性信息給予優(yōu)先的一些技術(shù)1)將向消息傳遞過程輸入的值設(shè)置成強制優(yōu)先的值(例如在步驟704將可靠性值設(shè)置成最大可靠性或者確定性)和/或2)修改用于消息傳遞過程的規(guī)則以有利于與填充位關(guān)聯(lián)的判決和可靠性信息(例如通過將在連接上傳輸?shù)南⒐潭ǔ赡硞€值和/或(至少暫時)改變在多個校驗節(jié)點(C-節(jié)點)與多個變量節(jié)點(V-節(jié)點)之間的網(wǎng)絡(luò)連接(例如通過至少暫時擦除或者忽略在變量節(jié)點與校驗節(jié)點之間的一個或者多個連接))。在706執(zhí)行以與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息為優(yōu)先的消息傳遞之后,在
708確定解碼是否成功。例如可以校驗多個校正子并且如果它們都為零則斷言解碼成功。如果在708未確定解碼成功,則在706執(zhí)行以與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息為優(yōu)先的另一消息傳遞迭代。否則,在710從LDPC解碼數(shù)據(jù)去除零填充。例如
(或者替選地為[OOOu P])在步驟710之后數(shù)據(jù)將是[c](或者替選地為[u p])。在一些實施例中,在解碼數(shù)據(jù)是以系統(tǒng)形式(即[u P])的情況下,也去除奇偶P,從而獲得原有用戶數(shù)據(jù)u (例如[u P] -> [U])。在硬件中,可以在步驟710中使用濾波器(例如該濾波器從信號、流或者序列去除某些位或者數(shù)據(jù))。下文舉例說明如下消息傳遞算法,其中沒有較另一位類型而言向一個位類型的判決和可靠性信息給予優(yōu)先(例如,填充位較未填充位的優(yōu)先)。在一些實施例中,以下消息傳遞用于未填充位(但是未必用于填充位)
l)c-節(jié)點更新^(Ci到Vj) =函數(shù)C ({m (Vk到Ci),所有k,從而Vk連接到Ci并且k!=j})。這里函數(shù)C (下文簡寫為fc)由運用的特定消息傳遞算法確定;可以使用多種消息傳遞算法。例如,如果消息傳遞算法(fc)是最小函數(shù),則fc(A)將選擇集合A的最小值。2) V-節(jié)點更新m(Vj到ctfvGLj并且m(ck到V」),所有k,從而Ck連接到Vj并且 k!=i})。在多數(shù)消息算法中,fv是求和函數(shù),從而fv({A})是集合A中的所有元素的求和。3)校正子校驗計算L0j=fv({Lj并且m(ck到Vj),所有k,從而Ck連接到V」})。在這一例子中,通過切分LOj并且計算校正子來做出硬判決。如果并非所有校正子為零,則回到C-節(jié)點更新。如上文描述的那樣,除了設(shè)置用于填充位的Li將為已知判決和某一(例如最高)可靠性之外,未執(zhí)行對上述過程(例如用于向與填充位關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先)的修改。例如,如果填充位i是0,則Li=Lmax,其中Lmax是最大正LLR。對于其中(例如對上述示例未修改的消息傳遞算法)執(zhí)行修改的那些情形,一個這樣的實施例是保持C-節(jié)點更新不變而修改V-節(jié)點更新和校正子校驗。例如
2A) V-節(jié)點更新對于所有i,m(Vj到Ci) =Lmax,從而Ci連接到V」。3A)校正子校驗LOj=Lmaxt5通過切分LOj并且計算校正子來做出硬判決。如果它們并非都為零,則回到C-節(jié)點更新。另一實施例是保持V-節(jié)點更新不變而修改C-節(jié)點更新和校正子校驗。例如1B)C-節(jié)點更新^(Ci到vj)=fc({m(vk到Ci),所有k,從而Vk連接到Ci并且k!=j并且Vk不是填充位})。3B)校正子校驗LOj=Lmaxt5通過切分LOj并且計算校正子來做出硬判決。如果它們并非都為零,則回到C-節(jié)點更新。圖8A是示出了 QC-LDPC奇 偶校驗矩陣和校驗節(jié)點更新的實施例的圖,其中較用于未填充數(shù)據(jù)的判決和可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先。在所示例子中,t=3,b=2并且c=2,從而QC-LDPC奇偶校驗矩陣800具有6個列矢量(n=(t=3) X (b=2) =6)和 4 個行矢量(m=(c=2) X (b=2)=4)。消息傳遞使用連接的變量節(jié)點和校驗節(jié)點的網(wǎng)絡(luò)。在變量節(jié)點與校驗節(jié)點之間的連接由對應(yīng)奇偶校驗矩陣的值描述并且對應(yīng)于這些值。網(wǎng)絡(luò)802示出了與QC-LDPC奇偶校驗矩陣800對應(yīng)的網(wǎng)絡(luò)。網(wǎng)絡(luò)802中的變量節(jié)點對應(yīng)于矩陣800中的列矢量,而網(wǎng)絡(luò)802中的校驗節(jié)點對應(yīng)于矩陣800的行矢量。在節(jié)點之間的互連由矩陣800的值確定,其中I指示對應(yīng)校驗節(jié)點和變量節(jié)點具有連接而O指示無連接。例如矩陣800中的最左列矢量和從頂部起的第二行矢量中的I對應(yīng)于在變量節(jié)點804與校驗節(jié)點810之間的連接。在這一例子中,原有用戶數(shù)據(jù)包含5位,并且由于5是循環(huán)行列式大小(在這一例子中b=2)的非整數(shù)倍,所以添加單個零填充位。網(wǎng)絡(luò)802示出了如下初始迭代,其中對于與未填充數(shù)據(jù)對應(yīng)的那些變量節(jié)點(在這一例子中為變量節(jié)點V1至V5),從軟輸出檢測器接收的LLR值(或者更一般而言為判決和可靠性信息)傳遞到對應(yīng)變量節(jié)點或者與對應(yīng)變量節(jié)點關(guān)聯(lián)。對于與填充位對應(yīng)的那些變量節(jié)點(在這一例子中為變量節(jié)點Vtl), LLR值(例如由信號注入器引入)(其是已知判決和最大可靠性)傳遞到或者分配到對應(yīng)變量節(jié)點。在校驗節(jié)點更新期間,更新校驗節(jié)點的值。在這一例子中,通過以下方式實施或者實行針對與填充位關(guān)聯(lián)的判決和可靠性信息的優(yōu)先I)如果運用最小求和解碼算法或者它的變體則至少暫時忽略來自填充位的連接或者2)針對在來自填充位的連接之上的消息將它們設(shè)置成已知判決和最大可靠性。為了更新校驗節(jié)點C1 (810)的值,至少暫時忽略在變量節(jié)點804與校驗節(jié)點810之間的連接。這在網(wǎng)絡(luò)802中由在那些節(jié)點之間的虛線指示。由于忽略(至少暫時)那些連接,所以針對上文提到的情況I)僅使用填充位的LLR來更新校驗節(jié)點810的值。在一些情況下,沒有到與填充位關(guān)聯(lián)的變量節(jié)點的連接并且未向一個連接或者數(shù)據(jù)值給予較另一連接或者數(shù)據(jù)值而言的優(yōu)先(即由于該集合或者組中的判決和可靠性信息都與未填充數(shù)據(jù)關(guān)聯(lián),所以將它們都同樣對待而無針對一個較其它而言的任何優(yōu)先)。例如校驗節(jié)點C3未連接到與填充位關(guān)聯(lián)的變量節(jié)點并且如特定消息傳遞技術(shù)規(guī)定的那樣對待與變量節(jié)點Vp V3和V5的連接和來自這些變量節(jié)點的數(shù)據(jù)(例如將它們同樣加權(quán)或者對待)。圖SB是示出了變量節(jié)點更新的實施例的圖,其中較用于未填充數(shù)據(jù)的判決和可靠性信息而言向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先。在所示例子中,變量節(jié)點804與填充位關(guān)聯(lián)。為了向與填充數(shù)據(jù)關(guān)聯(lián)的判決和可靠性信息給予優(yōu)先,保持這一例子中的變量節(jié)點804的值恒定(例如保持為用于由信號注入器插入(與使用與校驗節(jié)點822、810或者824關(guān)聯(lián)的值來更新做對比)的填充位的LLR)。對照而言,使用與奇偶校驗矩陣(例如圖8A中的800)的值對應(yīng)的網(wǎng)絡(luò)連接來更新與未填充位關(guān)聯(lián)的變量節(jié)點(在這一例子中為變量節(jié)點V1至V5)。
存儲生成矩陣和/或奇偶校驗矩陣
一些系統(tǒng)被配置成存儲生成矩陣和/或奇偶校驗矩陣。例如系統(tǒng)可以存儲多個矩陣對,每個矩陣對與不同數(shù)據(jù)速率、不同糾錯能力等關(guān)聯(lián)。用戶或者驅(qū)動器可以配置系統(tǒng)以加載指定的矩陣對并且使用加載的矩陣對來編碼/解碼信息。這樣的系統(tǒng)可以比具有單個硬編碼矩陣對的系統(tǒng)更有吸引力,因為它賦予操作的靈活性和/或多個模式。在另一例子中,系統(tǒng)起初“空白”并且用戶或者驅(qū)動器向系統(tǒng)中加載矩陣對,該矩陣對存儲于該系統(tǒng)。例如一些終端用戶可能寧愿使用具體LDPC代碼和/或不讓其他人(包括儲存器或者通信系統(tǒng)制造商)知道正使用什么代碼。下圖用來描述用于以高效方式存儲生成矩陣和/或奇偶校驗矩陣的一些技術(shù)。圖9是示出了 QC-LDPC奇偶校驗矩陣的實施例的圖。在所示例子中,QC-LDPC奇偶校驗矩陣900包括多個循環(huán)行列式。示出了循環(huán)行列式之一 H" (902)并且該循環(huán)行列式在這一例子中具有循環(huán)行列式大小b=4。循環(huán)行列式902包括多個矢量(包括行矢量904和列矢量906)ο圖10是示出了 QC-LDPC生成矩陣的實施例的圖。在所示例子中,QC-LDPC生成矩陣1000包括多個循環(huán)行列式;示出了具有例子循環(huán)行列式大小b=4的循環(huán)行列式Gtl^ 1002)。多個矢量組成循環(huán)行列式1002 (包括行矢量1004和列矢量1006)。LDPC奇偶校驗矩陣(這些矩陣包括QC-LDPC奇偶校驗矩陣)經(jīng)常是低密度矩陣。換而言之,LPDC奇偶校驗矩陣中的I的數(shù)目往往為低。對照而言,LDPC生成矩陣通常不是低密度并且與奇偶校驗矩陣相比具有更多I。在一些實施例中,對于循環(huán)行列式中的給定循環(huán)行列式(例如與奇偶校驗矩陣或者生成矩陣關(guān)聯(lián)),存儲來自該循環(huán)行列式的一個且僅一個矢量。例如對于奇偶校驗矩陣902,為該循環(huán)行列式存儲的僅有信息是行矢量904?;蛘邔τ谏删仃?002,為該循環(huán)行列式存儲的僅有信息是列矢量1006。在一些實施例中,為每個循環(huán)行列式存儲單個矢量(例如存儲來自循環(huán)行列式Gu的第一矢量、存儲來自Gcu的第二矢量、等)。在一些實施例中,存儲奇偶校驗矩陣包括針對多個循環(huán)行列式中的至少一個循環(huán) 行列式存儲一個矢量中的I的(一個或多個)位置。例如對于與QC-LDPC奇偶校驗矩陣900關(guān)聯(lián)的循環(huán)行列式904,存儲列矢量906 (根據(jù)該列矢量可以重建循環(huán)行列式904)。在一些實施例中,存儲該位置對于低密度矩陣而言更為儲存器高效。因而在一些實施例中,存儲位置的技術(shù)用于存儲與奇偶校驗矩陣關(guān)聯(lián)的信息、但是未必用于往往具有更高密度的生成矩陣。在一些實施例中,如果循環(huán)行列式(例如循環(huán)行列式Η。之一)中的I的數(shù)目少于b/(ceil (log2(b))),其中b是循環(huán)行列式大小,貝U存儲I的位置。在一些實施例中,這一閾值基于以基數(shù)2的格式存儲位置的假設(shè)。在一些實施例中,當(dāng)(例如在循環(huán)行列式的行矢量中)有相對小數(shù)目的I時,非基數(shù)2的格式用來存儲I的位置。在一個例子中,如果循環(huán)行列式大小(即b)為12,則I的有效位置將是(以十進制計)I (即在矢量的第一元素中有1)、2 (即在矢量的第二元素中有I)、...、11和12。在二進制(即基數(shù)2)中,這將是0001、0010、...、1011和1100。非基數(shù)2的格式的例子是[6 3 2 1],這在使用這一 [6 3 2 1]格式時造成0000至1111的所有16個組合映射到O至12(以十進制計)。在一些情況下,這是多到一的映射(例如以這一格式的0100和0011 二者將映射到以十進制計的3)。使用非基數(shù)2的格式來存儲位置的一個益處是更高效的硬件設(shè)計(例如當(dāng)實施為現(xiàn)場可編程門陣列(FPGA)或者專用集成電路(ASIC)時)。例如使對存儲器尋址更容易并且有更少路由擁堵。另一優(yōu)點是非基數(shù)2的格式可以用來避免一些或者所有界外地址。在上述[6 3 2 I]例子中,不可能映射到以十進制計的13-15,因此不能意外地尋址那些界外地址(對于這一例子,其中循環(huán)行列式大小b=12)。在一些實施例中,OOOO (例如在基數(shù)2的格式或者某一非基數(shù)2的格式(比如[6 3 2 I])中)代表特殊值全零矩陣或者矢量。 雖然已經(jīng)出于理解清楚的目的而以一些細節(jié)描述前述實施例,但是本發(fā)明不限于提供的細節(jié)。有實施本發(fā)明的許多替選方式。公開的實施例為示例而非限制。
權(quán)利要求
1.一種用于處理準(zhǔn)循環(huán)低密度奇偶校驗(QC-LDPC)數(shù)據(jù)的系統(tǒng),包括 信號注入器,配置成接收包括與未填充數(shù)據(jù)對應(yīng)的判決和可靠性信息的輸入信號并且向所述輸入信號中引入與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息; 解碼器,配置成一次或者多次執(zhí)行消息傳遞以獲得解碼數(shù)據(jù),包括通過使用(I)與所述未填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息以及(2)與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息,包括通過在消息傳遞期間較與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息而言向與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息給予優(yōu)先;以及 濾波器,配置成從所述解碼數(shù)據(jù)去除零填充。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),其中所述未填充數(shù)據(jù)與存儲于儲存器上的數(shù)據(jù)關(guān)聯(lián)并且所述未填充數(shù)據(jù)與未存儲于所述儲存器上的數(shù)據(jù)關(guān)聯(lián)。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),還包括 填充表,配置成存儲信息,所述信息標(biāo)識所述儲存器上的哪些位置與填充數(shù)據(jù)關(guān)聯(lián)但是未包含所述填充數(shù)據(jù);以及 控制器,配置成訪問所述填充表并且至少部分基于所述填充表中的存儲的信息確定所述輸入信號是否與填充數(shù)據(jù)關(guān)聯(lián)但是未包含所述填充數(shù)據(jù),其中所述信號注入器、解碼器和濾波器被配置成在確定所述輸入信號與填充數(shù)據(jù)關(guān)聯(lián)但是未包含所述填充數(shù)據(jù)的情況下操作。
4.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述儲存器包括以下儲存器中的一個或者多個儲存器磁盤儲存器或者閃存儲存器。
5.根據(jù)權(quán)利要求I所述的系統(tǒng),其中消息傳遞包括以下中的一個或者多個求和乘積算法(SPA)、最小值求和、縮放最小值求和或者偏移最小值求和。
6.根據(jù)權(quán)利要求I所述的系統(tǒng),還包括配置成生成與所述未填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息的軟輸出檢測器。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中所述軟輸出檢測器包括軟輸出Viterbi解碼器。
8.根據(jù)權(quán)利要求I所述的系統(tǒng),其中所述生成矩陣(G)包括多個循環(huán)行列式(Gy.)并且存儲所述生成矩陣包括針對所述多個循環(huán)行列式中的至少一個循環(huán)行列式存儲來自所述多個循環(huán)行列式中的所述至少一個循環(huán)行列式的一個且僅一個矢量。
9.根據(jù)權(quán)利要求I所述的系統(tǒng),其中所述奇偶校驗矩陣(H)包括多個循環(huán)行列式(Η。)并且存儲所述奇偶校驗矩陣包括針對所述多個循環(huán)行列式中的至少一個循環(huán)行列式存儲來自所述多個循環(huán)行列式中的所述至少一個循環(huán)行列式的一個且僅一個矢量。
10.根據(jù)權(quán)利要求I所述的系統(tǒng),其中所述奇偶校驗矩陣(H)包括多個循環(huán)行列式(Η。)并且存儲所述奇偶校驗矩陣包括針對所述多個循環(huán)行列式中的至少一個循環(huán)行列式存儲來自所述多個循環(huán)行列式中的所述至少一個循環(huán)行列式的一個且僅一個矢量中的I的位置。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中在所述奇偶校驗矩陣中的I的數(shù)目少于b/(ceil (Iog2 (b)))的情況下執(zhí)行存儲I的位置,其中b是循環(huán)行列式大小。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中存儲I的位置包括以非基數(shù)2存儲位置。
13.根據(jù)權(quán)利要求I所述的系統(tǒng),其中在消息傳遞期間較與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息而言向與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息給予優(yōu)先包括在V-節(jié)點更新期間對于所有i,m(Vj到Ci) =Lmax,從而Ci連接到Vj ;并且 在校正子校驗期間=LOj=Lmax。
14.根據(jù)權(quán)利要求I所述的系統(tǒng),其中在消息傳遞期間較與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息而言向與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息給予優(yōu)先包括 在C-節(jié)點更新期間^(Ci到vj)=fc({m(vk到Ci),所有k,從而Vk連接到Ci并且k!=j并且vk不是填充位});并且在校正子校驗期間=LOj=Lmax。
15.一種用于處理準(zhǔn)循環(huán)低密度奇偶校驗(QC-LDPC)數(shù)據(jù)的方法,包括 接收輸入信號,所述輸入信號包括與未填充數(shù)據(jù)對應(yīng)的判決和可靠性信息; 向所述輸入信號中引入與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息; 一次或者多次執(zhí)行消息傳遞以獲得解碼數(shù)據(jù),包括通過使用(I)與所述未填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息以及(2)與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息,包括通過在消息傳遞期間較與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息而言向與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息給予優(yōu)先;并且從所述解碼數(shù)據(jù)去除零填充。
16.根據(jù)權(quán)利要求15所述的方法,其中所述未填充數(shù)據(jù)與存儲于儲存器上的數(shù)據(jù)關(guān)聯(lián)并且所述未填充數(shù)據(jù)與未存儲于所述儲存器上的數(shù)據(jù)關(guān)聯(lián)。
17.根據(jù)權(quán)利要求16所述的方法,還包括 在填充表中存儲信息,所述信息標(biāo)識所述儲存器上的哪些位置與填充數(shù)據(jù)關(guān)聯(lián)但是未包含所述填充數(shù)據(jù);以及 訪問所述填充表并且至少部分基于所述填充表中的存儲的信息確定所述輸入信號是否與填充數(shù)據(jù)關(guān)聯(lián)但是未包含所述填充數(shù)據(jù),其中所述引入、消息傳遞和去除被配置成在確定所述輸入信號與填充數(shù)據(jù)關(guān)聯(lián)但是未包含所述填充數(shù)據(jù)的情況下被執(zhí)行。
18.根據(jù)權(quán)利要求16所述的方法,其中所述儲存器包括以下儲存器中的一個或者多個儲存器磁盤儲存器或者閃存儲存器。
19.根據(jù)權(quán)利要求15所述的方法,其中消息傳遞包括以下中的一個或者多個求和乘積算法(SPA)、最小值求和、縮放最小值求和或者偏移最小值求和。
20.根據(jù)權(quán)利要求15所述的方法,還包括使用軟輸出檢測器以生成與所述未填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息。
21.根據(jù)權(quán)利要求20所述的方法,其中所述軟輸出檢測器包括軟輸出Viterbi解碼器。
22.根據(jù)權(quán)利要求15所述的方法,在消息傳遞期間較與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息而言向與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息給予優(yōu)先包括 在V-節(jié)點更新期間對于所有i,m(Vj到Ci) =Lmax,從而Ci連接到Vj ;并且 在校正子校驗期間=LOj=Lmax。
23.根據(jù)權(quán)利要求I所述的方法,其中在消息傳遞期間較與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息而言向與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息給予優(yōu)先包括在C-節(jié)點更新期間^(Ci到vj)=fc({m(vk到Ci),所有k,從而Vk連接到Ci并且k!=j并且vk不是填充位});并且在校正子校驗期間=LOj=Lmax。
24.一種用于處理準(zhǔn)循環(huán)低密度奇偶校驗(QC-LDPC)數(shù)據(jù)的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品具體化于計算機可讀存儲介質(zhì)中并且包括用于以下操作的計算機指令接收輸入信號,所述輸入信號包括與未填充數(shù)據(jù)對應(yīng)的判決和可靠性信息; 向所述輸入信號中引入與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息; 一次或者多次執(zhí)行消息傳遞以獲得解碼數(shù)據(jù),包括通過使用(I)與所述未填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息以及(2)與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息,包括通過在消息傳遞期間較與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息而言向與所述填充數(shù)據(jù)對應(yīng)的所述判決和可靠性信息給予優(yōu)先;并且從所述解碼數(shù)據(jù)去除零填充。
全文摘要
在處理準(zhǔn)循環(huán)低密度奇偶校驗(QC-LDPC)數(shù)據(jù)中,接收輸入信號,所述輸入信號包括與未填充數(shù)據(jù)對應(yīng)的判決和可靠性信息。向輸入信號中引入與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息。一次或者多次執(zhí)行消息傳遞以獲得解碼數(shù)據(jù)。這包括通過使用(1)與未填充數(shù)據(jù)對應(yīng)的判決和可靠性信息以及(2)與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息,其中在消息傳遞期間較與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息而言向與填充數(shù)據(jù)對應(yīng)的判決和可靠性信息給予優(yōu)先。從解碼數(shù)據(jù)去除零填充。
文檔編號H03M13/00GK102835032SQ201180007873
公開日2012年12月19日 申請日期2011年2月28日 優(yōu)先權(quán)日2010年3月4日
發(fā)明者曾令琪, 寇宇, 吳建文, 楊國華 申請人:鏈接媒體設(shè)備公司