一種適用于光通信的高吞吐率ldpc譯碼器的制造方法
【專利摘要】本發明屬于無線數字通信和廣播【技術領域】,具體涉及一種適用于光通信的高吞吐率LDPC譯碼器。該譯碼器包括存儲器單元(分為A、B兩部分)、初始化單元、節點更新單元和譯碼檢測單元:存儲器單元用于存儲信道本征信息、節點間軟信息和譯碼結果;初始化單元用于將接收到的信道本征信息進行初始化;節點更新單元用于執行迭代譯碼過程;譯碼檢測單元用于檢測每次迭代結束時是否譯碼成功。該譯碼器特別采用時鐘復用方式提升吞吐率,在時鐘上升沿和下降沿分別對兩組不同碼字進行譯碼,以提升吞吐率;兩組不同的存儲器共用同樣的初始化單元、節點更新單元和譯碼檢測單元,以節省硬件資源。
【專利說明】—種適用于光通信的高吞吐率LDPC譯碼器
【技術領域】
[0001]本發明屬于無線數字通信和廣播【技術領域】,具體涉及一種適用于光通信的高吞吐率LDPC譯碼器。
【背景技術】
[0002]一個完整的通信系統包括信源、信源編碼、前向糾錯編碼、調制、信道、信道估計、均衡、解調、前向糾錯解碼、信源解碼。前向糾錯編解碼對于降低接收信號誤碼率有很大的幫助。
[0003]低密度奇偶校驗碼(LDPC Code)是由Robert G.Gallager博士于1963年提出的一類具有稀疏校驗矩陣的線性分組碼,其特點是逼近Shannon限的良好性能、低的譯碼復雜度、靈活的硬件結構,是近年信道編碼領域的研究熱點,目前已廣泛應用于深空通信、光纖通信、衛星數字視頻和音頻廣播等領域。LDPC碼也是第四代通信系統強有力的競爭者。
[0004]LDPC碼是通過校驗矩陣定義的一類線性碼,為使譯碼可行,在碼長較長時需要校驗矩陣滿足“稀疏性”,即校驗矩陣中I的密度比較低,也就是要求校驗矩陣中I的個數遠小于O的個數,并且碼長越長,密度就要越低。
[0005]現代通信系統的數據量越來越大,為了保證實時性,必然要提高數據傳輸的吞吐率,在光通信中,這個要求高達lOOGbps。
[0006]LDPC譯碼器有很多提高吞吐率的方法,傳統的全并行LDPC譯碼器存在布線擁擠的問題,特別是對于WiMax這樣的碼長較長的標準。過多的校驗節點和變量節點將導致LDPC解碼器VLSI實現的面積大小并不決定于邏輯門的多少,而是布線擁擠度。
[0007]部分并行的方式解決了布線的問題,但是吞吐率卻下降了 ;比特串行的方式也可以解決布線問題,但是卻增加了延時,而且比特串行的時鐘周期可以很小,也增加了功耗。因此對于及時性要求很高的場合需要新的解決方案。
【發明內容】
[0008]本發明的目的在于提供一種高吞吐率、低功耗的適用于光通信的LDPC譯碼器。
[0009]本發明提供的適用于光通信的LDPC譯碼器,是一種全并行譯碼器,為越來越高的吞吐率需求提供一種選擇,非常適用于及時性要求很高的場合,可以應用于傳輸速率高達IOOGbps的場合,適用標準為WiMax標準5/6碼率。
[0010]本發明所提供的LDPC譯碼器,包括存儲器單元、初始化單元、節點更新單元和譯碼檢測單元,其中:
所述存儲器單元,用于存儲信道本征信息、節點間軟信息(包括校驗節點到變量節點的信息以及變量節點到校驗節點的信息)和譯碼結果;所述存儲器單元包括:用于存儲接收的信道本征信息的信道本征信息存儲單元;用于存儲節點間軟信息的節點間軟信息存儲單元,所述軟信息包括由校驗節點到變量節點的信息以及由變量節點到校驗節點的信息;用于存儲譯碼結果的譯碼結果存儲單元;每個存儲器單元的各個分別包括A、B兩部分,各自存儲一組碼字的譯碼信息;以上存儲單元均采用寄存器堆實現。
[0011]適用于光通信的高吞吐率LDPC譯碼器針對WiMax標準5/6碼率設計,校驗矩陣大小為384*2304,對應的變量節點數目為2304個,校驗節點個數為384個。信道本征信息量化方案為6比特,其中包括兩位小數位,所述信道本征信息存儲單元(A或B)的所需存儲器位寬為2304*6,共計13824比特。
[0012]節點間軟信息存儲單元(A或B)存儲包括由校驗節點到變量節點的信息R以及由變量節點到校驗節點的信息L。對于R的存儲是存儲對應校驗矩陣一行中R絕對值的最小值和次小值,均為5比特,WiMax標準中校驗矩陣每一行的行重均為20,因此每行只需要存儲兩個5位量化的最小、次小值,還有最小值位置和本行符號之積,共計16比特,需要的所述R存儲器位寬為384*16,共計6144比特。對于L的存儲是存儲對應的L的符號位,需要存儲器位寬為384*20,共計7680比特。這樣需要額外的電平恢復電路來完成完成R信息的讀取和L的信息的讀取。
[0013]所述初始化單元,為組合電路,用于將接收到的信道本征信息進行初始化,即將信道本征信息映射為初始變量節點到校驗節點的信息,并且根據初始變量節點到校驗節點信息來完成第一次的校驗節點到變量節點的信息更新。
[0014]所述節點更新單元,為組合電路,用于執行迭代譯碼過程,包括校驗節點更新單元和變量節點更新單元,校驗節點更新單元的更新結果傳遞給變量節點更新單元;變量節點更新單元的更新結果傳遞給校驗節點更新單元。兩種單元迭代工作直至譯碼完成。
[0015]所述譯碼檢測單元,為組合電路,用于檢測每次迭代結束時是否譯碼成功。譯碼檢測單元對由每次迭代產生的譯碼結果進行矩陣相乘操作,結果為零表明譯碼正確,將結果存入譯碼結果存儲單元,結果不為零表明譯碼不正確,繼續迭代直至預設的最大迭代次數。到達最大迭代次數,無論譯碼成功與否,都結束譯碼。在本發明中,最大迭代次數設置為15次。
[0016]本發明中,適用于光通信的高吞吐率LDPC譯碼器可以通過對時鐘上升沿和下降沿的分別觸發,從而實現吞吐率的提升。其實現方法包括如下步驟:
(O系統復位,讀入兩組碼字分別存儲,在時鐘正沿或負沿分別初始化兩組碼字;
(2)在時鐘正沿或負沿分別對兩組碼字進行更新;
(3)在時鐘正沿或負沿分別對兩組碼字進行譯碼成功檢驗;
(4)如果檢驗成功,在下一周期的正沿或負沿對相應碼字進行存取;
(5)接下來一個周期進行讀入新碼字,輸出譯碼成功碼字。
[0017]本發明中,適用于光通信的高吞吐率LDPC譯碼器在同一時鐘周期內譯兩組碼,從而可以將吞吐率翻倍。在VLSI實現上相比于傳統電路,只是增加信號選擇電路和存儲單元的面積。信號選擇電路針對所有的存儲單元輸入輸出。
[0018]本發明中,在譯碼檢驗完成后才進行碼字存儲,以降低功耗。在交替譯碼的時候需要將中間信息相互交換存儲單元,設定一個存儲單元管理信號來管理。
[0019]本次譯碼完成后,讀入的新信道本征信息需要根據存儲單元管理信號來決定存入存儲單元A還是B。
[0020]為了減少硬件開銷,本發明采用歸一化的最小和算法。【專利附圖】
【附圖說明】
[0021]圖1為本發明所述適用于光通信的高吞吐率LDPC譯碼器結構框圖。
[0022]圖2為本發明所述適用于光通信的高吞吐率LDPC譯碼器浮點仿真BER曲線。
[0023]圖3為本發明所述適用于光通信的高吞吐率LDPC譯碼器定點仿真BER曲線。
[0024]圖4為本發明所述初始化單元4結構框圖。
[0025]圖5為本發明所述節點更新單元5結構框圖。
[0026]圖6為本發明所述電平恢復單元51結構框圖。
[0027]圖7為本發明中提取的單個電平觸發沿電路系統框圖。
[0028]圖8為本發明譯碼過程中數據流程圖。
【具體實施方式】
[0029]如圖1所示,系統復位后,所有控制信號重置,開始讀入碼字,信道本征信息存儲單元All在時鐘正沿讀入第一組信道本征信息并存儲,信道本征信息存儲單元All在緊接著的時鐘負沿讀入第二組信道本征信息并存儲,兩組信息的每個有用信號均為6位有符號數。
[0030]進一步地,在接下來的時鐘正沿,信道本征信息存儲單元All的數據進入初始化單元開始進行初始化。如圖4所示,本征信道信息先進過循環移位,這是由于WiMax標準中校驗矩陣的特性決定的=WiMax標準校驗矩陣由子單位陣進行循環移位得到。進過循環移位后的信道本征信息就是第一次的L信息,經過比較大小就得到第一次迭代的R信息。
[0031]進一步地,在接下來的時鐘負沿,將得到的L和R信息存入節點間軟信息存儲單元B22,同時開始讀取第二組碼字的信道本征信息,計算第二組碼字的L和R信息在下一時鐘的正沿存入節點間軟信息存儲單元A21。L的計算需要利用ADDER_F0R_L 52,R的計算需要利用 C0MPARE_F0R_R 54,S 的計算需要利用 ADDER_F0R_S 53。
[0032]進一步地,在接下來的時鐘正沿,第二組碼字的L和R信息存入節點間軟信息存儲單元A21,節點更新單元讀取第一組碼字的L和R信息,并經過恢復,開始計算新的L和R值,同時還計算后驗信息S,這個信息需要提供給譯碼檢測單元6進行硬判決。
[0033]進一步地,在接下來的時鐘負沿,關于第一組碼字的新的L和R值存入節點間軟信息存儲單元B22,并且第一組碼字的第一次迭代后驗信息也會傳給譯碼檢測單元6進行硬判決。與此同時,關于第二組碼字的L和R值將會讀取出,并進行新的L和R值以及后驗信息S的運算。
[0034]進一步地,在接下來的時鐘正沿,關于第二組碼字的新的L和R值將會存入節點間軟信息存儲單元A21,并且第一組碼字的第一次迭代后驗信息也會傳給譯碼檢測單元6進行硬判決。與此同時,關于第二組碼字的L和R值將會讀取出,并進行新的L和R值以及后驗信息S的運算。
[0035]迭代運算就以上述方式進行直到最大迭代次數或者在未達到最大迭代次數時譯碼成功。
[0036]在迭代運算進行的過程中,譯碼檢測的結果是延后一個周期的。
[0037]在迭代運算進行的過程中,并且需要有存儲單元管理信號來確定第一組或者第二組碼字在使用哪一組存儲單元,這是為了方便在某一組碼字譯碼結束后確定新進入的碼字使用那組存儲單元。
[0038]在迭代運算過程中,還設立了計數模塊,計數模塊設置為O到15變化,達到15則清零。在計數模塊為O的時候,為初始化狀態。
[0039]在達到最大迭代次數的時候,不需要進行譯碼成功檢測,直接將譯碼得到的后驗信息的符號位存起來即可得到碼字,下一周期的正沿或者負沿讀入新的碼字,并輸出譯碼完成的碼字。進一步的,根據存儲單元管理信號來確定新碼字當前可以使用的存儲模塊,避免將還在運算的碼字信息覆蓋。
[0040]如果還沒有達到最大迭代次數就已經譯碼成功,則需要提前終止迭代,此時需要再一次計算S值,因為前個時鐘沿的計算結果并沒有存儲。由于譯碼成功即表示譯碼結果收斂,所以再一次計算并不會導致結果錯誤,只是多了一個時鐘開銷。再次計算得到的S值的符號位存入譯碼結果存儲單元后,對計數模塊清零。下一時鐘沿讀入新碼字,并輸出譯碼結果。進一步地,下一個時鐘沿,新的碼字迭代運算即可開始。
[0041]綜上所述,整個譯碼器的運算步驟已經陳述完整。相比于傳統電路,本發明有如下特點:
1、吞吐率
由于利用到時鐘的正沿和負沿,同一個時鐘周期內本發明可以同時處理兩個碼字,所以譯碼器吞吐率提高一倍,如果可以再內部加上流水線,還可以進一步提高吞吐率。
[0042]2、面積
傳統全并行LDPC譯碼器的VLSI結構布線問題在這里被解決,本發明增加了存儲單元的數量,可以明顯解決芯片面積不由邏輯門數目決定的弊端。
[0043]3、時鐘
相比于傳統電路,為了達到相同的吞吐率,VLSI實現時,本發明需求的時鐘周期只是傳統電路的一半,降低系統對于時鐘的嚴苛要求。
[0044]本發明的方法并不僅限于WiMax標準,可以應用各類LDPC標準。
【權利要求】
1.一種適用于光通信的高吞吐率LDPC譯碼器,其特征在于,包括存儲器單元、初始化單元、節點更新單元和譯碼檢測單元;其中: 所述存儲器單元,用于存儲信道本征信息、節點間軟信息和譯碼結果;包括:用于存儲接收的信道本征信息的信道本征信息存儲單元;用于存儲節點間軟信息的節點間軟信息存儲單元,所述軟信息包括由校驗節點到變量節點的信息以及由變量節點到校驗節點的信息;用于存儲譯碼結果的譯碼結果存儲單元;每個存儲器單元的各個部分分別包括A、B兩部分,各自存儲一組碼字的譯碼信息;以上存儲單元均采用寄存器堆實現; 所述初始化單元,為組合電路,用于將接收到的信道本征信息進行初始化,即將信道本征信息映射為初始變量節點到校驗節點的信息,并且根據初始變量節點到校驗節點信息來完成第一次的校驗節點到變量節點的信息更新; 所述節點更新單元,為組合電路,用于執行迭代譯碼過程,包括校驗節點更新單元和變量節點更新單元,校驗節點更新單元的更新結果傳遞給變量節點更新單元;變量節點更新單元的更新結果傳遞給校驗節點更新單元;兩種單元迭代工作直至譯碼完成; 所述譯碼檢測單元,為組合電路,用于檢測每次迭代結束時是否譯碼成功;譯碼檢測單元對由每次迭代產生的譯碼結果進行矩陣相乘操作,結果為零表明譯碼正確,將結果存入譯碼結果存儲單元,結果不為零表明譯碼不正確,繼續迭代直至預設的最大迭代次數。
2.根據權利要求1所述的適用于光通信的高吞吐率LDPC譯碼器,其特征在于,所述信道本征信息存儲單元的所需存儲器位寬為2304*6,共計13824比特。
3.根據權利要求1所述的適用于光通信的高吞吐率LDPC譯碼器,其特征在于,所述節點間軟信息存儲單元存儲包括由校驗節點到變量節點的信息R以及由變量節點到校驗節點的信息L ;對于R的存儲是存儲對應校驗矩陣一行中R絕對值的最小值和次小值,均為5比特,R存儲器位寬為384*16,共計6144比特;對于L的存儲是存儲對應的L的符號位,存儲器位寬為384*20,共計7680比特。
4.根據權利要求1所述的適用于光通信的高吞吐率LDPC譯碼器,其特征在于,在同一時鐘周期內譯兩組碼,使吞吐率翻倍。
5.根據權利要求1所述的適用于光通信的高吞吐率LDPC譯碼器,其特征在于,在譯碼檢驗完成后才進行碼字存儲,以降低功耗。
6.根據權利要求1所述適用于光通信的高吞吐率LDPC譯碼器,其特征在于,在交替譯碼的時候將中間信息相互交換存儲單元,設定一個存儲單元管理信號來管理。
7.根據權利要求1所述適用于光通信的高吞吐率LDPC譯碼器,其特征在于,讀入的新信道本征信息需要根據存儲單元管理信號來決定存入存儲單元A還是B。
8.基于權利要求1所述的適用于光通信的高吞吐率LDPC譯碼器的提升吞吐率的方法,其特征在于,具體步驟為: (1)系統復位,讀入兩組碼字分別存儲,在時鐘正沿或負沿分別初始化兩組碼字; (2)在時鐘正沿或負沿分別對兩組碼字進行更新; (3)在時鐘正沿或負沿分別對兩組碼字進行譯碼成功檢驗; (4)如果檢驗成功,在下一周期的正沿或負沿對相應碼字進行存取; (5)接下來一個周期進行讀入新碼字,輸出譯碼成功碼字。
【文檔編號】H03M13/11GK103475378SQ201310408126
【公開日】2013年12月25日 申請日期:2013年9月9日 優先權日:2013年9月9日
【發明者】陳赟, 吳迪, 丁娜, 曾曉洋 申請人:復旦大學