欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

置亂式ldpc解碼的制作方法

文檔序號:7515482閱讀:218來源:國知局
專利名稱:置亂式ldpc解碼的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種LDPC解碼器和LDPC解碼方法。
背景技術(shù)
在發(fā)送端與接收端之間的傳輸中,可能出現(xiàn)一些傳輸誤差??梢允褂眉m錯編碼來檢測并校正這些誤差中的一些。低密度奇偶校驗
(LDPC)編碼是一類糾錯碼其為分組碼(或等效為奇偶校驗碼),
并由奇偶校驗矩陣H定義。1963年R.G. Gallager(在1963年Gallager發(fā)表于MIT的論文"Low-Density Parity-Check Codes"中)針對加羅瓦域(Galois Field) GF (2)上的LDPC編碼介紹了該類糾錯碼。1998年Mackay (在1998年由英國劍橋大學(xué)的卡文迪西實驗室中的D丄CMackay, M.C. Davey發(fā)表白勺"Low Density Check Code over GF (q)"中)針對較高基數(shù)(即GF (rq),其中r為質(zhì)數(shù))的加羅瓦域(GaloisField)就其原理進行了歸納。LDPC編碼可用于各種傳輸系統(tǒng)(例如,衛(wèi)星通信系統(tǒng)、無線傳輸系統(tǒng)、光纖系統(tǒng))以及各種存儲媒介(例如,硬盤驅(qū)動器、光盤、磁帶)。使用LDPC的系統(tǒng)示例有DVB-S2、DMB-T (中國DVB地面標(biāo)準(zhǔn))、STiMi (中國DVB衛(wèi)星標(biāo)準(zhǔn))、IEEE802,lln以及802.16e。
LDPC碼由大小為M行乘N列的奇偶校驗矩陣H來定義,M為限制(對應(yīng)于校驗節(jié)點)的數(shù)量,N為變量(碼符號的估計值,由符號節(jié)點表示)的數(shù)量。所述矩陣在位置(m, n)的非零項表示變量Vn參與限制Cm。大多數(shù)新的標(biāo)準(zhǔn)化系統(tǒng)使用再分為多個被稱作循環(huán)矩陣的分組(矩陣)的奇偶校驗矩陣。循環(huán)矩陣是零矩陣(所有元素均為0)或者基于單位矩陣?;趩挝痪仃嚨难h(huán)矩陣可以是單對角線的(單位矩陣本身或者該單位矩陣的旋轉(zhuǎn)形式)或者可以具有多條對角線。所謂的桶形移位器用于將通常以正常連續(xù)順序存儲于存儲器中的變量旋轉(zhuǎn)至由單位矩陣的旋轉(zhuǎn)所限定的位置。在2006年由 J.Dielissen等人在IEEE會議中發(fā)表的"Low cost LDPC decoder for DVB-S2"(下文中稱作[Dielissen, DATE])中公開了最新的低成本 的實現(xiàn)。但是,這種結(jié)構(gòu)不能解決包含"多對角線"的LDPC編碼的 問題。顯然,多對角線的處理更復(fù)雜。US 2005/0138519 Al示出了 一種設(shè)計用于對多對角線的循環(huán)矩陣進行處理的結(jié)構(gòu)。但是,該結(jié)構(gòu) 對不需要解決"多對角線"問題的廉價示例來說不具有可擴展性。

發(fā)明內(nèi)容
有利地提供了一種可擴展的LDPC解碼結(jié)構(gòu),優(yōu)選地,其可以 用于具有單對角線或多對角線的循環(huán)矩陣的一些標(biāo)準(zhǔn)化系統(tǒng)中。還可
以有利地減小己知LDPC解碼結(jié)構(gòu)的成本。
為了更好地解決這一問題,在本發(fā)明的第一方面,LDPC解碼器 用于對加羅瓦域(Galois Field)上的LDPC碼進行迭代解碼,其中所 述LDPC碼由預(yù)定的MXN的奇偶校驗矩陣H表示,矩陣H由多個
子矩陣構(gòu)成,其中每個子矩陣是零矩陣或者是每行和每列具有相同數(shù)
量的非零元素的矩陣;所述LDPC解碼器基于對數(shù)似然比置信傳播算 法(下文中稱其為LLR-BP算法),其表示將符號消息入,,,從相應(yīng)符 號節(jié)點n (0<=n<N)傳遞至所連接的校驗節(jié)點m (0< m<N)以及將 校驗節(jié)點消息A,皿從相應(yīng)校驗節(jié)點m傳遞至連接的符號節(jié)點n;符號 節(jié)點與校驗節(jié)點之間的連接由奇偶校驗矩陣H來限定;所述LDPC 解碼器包括
第一存儲器(1005),用于針對每個符號節(jié)點存儲LDPC碼的
相應(yīng)符號的相應(yīng)符號值的表示;
第二存儲器(1015),用于存儲各校驗節(jié)點消息A皿的表示; 第一計算裝置(1010),用于根據(jù)存儲于第一存儲器的相應(yīng)符
號值的表示以及前一迭代的校驗節(jié)點消息來計算下一個迭代符號消
息義,;
置亂裝置(1030),用于從第一計算裝置(1010)接收以第一 順序排列的符號消息,并且根據(jù)相應(yīng)子矩陣中非零元素的位置來以不
6同順序提供該符號消息;
第二計算裝置(DP-O, DP-1, DP-D-1),用于根據(jù)LLR-BP算
法來計算校驗節(jié)點消息,并且用于將計算所得的校驗節(jié)點消息的表示 存儲于第二存儲器中;該計算依賴于相應(yīng)校驗節(jié)點從桶形移位器接收 到的符號消息;以及
第三計算裝置(1020),用于根據(jù)第一計算裝置和第二計算裝 置的輸出來更新第一存儲器中的符號值的表示。
在根據(jù)本發(fā)明的結(jié)構(gòu)中,在線性域(即,在置亂裝置之前)中 計算所述符號消息(通常被稱為義^消息),這與現(xiàn)有技術(shù)中的解決 方案正好相反,在現(xiàn)有技術(shù)中,該計算是在置亂域(shuffled domain) 中執(zhí)行的。這使得無需較大部分地重新設(shè)計也可以制造適于單對角線 或多對角線系統(tǒng)的編碼器。此外,還使得能夠降低成本。如從屬權(quán)利 要求6所述,子矩陣可以是循環(huán)矩陣,并且置亂裝置被實現(xiàn)為桶形移 位器。
在根據(jù)本發(fā)明的實施例中,至少一個子矩陣是每行和每列均具 有至少兩個非零元素的矩陣,下文稱其為多元矩陣(multi-matrix); 第一計算裝置被布置為根據(jù)相關(guān)的校驗節(jié)點消息來計算對應(yīng)于多元 矩陣的符號消息義'nm ,其中每個相關(guān)的校驗節(jié)點消息對應(yīng)于該多元矩 陣中的一個非零元素。
通過在線性域中操作,則簡化了對這種具有多個非零元素(即, 多對角線)的子矩陣的處理。如在從屬權(quán)利要求3中所述,可以以簡 單的迭代結(jié)構(gòu)來處理這種多元矩陣,其中將來自一個相關(guān)校驗節(jié)點消 息的每個時間信息與中間結(jié)果組合在 一 起。
在根據(jù)本發(fā)明的實施例中,LLR-BP算法基于最小和算法,并且 LDPC編碼器包括校正裝置,用于將符號消息的值乘以校正因子《; 以及飽和裝置,用于將符號消息值限制在預(yù)定范圍;所述校正裝置和 飽和裝置被布置在第一計算裝置和桶形移位器之間。通過在桶形移位 器之前執(zhí)行校正和飽和處理,所述桶形移位器在進一步受限的范圍內(nèi) 操作,并且因此可以更廉價地實施。
在根據(jù)本發(fā)明的實施例中,符號消息的表示以預(yù)定順序存儲于第一存儲器中;LDPC解碼器還包括布置在第二計算裝置與第三計算裝置之間的另一桶形移位器,用于以對應(yīng)于所述預(yù)定順序的順序來提供校驗節(jié)點消息。該結(jié)構(gòu)還可包括位于反向路徑(即,朝向第一存儲器)中的另一桶形移位器。這簡化了對位于前向路徑中的桶形移位器的控制。
在根據(jù)本發(fā)明的實施例中,LLR-BP算法基于最小和算法;第二計算裝置包括壓縮裝置,用于壓縮校驗節(jié)點消息并且以壓縮的形式將該校驗節(jié)點消息存儲于第二存儲器中;以及第一計算裝置包括解壓縮裝置,用于對從第二存儲器中讀出的校驗節(jié)點消息進行解壓縮。通過以壓縮的形式存儲校驗節(jié)點消息減少了成本。根據(jù)本發(fā)明的結(jié)構(gòu)既可以利用壓縮的校驗節(jié)點消息操作,也可以使用解壓縮的校驗節(jié)點消息操作。
為了滿足本發(fā)明的目的,提出了一種對加羅瓦域(Galois Field)上的LDPC碼進行迭代解碼的方法,其中所述LDPC碼由預(yù)定的MXN的奇偶校驗矩陣H表示,矩陣H由多個循環(huán)矩陣構(gòu)成,其中每
個循環(huán)矩陣是零矩陣或者是具有至少一條對角線的對角矩陣,并且至少一個循環(huán)矩陣是通過將單位矩陣旋轉(zhuǎn)至少一個位置所形成的對角
矩陣;所述LDPC解碼方法基于對數(shù)似然比置信傳播算法(下文中稱其為LLR-BP算法),其表示將符號消息義,從相應(yīng)的符號節(jié)點n(0<=n<N)傳遞至所連接的校驗節(jié)點m (0<=m<N)以及將校驗節(jié)點消息A^從相應(yīng)的校驗節(jié)點m傳遞至所連接的符號節(jié)點n;符號節(jié)點與校驗節(jié)點之間的連接由奇偶校驗矩陣H來限定;所述LDPC解碼方法包括
針對每個符號節(jié)點將LDPC碼的相應(yīng)符號的相應(yīng)符號值的表示存儲于第一存儲器中;
將各校驗節(jié)點消息A^的表示存儲于第二存儲器中;
執(zhí)行第一計算,包括根據(jù)存儲于第一存儲器的相應(yīng)符號值的表示以及前 一 迭代的校驗節(jié)點消息來計算下 一 個迭代符號消息A m ;
通過接收以第一順序排列的由第一計算產(chǎn)生的符號消息,以及根據(jù)循環(huán)矩陣的旋轉(zhuǎn)以不同順序提供所述符號消息,來執(zhí)行桶形移位操作;
執(zhí)行第二計算,包括根據(jù)LLR-BP算法來計算校驗節(jié)點消息, 并且將計算所得的校驗節(jié)點消息的表示存儲于第二存儲器中;該計算 依賴于相應(yīng)校驗節(jié)點從桶形移位器接收到的符號消息;以及
根據(jù)第一計算和第二計算的輸出來更新第一存儲器中的符號值 的表示。
本發(fā)明的這些和其他方面將從下文中描述的實施例變得明顯, 并且下文將參考實施例來對其進行說明。


在附圖中
圖1示出了其中可使用本發(fā)明的示例系統(tǒng)的框圖2示出了使解碼處理可視化的Tanner圖3示出了分兩組執(zhí)行迭代的示例;
圖4示出了循環(huán)奇偶校驗矩陣;
圖5a和圖5b示出了桶形移位器的作用;
圖6示出了已有技術(shù)中的數(shù)據(jù)路徑;
圖7示出了用于最小和算法的數(shù)據(jù)路徑細節(jié);
圖8示出了傳統(tǒng)的頂層結(jié)構(gòu);
圖9示出了傳統(tǒng)的使用壓縮的A存儲的數(shù)據(jù)路徑;
圖10示出了根據(jù)本發(fā)明的LDPC解碼器結(jié)構(gòu)的基本實現(xiàn);
圖ll示出了在桶形移位器之前基于最小和算法執(zhí)行校正和飽和
處理;
圖12示出了優(yōu)選的數(shù)據(jù)路徑;
圖13示出了用于處理多對角線的結(jié)構(gòu);以及
圖14示出了與壓縮的A存儲相結(jié)合的結(jié)構(gòu)。
具體實施例方式
除非特別說明,附圖中所使用的相同的參考標(biāo)號表示相同的功
能。圖1示出了其中可使用本發(fā)明的示例系統(tǒng)100的框圖。該系統(tǒng)包括LDPC編碼器110和LDPC解碼器120。編碼信號可以通過傳輸媒介130 (諸如無線或有線網(wǎng)絡(luò))來傳輸??梢岳斫獾氖牵部梢詫⒕幋a信號存儲于諸如硬盤或光存儲之類的存儲系統(tǒng)中。在這種情況下,對象130則表示存儲系統(tǒng)。還可以進行許多在附圖1中未示出的其他操作,諸如對信號進行加密/解密、調(diào)制/解調(diào)等。這些操作都是已知的并且不屬于本發(fā)明的一部分。
LDPC編碼/解碼本身是己知的。本文關(guān)于已知方面僅給出簡短的描述。在一個簡單示例中,編碼器110的任務(wù)是對一些二進制信息
(通常被稱為符號,其中該符號可以僅為1位,或者也可以使用多位來表示)進行編碼。假設(shè)要求分別使用值"0" 、 "0"、 "0"、 "1"來傳輸四個信息位Sl、 S2、 S3、 S4。這些信息位被排列為矩陣的形式。為了能夠檢測并校正傳輸誤差,計算第一附加的奇偶位。該奇偶位使得矩陣的行和/或列滿足預(yù)定的奇偶方程。該奇偶方程通常為加羅瓦域GF (rq)(其中r為質(zhì)數(shù)并且q為整數(shù),例如GF (2) 、 GF
(4) 、 GF (8)以及通用地為GF (2q))的方程。在本文的示例中,該方程使得每行和列中的所有位的和等于0模2 (即,GF (2)中的方程)。通過對所有行和列添加奇偶位以及對奇偶位行和列添加奇偶位,在該示例中可以獲得3X3的矩陣
^ ="0" S2 ="0"S, ="0" & =T'
S, ="0" S2 ="0"尸="0"
s3 ="o" s4 =t 戶2 ='r
尸;="0"尸,=T'尸《=T'
個王
位P1至P5為奇偶位。滿足如下6個奇偶校驗方程S1+S2+P1=0 mod 2S3iS4+P2=0 mod 2P3+ P4+P5-0 mod 2Sl+S3+P3=0 mod 2S2+S4+P4=0 mod 2P1+ P2+P5=0 mod 2
這些奇偶校驗方程可以由所謂的奇偶校驗矩陣H表示,其可以具有如下形式1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 一 0 0 0 0 0 0 1 1 1
1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1
其中,符號序列被選擇為SI S2 Pl S3 S4 P2 P3 P4 P5。也可以 選擇其他序列,以允許矩陣的重新排列。H中的列數(shù)對應(yīng)于需要被傳 輸(系統(tǒng)位和計算所得的奇偶校驗位)的位(符號)數(shù)。H中的非零 元素的位置包含以哪個方程驗證哪些位的信息(例如,在第一行中校 驗S1+S2+P1=0 mod 2,在第二行中驗證S3+S4+P2二0 mod 2等)。 低密度奇偶校驗(LDPC)碼可以由該稀疏奇偶校驗矩陣H指定。
"低密度"是指在H中所具有的1的個數(shù)遠少于所具有的0的個數(shù)。 該碼的結(jié)構(gòu)完全由奇偶校驗矩陣H描述。實際上,H矩陣具有比該 示例中所示更少的元素"1"。在說明書的其余部分中,N表示碼字 長度,M表示奇偶校驗方程的數(shù)量。因此,奇偶校驗矩陣H由具有 元素"0"或"1"的M行和N列構(gòu)成。矩陣中的行為奇偶校驗方程, 并且行中具有"1"的元素的集合為方程的自變量。對于具有索引m
(0<=m<M)的奇偶校驗方程,其校驗的碼字符號位置的集合W(m)定 義如下
) = {+ = 0,1,... , iV -1;0}。
iV(m)中的元素數(shù)量記為《m 。類似地,對于碼字符號位置n (0^"<AO ,校驗符號位置n的奇偶校驗方程的索引集合M(n)定義如

辟)={+ = O,l,…,A/-l;f/ m - 0} 中的元素數(shù)量記為■/ 。
通常通過Tanner圖(二分圖)來對LDPC算法進行可視化。艮卩, 將圖的節(jié)點分為兩個不同的集合,并且邊緣僅連接兩種不同類型的節(jié) 點。如圖2所示的示例說明了以上給出的H矩陣。這兩組節(jié)點將被 稱為符號節(jié)點(左邊的節(jié)點)和校驗節(jié)點(右邊的節(jié)點)。符號節(jié)點 的數(shù)量對應(yīng)于矩陣H的列數(shù)N,即所傳輸?shù)姆柡推媾嘉坏目倲?shù)。
11校驗節(jié)點的數(shù)量對應(yīng)于矩陣H的行數(shù)M,其等于奇偶校驗方程的數(shù) 量。當(dāng)且僅當(dāng)Hm,l時,第n個符號節(jié)點(l^"<AO與第m個校驗 節(jié)點(l《m<M)連接。如上所述示例,第一校驗節(jié)點Cn-,連接至第 一、第二和第三符號節(jié)點,表示以第一奇偶校驗方程來驗證 S1+S2+P1=0 mod 2。
對LDPC編碼進行解碼是基于在連接節(jié)點之間傳遞消息進行的, 其中該消息表示發(fā)送節(jié)點置信為真的值(或者更一般地表示發(fā)送節(jié)點 置信為真的概率)。對這樣的解碼算法的各種優(yōu)化是已知的。通常, 這樣的算法被稱為置信傳播算法(BP)、消息傳遞算法(MAP)或 者和積算法(SAP)。通常,在對數(shù)域執(zhí)行該算法,來以求和運算代 替乘法運算。LDPC解碼器不對'硬位,(例如,二進制符號值)進 行操作,而對'軟位'進行操作,通常通過使用數(shù)據(jù)的若干位(例如, 8位)來執(zhí)行。由那些位表示的整數(shù)值是對已編碼的符號位為0或1 的可能性有多高的度量。例如,可以從范圍[-127,127]中抽取該整數(shù) 值,其中-127表示"確定為0" , -100表示"非常可能為0" , 0 表示"為0或1的可能性相等",100表示"非??赡転?" , 127 表示"確定為1"等。在足夠次數(shù)的迭代(這取決于是否滿足所有的 奇偶校驗或者是否達到了最大迭代次數(shù))之后,可以基于所存儲的符 號值來提供硬判決(即,解碼位)。使用軟位來對LDPC解碼器進行 初始化,所述軟位由從編碼器接收這些位的傳輸或存儲系統(tǒng)的解調(diào)制 器提供。例如,對于每個位,傳統(tǒng)的無線接收機的前端將提供對表示 接收到的位/符號的內(nèi)部模擬電壓距離給定門限有多遠的整數(shù)度量。 在圖2中將初始化符號節(jié)點n的軟位值表示為Ln。代替直接對可能 性進行運算,LDPC解碼器通常對所接收到的信息的對數(shù)似然比進行 運算,例如對傳輸'0'的可能性除以傳輸'l'的可能性的結(jié)果的對
數(shù)(或者另一種方式對傳輸'r的可能性除以傳輸'o'的可能性
<formula>formula see original document page 12</formula>該方程可以使用傳輸系統(tǒng)的知識來'求解'。例如,在簡單的
傳輸系統(tǒng)中,將要傳輸?shù)奈槐挥成錇楣β氏嗟鹊膬蓚€值(例如,被表
示為-H和-l)中的一個(例如,將二進制位"0"映射為+ 1,并將二
進制位"1"映射為-l)??梢詫⒕幋a器和解碼器之間的傳輸信道表
示為高斯信道(加入了高斯噪聲)。進一步假設(shè)傳輸"1"或"0"的
可能性相等,則
尸f。" ! ,l力 > 丄丄i (X) = log = i
其中,r為所接收到的位的值,并且一是噪聲方差。 本發(fā)明所使用的LDPC解碼是對數(shù)域中的"基于置信傳播"(基 于BP)的算法(基于LLR-BP的),其中LLR表示對數(shù)似然比。如 2005年J. Chen等在IEEE Transactions on Communications的巻53的 第1288-1299頁發(fā)表的"Reduced complexity decoding of LDPC codes" 中所述,該算法可以基于雙曲正切(tanh)函數(shù)、加拉格(Gallager) 方法、雅可比(Jacobian)變換、具有最小函數(shù)的近似BP、標(biāo)準(zhǔn)BP、 偏移BP或其組合。下文中將這種算法稱為基于LLR-BP的算法。這種 算法的一種優(yōu)選的形式是標(biāo)準(zhǔn)的最小和LDPC解碼算法。該算法實現(xiàn) 了與更一般的置信傳播(BP)解碼所能實現(xiàn)的性能級別非常接近的性 能級別,或者有時甚至超出了更一般的置信傳播(BP)解碼所能實現(xiàn) 的性能級別,同時提供了顯著的硬件優(yōu)勢。下文給出的詳細描述基于 標(biāo)準(zhǔn)的最小和算法,應(yīng)該理解的是其構(gòu)思同樣適用于置信傳播算法的 其他形式。
圖的頂點(V)的集合為N個符號節(jié)點的集合與M個奇偶校驗 節(jié)點的集合的并集。Hmn=l時,邊緣(E)的集合包含所有的邊緣(m, n)。傳統(tǒng)的LDPC算法的迭代包括從符號節(jié)點(N)經(jīng)由邊緣(E) 發(fā)送至校驗節(jié)點(M)的信息,以及從校驗節(jié)點(M)經(jīng)由邊緣(E) 發(fā)送至符號節(jié)點(N)的信息。所述符號節(jié)點將由索引n指示,而所 述校驗節(jié)點由索引m指示。
對于最小和算法的給定的迭代i,定義如下變量(該消息也如圖 2所示)-Ln,輸入至符號節(jié)點n的x位帶符號的輸入信息。例如,如果 將BPSK調(diào)制用于傳輸編碼字,則Ln如下
丄 =% (1)
其中,凡為已接收的BPSK符號值,并且^為噪聲方差。應(yīng)該理 解的是,可以使用任意適合的調(diào)制技術(shù)。
-義',,。,,在第i次迭代中從符號節(jié)點n發(fā)送至校驗節(jié)點m的消息。 該消息也被稱為"符號消息"。通常,該符號消息取決于符號節(jié)點n 所接收的原始值(Ln)以及從連接的校驗節(jié)點所接收到的更新消息。 因此,在第一次迭代中,僅發(fā)送U作為符號消息。來自校驗節(jié)點的更 新信息被表示為A,。在傳統(tǒng)的LDPC解碼中,義'腦可以被選擇為
. S八',:1,, (2)
應(yīng)該注iT1f誤方程中,針對符號節(jié)點n連接的所有校驗節(jié)點m 求和(M (n)),而不針對沒有消息發(fā)送至的校驗節(jié)點m。這避免 了不穩(wěn)定性。還應(yīng)該注意,更新消息A'":來自前一次迭代i-l。如下所 述,這不是嚴(yán)格的要求。
-A,,在第i次迭代中從校驗節(jié)點m發(fā)送至符號節(jié)點n的消息。 該消息還可以被稱為^校驗節(jié)點消息'。該消息取決于校驗節(jié)點m 所接收I lj的符號消息。該消息可以被初始化為
A0 =0
"扁 v
優(yōu)選地,該消息的更新基于校驗節(jié)點所接收到的所有符號消息, 即來自連接至校驗節(jié)點m的所有符號節(jié)點(N (m)),除正要將校 驗節(jié)點消息發(fā)送至的符號節(jié)點n之外。基于只根據(jù)當(dāng)前迭代開始時的 信息值的更新,并通過使用最小和算法得出
A細 (T(M義',)})* *,〗} (3)
其中,XOR被定義為布爾異或函數(shù)的等效符號,即XOR(-,-) =+。應(yīng)該注意,a為校正因子,其是標(biāo)準(zhǔn)的最小和算法已知的。
-義 ,解碼器的輸出消息。不同的是,在義"j的情況中,解碼器 的輸出消息義 通常使用符號節(jié)點n中所有可用的信息,并且僅在最后 一次迭代I中需要。
!>' '" (4)
14在上述給定公式中,迭代i中的解碼靜態(tài)地基于前一次迭代i-1
的最后獲得的信息。這種迭代形式可以被看作是雅可比(Jacobi)迭 代。該算法可以被修改為包括高斯一塞德爾(Gauss-Seidel)迭代(一 種被稱為"交錯解碼"、"turbo解碼LDPC"、"置亂式解碼"以 及"分級解碼"的技術(shù))。在該形式的LDPC解碼中,解碼不是靜態(tài) 地基于前一迭代最后所獲得的信息,而是立即使用當(dāng)前迭代i中所獲 得的信息。為此,使用LDPC的校驗節(jié)點中心處理。使用了變量《, 其由U和校驗節(jié)點與符號節(jié)點之間的最新消息構(gòu)成
me〖/(/7,/") m e7 (w,m) 、 乂
在該方程中,集合t/(",m)cMO)涉及在校驗節(jié)點m進行處理之 前在當(dāng)前迭代i中已更新了的消息,并且i 0,m)^M(")WO,w)為剩余 的還未更新的消息的集合。對于雅可比(Jacobi)迭代,f/(",《7) = (D, 并且對于高斯一塞德爾(Gauss-Seidel) f/(",m),則定義如下
(1>匚t/(w,m。 c f/(w,w2) c:... c C/(w,w,) ( 6)
該方程允許在幾個校驗節(jié)點中并行進行更新。在第一循環(huán)中更 新了的校驗節(jié)點被稱為mp在第二循環(huán)中更新了的節(jié)點被稱為m2, 就以此類推。通常,由于會產(chǎn)生存儲器的沖突,因此并非所有校驗節(jié) 點都可以并行進行更新。調(diào)度表為并行校驗循環(huán)分配校驗節(jié)點。
義吣的值由如下方程給出
《,,=義;,(氣)—A'i (7) 并且在當(dāng)前校驗節(jié)點mx中計算A"之后,A被更新為
義:,(附,+1)=義^+八' (8)
因此在該方程中,^+,為前一循環(huán)校驗節(jié)點mx (或者被并行處理 的校驗節(jié)點的集合)被處理之后被處理的校驗節(jié)點(或者被并行處理 的校驗節(jié)點的集合)。圖3示出了分為兩個主要組來執(zhí)行的迭代i。在 第一組中,對校驗節(jié)點CN-l至CN-3進行處理(形成集合iTM),并且 在相同迭代的下一組中,對剩余的校驗節(jié)點CN-4至CN-6進行處理(形 成集合m2)。
在當(dāng)今的通信標(biāo)準(zhǔn)中標(biāo)準(zhǔn)化了的LDPC編碼(諸如DVB-S2、802.lln、 802.16e、 DMB-T以及STiMi)均包含準(zhǔn)循環(huán)結(jié)構(gòu)。這表示描述符號節(jié)點與校驗節(jié)點(即,N (m)與M (n))之間的互連關(guān)系的H矩陣由多個循環(huán)矩陣構(gòu)成。這些循環(huán)矩陣包括旋轉(zhuǎn)一定角度的零矩陣或單位矩陣。在一些標(biāo)準(zhǔn)中,在一個循環(huán)矩陣中存在多條對角線。在DVB-S2中,LDPC碼包括64800位,對于1/2的碼速率來說,其一半為系統(tǒng)位(輸入至編碼器的原始輸入位),且其另一半為奇偶位。使用總數(shù)為32400個奇偶方程,產(chǎn)生具有64800列和32400行的H矩陣。該矩陣再被分為多個360X360大小的分組(循環(huán)矩陣)。圖4示出了循環(huán)矩陣H矩陣的示例結(jié)構(gòu)。在該示例中,循環(huán)矩陣僅為4X4的分組。循環(huán)矩陣400為單位矩陣。循環(huán)矩陣410為向右旋轉(zhuǎn)1個位置所得的矩陣。循環(huán)矩陣420為向右旋轉(zhuǎn)三個位置所得的矩陣。當(dāng)然,向右旋轉(zhuǎn)也可被看作是向左旋轉(zhuǎn)。利用循環(huán)矩陣構(gòu)建H矩陣的優(yōu)點在于可以將屬于一個(子)循環(huán)矩陣的所有數(shù)據(jù)存儲于存儲器的一行,并且可以在一個時鐘循環(huán)中取回,并且可以利用旋轉(zhuǎn)將其發(fā)送至各校正數(shù)據(jù)路徑,其中數(shù)據(jù)路徑執(zhí)行由校驗節(jié)點表示的至少部分處理。圖5A和圖5B示出了并行校驗循環(huán)矩陣的行的情況。由相應(yīng)的數(shù)據(jù)路徑對矩陣的每行進行校驗。在圖5所示的示例中,循環(huán)矩陣具有4行,因此優(yōu)選地利用各數(shù)據(jù)路徑并行地對4個方程進行校驗。圖5A示出了迭代開始時符號節(jié)點存儲值a至z。第一方程(等于第一數(shù)據(jù)路徑DP-1)應(yīng)該使用a、 f以及z(在該示例中,忽略了由…表示的中間循環(huán)矩陣)來對符號節(jié)點進行校驗。第二方程應(yīng)該校驗b、 g、 w;第三方程應(yīng)該校驗c、 h、 x,以及第四方程應(yīng)該校驗d、 e、 y。圖5B示出了如何在存儲器Mem中存儲符號值,其中存儲器中的行為循環(huán)矩陣的大小。在該示例中,每個連續(xù)行存儲對應(yīng)于符號節(jié)點值的元素。所謂的桶形移位器BS從存儲器中讀取行,并且其中適當(dāng)?shù)匦D(zhuǎn)行中的元素。在該示例中,元素a至d對應(yīng)于第一循環(huán)矩陣,其為單位矩陣。無需旋轉(zhuǎn)。下一組元素e至h對應(yīng)于第二循環(huán)矩陣。該矩陣是向右旋轉(zhuǎn)一個位置的單對角線的矩陣。通過執(zhí)行相反的旋轉(zhuǎn)R1 (即,向左旋轉(zhuǎn)一個位置,其等于向右旋轉(zhuǎn)三個位置),將要由第一數(shù)據(jù)路徑操作的元素也正好位于第一 "列"中。類似地,最后一組元素w至z對應(yīng)于向右旋轉(zhuǎn)三個位置的具有單對角線的最后一個循環(huán)矩陣。通過將元素向左旋轉(zhuǎn)三個位置(或向右旋轉(zhuǎn)一個位置),將要由第一數(shù)據(jù)路徑操作的最后一組元素此時也再次位于第一 "列"中。因此,可以使用通過桶形移位器產(chǎn)生的第一列來加載第一數(shù)據(jù)路徑DP-1。第二列自動地產(chǎn)生用于第二數(shù)據(jù)路徑DP-2的元素,以此類推。已知桶形移位器本身可以用于旋轉(zhuǎn)元素并向各數(shù)據(jù)路徑提供期望的輸出。在1992年2月由G.M.Tharakan與S.M. Kang發(fā)表于IEEE Journal of solid-state circuits的巻21No.2的"A New Design of a Fast Barrel Switch Network"中也示出了桶形移位器的示例。還可以使用除圖5B中所示之外的其他排列。應(yīng)該理解的是,相同的構(gòu)思也適用于使用每行和每列具有相同數(shù)量的1元素的子矩陣來代替循環(huán)矩陣的使用。代替執(zhí)行旋轉(zhuǎn),需要執(zhí)行稍微更復(fù)雜的置換。執(zhí)行該置換的單元可以被看作是置亂裝置。下文將集中對循環(huán)矩陣進行描述,并將置亂裝置稱作桶形移位器。還應(yīng)該理解的是,多對角線的循環(huán)矩陣可以被看作是每行和每列具有相同數(shù)量的多個非零元素的特殊形式的子矩陣。針對循環(huán)矩陣將詳細地描述根據(jù)本發(fā)明的結(jié)構(gòu),但是該結(jié)構(gòu)可以以相同的方式用于更一般的情況。
如圖6所示,傳統(tǒng)的LDPC解碼器的結(jié)構(gòu)核心由數(shù)據(jù)路徑形成。如上所述,通過從來自存儲那些值的第一存儲器中的連續(xù)到達的義:(附;u中減去A'J,來形成Km、義:,j。 lj被用于計算如圖6中示為610的方程(3)。當(dāng)必須針對所有的參與者來計算除自身之外的所有值中的最小值時,方程組僅有兩個輸出值總最小值以及除1以外的(one-but)最小值。該最小值的位置(即,給出最小值的參與者的身份)也被存儲。對這兩個值的計算也被稱為"運行向量計算",并且該向量被表示為Am。對各A^的計算是對該向量的解壓縮。如方框630所示即為運行向量計算以及解壓縮。這種壓縮/解壓縮本身以最小和算法最為人所知。與計算A^同時,將義 '5存儲于緩沖器中,優(yōu)選地存儲于FIFO 620中,以備稍后使用。在下一個Km循環(huán)期間,對下一個奇偶校驗方程重復(fù)該操作,同時針對當(dāng)前的奇偶校驗方程,利用上述解壓縮來計算各A:。將方框630中的A:與來自FIFO 620的^,"相加,得到新的義U附)(方程7)。因此,數(shù)據(jù)路徑產(chǎn)生一個奇偶方程的&,義j,
17同時接收該^ 義^以用于下一方程。所述數(shù)據(jù)路徑每個時鐘周期可以處理一條校驗節(jié)點與符號節(jié)點之間的連接。為了避免n嚴(yán)n2時在寫入^之
前讀取義,71,奇偶方程的順序必須被靜態(tài)地調(diào)度。當(dāng)沒有實現(xiàn)該靜態(tài)調(diào)度時,必須插入空操作,這將導(dǎo)致較低的吞吐量。如上所述,大多數(shù)L D P C編碼由循環(huán)矩陣結(jié)構(gòu)構(gòu)成,從而使得這些奇偶方程可以被同時計算。當(dāng)編碼的循環(huán)矩陣大小等于數(shù)據(jù)路徑的數(shù)量并且在循環(huán)矩陣中最多存在一條對角線時,解碼器可以計算多個奇偶校驗方程而不產(chǎn)生存儲器的沖突。
圖7示出了用于最小和算法的圖6中的方框630的常規(guī)細節(jié)。方框710示出了施加與輸入相乘的校正因子",如方程(3)所示。方框730示出了運行向量計算。方框740示出了解壓縮。方框720示出了飽和函數(shù),其將方框710的輸出范圍減小到預(yù)定范圍,通常為8位。所述飽和處理可以以任意適當(dāng)?shù)姆椒▽崿F(xiàn),諸如限幅/舍去或縮放等。這些均為已知。
圖8示出了包括D條并行數(shù)據(jù)路徑DP-0至DP-D-1的傳統(tǒng)的頂層結(jié)構(gòu),其中每條數(shù)據(jù)路徑對應(yīng)于圖6中所示并在圖7中詳細說明的數(shù)據(jù)路徑。在該結(jié)構(gòu)中,第一存儲器義-men存儲義 值,示為存儲器"AMemO"至"A MemD-l"的第二存儲器存儲未壓縮的A , 值。在該示例中,存儲器"A MemO"存儲值A(chǔ)。"、 A仏、八2/) 等;存儲器"A Mem1"存儲值A(chǔ)^、 A
所提出的結(jié)構(gòu)的(存儲)效率是通過使用發(fā)送到/來自數(shù)據(jù)路徑的
數(shù)據(jù)集總存在于存儲器中的一個字中的特性來實現(xiàn)的。當(dāng)使用中所述的技術(shù)時,這些循環(huán)矩陣被分割為多個較小
的子循環(huán)矩陣,為此,對角特性占主導(dǎo)。
對于大多數(shù)標(biāo)準(zhǔn)來說,LDPC解碼器所需的最大部分的硅面積在
第二存儲器中被占據(jù),所述第二存儲器包括A存儲器。由于存儲于這些
存儲器中的值僅包含方程的最小值或除1以外的最小值,因此,這些
值可以被如上所述進行壓縮。可實現(xiàn)的壓縮因子為一 "!—一——,其中
2*& + log (K)
b為存儲值所需的位數(shù),并且K為方程中參與者的數(shù)量。當(dāng)K等于30時,該壓縮因子約為10。圖9示出了為了利用壓縮的A存儲而對數(shù)據(jù)路徑進行的改變。圖9是圖6和圖7的組合,其中此處A存儲器以壓縮形式存儲A","值。這可以以如下方式在圖9中看出通過在解壓縮方框740之前導(dǎo)出將要被存儲于存儲器640中的值。為了能夠使用壓縮的存儲值,存儲之后使用另一解壓縮方框910。
但是,使用壓縮的A存儲需要注意以下幾個方面-八存儲器的總的存儲容量取決于一個標(biāo)準(zhǔn)所需的所有編碼。例如,DVB-S2具有12種規(guī)定速率,其中K的范圍為4至30。需要被存儲于存儲器中的向量的數(shù)量根據(jù)每種速率而不同。當(dāng)DVB-S2中所使用的速率為10時,這表示當(dāng)假設(shè)b^5時,總的壓縮因子為3.4。
-代替在A存儲器的一個字中寫入2 +logs (K)位,可以使用K個循環(huán)來進行讀和寫,這以附加邏輯為代價,增大了存儲器的面積利用率。
—當(dāng)以其中可用兩端口存儲器的FPGA技術(shù)為目標(biāo)且高度已經(jīng)固定時,A's的壓縮不具有任何優(yōu)勢。
-當(dāng)將要處理的"子層"的數(shù)量相當(dāng)?shù)蜁r,壓縮存儲器的高度也可能很低,因此通過壓縮幾乎不能實現(xiàn)面積的優(yōu)點。
圖8中所示的結(jié)構(gòu)示出了在前向路徑中使用桶形移位器BS-1并且在向后的路徑中使用桶形移位器BS-2。 BS-1從地址產(chǎn)生器"Addr gen"接收旋轉(zhuǎn)指令。這些指令(或者是其反向形式)還被存儲于連接BS-1與BS-2的FIFO中,從而使得BS-2在適當(dāng)數(shù)量的循環(huán)后可以對序列的相同元素執(zhí)行與BS-1所實現(xiàn)的旋轉(zhuǎn)相反的旋轉(zhuǎn)。該結(jié)構(gòu)還可以通過省略反向路徑中的桶形移位器BS-2進行進一步優(yōu)化。在這種結(jié)構(gòu)中,前向路徑中的桶形移位器BS-1必須對數(shù)據(jù)被回轉(zhuǎn)寫入第一存儲器"義-men"的事實進行補償。本文沒有單獨示出單個桶形移位器的結(jié)構(gòu)。圖8中所示的1/0控制器"10 Contr"和地址產(chǎn)生器"Addr gen"可以被適當(dāng)?shù)鼐幊桃钥刂仆靶我莆黄鰾S-1。本領(lǐng)域技術(shù)人員對此已知。
以上所給出的結(jié)構(gòu)對于單對角線循環(huán)矩陣來說是有效的。該結(jié)構(gòu)導(dǎo)出如下計算義腳,=^( o—八'i
計算A;,'
《( 。=、+八'",,
例如,當(dāng)在相同循環(huán)矩陣中符號節(jié)點n連接至兩個校驗節(jié)點時
(即,雙對角線),則發(fā)生以下情況
A,=疋(附,)—八'二=丄 +八'二
義,=疋( =4+<
計算A,和A,
義"(附2)=義,+八'",盧=丄 +八'》,, +八'"—'二
^ (附3)=義,+ A', = 4 +《: + A, #丄 + A, + 乂,2,'
換句話說,A,被之前的A:覆蓋。
圖10示出了根據(jù)本發(fā)明的LDPC解碼器結(jié)構(gòu)的基本實現(xiàn)。該LDPC解碼器包括第一存儲器1005,用于針對每個符號節(jié)點n存儲LDPC碼的相應(yīng)符號的各符號值義 的表示。假設(shè)LDPC碼的符號被從0至N-l連續(xù)編號,則符號節(jié)點n存儲第n個符號。該LDPC解碼器還包括第二存儲器1015,用于存儲各校驗節(jié)點消息A^的表示。在該示例中,第二存儲器1015被再分為如圖8所示的多個存儲器,優(yōu)選地被再分為多個FIFO存儲器。該LDPC解碼器還包括第一計算裝置1010,用于針對下一次迭代根據(jù)存儲于第一存儲器1005中的相應(yīng)符號值的表示以及來前 一 迭代的校驗節(jié)點消息A , 來計算符號消息。在實施例中,第一計算裝置1010根據(jù)以上所給出的方程(7)來計算《 ,八=。對于每條數(shù)據(jù)路徑0至D-1,對各個不同的符號節(jié)點執(zhí)行該計算。D個計算并行執(zhí)行。因此,處理第一組節(jié)點()至D-1,第二組節(jié)點為D至2D-1,以此類推。因此,第一計算裝置1010被布置為并行執(zhí)行D個減法。該LDPC解碼器還包括桶形移位器1030,用于從第一計算裝置1010獲得以第一順序排列的符號消息,并且根據(jù)循環(huán)矩陣的旋轉(zhuǎn)來以不同順序提供該符號消息。 一般而言,所述桶形移位器1030的原理可以與上述參考圖5B所述的相同,其中可以根據(jù)符號節(jié)點的順序來接收所述符號消息,并且通過執(zhí)行與單位矩陣旋轉(zhuǎn)為相
20關(guān)對角矩陣反向的旋轉(zhuǎn)來重新布置所述符號消息的順序,并且最終沿列方向發(fā)送該符號消息。桶形移位器的任務(wù)是簡化由循環(huán)矩陣定義的順序的改變。
所述LDPC解碼器還包括第二計算裝置,用于根據(jù)LLR-BP (對數(shù)似然比置信傳播)算法來計算校驗節(jié)點消息a,,并且用于將計算所得的校驗節(jié)點消息的表示存儲于第二存儲器1015中。該計算取決于相應(yīng)校驗節(jié)點m從桶形移位器1030接收到的符號消息義 ,。第二計算裝置所執(zhí)行的計算中的至少一部分在桶形移位器1030之后的數(shù)據(jù)路徑DP-0至DP-D-1中執(zhí)行,因此處于旋轉(zhuǎn)域中。在實施例中,使用最小和算法,第二計算裝置根據(jù)方程(3)計算
a'細)》* "* £: 〗}
所述LDPC解碼器還包括第三計算裝置1020,用于根據(jù)第一和第二計算裝置的輸出來更新第一存儲器中的符號值的表示。在優(yōu)選實施例中,第三計算裝置1020根據(jù)方程(8 )執(zhí)行如下計算
義:,(附.丫+1)=義腦,+八' ',。
與圖8所示的已知結(jié)構(gòu)的主要區(qū)別在于疋(傷)-a'二的計算是在"線性域"中進行的,即在桶形移位器1030之前。同樣在桶形移位器之前(即在線性域中)執(zhí)行義皿在FIFO 1040中的存儲以及加法4,+a,以獲得人。
在根據(jù)本發(fā)明的實施例中,將符號消息的表示以如上所述的預(yù)定順序存儲于第一存儲器中。所述LDPC解碼器還包括布置在第二計算裝置和第三計算裝置1020之間的另一桶形移位器1035,用于以與所述預(yù)定順序?qū)?yīng)的順序提供校驗節(jié)點消息。如上所述,反向路徑中的桶形移位器1035對第一存儲器中使用的原始順序進行重建。
在如圖11所示的另一個實施例中,LLR-BP算法基于最小和算法,并且LDPC編碼器包括校正裝置以及飽和裝置,其中校正裝置用于使符號消息值乘以校正因子a,飽和裝置用于將值限制于預(yù)定范圍。所述校正裝置如圖7中的方框710所示,飽和裝置如方框720所示。應(yīng)該理解的是,首先校正在飽和之前執(zhí)行(校正也可以減小值的范圍)。如圖11所示,方框1110所示的校正裝置于飽和裝置的組合被布置在第一計算裝置與桶形移位器之間。這導(dǎo)致其上可以實現(xiàn)LDPC編碼器
的集成電路的不同的面積成本通過在桶形移位器1030之前乘以《并
執(zhí)行飽和處理,桶形移位器1030就可以具有1至3位的A,s的位寬, 其小于其他情況下的入的寬度。應(yīng)該注意的是,存儲該符號需要一個 附加的1位FIFO。圖12中的方框1230示出了該1位FIFO。但是,當(dāng) 通過桶形移位器來傳送異或結(jié)果(xor-total)并且在緊鄰義存儲器1005 之前的加法器中執(zhí)行異或操作時,則可以優(yōu)化去掉l位FIFO。
在圖ll所示的優(yōu)選實施例中,由第二計算裝置執(zhí)行的數(shù)據(jù)路徑非 常簡單,如圖12所示。方框1210示出了運行向量計算,其原理與圖7 中的方框730所示的相同。方框1220示出了向量解壓縮,其原理與圖 7中的方框740所示的相同。方框1230示出了用于存儲符號的1位 FIFO。
圖10和圖11所示的結(jié)構(gòu)可以被修改為非常易于處理多對角線的 沖突。在這種實施例中,至少一個循環(huán)矩陣是具有多條對角線的矩陣, 其中每條對角線是通過將單位矩陣旋轉(zhuǎn)數(shù)量各不相同的位置形成的。
此時,第一計算裝置ioio被布置用于根據(jù)相關(guān)校驗節(jié)點消息來計算對
應(yīng)于多對角線循環(huán)矩陣的符號消息《,,,其中,每個相關(guān)校驗節(jié)點消息 對應(yīng)于循環(huán)矩陣中的多條對角線中相應(yīng)的一條對角線。因此,如果循
環(huán)矩陣具有兩條對角線,則第一計算裝置分別發(fā)出兩個義:,j;如果循 環(huán)矩陣具有三條對角線,則第一計算裝置分別發(fā)出三個(j,以此類
推。優(yōu)選地,第一計算裝置被布置用于通過在每次迭代中將相關(guān)校驗 節(jié)點消息A,中相應(yīng)的一個與計算結(jié)果結(jié)合來迭代地計算與單個符號 節(jié)點n相關(guān)的符號消息(,,。圖13示出了該迭代布置。如在之前的結(jié)構(gòu) 中所述,F(xiàn)IFO 1040可以存儲《,,并且通過在方框1020中將A',,v,與A;+| 相加來計算新的《。在雙對角線的情況下,方框1010兩次減去校驗節(jié) 點消息A,和A^。接著,F(xiàn)IFO 1040存儲《-A:-A' -乙 。通過在方 框1020中分別加上新的A "和A +,"來計算新的《。例如,假設(shè)符號節(jié) 點n連接至相同循環(huán)矩陣中的兩個校驗節(jié)點l和4 (即,雙對角線), 則從第一存儲器1005中讀出的如下值2 =4+Aln+A4 。此后,使用 兩個減法器在方框1010中減去第一A^。輸出丄"+A心,被饋送至桶形移位器1030,并且還在FIFO 1040中存儲相同的值。在第二循環(huán)中,通 過兩個減法器都減去A4 。至桶形移位器的數(shù)據(jù)路徑仍被饋送 人-、+A,n+A^,因此,利用減法器減去A^后,向桶形移位器提供 丄n+八^ (當(dāng)然,可選地在校正與飽和處理之后)。通過方框1010中的 多路復(fù)用器的第二路徑對該循環(huán)中的另一減法器進行饋送,并且饋送 I +A4 。減去A一,則導(dǎo)致存儲于FIFO 1040中的丄 。應(yīng)該注意的是, 在這種情況下必須實現(xiàn)1位FIFO。
圖8、圖10、圖11以及圖13所示的結(jié)構(gòu)使用FIFO來存儲A,消 息。如上所述,使用壓縮的A存儲可以節(jié)約面積。為了在根據(jù)本發(fā)明的 結(jié)構(gòu)中實現(xiàn)該目的,如圖14所示,將符號與幅值分割開。在返回桶形 移位器1035之后將符號抽出并且將其存儲于緩沖器(優(yōu)選為FIFO) 1420中。對于幅值,與圖9中一樣,從數(shù)據(jù)路徑抽出向量并將其存儲 于緩沖器(優(yōu)選為FIFO) 1410中。解壓單元910類似于圖9所示的解 壓單元。增加第三桶形移位器1430以執(zhí)行與桶形移位器1035相同的 功能。
應(yīng)該理解的是,可以在硬件中實現(xiàn)本發(fā)明,也可以在軟件中實現(xiàn) 本發(fā)明,例如可以在數(shù)字信號處理器(DSP)或優(yōu)化的VLIW處理器上 實現(xiàn)本發(fā)明。對于軟件實現(xiàn),附圖中所描述的方框可以被視作表示功 能性軟件單元。因此,本發(fā)明還延伸至計算機程序,尤其是用于實踐 本發(fā)明的載體上或載體中的計算機程序。所述程序可以為源代碼、目 標(biāo)代碼、源代碼與目標(biāo)代碼中間的代碼(諸如部分地被編譯了的形式) 的形式,或者為適用于在根據(jù)本發(fā)明的方法的實現(xiàn)中使用的任何其他 代碼的形式。所述載體可以是可以攜帶所述程序的任何實體或裝置。 例如,所述載體可以包括諸如ROM之類的存儲媒介(例如,CD ROM 或半導(dǎo)體ROM)或磁記錄媒介(例如,軟磁盤或硬盤)。進一步地, 所述載體可以為可傳輸載體,諸如電信號或光信號,這些信號可以通 過電纜或光纜或者可以通過無線或其他裝置來傳輸。當(dāng)在這種信號中 實現(xiàn)所述程序時,所述載體可以由這種線纜或者其他裝置或設(shè)備構(gòu)成。 可替換地,所述載體可以為其中嵌入有所述程序的集成電路,該集成 電路用于執(zhí)行相關(guān)方法或用于實現(xiàn)相關(guān)方法中的性能。應(yīng)該注意的是,上述實施例說明但不限制本發(fā)明,并且本領(lǐng)域技 術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可以設(shè)計許多替換實施 例。在權(quán)利要求中,括號中的任意參考符號不應(yīng)被理解為對權(quán)利要求 的限制。詞語"包括"及其結(jié)合的使用不排除權(quán)利要求中所述之外的 元件或步驟的存在。元件之前的冠詞"一"或"一個"不排除多個這 種元件的存在。本發(fā)明可以通過包括若干不同元件的硬件來實現(xiàn),也 可以通過可適當(dāng)編程的計算機實現(xiàn)。在列舉了幾個裝置的裝置權(quán)利要 求中,這些裝置中的幾個可以由同一硬件實現(xiàn)。在相互不同的從屬權(quán) 利要求中所限定的具體方法不表示他們的組合不能用于獲得優(yōu)勢。
2權(quán)利要求
1.一種LDPC解碼器,用于迭代地對加羅瓦域上的LDPC碼進行解碼,其中,所述LDPC碼由預(yù)定的M×N的奇偶校驗矩陣H表示,所述奇偶校驗矩陣H由多個子矩陣構(gòu)成,其中每個子矩陣為零矩陣或者為每行和每列均具有相同數(shù)量的非零元素的矩陣;所述LDPC解碼器基于對數(shù)似然比置信傳播算法,以下稱其為LLR-BP算法,其表示將符號消息λnm從相應(yīng)符號節(jié)點n(0<=n<N)傳遞至所連接的校驗節(jié)點m(0<=m<M),以及將校驗節(jié)點消息Λmn從相應(yīng)校驗節(jié)點m傳遞至所連接的符號節(jié)點n;符號節(jié)點與校驗節(jié)點之間的連接由奇偶校驗矩陣H來限定;所述LDPC解碼器包括-第一存儲器(1005),用于針對每個符號節(jié)點存儲LDPC碼的相應(yīng)符號的各符號值的表示;-第二存儲器(1015),用于存儲各所述校驗節(jié)點消息Λmn的表示;-第一計算裝置(1010),用于根據(jù)存儲于所述第一存儲器的相應(yīng)符號值的表示以及前一迭代的校驗節(jié)點消息來計算下一個迭代符號消息λmn;-置亂裝置(1030),用于從所述第一計算裝置(1010)接收以第一順序排列的符號消息,并且根據(jù)相應(yīng)子矩陣中非零元素的位置來以不同順序提供所述符號消息;-第二計算裝置(DP-0,DP-1,DP-D-1),用于根據(jù)LLR-BP算法來計算校驗節(jié)點消息,以及用于將計算所得的校驗節(jié)點消息存儲于第二存儲器中;該計算依賴于由各相應(yīng)校驗節(jié)點從所述桶形移位器接收到的符號消息;以及-第三計算裝置(1020),用于根據(jù)所述第一計算裝置和所述第二計算裝置的輸出來更新所述第一存儲器中的符號值的表示。
2. 如權(quán)利要求1所述的LDPC解碼器,其中至少一個子矩陣是 每行和每列均具有至少兩個非零元素的矩陣,以下稱其為多元矩陣;所述第一計算裝置被布置用于根據(jù)相關(guān)校驗節(jié)點消息來計算對應(yīng)于 多元矩陣的符號消息《 ,,其中,每個所述相關(guān)校驗節(jié)點消息對應(yīng)于 多元矩陣中的非零元素中的相應(yīng)一個。
3. 如權(quán)利要求2所述的LDPC解碼器,其中所述第一計算裝置 被布置為通過在每個迭代中將相關(guān)校驗節(jié)點消息中相應(yīng)的一個與計 算所得的結(jié)果結(jié)合來迭代地計算與單個符號節(jié)點相關(guān)的符號消息。
4. 如權(quán)利要求1所述的LDPC解碼器,其中LLR-BP算法基于 最小和算法,并且LDPC編碼器包括校正裝置,用于將符號消息值 乘以校正因子a;以及飽和裝置,用于將所述符號消息值限制至預(yù)定 范圍;所述校正裝置與所述飽和裝置被布置在所述第一計算裝置與所 述置亂裝置之間。
5. 如權(quán)利要求1所述的LDPC解碼器,其中以預(yù)定順序?qū)⒎?消息的表示存儲于第一存儲器中;所述LDPC解碼器還包括布置在所 述第二計算裝置與所述第三計算裝置之間的另一置亂裝置,用于以對 應(yīng)于所述預(yù)定順序的順序來提供校驗節(jié)點消息。
6. 如權(quán)利要求1所述的LDPC解碼器,其中LLR-BP算法基于 最小和算法;所述第二計算裝置包括壓縮裝置,用于對所述校驗節(jié)點 消息進行壓縮并且以壓縮的形式將所述校驗節(jié)點消息存儲于所述第 二存儲器中;并且所述第一計算裝置包括解壓縮裝置,用于對從所述 第二存儲器中讀出的所述校驗節(jié)點消息進行解壓縮。
7. 如權(quán)利要求1所述的LDPC解碼器,其中所述子矩陣是循環(huán) 矩陣,其為零矩陣或者為具有至少一條對角線的對角矩陣,并且至少 一個對角矩陣為通過將單位矩陣旋轉(zhuǎn)至少一個位置形成的對角矩陣; 并且所述置亂裝置為桶形移位器,用于根據(jù)循環(huán)矩陣的旋轉(zhuǎn)來改變符 號消息的順序。
8. —種迭代地對加羅瓦域上的LDPC碼進行解碼的方法,其中 所述LDPC碼由預(yù)定的MXN的奇偶校驗矩陣H表示,所述奇偶校 驗矩陣H由多個子矩陣構(gòu)成,其中每個子矩陣為零矩陣或者為每行 和每列都具有相同數(shù)量的非零元素的矩陣;所述LDPC解碼方法基于 對數(shù)似然比置信傳播算法,下文中稱其為LLR-BP算法,其表示將符 號消息^從相應(yīng)符號節(jié)點n (0<=n<N)傳遞至連接的校驗節(jié)點m (0<=m<N),以及將校驗節(jié)點消息A^從相應(yīng)校驗節(jié)點m傳遞至所 連接的符號節(jié)點n;符號節(jié)點與校驗節(jié)點之間的連接由奇偶校驗矩陣 H來限定;所述LDPC解碼方法包括-針對每個符號節(jié)點將所述LDPC碼的相應(yīng)符號的各符號值的 表示存儲于第一存儲器中;-將各校驗節(jié)點消息A^的表示存儲于第二存儲器中;-執(zhí)行第一計算,包括根據(jù)存儲于所述第一存儲器的相應(yīng)符號 值的表示以及前一迭代的校驗節(jié)點消息來計算下一個迭代符號消息 義誦;-通過接收以第一順序排列的由第一計算產(chǎn)生的符號消息,以 及根據(jù)相應(yīng)子矩陣中的非零元素的位置以不同順序提供所述符號消息來執(zhí)行置亂操作;-執(zhí)行第二計算,包括根據(jù)LLR-BP算法來計算校驗節(jié)點消息, 并且將計算所得的校驗節(jié)點消息存儲于所述第二存儲器中;該計算依 賴于由相應(yīng)校驗節(jié)點從桶形移位器接收到的符號消息;以及-根據(jù)所述第一計算和所述第二計算的輸出來更新所述第一存 儲器中的符號值的表示。
全文摘要
一種基于對數(shù)似然比置信傳播算法的LDPC解碼器,迭代地對由包含多個循環(huán)矩陣的奇偶校驗矩陣H表示的LDPC碼進行解碼。第一計算裝置(1010),用于根據(jù)存儲于第一存儲器(1005)中的相應(yīng)符號值的表示以及前一迭代的校驗節(jié)點消息Λ<sub>mn</sub>來計算下一個迭代符號消息λ<sub>nm</sub>。置亂裝置(1030)根據(jù)相應(yīng)子矩陣中非零元素的位置來改變從第一計算裝置(1010)所接收到的符號消息的順序。第二計算裝置(DP-0,DP-1,DP-D-1)根據(jù)從桶形移位器接收到的符號消息來計算校驗節(jié)點消息,并且將計算所得的校驗節(jié)點消息的表示存儲于第二存儲器(1015)中。第三計算裝置(1020)根據(jù)第一計算裝置和第二計算裝置的輸出來更新第一存儲器中的符號值的表示。采用“交叉式”或“置亂式”LDPC解碼原理。一個實施例針對多對角線循環(huán)矩陣所設(shè)計。
文檔編號H03M13/11GK101689865SQ200880023322
公開日2010年3月31日 申請日期2008年7月1日 優(yōu)先權(quán)日2007年7月4日
發(fā)明者約翰·迪利森 申請人:Nxp股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
洛南县| 泾源县| 隆尧县| 文安县| 宽城| 竹北市| 高州市| 来凤县| 新巴尔虎右旗| 宜兴市| 万全县| 南通市| 东台市| 卢龙县| 七台河市| 舟山市| 古浪县| 弥勒县| 时尚| 许昌县| 靖江市| 长宁县| 太仆寺旗| 乳山市| 蓬溪县| 泾源县| 平利县| 土默特左旗| 平谷区| 沽源县| 台东市| 鄂尔多斯市| 兴国县| 大同市| 家居| 左权县| 二手房| 双柏县| 贵港市| 吴堡县| 盐亭县|