一種qc-ldpc編碼裝置的制造方法
【技術領域】
[0001] 本實用新型設及數(shù)字信息傳輸技術領域,具體設及一種QC-LDPC編碼裝置。
【背景技術】
[0002] LDPC是低密度奇偶校驗化ow-densityparit廠check,LDPC)的英文縮寫。1962 年,Gallager在他的博±論文中第一次提出LDPC碼。由于當時的計算機運算水平比較低 下,不能滿足快速計算的需求,使得LDPC碼很長的一段時間都不被人關注。上世紀90年代 DMacKay、M化al等人重新對它進行了研究,發(fā)現(xiàn)了LDPC碼優(yōu)異的性能。目前LDPC碼是 最接近香農(nóng)極限的碼字之一,被越來越廣泛的應用在通信的標準當中。
[0003] 準循環(huán)低密度校驗(QC-LDPC)碼屬于線性分組碼,它使用校驗矩陣進行編碼。 QC-LDPC碼的校驗矩陣由一系列大小相同的方陣分塊構成。每個方陣分塊對應一個元素值, 所有的元素值組成一個基校驗矩陣。方陣分塊的大小為zXz,Z為拓展因子。當元素值為 負數(shù)的時候,其對應的方陣為零陣,否則為單位矩陣的循環(huán)右移陣,移位次數(shù)為元素值。例 如,一個Z= 4,值為1的元素所對應的方陣為:
陽〇化]為了方便編碼器的設計,QC-LDPC的基校驗矩陣元素分布具有特殊的結構。W I邸E802. 16e中1/2碼率的基校驗矩陣為例,如圖1所示,其左邊非負元素呈隨機態(tài)分布,右 邊非負元素成雙對角線分布。
[0006] 首先W拓展因子Z的大小為長度間隔對信源序列S和校驗序列P進行分段,則信 源序列和校驗碼序列可W寫成:
[0009] 其中
[0010] Si= [S((i-l)z+l), S((i-l)z巧),…,s(iz)], i= 1, 2,…,kb
[0011] Pj= [p((j-l)z+l)p((j-l)z+^...p(jz)],j= 1,2,...,IIib
[0012] LDPC碼字為一個長度為n的行向量C= [s,p]。根據(jù)碼字和校驗矩陣的關系化T =0,可得
[0013]
[0014] ZqhU為基校驗矩陣中相應元素化U按照上述介紹的拓展方法展開的子陣。運 算展開上式可W得到Hlb個方程組,將所有方程組相加,可得
[0016]由于基校驗矩陣的第kb+1列的1)和相等,且為單位矩 陣,上式可W化簡為:
[0019] 根據(jù)已經(jīng)求得的妊、片,可W依次計算出校驗序列其他分段的Pi值:
[0022] 如果定義基校驗矩陣的第j行元素的拓展子矩陣與消息序列相乘為:
[0024] 則校驗序列P的計算可W整理如下:
[00%] 在已有的技術當中,一般的編碼器包括:
[0027] (1)桶型移位器,用于計算信息序列和校驗矩陣子陣的乘積。
[00測 似累加運算單元,用于計算校驗參數(shù)入,。
[0029] (3)校驗序列計算模塊,用于計算校驗序列分組。
[0030] (4)基校驗矩陣存儲模塊,用于存儲基校驗矩陣的元素值。
[0031] (5)控制器,用于對編碼器進行控制,產(chǎn)生校驗矩陣存儲模塊的讀地址。
[0032] 已有的編碼器工作流程如下:
[0033] (1)待編碼消息輸入桶形移位器,控制器產(chǎn)生基校驗矩陣存儲模塊的讀地址,讀取 元素值完成消息序列和校驗子矩陣的乘積,計算每行乘積的累加值,直到當前待編碼消息 的最后一個分組進入,同時消息分組輸出。
[0034] 似當編碼器的消息分組輸入完畢,計算校驗序列分組并輸出,此期間不接收新的 消息輸入,直到校驗序列分組輸出完畢。
[0035] (3)重復步驟(1),似。
[0036] 已有的編碼器采用傳統(tǒng)的結構,在計算檢驗序列的時候,信息序列的輸入不能同 時進行,從而制約了編碼器的吞吐率并且硬件電路利用效率低。 【實用新型內容】
[0037] 本實用新型所要解決的技術問題是:已有的LDPC編碼器只能等待一個消息編碼 完畢后才能進行下一個消息的編碼,使得編碼效率低下,限制了LDPC編碼器的吞吐率。
[0038] 為此目的,本實用新型提出一種QC-LDPC編碼裝置,包括:編碼模塊,輸入緩存模 塊和輸出緩存模塊;
[0039] 所述輸出緩存模塊,包括:第一先入先出FIFO隊列W及第二FIFO隊列;
[0040] 所述輸入緩存模塊連接所述編碼模塊的輸入端W及所述輸出緩存模塊中的第一 先入先出FIFO隊列;
[0041] 所述編碼模塊的輸出端連接所述輸出緩存模塊中的第二FIFO隊列。
[0042] 可選的,所述第一先入先出FIFO隊列的輸出寬位是輸入位寬的兩倍;
[0043] 所述第二FIFO隊列的輸出寬位是輸入位寬的兩倍。
[0044] 可選的,所述第一先入先出FIFO隊列,用于緩存所述輸入緩存模塊發(fā)送的消息序 列;
[0045] 所述第二FIFO隊列,用于緩存所述編碼模塊生成的校驗序列。
[0046] 可選的,所述輸出緩存模塊,還包括:計數(shù)器;
[0047] 所述輸出緩存模塊,用于在所述計數(shù)器的計數(shù)值在達到預設計數(shù)值之前,讀取所 述第一先入先出FIFO隊列中存儲的消息序列并輸出;W及
[0048] 在所述計數(shù)器的計數(shù)值在達到預設計數(shù)值之后,讀取所述第二FIFO隊列中存儲 的校驗序列并輸出。
[0049] 可選的,所述輸出緩存模塊,還用于在所述第一先入先出FIFO隊列滿時,向所述 輸入緩存模塊發(fā)送提示信息,W使所述輸入緩存模塊在接收到所述提示信息之后,拒絕緩 存消息隊列。
[0050] 相比于現(xiàn)有技術,本實用新型公開的QC-LPDC編碼裝置通過在輸出緩存模塊增加 兩個FIFO隊列,在不增加編碼器工作時鐘頻率的同時,能夠提升QC-LDPC編碼的吞吐率,降 低系統(tǒng)運行的功耗,時延較低。
[0051] 進一步地,本實用新型公開的QC-LPDC編碼裝置只需要增加一些寄存器資源和一 些存儲資源,就能顯著的提高LDPC編碼器的編碼吞吐率。
[0052] 進一步地,本實用新型公開的QC-LDPC編碼裝置,能夠讓編碼模塊中的校驗參數(shù) 計算模塊和校驗序列計算模塊同時并行工作,提供高效的流水線操作,從而在不增加時鐘 的前提下,提高編碼的吞吐率。
【附圖說明】
[0053] 圖1為【背景技術】中設及的一種IE邸802. 16e中1/2碼率的基校驗矩陣示意圖;
[0054] 圖2為本實用新型一實施例提供的一種QC-LDPC編碼裝置結構圖;
[0055]圖3為本實用新型一實施例提供的一種編碼模塊的流水線結構圖;
[0056]圖4為本實用新型一實施例提供的一種輸入緩存模塊和輸出緩存模塊對外接口 采用握手方式進行數(shù)據(jù)交互的時序圖;
[0057] 圖5為本實用新型另一實施例提供的一種負責完成編碼模塊中矩陣乘法運算的 矩陣乘法模塊結構圖;
[0058] 圖6為本實用新型另一實施例提供的一種編碼模塊中校驗參數(shù)A,的計算模塊結 構;
[0059] 圖7為本實用新型另一實施例提供的一種QC-LDPC編碼裝置結構圖。
【具體實施方式】
[0060] 為使本實用新型實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本實用新 型實施例中的附圖,對本實用新型實施例中的技術方案進行清楚地描述。
[0061] 如圖2所示,本實施例公開一種QC-LDPC編碼裝置,可包括W下單元:輸入緩存模 塊、編碼模塊和輸出緩存模塊。
[0062] 輸出緩存模塊,包括:第一先入先出(FirstI噸UtFirstOu化Ut,FIFO)隊列W及 第二FIFO隊列。
[0063] 輸入緩存模塊連接編碼模塊的輸入端W及輸出緩存模塊中的第一FIFO隊列。 W64] 編碼模塊的輸出端連接輸出緩存模塊中的第二FIFO隊列。
[0065] 本實施例公開的QC-LPDC編碼裝置通過在輸出緩存模塊增加兩個FIFO隊列,在不 增加編碼器工作時鐘頻率的同時,能夠提升QC-LDPC編碼的吞吐率,降低系統(tǒng)運行的功耗, 時延較低。
[0066] 本實施例的輸入緩存模塊負責和前級進行數(shù)據(jù)交互并為編碼模塊提供待編碼的 消息序列;編碼模塊主要完成消息序列對應的校驗序列計算;輸出緩存模塊負責和后級進 行數(shù)據(jù)交互和碼字重組。
[0067] 在一個具體的例子中,第一FIFO隊列的輸出寬位是輸入位寬的兩倍;第二FIFO隊 列的輸出寬位是輸入位寬的兩倍。本實施例中,第一FIFO隊列與第二FIFO隊列的輸入位 寬均為基校驗矩陣拓展因子的大小。
[0068] 上述QC-LPDC編碼裝置通過在輸出緩存模塊增加兩個FIFO隊列,使得編碼模塊具 有流水線結構,編碼模塊的流水線結構如圖3所示。當一組消息序列完全進入編碼器后,計 算其對應的校驗參數(shù)并鎖存,在計算校驗序列的同時下一組待編碼消息序列可W繼續(xù)進入 編碼模塊。因此流水線結構的編碼器能夠提升一倍的編碼效率。 W例上述QC-LPDC編碼裝置中輸出緩存模塊的兩個FIFO隊列的輸出位寬的設計是因 為具有流水線結構的編碼模塊在峰值吞吐率的時候消息序列和校驗序列在同時灌入輸出 緩存模塊。輸出緩存模塊根據(jù)后端的情況調整碼字序列的輸出:當后端沒有準備好碼字接 收的時,輸出模塊停止發(fā)送數(shù)據(jù),此時第一FIFO隊列會隨著消息序列的不斷進入而逐漸地 變滿。輸入緩存模塊根據(jù)第一FIFO隊列狀態(tài)決定是否繼續(xù)接收前端待編碼數(shù)據(jù)。
[0070] 在一個具體的例子中,所述輸出緩存模塊,還用于在所述第一FIFO隊列滿時,向 所述輸入緩存模塊發(fā)送提示信息,W使所述輸入緩存模塊在接收到所述提示信息之后,拒 絕緩存消息隊列。
[0071] 在一個具體的例子中,所述第一先入先出FIFO隊列,用于緩存所述輸入緩存模塊 發(fā)送的消息序列;
[0072] 所述第二FIFO隊列,用于緩存所述編碼模塊生成的校驗序列。
[0073]在一個具體的例子中,圖4示出了輸入緩存模塊和輸出緩存模塊對外接口采用握 手方式進行數(shù)據(jù)交互的時序圖,其