專利名稱:奇偶校驗矩陣的產(chǎn)生的制作方法
技術領域:
本發(fā)明涉及用于錯誤校正編碼的群環(huán)型低密度奇偶校驗(LDPC)矩陣的產(chǎn)生。
背景技術:
錯誤校正碼用于保護數(shù)據(jù),以免在通過噪聲信道通信或在數(shù)據(jù)存儲介質(zhì)上存儲期間發(fā)生錯誤。近年來發(fā)現(xiàn),當在充分大的數(shù)據(jù)塊上操作時,諸如“渦輪碼”(turbo code)和“低密度奇偶校驗(LDPC)碼”的迭代解碼的碼可以非常接近可靠通信的基本極限(所謂的“shannon極限”)工作。不過,由于它們的編碼和解碼復雜性較大,妨礙了這些碼,尤其是LDPC碼的更廣展開。此外,由利用偽隨機方法產(chǎn)生的大矩陣表示最有效的LDPC碼。不能通過代數(shù)方式重新生成這種矩陣,因此需要大量的存儲器來存儲它們。因此,需要利用完全確定性的矩陣產(chǎn)生方法為較小數(shù)據(jù)塊(適用于無線通信)減小LDPC編碼的復雜性并提高碼性能。
對于諸如移動裝置的低功率裝置而言,大的偽隨機矩陣常常不實用,在低功率裝置中,處理功率和存儲器要求顯著影響電池功率和成本。因此,用于這種裝置的方法曾使用卷積碼來編碼(例如在電信標準GSM和3G中),因為它們需要較小的處理功率并可以在ASIC上實現(xiàn),而不需要DSP。
WO2006/117769描述了一種產(chǎn)生碼矩陣的方法,其中,有群和環(huán)的選擇、形成群環(huán)RG、從RG中選擇元并產(chǎn)生編碼和解碼矩陣。問題在于,群環(huán)是矩陣的無窮集,必需要從其中選擇適當?shù)脑τ谌绾芜x擇對其期望用途具有特定的性質(zhì)的元,沒有給出指導。
而且,已經(jīng)采用非群環(huán)方法來產(chǎn)生LDPC奇偶校驗矩陣,例如,如US2007/0033480和WO2004/019268中所述。
本發(fā)明目的在于為產(chǎn)生LDPC奇偶校驗矩陣實現(xiàn)改進的性能和存儲器組織。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了一種由電子或光學電路的數(shù)據(jù)處理器執(zhí)行的方法,用于產(chǎn)生群環(huán)奇偶校驗矩陣H以進行錯誤校正編碼,該方法包括如下步驟 (a)選擇包含子矩陣的適當群環(huán)矩陣(group-ring matrix)結構; (b)通過選擇適當?shù)沫h(huán)和適當?shù)慕M元(group element)來為每個所述子矩陣提供起始矢量; (c)根據(jù)行填充方案利用每個矢量填充所述子矩陣; (d)利用所述子矩陣填充所述群環(huán)矩陣結構,以提供群環(huán)矩陣RG;以及 (e)轉(zhuǎn)置所述RG矩陣以生成奇偶矩陣H, 其中,所述方法包括另一步驟(f),從所述矩陣RG刪除列,刪除的列的數(shù)量由比率的期望值決定,所述比率是數(shù)據(jù)輸入與數(shù)據(jù)輸出的目標比。
優(yōu)選地,在所述步驟(a)中,所述RG矩陣在每行和每列中具有N個正方形子矩陣,N為整數(shù),優(yōu)選N為2的冪。
優(yōu)選地,在所述步驟(a)中,所述RG矩陣結構使得所述RG矩陣大小等于碼字長度。而且,步驟(b)中所有所述子矩陣上的元的數(shù)量優(yōu)選提供低密度奇偶校驗(LDPC)矩陣。
在一個實施例中,在所述步驟(b)中,在單個矢量之內(nèi)或在矢量之間,元之間的差異決不重復,并且優(yōu)選地,在所述步驟(b)中,在單個矢量之內(nèi)或在矢量之間,元之間的由矢量長度n減去差異所定義的循環(huán)間距決不重復。
在一個實施例中,在所述步驟(b)中,矢量的數(shù)量等于所述碼字長度除以子矩陣的數(shù)量,并且在所述步驟(b)中,以偽隨機方式執(zhí)行構成所述矢量的群環(huán)元的選擇。
在一個實施例中,在所述步驟(b)中,在從包含0和n-1的0到n-1的給定子矩陣的索引范圍之內(nèi)選擇矢量元,其中n被定義為碼大小除以N。
在一個實施例中,所述步驟(b)包括將所述矢量變換成二進制形式,其中每個元定義了n元行矢量中1的位置。
優(yōu)選地,所述步驟(c)包括利用線性循環(huán)操作填充子矩陣,其中利用前一行填充子矩陣的各行,其中位置向前或向后循環(huán)整數(shù),并且優(yōu)選地所述步驟(c)包括填充子矩陣,其中利用前一行填充子矩陣的各行,其中位置向前或向后循環(huán)由方程動態(tài)確定的整數(shù)值。
在一個實施例中,連同步驟(a)、(b)、(c)和(d)一起來執(zhí)行所述步驟(f),以便通過確保所述RG矩陣沒有任何零權重列或行且實現(xiàn)由低列權重值附近密集分布而偶爾有高權重值構成的目標列權重分布,來實現(xiàn)良好的距離。
優(yōu)選地,所述步驟(d)包括對所述子矩陣進行循環(huán)布置,并且借助與生成矢量所用規(guī)則相符的代數(shù)模式來確定在所述步驟(f)中選擇要刪除哪些列。
在一個實施例中,連同步驟(a)、(b)、(c)、(d)和(e)一起來執(zhí)行所述步驟(f),以便確保所述RG矩陣是可逆的,并且所述奇偶校驗矩陣沒有任何零權重列或行,且優(yōu)選地執(zhí)行步驟(f)以去除或最小化諸如6周期和8周期的與奇偶和數(shù)據(jù)位相關的環(huán)的短周期。
在一個實施例中,步驟(f)包括如下子步驟 (i)確定要取用的具有非零支持的組元差集以校驗群環(huán)碼, (ii)選擇所述校驗碼的組元,使得所述差集不包含重復元, (iii)使用其帶有非零支持的組元具有無重復(組)元的差集的群環(huán)元,以及 (iv)通過確定要刪除所述矩陣的對應于所述群環(huán)元的哪些行來選擇比率。
在另一方面中,本發(fā)明提供了一種適于在上述任何方法中產(chǎn)生用于錯誤校正編碼的奇偶校驗矩陣H的電子或光學電路。
在另一方面中,本發(fā)明提供了一種用于數(shù)據(jù)編碼或解碼的方法,所述方法包括如下步驟 (i)接收利用由任何上述方法產(chǎn)生的奇偶校驗矩陣H的行矢量計算出的起始矢量; (ii)對所述矢量進行循環(huán)移位以產(chǎn)生所述奇偶校驗矩陣H的期望輸出行; (iii)根據(jù)所述RG矩陣結構和所選行重新布置所述矢量的操作次序; (iv)對要編碼信息上的矢量進行操作;以及 (v)針對所述奇偶校驗矩陣H的下一行重復步驟(ii)到(iv)。
在一個實施例中,對于步驟(ii),每次到達被刪除列時所述電路都增加額外的循環(huán)移位,從而基于下一未刪除列生成行。在一個實施例中,對于步驟(i)和(ii),將矢量轉(zhuǎn)換至計數(shù)器,每個計數(shù)器存儲矢量元的位置。
在一個實施例中,計數(shù)器直接跟蹤每個1的位置且所述計數(shù)器的塊大小是2的整數(shù)次冪,因為二進制計數(shù)器在每次循環(huán)結束會自動對它們重置。在一個實施例中,通過對應于下一期望行的期望移位對所述計數(shù)器進行遞增或遞減。
在一個實施例中,步驟(ii)是由移位寄存器執(zhí)行的。
在另一方面中,本發(fā)明提供了一種適于編碼或解碼的電子或光學電路,所述電路適于在從奇偶校驗矩陣的行矢量接收起始矢量之后執(zhí)行上述任何方法的步驟。
本發(fā)明還提供了一種產(chǎn)生前向錯誤校正數(shù)據(jù)流的通信裝置,所述裝置包括任何上述電路。
在另一方面中,本發(fā)明提供了一種利用LDPC群環(huán)奇偶校驗矩陣對數(shù)據(jù)編碼或解碼的方法,所述方法提供減小的存儲器存儲復雜性,其中原模圖條目(protograph entry)的對角線矩陣元是前一行的循環(huán)移位,所述對角線矩陣元存儲于相鄰存儲器地址之內(nèi),允許可變節(jié)點和校驗節(jié)點過程訪問數(shù)量減少的更大存儲器。在一個實施例中,DPC編碼器或解碼器矢量串行架構電路適于執(zhí)行這種方法。
在另一方面中,并行架構電路在每個周期中對整行或整列的原模圖條目進行操作,并且優(yōu)選地所述電路適于執(zhí)行所述方法,其中所述電路在每個周期中對多個整行或整列的原模圖條目進行操作。在另一方面中,所述電路適于利用矩陣的環(huán)循環(huán)性質(zhì)定義層,或?qū)U展矩陣中的行映射到層上,然后將來自一層的校驗/可變更新應用于接下來的層,從而使用分層置信傳播(Layered Belief Propagation),以實現(xiàn)增強的解碼器收斂時間。
本發(fā)明還提供了一種計算機可讀存儲器,用于存儲程序,當在數(shù)字處理器上執(zhí)行時,該程序用于執(zhí)行上述任何方法。
從以下對本發(fā)明的一些實施例的描述將更清楚地理解本發(fā)明,該描述僅以舉例方式參考附圖給出,附圖中 圖1是示出了本發(fā)明的編碼和解碼電路運行的示意圖; 圖2(a)是示出了四群環(huán)(RG)元矢量的示意圖,圖2(b)是示出了利用矢量產(chǎn)生RG矩陣的流程圖; 圖3示出了將RG矩陣轉(zhuǎn)換成奇偶校驗矩陣; 圖4示出了利用相同起始矢量產(chǎn)生的兩個不同RG矩陣; 圖5是示出了性能比較的一組曲線圖; 圖6示出了兩個RG矩陣和對應的奇偶校驗矩陣; 圖7是示出了性能比較的一組曲線圖; 圖8示出了行填充模式; 圖9示出了針對矩陣特征的柱狀圖; 圖10是一組性能比較的曲線圖; 圖11示出了兩種不同的行填充模式; 圖12示出了RG矩陣和三個對應的奇偶校驗矩陣; 圖13示出了針對矩陣特征的柱狀圖; 圖14是示出了性能比較的一組曲線圖; 圖15示出了另一行填充模式; 圖16和17是串聯(lián)(in-line)LDPC矩陣產(chǎn)生期間的RG矩陣示意圖; 圖18是用于串聯(lián)矩陣產(chǎn)生的硬件電路的方框圖; 圖19是示出了用于該硬件的備選移位寄存器布置的方框圖; 圖20到23是在各實施例中本發(fā)明的電路的硬件圖示;以及 圖24到27是示出了本發(fā)明獲得的益處的曲線圖。
具體實施例方式 參考圖1,本發(fā)明的電路執(zhí)行逐行矩陣產(chǎn)生,用于在調(diào)制之前對數(shù)據(jù)塊進行編碼。本發(fā)明的另一電路在接收機中,執(zhí)行逐行矩陣產(chǎn)生,用于解碼。
該電路進行高性能低密度奇偶校驗(LDPC)矩陣的快速代數(shù)產(chǎn)生,這種矩陣適用于很寬范圍的錯誤校正編碼和解碼(ECC)應用中。電路運行基于數(shù)學周期環(huán)法(mathematical cyclic ring method),該方法能夠基于用戶定義的性能要求從單個初始參數(shù)集產(chǎn)生任何大小的矩陣。
不需要提前產(chǎn)生和存儲奇偶校驗矩陣。如圖1所示,僅需要提供初始參數(shù)。電路操作基于群環(huán)數(shù)學,于是適于很寬范圍的實施體系結構,包括串行、管道化(pipelined)串行、矢量串行和部分并行。在這些體系結構中,該技術對于矢量串行和部分并行實施尤其有益。
在產(chǎn)生能夠用于數(shù)據(jù)編碼和解碼的奇偶校驗矩陣的過程中有五個主要步驟 —選擇RG矩陣結構--選擇能夠提供期望性能的適當結構。
—選擇群環(huán)元—選擇適當?shù)沫h(huán)(例如伽羅華域2(二進制數(shù)))并選擇根據(jù)方案選擇的適當組元。
—子矩陣產(chǎn)生_—通過一些適當?shù)男刑畛浞桨笧镽G矩陣產(chǎn)生子矩陣。這種行填充方案優(yōu)選為線性的和循環(huán)的。
—產(chǎn)生RG矩陣—通過子矩陣的循環(huán)布置產(chǎn)生RG矩陣。
—產(chǎn)生奇偶校驗矩陣—通過從RG矩陣刪除適當選擇的列產(chǎn)生奇偶校驗矩陣,以實現(xiàn)期望的性能,然后轉(zhuǎn)置矩陣。
在使用奇偶校驗矩陣H(被轉(zhuǎn)換為相應的發(fā)生器/編碼矩陣)對數(shù)據(jù)編碼時,希望編碼數(shù)據(jù)(由消息位和奇偶校驗位構成)在傳輸或儲藏期間能夠抵抗錯誤。通常將這種錯誤的水平表達為給定信噪比下的誤碼率(BER)。編碼矩陣越好,對于給定信噪比來說BER越好,可用于實現(xiàn)相同BER的信噪比越低。對于大部分應用而言,需要最小的BER,例如,對于無線電信應用而言,為10-6。
可以用Tanner曲線圖表達作為每個線性塊碼的LDPC碼,Tanner曲線圖示出了所謂“位節(jié)點”(對應于LDPC矩陣列)和“校驗節(jié)點”(對應于LDPC矩陣行)之間的相互關系。
為了實現(xiàn)低的BER,希望在奇偶校驗位和數(shù)據(jù)(例如消息)位之間有良好的“交叉連接”,從而可以校正錯誤。這意味著應當將每個奇偶校驗節(jié)點連接到多個位節(jié)點,由于多個校驗位包含關于受錯誤影響的數(shù)據(jù)位的信息,允許校正錯誤。類似地,可以通過到多個數(shù)據(jù)位的鏈接校正校驗位的錯誤。在校驗節(jié)點和位節(jié)點僅在小周期中鏈接在一起時,發(fā)生短環(huán),例如“4周期”,從而增大了不能校正錯誤的可能性。應當使Tanner曲線圖上這種鏈接密集分布的奇偶校驗和位節(jié)點的短環(huán)最小化,已經(jīng)通過我們用于選擇群環(huán)元的機制實現(xiàn)了這種目的。事實上,在本發(fā)明中仔細選擇群環(huán)元能夠完全避開4周期環(huán)(僅將2個校驗節(jié)點和2個位節(jié)點鏈接在一起的環(huán))。此外,刪除適當?shù)牧心軌蛲ㄟ^消除包含這些環(huán)的列組合最小化或消除6和8周期環(huán)。
常常將碼校正大量錯誤的能力作為碼距離加以測量。該距離是兩個碼字不同的最小數(shù)量位置(位)的測量結果。兩個碼字不同的位置越多,任何錯誤仍將留下僅能校正成單個碼字的消息的可能性越大。如果發(fā)生太多錯誤或存在低距離,那么可能無法校正錯誤。
沒有模式和分布式列和行權重(奇偶矩陣的任何給定列或行中非零元的數(shù)量)的不規(guī)則矩陣可能具有更高的距離。可以利用針對子矩陣的更復雜填充模式產(chǎn)生這種不規(guī)則矩陣。
需要仔細地將這種過程與列刪除和群環(huán)元選擇過程耦合,以確保得到的奇偶校驗矩陣不包含任何零權重列或行并確保RG矩陣是可逆的。對于每個子矩陣還可能有不同的行填充模式。
利用本發(fā)明產(chǎn)生的奇偶校驗矩陣是完全確定性的,可以基于非常少的初始參數(shù)逐線地(line-by-line)迅速產(chǎn)生。此外,在用于所謂的“階梯結構”中時,可以將它們?nèi)菀椎赜糜谠诰€性時間中對數(shù)據(jù)進行快速和簡單編碼。矩陣的代數(shù)特征與“階梯”組合導致與靈活的編碼速率選擇相結合的快速編碼和解碼速度,保存隨機奇偶校驗矩陣所需的索引存儲器得到相當大減少。實現(xiàn)這些改善,同時保持解碼性能接近利用隨機奇偶校驗矩陣實現(xiàn)的性能。可以證明這種矩陣對于便攜式電池操作的無線裝置或其他裝置尤其有用,在所述其他裝置中,希望以低復雜性錯誤校正精細地選擇接近Shannon極限的編碼速率和操作。
范例 參考圖1和2,選擇大小為4的RG矩陣結構,碼大小為204。然后選擇由四個矢量V1,V2、V3和V4表示的群環(huán)元。
RG矩陣大小N=4 碼(碼字)大小nc=204;子矩陣大小n=nc/N=204/4=51; V1=[3] V2=[16,21] V3=[33] V4=
。
然后通過如下一組動作轉(zhuǎn)換V1到VN矢量 a)在每個矢量中用n替換0(如果V(i)=0→V(i)=n) b)從n減去每個矢量(V=n-V;) 計算如下 n=51; V1=51-V1=51-[3]=[48]; V2=51-[16,21]=[35,30]; V3=51-V3=51-[33]=[18]; V4=51-V4=51-[51,18,40]=
; //在V4中,(在減法之前)已經(jīng)用51替換了0 如果從1開始做索引(例如,如在MATLAB中那樣),應當向每個元增加值1。
在這種情況下V1=[49],V2=[36,31],V3=[19],V4=[1,34,12] 以上動作是為了使產(chǎn)生過程與群環(huán)理論中使用的標記法一致。
接下來,具體參考圖1,通過以下動作將矢量轉(zhuǎn)換成二進制形式,其中V1到VN中的每個元分別定義V1_binary、V2_binary...中n元行矢量中“1”的位置 a)將所有矢量初始化為包含n個零的行(V_binary=zeros(1,n);) b)在V1到VN中的元定義的位置輸入1(V_binary(V(i))=1;) 具體參考圖2,使用四個矢量V1-V4(給予總附圖標記1)通過相關矢量的循環(huán)移位產(chǎn)生N個正方形循環(huán)子矩陣2A、B、C和D。
系統(tǒng)然后通過循環(huán)布置以上子矩陣來產(chǎn)生RG矩陣3,例如 具體參考圖3,通過以下動作,系統(tǒng)然后基于具有列刪除4和轉(zhuǎn)置5的RG矩陣3產(chǎn)生奇偶校驗矩陣H6 a)檢查矩陣RG是否可逆 —如果不可逆,選擇起始矢量的另一組合 b)從RG刪除(選擇)適當列,以實現(xiàn)期望的碼率 c)轉(zhuǎn)置矩陣 奇偶校驗矩陣的大小為(nc-k)×nc,其中nc-碼字大小,k-消息大小(速率=k/nc)。
對于速率=1/2,k=nc/2,那么必需要從RG刪除一半的列 在這里,我們(從第一列開始)每隔一個刪除一列,接下來對矩陣進行轉(zhuǎn)置。
總之,該系統(tǒng) 1)從選擇RG矩陣結構和群環(huán)元開始 2)生成對應的二進制矢量 3)利用這些矢量產(chǎn)生正方形子矩陣 4)通過適當布置子矩陣產(chǎn)生矩陣RG 5)從RG刪除列 6)對矩陣進行轉(zhuǎn)置 在上述范例之后,以下內(nèi)容更一般地描述本發(fā)明。
RG矩陣最簡單的結構是按下列方式由2個不同正方形矩陣A和B構成的2×2結構 RG矩陣的大小(行或列長度)等于碼字長度nc。因此,對于2×2矩陣結構而言,子矩陣A和B將具有nc/2的大小。
對于偽隨機起始矢量產(chǎn)生過程而言,使用4×4結構或更大結構常常是有益的,這是為了在整個RG矩陣上更均勻地散布比特。原則上,對于二進制碼而言,RG矩陣的行(列)中的子矩陣數(shù)量是2的整數(shù)次冪。因此,以下結構是可能的2×2、4×4、8×8、16×16等。在每種情況下,都將以循環(huán)方式布置子矩陣。通常,可以將該方法用于更高伽羅華域上的碼。RG矩陣中不同數(shù)量的子矩陣和子矩陣的不同布置也是可能的。從解碼器中硬件并行性的角度講,比將L×L矩陣降低到2×2矩陣更重要的是可以將2×2矩陣擴展到L×L矩陣,其中L>>2。
以下范例示出了4×4和8×8RG矩陣的結構 4×4-4個正方形子矩陣,每個子矩陣大小為nc/4; 8×8-8個正方形子矩陣,每個子矩陣大小為nc/8; 原則上,通??梢詫⑷魏蜶G矩陣結構簡化成2×2結構而不損失任何性能。例如,由以下大小為96的4×4結構矢量表示的碼 V1=(9,15,19) V2=(3,20) V3=(22) V4=(12)(RG4x4) 可以簡化成由2個矢量表示的2×2結構 V1=(3,20,33,39,43) V2=(12,46)(RG2x2) RG4×4和RG2×2的第一行是相同的——兩矩陣之間的差異在于填充如下行的方法,如圖4所示。圖5示出了基于RG4×4和RG2×2矩陣生成的大?。?6,速率=1/2的碼的性能比較(高斯信道,BPSK調(diào)制)。
對于二進制碼(伽羅華域2)而言,起始矢量定義了RG矩陣中包括的每個子矩陣的第一行中具有值“1”的位的位置。然后,通過初始行的循環(huán)移位(依次向右或向左移動一位)或交替操作來生成每個子矩陣的后續(xù)行。類似的原理還適用于更高伽羅華域之內(nèi)的碼。
通過具有如下約束的偽隨機方式進行構成矢量的群環(huán)元的選擇 —在從0到n-1(包含0和n-1)的給定子矩陣的索引范圍之內(nèi)選擇元,其中n被定義為碼大小除以N —每個方塊(子矩陣)中元之間的差異(間距)和循環(huán)差異(n減去間距)決不重復 —在另一個塊中決不重復一個塊中元之間的差異和循環(huán)差異 —決不重復一個矢量和后一矢量中元之間的差異和循環(huán)差異 —應當保持元的總數(shù)較小,以便使奇偶校驗矩陣稀疏(低密度) 避免重復元之間的差異與避免對應碼中的4周期直接相關。以下范例示出了這如何能夠影響到碼性能。
考慮由如下矢量表達的與先前所述相同的碼 V1=(9,15,19) V2=(3,20) V3=(22) V4=(12) (碼1) 碼1是根據(jù)上文列出的約束設計的。
相反,非常類似的碼(通過改變V1中的1元和V2中的1元構造) V1=(9,15,21) V2(14,20) V3=(22) V4=(12) (碼2) 包含元之間的差異重復,即 15-9=6(V1中)和21-15=6(V1中)和20-14=6(V2中) 這些重復導致顯著的性能劣化。
圖6示出了代表那些碼連同對應的奇偶校驗矩陣H的RG矩陣的結構(H—通過從RG每隔一列刪除一列生成—對于碼率=1/2,并隨后進行矩陣轉(zhuǎn)置),圖7—它們在具有BPSK調(diào)制的高斯信道上的性能。
通過從RG刪除(選擇)若干列并隨后進行矩陣轉(zhuǎn)置從RG矩陣生成奇偶校驗矩陣H。碼率由從RG刪除(選擇)的列數(shù)決定的奇偶校驗矩陣形狀定義。通常,H矩陣的大小為(nc-k)×nc,其中nc為碼字長度(對應于RG的大小),k為消息(數(shù)據(jù)塊)長度。因此,為了獲得H而要從RG刪除的列數(shù)等于消息位的數(shù)量。碼率定義為k/nc。于是,對于1/2的碼率,必需要從RG刪除一半的列;類似地,對于1/3的碼大小,必需要刪除三分之一的列,等等。在所有情況下,在完成刪除之后都必需要對這種矩陣進行轉(zhuǎn)置。
通常用模式定義為了生成奇偶校驗矩陣應選擇從RG刪除哪些列。例如,對于碼率為1/2的碼而言,必需要刪除一半的列。在這里,最簡單而最明顯的模式是每隔一列刪除一列。這樣生成的矩陣H具有均勻的行權重分布和2個列權重的交替值。通過選擇不同的模式,能夠在列權重分布中引入更多變化并改善碼性能。通常通過如下刪除模式將增強性能該模式產(chǎn)生不包含零或一的權重以及若干權重2(如果發(fā)生任何權重2的話)的列權重分布。權重分布還需要考慮到編碼中應用的任何其他結構,例如階梯模式。分布模式還需要包含一些高度權重值以使碼距離最大化。好的分布模式包含較低值附近的密集分布,高權重數(shù)較少。最大列權重還將影響硬件實現(xiàn),獲得性能和實現(xiàn)之間的平衡。
在這里,像在起始矢量選擇的情況中那樣,刪除模式還可以與避免LDPC碼中的短周期相關。假設已經(jīng)在矢量選擇過程中刪除了所有4周期,還可以通過適當選擇列刪除模式去除6周期、8周期等來優(yōu)化碼。備選方案是在邏輯上分析RG矩陣,計算短周期的位置,刪除那些列,并重復操作直到實現(xiàn)期望比率為止,并將刪除的列轉(zhuǎn)換成模式。必需要認真確保刪除列不會引起破壞一開始選擇矢量所依據(jù)的規(guī)則。通常,起始矢量選擇和列刪除模式的選擇都應當并行得到優(yōu)化。對一個碼性能有正面影響的模式可能會在另一個碼中導致性能劣化。必需要避免會導致列權重等于0的模式,因為它們不形成有效碼。
圖8示出了基于上述碼1生成的兩個奇偶校驗矩陣的結構。碼1a與圖6中所示的碼1相同,是以標準方式生成的——從第一列開始,從RG中每隔一列刪除一列(被刪除列的次序1,3,5,7,9,11,13,15,17……95)。相反,碼1b是利用不同的列刪除模式生成的在RG中留下前三個相鄰列而刪除后三個相鄰列(例如4,5,6,10,11,12,16,17,18……96)。在兩種情況下,在刪除之后都可以進行矩陣轉(zhuǎn)置。圖9比較了針對這些矩陣計算的列和行權重分布。顯然,碼1b具有更多樣的列權重分布,在高斯信道上表現(xiàn)出更好的性能(圖10)。對于碼1a和碼1b而言行權重都是恒定的,這是奇偶校驗矩陣產(chǎn)生方法的直接結果。使行權重分布多樣化的一種方法是如下所述改變RG中的行填充模式。
改變RG中的行填充模式還可以通過使矩陣更加不規(guī)則來改善碼性能。標準的循環(huán)行填充總是會生成具有規(guī)則行權重的矩陣,而列權重可能隨著列刪除模式而變化。為了也向行權重分布引入不規(guī)則性,行填充模式必需與標準的循環(huán)模式不同。
例如,利用大于一的增量的循環(huán)模式是可能的,并能夠產(chǎn)生良好的行分布模式??梢匀鐖D11所示,在子矩陣A中從第1行開始,在子矩陣B中從第2行開始,在C中從第3行開始,在D中從第4行開始,每隔三行輸入“0”而非“1”來實現(xiàn)4×4RG矩陣中其他這樣的非標準行填充。
很多不同的行填充模式是可能的。通常,應當避免導致列權重或行權重等于0的模式(除非在后續(xù)列刪除階段中刪除了該行)以及其他生成不可逆RG矩陣的模式。應當與起始矢量選擇和列刪除模式并行優(yōu)化行填充模式。例如,在使用模式1時,先前描述的碼1不形成有效碼,因為其獲得不可逆RG矩陣。于是,為了生成有效碼,必需要選擇一組不同的矢量,例如 碼3;使用模式1 V1=(19) V2=(10,15) V3=(3,5,12,13) V4=(4,8) 在圖12中,連同表示三個比率=1/2的碼的對應奇偶校驗矩陣一起示出了基于碼3和模式1形成的RG矩陣。通過從RG每隔一列刪除一列(如先前在碼1a中那樣)形成碼3a,利用相當于先前為碼1b使用的列刪除模式的模式生成碼3b(前三個相鄰列保留在RG中,刪除后三個相鄰列,等等),同時通過刪除以下列生成碼3c1,3,4,8,等……(每8列重復一次)。圖13示出了為碼3a、碼3b和碼3c計算的列和行權重分布。顯然,即使對于標準列刪除模式(碼3a)而言,模式1也會產(chǎn)生不規(guī)則的列和行權重分布。如預期那樣,將非標準行填充模式與非標準列刪除模式組合在權重分布上引入更多變化(碼3b和碼3c)。不過在這里,盡管碼3c的性能比碼3a的性能更好,但碼3b(列刪除模式與先前用于碼1b的相同)性能比碼3a差。這與先前針對碼1a和碼1b所述的情形相反,進一步證明,為了使誤碼率最小化,應當同時優(yōu)化所有參數(shù)(起始矢量、列刪除模式和行填充模式)。在這種情況下,如圖14所示,已經(jīng)為了獲得最佳性能優(yōu)化了碼3c。
在實踐中,有很多種不同的行填充模式可用于填充RG矩陣,圖15中示出了一些備選范例。在每個子矩陣中模式可以相同或不同——主要約束條件為RG矩陣必需要在GF(2)中是可逆的,且奇偶校驗矩陣H應沒有權重為0的列或行。盡管在行填充模式方面有靈活性,但在確保奇偶校驗矩陣過去的列刪除不違反關于選擇適當起始矢量的規(guī)則和關于列權重分布的規(guī)則方面這仍然是不確定的。
數(shù)學基礎 下文描述本發(fā)明優(yōu)點的數(shù)學基礎。
避免短周期 這一部分給出如何在校驗矩陣曲線圖中避免短周期的方法。給出數(shù)學證明。
具體而言,根據(jù)其表達式中出現(xiàn)的組元為群環(huán)元u給出了充要條件,使其對應矩陣U在其曲線圖中沒有短周期。這些條件還決定著從u構造的群環(huán)矩陣U中何時何處會發(fā)生短周期,并能夠在從U構造碼時避免這些短周期。
應當指出,從單元導出的構造碼的方法在選擇群環(huán)RG中哪個模塊W方面具有完全的自由。這一部分確定通常哪里會發(fā)生短周期,從而可以選擇模塊W以避免這些短周期。模塊W的選擇決定了發(fā)生器和校驗矩陣。
通常 令RG表示環(huán)R上組G的群環(huán)。假設u∈RG要產(chǎn)生或校驗碼。令G由G={g1,g2,…gn}來列出。
令RG中, 對于具有非零系數(shù)的u中發(fā)生每一(不同)成對gi,gj,形成(組)差異gigj-1,gjgi-1。那么u的差集DS(u)由所有這種差異構成。于是 注意,u的差集由組元構成。
定理1.1當且僅當DS(u)沒有重復的(組)元時,矩陣U在其曲線圖中才沒有短周期。
證明U的行依次對應于ugi,i=1,……n, 那么U具有4周期
對于一些i≠j,一些k≠1,ugi和ugj中的系數(shù)gm,gl為非零。
ugi=...+αgk+βgl+... 且 ugj=...+αlgk+βlgl+...
且
DS(u)既包含gkgi-1gigl-1=gkgl-1又包含gkgj-1gl-1=gkgl-1。當且僅當DS(u)具有重復元時才發(fā)生這種情況。
重復的元 現(xiàn)在假設u使得CD(u)具有重復元。
因此,u=...+αmgm+αrgr+αpgp+αqgq+...,其中顯示的αi非零,因此
顯示出了導致短周期的元,注意,元gm、gr、gp、gq未必是G的清單那種次序。
由于我們對元的曲線圖感興趣,由此對非零系數(shù)感興趣,因此用系數(shù)1取代非零系數(shù)。于是寫出u=...+gm+gr+gp+gq+...,從而
包括以下情形一個p、q可以是m、r之一,在這種情況下,在u的表達式中不應列出它。
那么 且 (注意且)。
于是,為了避免短周期,如果使用第一行,不使用由U中的gm-1gp或gp-1gm行確定的行,或者一般地,如果出現(xiàn)gi行,則不能出現(xiàn)gigm-1gp和gigp-1gm行。
類似地,在CD(u)具有重復元時,通過在U中避免特定列,能夠生成沒有短周期的矩陣。
特殊情形 令S={i1,i2,…,ir}為一組非負不相等的整數(shù),n為整數(shù),對于所有j=1,2,…,r,n>ij. 那么S mod n的循環(huán)差集被定義為DS(n)={ij-ik mod n|i≤j,k≤r,j≠k}。這是可能有重復元的集合。
例如,如果S={1,3,7}且n=12,那么DS(12)={2,6,4,10,6,8}。
如果|S|=r那么|DS(n)|=r(r-1)。
考慮群環(huán)RCn,其中Cn是由g產(chǎn)生的。假設
其中aij≠0。設置S={i1,i2,…,ir}并通過說CD(u)=DS(n)定義循環(huán)差集mod u的n。
注意,這一差集是在上文“通?!辈糠种卸x的差集中的群環(huán)元的冪集(在將冪寫為非負形式時)。
令U為u的RG矩陣;U取決于Cn的元的列表,我們選擇自然列表。
定理1.2當且僅當CD(u)沒有重復元時,U才在其曲線圖中沒有4周期。
證明該定理的證明是從定理1.1得出的。
令G=Cn×Cm為分別由g,h產(chǎn)生的循環(huán)組Cn,Cm的直接積。
我們列出G的元1,g,g2,...,gn-1,h,hg,hg2,...,hgn-1,...,hm-1,hm-1g,…,hm-1gn-1。
利用該列表寫出RG的元,于是假設u=α0+h(α1)+…+hm-1αm-1在RG中,其中每個αi∈Cn。
將S設置成由α0、α1,…,αm-1中出現(xiàn)的所有冪構成的集合,定義CD(u)=DS(n)。
然后可以用定理1.1來證明如下定理 定理1.3當且僅當CD(u)沒有重復元時,U才沒有4周期。
(特殊情形中的)重復的元 我們可能有CD(u)具有重復元的系統(tǒng)。
假設u=…+gm+gr+gp+gq+…,因此m-r=p-1 mod n。失去一般性,假設p>m。
包括以下情形一個p、q可以是m、n之一,在這種情況下,在u的表達式中不應列出它。
那么,在p>m的情況下,ugp-m=…+gp+gr+p-m+…=…+gp+gq+…,且對于n>n+m-p>0,un+m-p=…+gm+gq+m-p=gm+gr。
(注意,m-p=r-q mod n,因此ugp-m=ugq-r=ugn+q-r且ugn+m-p=ugn+r-q=ugr-q) 于是,為了避免短周期,如果使用第一行,則不使用U中的p-m行或n+m-p行,或一般地,如果出現(xiàn)i行,那么必需不出現(xiàn)i+p-m或i+n+p-m行。
改善距離 然后考慮兩個元u,v∈Z2Cn使得uv=0且秩u+秩v=n。令U,V分別為對應于u,v的對應n×n矩陣。
于是,當且僅當yv=0時,C={αu|α∈Z2Cn,}且y∈C。
現(xiàn)在假設y=∑aigi為C中的一般元。我們感興趣的是短y會怎么樣。更精確地,supp(y)是非零ai∈y的數(shù)量。于是C的距離=miny∈Csupp(y)。
將v帶入形式
我們正在處理Z2,因此每個系數(shù)為0或1。
那么當且僅當yv=0時y∈C。于是,通過考察yv中的gk,k=0,1,…,n-1,我們看出,當且僅當如下方程成立時,y∈C ...... ...... ...... 其中充分條件被解釋為mod n。我們對這個方程的非零解感興趣。如預期那樣獲得的矩陣為循環(huán)矩陣。我們將其簡單地寫成 i1 +i2 +...+ir =0 i1+1 +(i2+1) +...+(ir+1) =0 .. . . . . .. . . . . .. . . . . (i1+n-1) +(i2+n-1) +...+(ir+n-1) =0 注意,在該陣列/矩陣中每個非零元出現(xiàn)同樣的次數(shù)。
如果第一列中有s個非零值,那么在所有列中有s個非零值。
考慮最短距離,我們可以假設在最短非零字中系數(shù)α0是非零的。
現(xiàn)在假設我們有從單元導出的碼C=Wu,其中在群環(huán)RG中uv=1。令G=g1,g2,...,gn,假設由
產(chǎn)生W作為模塊。那么,當且僅當yv中每個
的系數(shù)全為零時,y∈C。
然后將y寫成一般形式啊啊a1g1+a2g2+…+αngn并考慮yv。根據(jù)yv中不在S中的G中每個元的系數(shù)全為零的事實,得到變量為αi的r個齊次方程的方程組。
于是,對應于G-S中的每個元,得到方程。
通過考慮yv中每個gik∈S的系數(shù)導出每個齊次方程。
碼距離是該方程組的最短非零解。
然后假設最短距離為s,并在{ali1,ai2,...,ais}非零且所有其他aj都為零時出現(xiàn)。
這些非零系數(shù)出現(xiàn)在方程組中。
觀察出現(xiàn)這些非零解的方程,通過仔細選擇從S刪除一些gk。我們獲得具有一個額外方程的新方程組。該新方程組包括舊方程組,因此該方程組的任何解都是新方程組的解,是舊方程組的解,因此新方程組的距離至少與舊方程組的距離一樣大。
然后可以重新考慮舊方程,以查看哪里出現(xiàn){ali1,ai2,...,ais}??梢韵@些中任一個都不出現(xiàn)的任何方程,這導致向S增加額外的元。
串聯(lián)(逐行)LDPC矩陣產(chǎn)生 產(chǎn)生LDPC矩陣的代數(shù)方法的一個關鍵優(yōu)點是其能夠產(chǎn)生需求的LDPC矩陣,甚至需求的特定行或列。在常規(guī)編碼操作中,將編碼矩陣乘以大小正確的要編碼信息塊,并發(fā)送或存儲所得的數(shù)據(jù)。可以逐線地實施這種矩陣操作,于是大大減少了所需存儲器或數(shù)據(jù)寄存器的量。如下所述,可以將本發(fā)明應用于這種逐線地實施。
在編碼過程中,首先通過適當?shù)木仃囎儞Q,例如高斯消元法,從對應的LDPC/奇偶校驗矩陣(大小為(nc-k)×n)獲得發(fā)生器/編碼矩陣(大小為nc×k,其中nc為碼字大小,k為數(shù)據(jù)塊大小)。然后將發(fā)生器矩陣乘以每個要編碼的數(shù)據(jù)塊,獲得包含數(shù)據(jù)位和奇偶校驗位的碼字。在矩陣乘法過程中,以正比于(nc-k)2的處理成本依次將發(fā)生器矩陣的每行乘以數(shù)據(jù)塊??梢岳盟^的“階梯結構”減少這一計算成本(如D.J.C MacKay“Information theory,inference and learning algorithms”中所述,Cambridge University Press,2003)。在這種情況下,不需要矩陣變換,因為可以將LDPC矩陣直接用于以(nc-k)量級的成本對數(shù)據(jù)進行編碼。在標準編碼技術和利用“階梯”方式的方法中,逐線產(chǎn)生奇偶校驗(或發(fā)生器)矩陣都是有利的,因為這樣不需要一直在存儲器中存儲整個矩陣?!半A梯”方法給我們帶來的另一優(yōu)點是編碼快速(在線性時間中)且執(zhí)行過程所需的處理能力少。于是,下文描述了適于快速、有存儲器效率和功率效率的錯誤校正編碼的LDPC矩陣逐線產(chǎn)生過程的硬件實施。
奇偶校驗矩陣H的行等價于從RG矩陣選擇的列。因此需要使用為了產(chǎn)生適當LDPC矩陣而選擇的參數(shù)來產(chǎn)生RG矩陣的期望列,并因此產(chǎn)生奇偶校驗矩陣的期望行。
參考圖16和17,考慮簡單的范例,其中利用以下參數(shù)產(chǎn)生大小為48×48的RG矩陣 4×4子矩陣形式 循環(huán)填充行 不刪除列(為簡單起見) 矢量V1=[4,9];V2=[5];V3=[1,7];V4[11]; 可以容易找到定義1在RG的列(等價于H中的行)中位置的四個新矢量VA,VB,VC、VD。
總的公式為如果V(i)≈1那么Vx(i)=code_size/4-V(i)+2 否則Vx(i)=1 因此,VA=[48/4-4+2,48/4-9+2]=[10,5]=[5,10]; VB=[48/4-5+2]=[9]; VC=[1,48/4-7+2]=[1,7]; VD=[48/4-11+2]=[3]; 現(xiàn)在,可以從以下新定義的矢量開始串行(inline)矩陣產(chǎn)生過程 VA=[5,10];VB=[9];VC=[1,7];VD=[3]; 它們定義了1在奇偶校驗矩陣H的行中的位置。
首先,將矢量變換成它們的二進制形式,其中 VA_binary=
VB_binary=
VC_binary=[100000100000] VD_binary=
因此如下給出LDPC奇偶校驗矩陣第一行(等價于RG矩陣中的第一列) [VA_binary,VD_binary,VC_binary,VB_binary]
通過每個塊之內(nèi)定義的矢量行移位形成奇偶校驗矩陣的下一行。在該范例中,利用循環(huán)移位,其看起來如下
然后,
等等。
繼續(xù)進行循環(huán)移位,直到到達子矩陣塊的結尾。然后,需要根據(jù)所選的結構改變矢量的布置。在這種情況下,它將變?yōu)? [VB_binary,VA_binary,VD_binary,VC_binary] 根據(jù)這一原理產(chǎn)生每一后繼行,直到已用完整個矩陣為止,然后重復所有步驟。
在所有情況下,在轉(zhuǎn)置之前都從RG矩陣刪除一些列,以產(chǎn)生期望碼率和性能??梢詾榇袑嵤门c用于選擇要刪除哪列的相同方程或方法。實現(xiàn)這一目的的有效方法是在每次到達被刪除列時增加額外的循環(huán)移位(或無論使用哪種行填充方法),于是基于下一未刪除列產(chǎn)生行。
硬件 通過產(chǎn)生奇偶校驗矩陣H,可以選擇最佳起始矢量供硬件電路使用,以進行編碼和/或解碼而無需存儲或產(chǎn)生矩陣。矩陣無需由電路產(chǎn)生,可以基于先前產(chǎn)生和測試的矩陣在制造或初始化時編寫進來。
圖18示出了利用4個移位寄存器存儲1的位置的電路。電路部件為 11,對二進制矢量進行連續(xù)循環(huán)移位的移位寄存器,受計數(shù)器控制。
12,向計數(shù)器輸入關于碼大小和速率的信息。
13,計數(shù)器控制塊的布置(基于碼大小和當前行號)。
14,輸出是奇偶校驗矩陣H的當前行。
這種實施與可用的任何LDPC產(chǎn)生參數(shù)兼容。
在另一個實施例中,更緊湊的電路具有直接跟蹤每個1的位置的單個位計數(shù)器。由于LDPC矩陣具有稀疏特征,這比使用移位寄存器需要顯著少的存儲器和更少的處理能力。在塊的大小是2的整數(shù)次冪時這尤其方便,因為二進制計數(shù)器在每次循環(huán)結束會自動對它們重置。
備選方法將是使用等于子矩陣塊長度的單個移位寄存器(或跟蹤單個塊中1的計數(shù)器)并針對每個塊對系統(tǒng)進行循環(huán)操作。這種方法會包含對列號或行號保持跟蹤的額外寄存器(計數(shù)器),并會如圖19所示逐塊地產(chǎn)生期望的行。
LDPC的硬件實現(xiàn) 存儲器組織 在常規(guī)LDPC編碼和解碼中,一個問題是用于校驗節(jié)點和可變節(jié)點處理所需的存儲器尋址很復雜。
還知道,在單個時鐘周期之內(nèi)同時執(zhí)行多個行和列操作。
圖20和21示出了這種并行硬件體系結構的現(xiàn)有技術。圖20的布置同時在整行或列上工作。圖21的布置同時在原模圖的多行和多列上工作。與串行實施相比,這帶來吞吐量的大幅度增長或延遲的減少。然而,這樣做的代價是存儲器尋址要復雜得多。在本發(fā)明中,這種復雜性得到顯著減少。
本發(fā)明的奇偶校驗矩陣比以前的方法具有更多結構。其具有額外的性質(zhì),即原模圖的行m是行m-1的循環(huán)移位。這對導出低復雜性解碼器體系機構具有重要啟示。在非環(huán)體系結構中,主要問題之一是確保在獨立存儲器指導VNU和CNU處理器執(zhí)行的并行讀取和寫入。這是環(huán)原模圖的自然性質(zhì)。實際上,這意味著圖21所示的體系結構中的存儲器組織從M/R×N/R個獨立存儲器的陣列減少到N/R的陣列。這具有兩個效果(a)顯著減輕了ASIC的路由擁塞,(b)更少的更大存儲器比很多小存儲器更是面積有效。
考慮以下3×3范例。
如前面所述并如圖21所示,傳統(tǒng)的同時在多個行和列上工作的并行架構具有多達N×M個存儲器。這沒有利用如下事實所有Axx都是在同一地址被訪問的,且通過每個VNU和每個CNU對集合{A’,B’,C’}尋址??梢酝ㄟ^將所有A、B和C一起存儲在寬存儲器中并利用如下文針對本發(fā)明的并行結構所示的線路分布到原始存儲器陣列位置來減少存儲器碎片。
圖22示出了用于群環(huán)并行架構的存儲器組織,其中,1個校驗節(jié)點處理器/可變節(jié)點處理器在一個周期之內(nèi)在來自原模圖的整個行或列上工作。
圖23示出了用于群環(huán)并行架構的存儲器組織,其中M/R個校驗節(jié)點處理器和N/R個可變節(jié)點處理器在一個周期之內(nèi)同時在來自原模圖的多個整個行或列上工作。
例如,圖23中所示的架構會使用3個物理存儲器,讀取和寫入9個字的矢量。例如,在同一地址存儲A00、A11和A22,并形成3個字寬的數(shù)據(jù)總線。這允許由3個物理存儲器供應每周期9個消息。這將這種架構存儲器組織的存儲器復雜性降低到類似于簡單得多的矢量串行架構的水平。
將環(huán)狀結構應用到矢量串行架構實現(xiàn)并行性增大整數(shù)R倍,R為擴展大小。實際上,存儲器寬度增大到k×R個消息,允許同時處理k個對角原模圖條目。在極限情況下,隨著k->N,然后在單次循環(huán)中處理整個對角線。
盡管802.11n原模圖不是環(huán)形循環(huán)行列式,如果我們假設它是的,那么可以找到用于兩個環(huán)增強的存儲器體系結構。對于圖23的體系結構,注意,可以將其劃分成由2個對角線構成的階梯,剩余的12×12原模圖具有12個對角線。這些一起提供了多達8個列條目。在下表中,在前兩列中示出了現(xiàn)有技術的性能,在第三和第四列中示出了本發(fā)明的性能。
分層置信傳播 考慮分層置信傳播(LBP)的應用,這種應用的本質(zhì)是奇偶矩陣由多層構成,且在下一個中使用對一個層的校驗/可變更新。因此,外在信息改善了每層而不是通過迭代。對于具有很多層的矩陣,收斂時間得到顯著改善。群環(huán)矩陣具有自然分層,其中每個組行為一層。群環(huán)矢量串行架構未充分利用LBP,因為它依賴于每個時鐘周期對若干層的部分處理。圖22中的群環(huán)體系結構通過一次處理多層之內(nèi)的一個擴展矩陣行而充分利用了LBP。圖23中的群環(huán)體系結構能夠映射到LBP上,但僅僅是通過將層重定義為擴展矩陣中的行。
本發(fā)明的存儲器組織和尋址優(yōu)點是容易在硬件中執(zhí)行,并在減少ASIC路由擁塞方面具有很大優(yōu)點。在需要大的塊大小或非常高吞吐量的系統(tǒng)中這是尤其相關的。該技術還適于作為自適應編碼技術,允許可變的碼率和塊大小。
簡化的存儲器尋址提供了編碼器/解碼器所需硅面積的顯著減小(因為路由擁塞減輕了)。對硅面積影響的大小主要取決于塊大小,對于802.11n可以從20-50%變化,對于大塊大小系統(tǒng),為80-95%。盡管這在本質(zhì)上不會顯著提高體系架構的延遲或吞吐量(throughput),但其對于非常高吞吐量的系統(tǒng)可能有很大好處。
體系結構的延遲和吞吐量主要由解碼中所需的迭代次數(shù)決定,如下所述,本發(fā)明相對于當前的802.11n和802.16e標準實現(xiàn)了10-20%的增強。這直接轉(zhuǎn)換成20%的更高吞吐量和20%的更低延遲,或者期望性能所需的硅面積進一步減小。
模擬基準檢查 下面的圖24和25示出了利用本發(fā)明迅速產(chǎn)生并通過基于MATLAB的模擬測試的兩個LDPC碼的誤碼率性能。編碼器是來自MATLAB電信工具箱的標準LDPC編碼器,解碼器是來自MATLAB電信工具箱的標準迭代LDPC解碼器(消息傳遞算法)。最后189個(802.11n)和336個(802.16e)列包含與IEEE矩陣中相同的“階梯”結構。利用代數(shù)算法產(chǎn)生其余部分,該算法采用15個(802.11n)和17個(802.16e)初始參數(shù)作為輸入,并能夠逐線重新生成矩陣,而無需在存儲器中存儲整個結構。圖26和27利用本發(fā)明和最新標準產(chǎn)生的碼針對802.11n情況和802.16e情況示出了迭代與噪聲水平的關系。
小塊LDPC增強的性能 盡管大塊LDPC ECC的性能可以接近Shannon極限,但小塊大小的LDPC沒有同樣的性能。不過,對于小塊大小而言,本發(fā)明相對于當前的LDPC實施提供了顯著的BER性能增強(在基準檢查中達到1dB) 可以將所實現(xiàn)的增強的性能用于實現(xiàn)以下任何益處 —將發(fā)射機功率減小1dB,并實現(xiàn)相同的鏈路性能和范圍,但電池壽命更長,大約有25%的改進。
—保持迭代相同并實現(xiàn)更長的范圍和更魯棒的短范圍。
—減少迭代以實現(xiàn)與現(xiàn)有方案相同的BER曲線。這種新體系結構能夠有更高的總吞吐量。
—減少迭代并取消一些并行性(門電路更少),使得時鐘周期中的總解碼時間與現(xiàn)有方案相同。這種新的體系結構具有更低的硅面積和成本。
要認識到,本發(fā)明為部署LDPC ECC的應用提供了顯著的設計優(yōu)點,包括 —與已知的802.11n和802.16e標準相比有極好的LDPC BER性能。
—能夠迅速設計和產(chǎn)生高性能LDPC矩陣,以實現(xiàn)預定義的性質(zhì)碼大小、碼率和目標誤碼率(BER)性能。
—使得能夠在串行、矢量串行或部分并行架構中硬件實現(xiàn),允許針對大范圍應用調(diào)節(jié)該技術,同時與現(xiàn)有循環(huán)LDPC方法相比實現(xiàn)了存儲器尋址需求和路由復雜性的減少。
—實現(xiàn)動態(tài)和自適應編碼,或者僅僅是碼率或碼字長度,或者可能是完全自適應的。
—LDPC矩陣結構能夠通過分層置信傳播進行解碼。
由于迭代需求更低,因此編碼延遲低,吞吐量高。
該LDPC矩陣產(chǎn)生技術的設計優(yōu)點提供了以下重要的商業(yè)優(yōu)點 —能夠迅速開發(fā)適當?shù)母咝阅苡布﨤DPC方案,減少上市的時間。
—相對于已知的LDPC方案存儲器存儲、路由復雜性、處理和功率預算更有效率。
—根據(jù)具體應用的要求精細調(diào)諧ECC方案,可能成為完全自適應的編碼系統(tǒng)。
—以一小部分成本在迄今仍在LDPC范圍之外的應用中實現(xiàn)LDPC的性能。
可以將本發(fā)明并入可能嵌入編碼和解碼電路中的通信(接收機和發(fā)射機)和存儲裝置和設備中。將本發(fā)明并入這種裝置和系統(tǒng)的可能方法包括諸如專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FGPA)、數(shù)字信號處理器(DSP)的處理器方法以及基于存儲器或軟件的實施等。
多種應用可能受益于本發(fā)明,例如(但不限于) (a)無線網(wǎng)絡,包括諸如藍牙的個域網(wǎng)、諸如Wi-Fi的局域網(wǎng)、諸如Wi-Max的城域網(wǎng);路邊網(wǎng)絡(roadside network);數(shù)字無線電網(wǎng)絡、衛(wèi)星網(wǎng)絡。
(b)高速有線網(wǎng)絡,例如吉比特以太網(wǎng)。
(c)磁存儲和光存儲。
本發(fā)明不限于所述實施例或應用,而是可以在構造和細節(jié)方面有變化。例如,在另一個實施例中,如果一些前述操作的數(shù)學方法使轉(zhuǎn)置成為多余的,則不執(zhí)行轉(zhuǎn)置??梢詰帽景l(fā)明以產(chǎn)生更大矩陣的塊,例如在編碼中使用階梯結構的情況。用于實施本發(fā)明的電路可以是專用硬件或被編程來實現(xiàn)利用存儲器方法的通用處理器。還可以將本發(fā)明應用于全息攝影存儲器。
權利要求
1.一種由電子或光學電路的數(shù)據(jù)處理器執(zhí)行的方法,用于產(chǎn)生群環(huán)奇偶校驗矩陣H以進行錯誤校正編碼,所述方法包括如下步驟
(a)選擇包含子矩陣的適當群環(huán)矩陣結構;
(b)通過選擇適當?shù)沫h(huán)和適當?shù)慕M元來為每個所述子矩陣提供起始矢量;
(c)根據(jù)行填充方案利用每個矢量填充所述子矩陣;
(d)利用所述子矩陣填充所述群環(huán)矩陣結構,以提供群環(huán)矩陣RG;以及
(e)轉(zhuǎn)置所述RG矩陣以生成所述奇偶矩陣H,
其中,所述方法包括另一步驟(f),從所述矩陣RG刪除列,刪除的列數(shù)由比率的期望值決定,所述比率是數(shù)據(jù)輸入與數(shù)據(jù)輸出的目標比。
2.根據(jù)權利要求1所述的方法,其中,在所述步驟(a)中,所述RG矩陣在每行和每列中具有N個正方形子矩陣,N為整數(shù)。
3.根據(jù)權利要求2所述的方法,其中,N為2的冪。
4.根據(jù)權利要求1到3中任一項所述的方法,其中,在所述步驟(a)中,所述RG矩陣結構使得所述RG矩陣大小等于碼字長度。
5.根據(jù)權利要求1到4中任一項所述的方法,其中,步驟(b)中的所有所述子矩陣上的元的數(shù)量提供了低密度奇偶校驗(LDPC)矩陣。
6.根據(jù)權利要求1到5中任一項所述的方法,其中,在所述步驟(b)中,在單個矢量之內(nèi)或在矢量之間,元之間的差異決不重復。
7.根據(jù)前述任一項權利要求所述的方法,其中,在所述步驟(b)中,在單個矢量之內(nèi)或在矢量之間,元之間的由矢量長度n減去差異所定義的循環(huán)間距決不重復。
8.根據(jù)前述任一項權利要求所述的方法,其中,在所述步驟(b)中,矢量的數(shù)量等于所述碼字長度除以子矩陣數(shù)量。
9.根據(jù)前述任一項權利要求所述的方法,其中,在所述步驟(b)中,以偽隨機方式執(zhí)行構成所述矢量的群環(huán)元的選擇。
10.根據(jù)前述任一項權利要求所述的方法,其中,在所述步驟(b)中,在從包含0和n-1的0到n-1的給定子矩陣的索引范圍之內(nèi)選擇矢量元,其中n被定義為碼大小除以N。
11.根據(jù)前述任一項權利要求所述的方法,其中,所述步驟(b)包括將所述矢量變換成二進制形式,在所述二進制形式中每個元定義了n元行矢量中1的位置。
12.根據(jù)前述任一項權利要求所述的方法,其中,所述步驟(c)包括利用線性循環(huán)操作填充子矩陣,其中,利用前一行填充子矩陣的各行,其中位置向前或向后循環(huán)整數(shù)。
13.根據(jù)權利要求1到11中任一項所述的方法,其中,所述步驟(c)包括填充所述子矩陣,其中利用前一行填充子矩陣的各行,其中位置向前或向后循環(huán)由方程動態(tài)確定的整數(shù)值。
14.根據(jù)前述任一項權利要求所述的方法,其中,連同步驟(a)、(b)、(c)和(d)一起來執(zhí)行所述步驟(f),以便通過確保所述RG矩陣沒有任何零權重列或行且實現(xiàn)由低列權重值附近密集分布而偶爾有高權重值構成的目標列權重分布,來實現(xiàn)良好的距離。
15.根據(jù)前述任一項權利要求所述的方法,其中,所述步驟(d)包括對所述子矩陣進行循環(huán)布置。
16.根據(jù)前述任一項權利要求所述的方法,其中,借助與生成矢量所用規(guī)則相符的代數(shù)模式來確定在所述步驟(f)中選擇要刪除哪些列。
17.根據(jù)權利要求16所述的方法,其中,連同步驟(a)、(b)、(c)、(d)和(e)一起來執(zhí)行所述步驟(f),以便確保所述RG矩陣是可逆的,并且所述奇偶校驗矩陣沒有任何零權重列或行。
18.根據(jù)前述任一項權利要求所述的方法,其中,執(zhí)行步驟(f)以去除或最小化諸如6周期和8周期的與奇偶和數(shù)據(jù)位相關的環(huán)的短周期。
19.根據(jù)權利要求16到18中任一項所述的方法,其中,步驟(f)包括如下子步驟
(i)確定要取用的具有非零支持的組元差集以校驗群環(huán)碼,
(ii)選擇所述校驗碼的組元,使得所述差集不包含重復元,
(iii)使用其帶有非零支持的組元具有無重復(組)元的差集的群環(huán)元,以及
(iv)通過確定要刪除所述矩陣的對應于所述群環(huán)元的哪些行來選擇比率。
20.一種適于在包括如下步驟的方法中產(chǎn)生用于錯誤校正編碼的奇偶校驗矩陣H的電子或光學電路
(a)選擇包含子矩陣的適當群環(huán)矩陣結構;
(b)通過選擇適當?shù)沫h(huán)和適當?shù)慕M元來為每個所述子矩陣提供起始矢量;
(c)根據(jù)行填充方案利用每個矢量填充所述子矩陣;
(d)利用所述子矩陣填充所述群環(huán)矩陣結構,以提供群環(huán)矩陣RG;以及
(e)轉(zhuǎn)置所述RG矩陣以生成奇偶矩陣H,
其中,所述方法包括另一步驟(f),從所述矩陣RG刪除列,刪除的列數(shù)由比率的期望值決定,所述比率是數(shù)據(jù)輸入與數(shù)據(jù)輸出的目標比。
21.根據(jù)權利要求20所述的電路,其中,所述電路包括用于為步驟(c)進行二進制矢量連續(xù)循環(huán)移位的移位寄存器以及控制所述移位寄存器工作的計數(shù)器。
22.根據(jù)權利要求20或21所述的電路,其中,所述電路包括對二進制矢量的非零元位置進行跟蹤的計數(shù)器,且所述處理器適于使計數(shù)器遞增以生成每個下一行。
23.根據(jù)權利要求22所述的電路,其中,所述電路適于以非線性方式使所述計數(shù)器遞增。
24.根據(jù)權利要求23所述的電路,其中,所述電路適于使所述計數(shù)器遞減。
25.根據(jù)權利要求22到24中任一項所述的電路,其中,所述矩陣H的大小是2的整數(shù)N次冪,所述計數(shù)器具有類似位的大小。
26.根據(jù)權利要求20到25中任一項所述的電路,其中,所述電路適于執(zhí)行步驟(b),使得在單個矢量之內(nèi)或在矢量之間元之間的差異決不重復。
27.根據(jù)權利要求20到26中任一項所述的電路,其中,所述電路適于執(zhí)行步驟(b),使得在單個矢量之內(nèi)或在矢量之間元之間的由矢量長度n減去差異所定義的循環(huán)間距決不重復。
28.一種用于數(shù)據(jù)編碼或解碼的方法,所述方法包括如下步驟
(i)接收利用由根據(jù)權利要求1到19中任一項所述的方法產(chǎn)生的奇偶校驗矩陣H的行矢量計算出的起始矢量;
(ii)對所述矢量進行循環(huán)移位以產(chǎn)生所述奇偶校驗矩陣H的期望輸出行;
(iii)根據(jù)RG矩陣結構和所選行重新布置所述矢量的操作次序;
(iv)對要編碼信息上的矢量進行操作;以及
(v)針對所述奇偶校驗矩陣H的下一行重復步驟(ii)到(iv)。
29.根據(jù)權利要求28所述的方法,其中,對于步驟(ii),每次到達被刪除列時所述電路都增加額外的循環(huán)移位,從而基于下一未刪除列生成行。
30.根據(jù)權利要求28或29所述的方法,其中,對于步驟(i)和(ii),將矢量轉(zhuǎn)換至計數(shù)器,每個計數(shù)器存儲矢量元的位置。
31.根據(jù)權利要求30所述的方法,其中,計數(shù)器直接跟蹤每個1的位置且所述計數(shù)器的塊大小是2的整數(shù)次冪,因為二進制計數(shù)器在每次循環(huán)結束會自動對它們重置。
32.根據(jù)權利要求30或31所述的方法,其中,通過對應于下一期望行的期望移位對所述計數(shù)器進行遞增或遞減。
33.根據(jù)權利要求28或29所述的方法,其中,步驟(ii)是由移位寄存器執(zhí)行的。
34.一種用于編碼或解碼的電子或光學電路,所述電路適于執(zhí)行如下步驟
(i)接收利用由根據(jù)權利要求1到19中任一項所述的方法產(chǎn)生的奇偶校驗矩陣H的行矢量計算出的起始矢量;
(ii)對所述矢量進行循環(huán)移位以產(chǎn)生所述奇偶校驗矩陣H的期望輸出行;
(iii)根據(jù)RG矩陣結構和所選行重新布置所述矢量的操作次序;
(iv)對要編碼的信息上的所述矢量進行操作;以及
(v)針對所述奇偶校驗矩陣H的下一期望行重復步驟(ii)到(iv)。
35.根據(jù)權利要求34所述的電路,其中,對于步驟(ii),每次到達被刪除列時所述電路適于增加額外的循環(huán)移位,從而基于下一未刪除列生成行。
36.根據(jù)權利要求34或35所述的電路,其中,所述電路包括計數(shù)器并適于通過將矢量轉(zhuǎn)換至計數(shù)器值來執(zhí)行步驟(i)和(ii),每個計數(shù)器值存儲矢量元的位置。
37.根據(jù)權利要求36所述的電路,其中,所述電路包括計數(shù)器,所述計數(shù)器適于直接跟蹤每個1的位置且所述計數(shù)器塊的大小是2的整數(shù)次冪,因為二進制計數(shù)器在每次循環(huán)結束會自動對它們重置。
38.根據(jù)權利要求36或37所述的電路,其中,通過對應于所述下一期望行的期望移位對所述計數(shù)器進行遞增或遞減。
39.根據(jù)權利要求34或35所述的電路,其中,所述電路包括移位寄存器且步驟(ii)是由所述移位寄存器執(zhí)行的。
40.一種用于產(chǎn)生前向錯誤校正數(shù)據(jù)流的通信裝置,所述裝置包括根據(jù)權利要求20到27或34到39中任一項所述的用于編碼或解碼的電路。
41.一種利用LDPC群環(huán)奇偶校驗矩陣進行數(shù)據(jù)編碼或解碼的方法,所述方法提供減小的存儲器存儲復雜性,其中原模圖條目的對角線矩陣元是前一行的循環(huán)移位,所述對角線矩陣元存儲于相鄰存儲器地址之內(nèi),允許可變節(jié)點和校驗節(jié)點過程訪問數(shù)量減少的更大存儲器。
42.一種適于執(zhí)行根據(jù)權利要求41所述方法的LDPC編碼器或解碼器矢量串行架構電路。
43.一種適于執(zhí)行根據(jù)權利要求41所述的方法的LDPC編碼器或解碼器并行架構電路,其中,所述電路在每個周期中對整行或整列的原模圖條目進行操作。
44.一種適于執(zhí)行根據(jù)權利要求41所述的方法的LDPC編碼器或解碼器并行架構電路,其中,所述電路在每個周期中對多個整行或整列的原模圖條目進行操作。
45.根據(jù)權利要求43或44所述的電路,適于利用矩陣的環(huán)循環(huán)性質(zhì)定義層,或?qū)U展矩陣中的行映射到所述層上,然后將來自一層的校驗/可變更新應用于后續(xù)層,從而使用分層置信傳播,以實現(xiàn)增強的解碼器收斂時間。
46.一種用于存儲程序的計算機可讀存儲器,當在數(shù)字處理器上執(zhí)行所述程序時,所述程序用于執(zhí)行根據(jù)權利要求1到19、28到33或41中任一項所述的方法。
全文摘要
電路進行逐行矩陣生成,用于對數(shù)據(jù)塊進行編碼和解碼。它們進行高性能低密度奇偶校驗(LDPC)矩陣的快速代數(shù)生成,這種矩陣適用于很寬范圍的錯誤校正編碼和解碼(ECC)應用中。電路運行基于數(shù)學周期環(huán)法,該方法能夠基于用戶定義的性能要求從單個初始參數(shù)集產(chǎn)生任何大小的矩陣。用于生成奇偶校驗矩陣(H)的主要步驟為選擇RG矩陣結構,選擇群環(huán)元,通過行填充方案為RG矩陣產(chǎn)生子矩陣,通過循環(huán)布置子矩陣產(chǎn)生RG矩陣,以及通過從RG矩陣刪除適當選擇的列產(chǎn)生奇偶校驗矩陣,以實現(xiàn)期望的性能,然后轉(zhuǎn)置矩陣。一種電路通過如下步驟進行數(shù)據(jù)編碼或解碼接收從先前產(chǎn)生的奇偶校驗矩陣H的行矢量計算出的起始矢量,對所述矢量進行循環(huán)移位以產(chǎn)生奇偶校驗矩陣H的期望輸出行,根據(jù)RG矩陣結構和所選行重新布置矢量的操作次序,對要編碼信息上的矢量進行操作。
文檔編號G06F11/10GK101796488SQ200880105326
公開日2010年8月4日 申請日期2008年7月1日 優(yōu)先權日2007年7月2日
發(fā)明者P·麥克沃伊, J·溫努斯, T·赫爾利 申請人:技術源于創(chuàng)意有限公司