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

多級解碼器和符號塊解碼方法

文檔序號:7744250閱讀:238來源:國知局
專利名稱:多級解碼器和符號塊解碼方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及對糾錯碼的碼字進行解碼,具體地說,涉及使用多級解碼器對碼字進行解碼。

背景技術(shù)
糾錯碼 數(shù)據(jù)存儲和通訊領(lǐng)域的一個主要問題是開發(fā)實用的糾錯碼(ECC)解碼方法。
糾錯碼的一個非常重要的類別是線性分組糾錯碼。除非另有規(guī)定,本發(fā)明所涉及的任何“碼”都是指線性分組糾錯碼。
這些碼的基本思想是使用由N個符號構(gòu)成的塊對由k個信息符號構(gòu)成的塊進行編碼,這里N>k。其余的N-k比特被用于對通過噪聲信道接收信號時或從有故障的存儲介質(zhì)中恢復信號時損壞的信號進行糾錯。
滿足該碼的所有約束的由N個符號構(gòu)成的塊被稱為“碼字”,且其對應的由k個信息符號構(gòu)成的塊被稱為“信息塊”。假設(shè)這些符號是從q元字母表中提取出來。
一個重要的特例是當q=2的時候。此時,該碼被稱為“二進制”碼。盡管這里描述的解碼方法通??梢酝茝V到q>2時的q元碼,但在這里給出的例子里假設(shè)都是二進制碼。二進制碼是實際應用中最重要的碼。
在使用線性分組糾錯碼的常規(guī)“信道編碼”中,消息源產(chǎn)生由k個符號構(gòu)成的信息塊u[a]。該信息塊被傳送給糾錯碼的編碼器。該編碼器生成包含N個符號的碼字x[n]。接著,該碼字被通過信道被發(fā)送,其中,該碼字可能被破壞成信號y[n]。隨后,該被破壞的信號y[n]被傳送給解碼器,該解碼器嘗試輸出該碼字x[n]的重構(gòu)形式z[n]。
編碼參數(shù) 二元線性分組碼是由2k個塊長度為N的可能碼字的集合定義。參數(shù)k有時被稱為該碼的“維數(shù)”。在N和k很大時,這些碼通常更加有效。然而,隨著參數(shù)N和k大小的增加,對被破壞的消息進行解碼的難度也隨之增加。
兩個碼字之間的漢明(Hamming)距離被定義為這兩個碼字之間不同的符號的數(shù)量。碼的距離d被定義為該碼中任意兩個碼字之間的最小漢明距離。具有較大d值的碼擁有更好的糾錯能力。具有參數(shù)N和k的碼被稱為[N,k]碼。如果距離d也是已知的,則該碼被稱為[N,k,d]碼。
碼的奇偶校驗矩陣表示 線性碼可由奇偶校驗矩陣來表示。表示二元[N,k]碼的奇偶校驗矩陣是一個具有M行N列的由0和1組成的矩陣。該奇偶校驗矩陣的N列對應著該碼的N個符號。該矩陣的線性無關(guān)行的數(shù)量是N-k。
奇偶校驗矩陣的每一行都表示一個奇偶校驗約束。由特定行表示的約束中所包含的符號對應于在該行中具有非零符號的列。該奇偶校驗約束強制要求這些符號的加權(quán)和模2等于0。例如對于二進制碼,奇偶校驗矩陣

表示下面三個約束 x[1]+x[2]+x[3]+x[5]=0, x[2]+x[3]+x[4]+x[6]=0,以及 x[3]+x[4]+x[5]+x[7]=0, 其中x[n]是第n個比特的值,并且使用模2算術(shù)的規(guī)則執(zhí)行二進制符號的加法,從而有0+0=1+1=0以及0+1=1+0=1。
碼的圖形化模型 通常使用圖形化模型(在現(xiàn)有技術(shù)中也稱為“Tanner圖”)來表示線性碼的奇偶校驗矩陣。Tanner圖是具有兩種節(jié)點的二分圖“變量節(jié)點”對應于碼字符號,“約束節(jié)點”對應于奇偶約束。因此,表示該碼的奇偶校驗矩陣的每一列都有一個變量節(jié)點,并且該奇偶校驗矩陣的每一行都有一個約束節(jié)點。在Tanner圖中,如果相應的符號處于一個約束等式中,則該變量節(jié)點連接到約束節(jié)點。從而,對于奇偶校驗矩陣中的每一個非零項都有一個將變量節(jié)點與約束節(jié)點連接在一起的線。
也存在其他可以很容易地轉(zhuǎn)換成Tanner圖的碼的圖形化模型。例如,G..David Forney曾推廣的“因子圖(factor graph)”表示,其中變量由圖中的線表示,而碼符號被表示為變量之間的等式約束,參見G..D.Forney的“Codes on GraphsNormal Realizations”,IEEE Transactions onInformation Theory,2001年2月,第47卷,第520-548頁。盡管此處我們描述了根據(jù)Tanner圖的解碼算法,但能夠很好地理解如何利用其他圖形化模型對這些解碼方法進行轉(zhuǎn)換來工作。
糾錯碼解碼器 糾錯碼解碼器的任務是在發(fā)送的碼字已經(jīng)在信道中被破壞之后,接受所接收的信號,并且試圖重建所發(fā)送的碼字。最優(yōu)(就使解碼失敗的碼字數(shù)量最小化而言)解碼器在給定接收信號的情況下輸出最可能的碼字。該最優(yōu)解碼器被稱為“最大似然”解碼器。然而如果信道中的噪聲足夠大,即使最大似然(ML)解碼器有時也會發(fā)生解碼錯誤并輸出一個并不是所發(fā)送的碼字的碼字。
迭代解碼器 在實際應用中,僅能夠針對特殊類別的糾錯碼構(gòu)造最大似然解碼器。一直以來,人們對基于迭代方法的非最優(yōu)的近似解碼器有很大興趣。其中的一個迭代解碼方法被稱為“可信度傳播”(BP),盡管R.Gallager沒有以這個名字命名它,但其在1963年首次描述了用于低密度奇偶校驗(LDPC)碼的BP解碼方法。
Turbo碼 1993年類似的迭代方法對被稱為“turbo碼”的一類新的碼表現(xiàn)非常好。Turbo碼的成功在一定程度上使得人們對LDPC碼和迭代解碼方法重新產(chǎn)生了濃厚的興趣。為了提高迭代解碼方法對turbo碼和LDPC碼二者以及諸如“turbo產(chǎn)品碼”和“重復累加碼”之類的其他相關(guān)碼的性能,人們已經(jīng)進行了大量的工作。例如在2003年8月的IEEE Communications雜志的一輯特刊就是專門針對這項工作。對于概述,參見C.Berrou的“TheTen-Year-Old Turbo Codes are entering into Service”,IEEE CommunicationsMagazine,第41卷,第110-117頁,2003年8月,以及T.Richardson和R.Urbanke的“The Renaissance of Gallager’s Low-Density Parity CheckCodes”,IEEE Communications Magazine,第41卷,第126-131頁,2003年8月。
很多turbo碼和LDPC碼使用隨機構(gòu)建方法進行構(gòu)建。例如,Gallager最初的二元LDPC碼是根據(jù)奇偶校驗矩陣進行定義的,該矩陣僅由“0”和“1”組成,其中,很少數(shù)量的“1”根據(jù)預定的概率分布隨機地放置在該矩陣中。然而,迭代解碼器也已經(jīng)能夠成功地應用于由規(guī)則構(gòu)建方法定義的碼,例如由有限個幾何圖形定義的碼,參見Y.Kou、S.Lin和M.Fossorier的“Low Density Parity Check Codes Based on Finite GeometriesARediscovery and More”,IEEE Transactions on Information Theory,第47卷,第2711-2736頁,2001年11月。一般來說,對于具有包含相對少量非零項的奇偶校驗矩陣的碼,迭代解碼器能夠很好地工作,而不論該奇偶校驗矩陣是隨機構(gòu)造的還是規(guī)則構(gòu)造的。
在具有基于BP的LDPC碼解碼器的系統(tǒng)中,該系統(tǒng)基于約束而迭代地處理所接收到的符號以提高每個符號的可靠性,該約束由指定了碼的奇偶校驗矩陣給出。
在第一次迭代中,BP解碼器僅使用信道跡象(channel evidence)作為輸入,并產(chǎn)生從各符號到包含該符號的奇偶校驗約束的軟輸出消息。將消息從該符號發(fā)送到該約束的階段有時被稱為“垂直”步驟。然后,在相鄰的約束處處理來自該符號的消息以向該符號反饋新消息。這個步驟有時被稱為“水平”步驟。該解碼迭代過程在垂直和水平步驟間持續(xù)地交替進行,直到滿足特定的終止條件為止。此時,基于來自最后一次解碼迭代的符號的輸出可靠性測度,針對各符號作出硬判決。
可以使用前面描述的Tanner圖對BP解碼器的消息進行可視化。垂直步驟消息是從變量節(jié)點到約束節(jié)點,而水平步驟消息是從約束節(jié)點到變量節(jié)點。
消息更新規(guī)則的準確形式和消息的含義根據(jù)BP方法所使用的具體變型而不同。兩種特別流行的消息更新規(guī)則是“和積”規(guī)則和“最小和”規(guī)則。這些現(xiàn)有技術(shù)的消息更新規(guī)則是公知的,并且對這些消息更新規(guī)則的近似在實踐中也被證明能夠工作良好。進一步的細節(jié)在2008年5月13日授予Yedidia等人的美國專利US7,373,585中進行了描述“Combined-replica group-shuffled iterative decoding for error-correctingcodes”,通過引用合并于此。
在BP方法的一些變型中,消息代表一個比特是“0”還是“1”的對數(shù)似然度。關(guān)于BP方法及其在糾錯碼上應用的更多背景資料參見F.R.Kschischang,B.J.Frey和H.-A.Loeliger的“Factor Graphs and theSum-Product Algorithm”,IEEE Transactions on Information Theory,第47卷,第498-519頁,2001年2月。
量化的可信度傳播 在實踐中,一種很流行的實現(xiàn)BP解碼器的方法是將消息量化為某一少量的可能值。例如,解碼器可以僅使用值為+1和-1的消息。量化的BP(QBP)解碼器會隨著可能的消息數(shù)量的增多而變得更加強大,從而更好地接近于非量化的BP解碼器。另一方面,隨著可能消息數(shù)量的增多,實現(xiàn)量化的BP解碼器的代價和復雜度也隨之增加。
本領(lǐng)域中另一個已知的QBP解碼器是“E算法”,參見Richardson等人的“The capacity of low-density parity-check codes under message-passingdecoding”,IEEE Trans.Inform.Theory,第47卷,第599-618頁,2001年2月。由于該解碼器受到特別關(guān)注,此處詳細的描述它在二元對稱信道(BSC)上對LDPC碼進行解碼的功能。
該E算法解碼器對從BSC接收的輸入符號序列進行解碼。該輸入符號序列由向量y表示。使用二元移相鍵控(BPSK),使得位于位置n的符號0被映射到y(tǒng)n=1,且位于位置n的符號1被映射到y(tǒng)n=-1。
令H=[Hmn]為LDPC碼的一個M×N的奇偶校驗矩陣。將參與校驗j的變量節(jié)點集合表示為N(j)={knjk=1},并且,將變量k參與的校驗集合表示為Q(k)={jHjk=1}。N(j)\k表示排除了變量k的集合N(j),且Q(k)\j表示排除了校驗j的集合Q(k)。
E算法解碼器將BP消息量化為值-1,0或+1,與第i次迭代相關(guān)聯(lián)的消息和可信度表示為 umn(i)從校驗節(jié)點m傳送到變量節(jié)點n的消息; vmn(i)從變量節(jié)點n傳送到校驗節(jié)點m的消息;和 vn(i)變量節(jié)點n的可信度。
“E算法”解碼器的工作步驟如下 步驟1對1≤m≤M,和每一個n∈N(m),執(zhí)行 步驟2對1≤n≤N,和每一個m∈Q(n),執(zhí)行 其中w(i)是適當選擇的權(quán)重,并且 此處,如果x>0,則sgn(x)=1,如果x<0,sgn(x)=-1,且sgn(0)=0。
步驟3構(gòu)建一個向量

從而如果



如果



如果

則隨機選擇

如果

或者達到Imax,則停止解碼的迭代并輸出

作為解碼后的碼字。否則,令ii=i+1,轉(zhuǎn)到步驟1。
位翻轉(zhuǎn)解碼器 位翻轉(zhuǎn)(BF)解碼器是與BP解碼器類似地工作的迭代解碼器。這些解碼器稍微更簡單一些。LDPC碼的位翻轉(zhuǎn)解碼器也已經(jīng)有很長的歷史了,且在19世紀60年代早期,Gallager介紹LDPC碼時也提出了位翻轉(zhuǎn)解碼器。在位翻轉(zhuǎn)解碼器中,基于信道輸出而最初對各碼字比特賦予0或者1。然后,在各次迭代中計算各個奇偶校驗的校驗算子。如果滿足奇偶校驗,則該奇偶校驗的校驗算子為0,如果不滿足則為1。然后,對于各比特,對所有包含該比特的奇偶校驗的校驗算子都進行校驗。如果不滿足那些奇偶校驗的數(shù)量大于預定的閾值,則相應的比特被翻轉(zhuǎn)。迭代繼續(xù)進行,直到滿足所有的奇偶校驗或者達到預定的最大迭代次數(shù)為止。
可以被迭代解碼的其他碼 存在很多可以使用迭代解碼方法成功解碼的其他碼。在文獻中這些碼是公知的,并且由于數(shù)量太多而難以對它們都進行詳細描述。這些碼中最著名的是turbo碼,參見C.Berrou和A.Glavieux的“Near-OptimumError-Correcting Coding and DecodingTurbo-codes”,IEEE Transactions inCommunications,第44卷,第1261-1271頁,1996年10月;不規(guī)則LDPC碼,參見M.A.Shokrollahi,D.A.Spielman,M.G..Luby和M.Mitzenmacher的“Improved Low-Density Parity Check Codes Using Irregular Graphs”,IEEE Trans.Information Theory,第47卷,第585-598頁,2001年2月;重復累積碼,參見D.Divsalar,H.Jin和R.J.McEliece的“Coding Theoremsfor‘Turbo-like’Codes”,Proc.36th Allerton Conference on Communication,Control and Computing,第201-210頁,1998年9月;LT碼,參見M.Luby,“LT Codes”,Proc.Of the 43 Annual IEEE Symposium On Foundations ofComputer Science,第271-282頁,2002年11月;和Raptor碼,參見A.Shokrollahi,“Raptor Codes”,Proceedings of the IEEE InternationalSymposium on Information Theory,第36頁,2004年7月。
線性規(guī)劃和自適應線性規(guī)劃解碼器 LDPC碼的一個另選解碼方法是基于線性規(guī)劃(LP)。LP解碼方法具有一些BP解碼方法不具備的誘人特征。該LP解碼器確定性收斂。每當該解碼器輸出一個碼字,該碼字都能保證是最大似然(ML)解。當該LP解碼器收斂于一個非二元解時,就會找到一個明確定義的“偽碼字”。
ML解碼問題等價于下面的整數(shù)最優(yōu)化問題 minimize

約束為
其中γ為已知的負對數(shù)似然度向量,T為轉(zhuǎn)置運算符,其中第n項定義為 當信道為BSC時,如果接收的BPSK符號是yn=-1,則γn=log[p/(1-p)];如果接收的BPSK符號為yn=1,則γn=log[(1-p)/p]。
上述整數(shù)最優(yōu)化問題中的變量和約束是二元的。在該問題的松弛LP形式中,各符號

都放松為相應的變量

其可以在0和1之間取值。各奇偶校驗被碼字必須滿足的許多局部線性約束代替。這些約束的交集定義了該LP求解器操作的多面體。該多面體的二元頂點對應于碼C中的碼字。當LP最優(yōu)值位于這樣的一個頂點時,該LP就被滿足,并且找到了ML解。非二元解被稱為偽碼字。
不幸的是,LP解碼方法要比BP解碼方法更加復雜。一種使用自適應線性規(guī)劃(ALP)解碼器的方法降低了計算負荷,參見Taghavi等人的“Adaptive methods for linear programming decoding”,IEEE Transactions onInformation Theory,第54卷,第12期,第5386-5410頁,2008年12月。
混合整數(shù)線性規(guī)劃解碼器 當LP解碼問題的解是非二元時,人們被激發(fā)去探尋原LP松弛的收緊方法。收緊的目的是生成一個經(jīng)過修改的LP問題,該經(jīng)過修改的LP問題消除了先前的最優(yōu)偽碼字而不消除任何二元頂點,由此使得該經(jīng)過修改的LP問題的解趨向ML解。
一種方法是增加少量的整數(shù)約束條件以得到混合整數(shù)線性規(guī)劃(MILP)。具體地,在MILP解碼器中,人們能夠識別出其值最接近0.5的符號。對于

的該索引,解碼器包括整數(shù)約束

并且再次執(zhí)行包含該整數(shù)約束的LP解碼器。如果即使在增加了一個整數(shù)約束后,該MILP解碼器仍然解碼失敗,則可以增加更多的整數(shù)約束。在Draper等人的相關(guān)申請中,該方法被用于LDPC碼。
同一碼的不同解碼器的性能 對于各種不同類型的碼,很多不同的解碼器通常都是可用的。例如,對于LDPC碼,人們可以在(除此之外)位翻轉(zhuǎn)解碼器、不同量化水平的量化BP解碼器、使用積和或最小和方法的BP解碼器、LP解碼器和MILP解碼器間進行選擇。
對于其它公知的編碼,例如Reed-Solomon碼,也存在多種不同的解碼方法,包括編碼教程中能夠找到的像Berlekamp-Massey解碼方法之類的經(jīng)典解碼方法,或者基于可信度傳播的更新的解碼方法,或者列表解碼方法。
一般通過將解碼器的錯誤率作為信噪比(SNR)的函數(shù)進行繪圖來比較不同的解碼方法。兩個常用的測度是計算“字錯誤率”(WER)和“比特錯誤率”(BER),其中“字錯誤率”(WER)對未被正確地解碼為所發(fā)送碼字的塊的比率進行測量,而“比特錯誤率”(BER)對未被正確解碼的比特的比率進行測量。這里,我們關(guān)注的是WER。如果在特定信噪比率下一個解碼器的WER比另一個解碼器更低,則該解碼器“更好”或者說“更強大”。
圖3示出了對同一個碼進行操作的不同解碼器的作為SNR的函數(shù)的WER。在這個例子中,在低信噪比下解碼器A 310優(yōu)于解碼器B,但是在高信噪比下解碼器B 320優(yōu)于解碼器A。圖4示出了解碼器A 410在各SNR下都比解碼器B 420表現(xiàn)好的例子。
解碼器的處理時間 通常,要在解碼器的WER性能與該解碼器處理一個塊所花費的時間之間進行權(quán)衡。作為一個示例,如果使BP解碼器在終止之前針對各塊都運行更多次迭代,則其將具有更好的WER性能。簡單的解碼器趨向于具有少的處理時間但WER性能較差,而更復雜的解碼器則趨向于具有較長的處理時間和更好的WER性能。有時一個解碼器會比第二個解碼器的WER好上多個數(shù)量級,但它的處理時間也會比第二個解碼器差上多個數(shù)量級。
迫切需要構(gòu)建一種無需在性能和處理時間之間進行權(quán)衡的解碼器,即該解碼器同時具有出色的性能和少量的處理時間。


發(fā)明內(nèi)容
本發(fā)明的思想是將多個子解碼器組合成單一的多級解碼器,所述多個子解碼器可依據(jù)所感興趣的工作域處的字錯誤率(WER)性能進行排序。第一子解碼器是性能最差的解碼器,而最后一個子解碼器是性能最好的解碼器。這些子解碼器也可以根據(jù)它們的處理時間進行排序。第一子解碼器具有最短的每塊處理時間,而最后一個子解碼器具有最長的每塊處理時間。
本發(fā)明的實施方式提供了一種多級解碼器,該多級解碼器順序地組合了量化可信度傳播(QBP)子解碼器、非量化可信度傳播(UBP)子解碼器和混合整數(shù)線性規(guī)劃(MILP)子解碼器或線性規(guī)劃解碼器。各子解碼器僅當前面的子解碼器未能收斂于一個有效碼字時才被激活。
較快的QBP和UBP子解碼器能夠糾正大多數(shù)錯誤,從而具有較短的平均解碼時間。僅在QBP和UBP子解碼器都失敗的罕見情況下,才使用較慢但是性能更好的線性規(guī)劃解碼器或者MILP子解碼器。
結(jié)果顯示,與常規(guī)BP解碼方法相比,多級解碼器的WER有了很大的改進。這種改進在高SNR區(qū)域特別引人注意。該多級解碼器還能夠顯著地加速對LDPC碼的解碼。對于某些編碼,與僅使用線性規(guī)劃解碼器或者MILP解碼器相比,本發(fā)明能夠以低得多的復雜度有效地逼近高SNR區(qū)域的最優(yōu)ML解碼性能。
本發(fā)明還通過僅當消息改變時才更新校驗節(jié)點和變量節(jié)點而對QBP解碼器進行了改進。在高SNR的情況下,僅需要更新來自變量節(jié)點和校驗節(jié)點的少量消息。因此,與常規(guī)QBP解碼器相比,解碼僅需要少量的計算。



圖1是根據(jù)本發(fā)明的實施方式的多級解碼器的框圖, 圖2是根據(jù)本發(fā)明的實施方式的量化可信度傳播解碼的流程圖,以及 圖3-4是對示例性解碼器的作為信噪比的函數(shù)的字錯誤率性能進行比較的圖。

具體實施例方式 圖1示出了根據(jù)本發(fā)明的實施方式的低密度奇偶校驗(LDPC)碼的多級解碼器100。該解碼器包括順序地連接的量化可信度傳播(QBP)子解碼器110、非量化BP(UBP)子解碼器120和線性規(guī)劃(LP)解碼器或混合整數(shù)線性規(guī)劃(MILP)子解碼器130。
該多級解碼器100接收經(jīng)由有噪聲信道102發(fā)送的碼字x101。子解碼器110嘗試對碼字101進行解碼。如果該子解碼器110失敗,則由子解碼器120嘗試進行解碼。如果子解碼器120失敗,則由子解碼器130嘗試進行解碼,直到達到終止條件為止。這些子解碼器被設(shè)置為在次序上后一個子解碼器比前一個子解碼器的處理時間(T)更慢且字錯誤率(WER)更好,也就是說TQBP<<TUBP<<TMILP,并且WERQBP>>W(wǎng)ERUBP>>W(wǎng)ERMILP。
“解碼失敗”表示特定的解碼器未能輸出有效的碼字。例如,QBP解碼器可能無法收斂。如果解碼器輸出了有效但不正確的碼字,就表示解碼器“解碼成功”了,并且不觸發(fā)后續(xù)解碼器的執(zhí)行。當然,與所發(fā)送的碼字不一致的解碼“成功”也有助于WER。
MILP子解碼器130以如下方式工作。該子解碼器130首先嘗試執(zhí)行標準LP解碼。如果該標準LP解碼失敗,則為最不可信賴的已解碼比特增加一個整數(shù)約束。如果解碼再次失敗,則增加另一個整數(shù)約束,如此繼續(xù)直到解碼成功或者達到整數(shù)約束的某個最大數(shù)量為止。MILP子解碼器在整數(shù)約束的最大數(shù)量較大時性能會更好,但其最壞情況處理時間也更高。
令人驚訝的是,我們的多級解碼器在如上所述并以此處所描述的方式設(shè)置時,近似于與最快級一樣快并且WER近似于與最慢級一樣好。以下的分析用于對以此處所述方式設(shè)置的多級解碼器的每塊平均處理時間進行近似。如果我們假設(shè)一個給定的子解碼器級的每塊處理時間是T,且字錯誤率是WER,則該多級解碼器的每塊平均處理時間近似為 其中TQBP是QBP子解碼器110的每塊平均處理時間,TUBP是UBP子解碼器120的每塊平均處理時間,TMILP是MILP子解碼器130的每塊平均處理時間,WERQBP是QBP子解碼器110的WER,WERQBP-UBP是由QBP子解碼器及其隨后的UBP子解碼器構(gòu)成的二級解碼器(不包括MILP子解碼器)的WER。
因此,只要WERQBP<<TQBP/TUBP,并且WERQBP-UBP<<TQBP/TMILP,則該每塊平均處理時間近似與解碼器110的每塊平均處理時間相同。同時,仿真示出了該多級解碼器的WER性能幾乎總是至少與其最后一個子解碼器130的WER性能一樣好。應當注意的是,我們的多級解碼器的概念適用于另行順序設(shè)置的解碼器。例如,可以針對特定的LDPC碼而優(yōu)化設(shè)計級數(shù)和對解碼器的選擇。
“活躍集”迭代解碼器 在諸如常規(guī)BP解碼器的常規(guī)迭代解碼器中,在各次迭代中對來自校驗節(jié)點和變量節(jié)點的所有消息進行更新。然而,對于自從上次迭代以來傳入(incoming)消息沒有發(fā)生改變的節(jié)點來說該操作并不是必需的。例如,對于BSC而言,在信噪比(SNR)足夠高的情況下,常規(guī)BP解碼器中的大多數(shù)消息在解碼期間從來不需要更新,這是因為信道僅僅轉(zhuǎn)換少量的發(fā)送比特,從而能夠顯著降低解碼復雜度。
我們的“活躍集”迭代解碼器的基本原理是對已發(fā)生改變的消息集合進行追蹤,并且僅對從傳入消息位于該集合中的那些節(jié)點傳出的消息進行更新。
如果單個處理器或者少量處理器負責更新各個消息,則使用“活躍集”迭代解碼器而獲得的加速就尤其重要。人們希望處理器將時間浪費在重復計算未發(fā)生改變的消息上。
可以針對很多不同的碼、信道和解碼方法而構(gòu)建活躍集迭代解碼器。
我們針對二元對稱信道上的LDPC碼的E算法解碼器的特定實施方式而描述活躍集解碼器。我們假設(shè)輸入比特序列由向量y表示并且使用二元相移鍵控(BPSK),使得位于位置n的符號0映射到y(tǒng)n=1,而位于位置n的符號1映射到y(tǒng)n=-1。
令H=[Hmn]為LDPC碼的M×N的奇偶校驗矩陣。參與校驗j的變量節(jié)點集合表示為N(j)={kHjk=1},且變量k參與的校驗集合表示為Q(k)={jHjk=1}。N(j)\k是排除了碼字符號K的集合N(j),Q(k)\j是排除了校驗j的集合Q(k)。
回顧E算法解碼器將BP消息量化為值-1,0或+1。與第i次迭代相關(guān)聯(lián)的消息和可信度表示為 umn(i)從校驗節(jié)點m傳送到變量節(jié)點n的消息; vmn(i)從變量節(jié)點n傳送到校驗節(jié)點m的消息;和 vn(i)變量節(jié)點n的可信度。
對于活躍集E算法解碼器(QBP)110,我們分別定義Av和Ac作為變量節(jié)點的活躍集和校驗節(jié)點的活躍集。活躍集僅包含將要被更新的節(jié)點。這與現(xiàn)有技術(shù)中的迭代解碼器形成對比,現(xiàn)有技術(shù)中的迭代解碼器在各次迭代期間所有節(jié)點都是活躍的并且都被更新。
活躍集E算法迭代解碼器的執(zhí)行步驟如下 初始化201令i=1,

(即空集),并且令最大迭代次數(shù)為Imax。對于各校驗節(jié)點m和變量節(jié)點n,令


對于各個n,令

對于所有的m∈Q(n),如果yn=-1,則令

且將這些m添加到Ac中。
步驟1 210令

(即空集)。對于每一個m∈Ac,和n∈N(m),執(zhí)行以下處理 并且將所有的這些變量節(jié)點n添加到集合Av中。
步驟2 220令

(即空集)。對于每一個n∈Av和m∈Q(n),執(zhí)行以下處理 其中w(i)是適當選擇的權(quán)重。
如果

(225),則將m添加到Ac中(226),并重新計算(227) 其中,對于x>1,sgn(x)=1;對于x<1,sgn(x)=-1;并且sgn(0)=0。
步驟3 230創(chuàng)建向量

從而如果



如果



并且如果

則隨機選擇

如果

或者達到了Imax,則停止解碼迭代并輸出

作為解碼出的碼字。否則,令i=i+1,并轉(zhuǎn)向步驟1。
活躍集E算法解碼器具有與常規(guī)E算法解碼器相同的性能,但是,如果僅有單個或者少數(shù)幾個處理器被用來計算消息,則其具有更少的每塊處理時間。
要注意,在二元輸入對稱信道上的線性碼的解碼器的軟件仿真中,人們可以進行這樣的簡化假設(shè)在每一塊發(fā)送相同的碼字(通常為了方便而使用全零碼字)。這是因為對于每個可能發(fā)送的碼字,解碼器的性能是相同的。
當假設(shè)每塊發(fā)送完全相同的碼字時,活躍集解碼器的初始化步驟可能會得到進一步的重要加速。
例如,對于在BSC上的LDPC的活躍集E算法解碼器來說,如果各塊發(fā)送相同的碼字,則每當一個塊被成功解碼時,下一塊的初始化步驟僅花費O(Np)時間來記錄新轉(zhuǎn)換比特的位置,其中p是該信道的交叉概率(crossover probability)。否則,如果允許發(fā)送任意碼字,則必須花費O(N)時間,因為所有接收的符號都需要以相同的概率初始化為+1或-1。
表I示出了常規(guī)量化解碼器(E)和我們的活躍集量化解碼器(Fast E)在用于長度為1908、速率為8/9的LDPC碼時所需要更新的次數(shù)。
表I
在表I中,“變量更新”表示針對各塊在步驟2中所處理的變量節(jié)點的平均數(shù)量,而“校驗更新”意味著針對各塊在步驟1中所處理的校驗節(jié)點的平均數(shù)量。這些統(tǒng)計數(shù)據(jù)是通過對多于100,000個發(fā)送塊進行平均而獲得的。很顯然,我們的解碼器110在所有方面都勝過常規(guī)量化解碼器。我們的解碼器對于相對小的交叉概率尤其有效。這對于我們研究在高SNR下的碼的性能尤其有益。
我們已經(jīng)詳細描述了用于二元對稱信道(BSC)的活躍集解碼器。構(gòu)建用于其他信道和其他碼的活躍集解碼器也是可行的。為了在上述可行性中限制需要更新的消息的數(shù)量,可能優(yōu)選的是,針對一個消息被認為將發(fā)生改變從而該消息必須發(fā)生的變化量來設(shè)置閾值。僅當該消息的改變足夠多的情況下,也就是說,在改變大于預定閾值的情況下,才將該消息所到達的節(jié)點添加到活躍集中。變量節(jié)點的另一個可能性是,人們追蹤變量節(jié)點的“可信度”,并且僅在該可信度的改變足夠大的情況下,才將該變量節(jié)點添加到活躍集中。
需要注意的是本發(fā)明的實施方式能夠用于許多不同的糾錯碼,包括低密度奇偶校驗碼;fountain碼,其包括Luby變換碼和raptor碼;Turbo碼;重復累積碼;和其他可以使用迭代可信度傳播或位翻轉(zhuǎn)解碼器進行解碼的相關(guān)碼。
盡管以優(yōu)選實施方式為例描述了本發(fā)明,但應該理解,在本發(fā)明的主旨和范圍內(nèi)可以進行各種其他的改變和修改。因此,附加的權(quán)利要求書的目的就是覆蓋落入本發(fā)明的真正主旨和范圍內(nèi)的所有這樣的改變和修改。
權(quán)利要求
1.一種多級解碼器,其用于將經(jīng)由有噪聲信道接收的符號塊解碼為糾錯碼的碼字,該多級解碼器包括
順序地連接的多個子解碼器,其中,后一個子解碼器具有比前一個子解碼器更慢的處理時間和更好的字錯誤率,并且其中,僅當所述前一個解碼器對所述符號序列塊解碼失敗時,才執(zhí)行所述后一個子解碼器,并執(zhí)行最后一個子解碼器直到達到終止條件為止。
2.根據(jù)權(quán)利要求1所述的多級解碼器,其中所述多個子解碼器包括順序地連接的如下子解碼器
量化可信度傳播QBP子解碼器;
非量化可信度傳播UBP子解碼器;以及
混合整數(shù)線性規(guī)劃MILP子解碼器。
3.根據(jù)權(quán)利要求2所述的多級解碼器,其中,該最后一個MILP子解碼器的執(zhí)行進一步包括以下操作
迭代地添加二元約束,直到發(fā)現(xiàn)最大似然碼字或已經(jīng)對所述MILP子解碼器添加了某一最大數(shù)量的二元約束為止。
4.根據(jù)權(quán)利要求1所述的多級解碼器,其中,針對特定低密度奇偶校驗LDPC碼而設(shè)計所述子解碼器的數(shù)量和對所述子解碼器的選擇。
5.根據(jù)權(quán)利要求1所述的多級解碼器,其中,使用了迭代解碼方法的任何子解碼器均利用活動集迭代解碼方法。
6.根據(jù)權(quán)利要求5所述的多級解碼器,其中,所述信道是二元對稱信道,并且其中,所述活動集解碼器進一步包括
迭代可信度傳播解碼器,其包括
校驗節(jié)點的集合;
變量節(jié)點的集合;以及
用于在所述校驗節(jié)點的集合與所述變量節(jié)點的集合之間傳送消息的裝置,并且其中,僅當?shù)剿鲂r灩?jié)點的傳入消息的集合改變時,才更新來自所述校驗節(jié)點的傳出消息的集合,并且僅當?shù)剿鲎兞抗?jié)點的傳入消息改變時,才更新來自所述變量節(jié)點的所述傳出消息的集合。
7.根據(jù)權(quán)利要求6所述的多級解碼器,其中,當所述傳入消息的集合的改變超過閾值時,更新所述傳出消息的集合。
8.根據(jù)權(quán)利要求6所述的多級解碼器,其中,將所要更新的節(jié)點添加到節(jié)點的活動集中。
9.根據(jù)權(quán)利要求5所述的多級解碼器,其中,所述信道是二元對稱信道,并且其中,所述活動集解碼器進一步包括
迭代可信度傳播解碼器,其包括
校驗節(jié)點的集合;以及
變量節(jié)點的集合,其中,各變量節(jié)點具有可信度,并且其中,僅當所述可信度改變時,才更新來自所述變量節(jié)點的傳出消息的集合,并且其中,僅當?shù)剿鲂r灩?jié)點的傳入消息改變時,才更新來自所述校驗節(jié)點的傳出消息的集合。
10.根據(jù)權(quán)利要求9所述的多級解碼器,其中,僅當所述變量節(jié)點的可信度的改變超過閾值時,才更新來自所述變量節(jié)點的所述傳出消息,并且僅當?shù)剿鲂r灩?jié)點的所述傳入消息的集合的改變超過所述閾值時,才更新來自所述校驗節(jié)點的所述傳出消息的集合。
11.根據(jù)權(quán)利要求9所述的多級解碼器,其中,將所要更新的節(jié)點添加到節(jié)點的活動集中。
12.根據(jù)權(quán)利要求1所述的多級解碼器,其中,所述糾錯碼是從以下組中選擇的,該組由低密度奇偶校驗碼、turbo碼、turbo乘積碼、重復累積碼、luby變換碼及raptor碼構(gòu)成。
13.根據(jù)權(quán)利要求1所述的多級解碼器,其中,所述多個子解碼器包括順序地連接的
量化可信度傳播QBP子解碼器;
非量化可信度傳播UBP子解碼器,以及
線性規(guī)劃子解碼器。
14.一種用于將經(jīng)由有噪聲信道接收的符號塊解碼為糾錯碼的碼字的方法,包括用于執(zhí)行該方法的步驟的處理器,該方法包括以下步驟
利用第一解碼器對符號塊進行解碼,以及在由所述第一解碼器進行的解碼失敗的情況下;
利用第二解碼器對所述符號塊進行解碼,該第二解碼器具有比所述第一解碼器更慢的處理時間和更好的字錯誤率。
15.一種用于將經(jīng)由有噪聲信道接收的符號塊解碼為糾錯碼的碼字的方法,包括用于執(zhí)行該方法的步驟的處理器,該方法包括以下步驟
利用第一解碼器對所述符號塊進行解碼,在由所述第一解碼器進行的解碼失敗的情況下;
利用第二解碼器對所述符號塊進行解碼,該第二解碼器具有比所述第一解碼器更慢的處理時間和更好的字錯誤率,并且在由所述第二解碼器進行的解碼失敗的情況下;
利用第三解碼器對所述符號塊進行解碼,該第三解碼器具有比所述第二解碼器更慢的處理器時間和更好的字錯誤率。
全文摘要
本發(fā)明涉及多級解碼器和符號塊解碼方法。本發(fā)明提供了一種多級解碼器,其將經(jīng)由有噪聲信道接收的符號塊解碼為碼字。該解碼器包括順序地連接的多個子解碼器,并且其中后一個子解碼器具有比前一個子解碼器更慢的處理時間和更好的字錯誤率,并且其中,僅當所述前一個解碼器對所述符號序列塊解碼失敗時,才執(zhí)行所述后一個子解碼器,并執(zhí)行最后一個子解碼器直到達到終止條件為止。
文檔編號H04L1/00GK101814975SQ20101013044
公開日2010年8月25日 申請日期2010年1月27日 優(yōu)先權(quán)日2009年1月27日
發(fā)明者喬納森·S·葉迪達, 王一歌, 斯塔克·C·德雷珀 申請人:三菱電機株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
福海县| 新泰市| 宝兴县| 迁安市| 武山县| 习水县| 佳木斯市| 定兴县| 石门县| 南京市| 全椒县| 大关县| 陇南市| 清新县| 松原市| 渭源县| 德安县| 安达市| 明光市| 汨罗市| 江川县| 滦南县| 罗城| 镇沅| 台东县| 连南| 连州市| 本溪市| 天津市| 无锡市| 东明县| 安平县| 镇巴县| 兴宁市| 乾安县| 应用必备| 江阴市| 商丘市| 泗水县| 新乐市| 新竹市|