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

分層的低密度校驗碼譯碼器及譯碼處理方法

文檔序號:7510363閱讀:482來源:國知局

專利名稱::分層的低密度校驗碼譯碼器及譯碼處理方法
技術領域
:本發(fā)明涉及一種通信
技術領域
的譯碼器及譯碼處理方法,具體涉及一種分層的低密度校驗碼譯碼器及譯碼處理方法。
背景技術
:LDPC碼(lowdensityparitycheckcodes,低密度校驗碼)是1963年Gallager首先提出的一種編碼技術,它可用作多種通信系統(tǒng)或信息存IC系統(tǒng)的糾錯/檢錯技術,由于它具有逼近信道極限的性能,成為近十年來最受關注的一項熱門技術。LDPC碼譯碼器通常有三種結構形式串行結構、全并行結構、部分并行結構。串行結構LDPC碼譯碼器結構簡單,硬件資源消耗較少,但譯碼速度慢,可支持的數(shù)據(jù)吞吐量較低;全并行結構譯碼速度很快,吞吐量很高,但結構復雜、硬件資源消耗非常大;部分并行結構可在譯碼處理速度和能支持數(shù)據(jù)吞吐量之間取得折中,它的復雜度和硬件資源消耗介于串行結構和全并行結構之間。因此,部分并行結構是目前LDPC碼譯碼器設計中比較通用的方案。經(jīng)對現(xiàn)有技術的文獻檢索發(fā)現(xiàn),DaleE.Hocevar在《IEEEWorkshoponSignalProcessingSystems(SIPS)》2004.Pages:107—112上提出的"AreducedcomplexitydecoderarchitecturevialayereddecodingofU)PCcodes"(—種采用分層譯碼的低復雜度LDPC譯碼器結構,DaleE.Hocevar,2004年IEEE信號處理與系統(tǒng)研討會,第107-112頁)給出了一種基于分層置信傳播算法的LDPC譯碼器。該譯碼器主要由校驗更新塊、比特更新塊、校驗節(jié)點信息存儲器、比特節(jié)點后驗概率似然比存儲器以及兩個互聯(lián)網(wǎng)絡和兩個移位器組成。研究結果表明基于分層譯碼算法的部分并行LDPC碼譯碼器所需的迭代次數(shù)僅為一般譯碼器的一半左右。但是該譯碼器結構不能同時進行信息節(jié)點信息和校驗節(jié)點信息的更新,而且,由于該譯碼器存儲的是信息節(jié)點的后驗概率似然比,而且每個信息節(jié)點都需要有獨立的存儲器,因而會消耗比較多的存儲器資源。另外,由于該譯碼器同時使用到了互聯(lián)網(wǎng)絡和移位器完成操作,會消耗比較多的硬件資源。
發(fā)明內(nèi)容本發(fā)明針對現(xiàn)有技術的不足,提出一種分層的低密度校驗碼譯碼器及譯碼處理方法,使其采用分層帶修正的最小和算法(L醒SA),適應多種碼率和碼長的LDPC碼譯碼;另外,由于采用分層的譯碼算法,可同時進行信息節(jié)點信息和校驗節(jié)點信息的更新處理,從而大大提高處理效率并減少譯碼器實現(xiàn)所需的硬件資源消耗。本發(fā)明是通過以下技術方案實現(xiàn)的-本發(fā)明涉及的分層的低密度校驗碼譯碼器,包括處理模塊、第一存儲單元、第二存儲單元以及第一交織網(wǎng)絡、第二交織網(wǎng)絡。處理模塊的個數(shù)等于譯碼器的并行度k。第一存儲單元將本層迭代(記H矩陣的列重為ColWt,則H矩陣包含ColWt層,每層的行數(shù)相同,且每層的列重為l)時信息節(jié)點傳遞給校驗節(jié)點的軟值即比特更新值輸出給處理模塊。處理模塊將本層迭代時校驗節(jié)點傳遞給信息節(jié)點的軟值即校驗更新值輸出給第二存儲單元。第二存儲單元將上次迭代中由下一層校驗節(jié)點傳遞給信息節(jié)點的校驗更新值,經(jīng)第二交織網(wǎng)絡傳遞給處理模塊。處理模塊再將本次迭代中由信息節(jié)點傳遞給下一層校驗節(jié)點的比特更新值,經(jīng)第一交織網(wǎng)絡傳遞給第一存儲單元。第一交織網(wǎng)絡和第二交織網(wǎng)絡用于調整輸入或輸出數(shù)據(jù)的順序。所述的第一存儲單元存放比特更新值,并根據(jù)當前迭代層數(shù)向處理模塊提供相應的比特更新值;所述的第二存儲單元存放校驗更新值,并根據(jù)當前迭代層數(shù)向處理模塊提供相應的校驗更新值;所述的第一交織網(wǎng)絡用于將處理模塊輸出的比特更新值正確交換到第一存儲單元的相應位置;所述的第二交織網(wǎng)絡用于將存儲在第二存儲單元中的校驗更新值正確交換傳遞給對應的處理模塊;所述的處理模塊根據(jù)比特更新值計算校驗更新值,傳遞給第二存儲單元暫存,并根據(jù)計算得到的校驗更新值,更新信息節(jié)點的后驗概率似然比,再由更新后信息節(jié)點的后驗概率似然比和來自第二存儲單元的校驗更新值,更新比特更新值,傳遞給第一存儲單元存儲。所述的處理模塊包括2選1選擇器模塊、校驗節(jié)點信息計算模塊、數(shù)字格式轉換模塊以及信息節(jié)點信息計算模塊。2選1選擇器模塊根據(jù)當前迭代次數(shù),在初始數(shù)據(jù)和第一存儲單元輸出的數(shù)據(jù)間進行選擇,并將選擇的結果輸出給校驗節(jié)點信息計算模塊。校驗節(jié)點信息計算模塊用于計算校驗更新值,并將校驗更新值輸出給數(shù)字格式轉換模塊。數(shù)字格式轉換模塊將校驗更新值的格式由符號加上絕對值的數(shù)字格式轉換成補碼的形式,輸出給第二存儲單元和信息節(jié)點信息計算模塊。信息節(jié)點信息計算模塊用于計算比特更新值,并將其輸出給第一交織網(wǎng)絡。所述的2選1選擇器模塊對輸入的數(shù)據(jù)進行選擇。如果是第一次迭代時對第一層進行譯碼,則選擇初始數(shù)據(jù)(信道值),否則選擇從第一存儲單元中讀出的比特更新值作為模塊的輸出。所述的校驗節(jié)點信息計算模塊包括緩存器、第一比較器、第一寄存器、第一2選1選擇器、第二寄存器、第二比較器和乘法器。緩存器用于存放比特更新值,其長度等于與當前校驗節(jié)點相連的信息節(jié)點的個數(shù)(即等于H矩陣的行重RowWt)。第一比較器的一個輸入是當前的比特更新值,另一個輸入是校驗節(jié)點接收到信息中的當前最小值和當前次小值。第一比較器根據(jù)這兩個輸入對校驗節(jié)點接收到信息的最小值和次小值進行更新。同時第一比較器將當前比特更新值的符號位與當前最小值和當前次小值的符號位分別進行異或運算,作為更新后最小值和次小值的符號位。第一比較器的輸出傳遞給第一寄存器。第一2選1選擇器的輸入是第一寄存器的輸出,根據(jù)當前比較時刻選擇合適的用于比較的數(shù)據(jù)作為輸出,傳遞給第一比較器。當完成RowWt個數(shù)據(jù)的比較后,第一寄存器的輸出傳遞給第二寄存器,這就是與當前校驗節(jié)點相連的所有信息節(jié)點傳遞給它的信息中的最小值和次小值。第二寄存器的輸出和緩存器的輸出傳遞給第二比較器。第二比較器從校驗節(jié)點的結果中選擇合適的值傳遞給比特節(jié)點。第二比較器的具體操作方式是當來自緩存器的數(shù)據(jù)和最小值的大小相同時,第二比較器選取次小值,否則選取最小值。第二比較器還將選取出來的值的符號位與來自緩存器的數(shù)據(jù)的符號位進行異或運算,得到輸出數(shù)據(jù)的符號位。第二比較器的輸出傳遞給乘法器。乘法器將第二比較器的輸出乘以一個常數(shù),得到校驗節(jié)點傳遞給信息節(jié)點的校驗更新值。該校驗更新值和緩存器輸出的數(shù)據(jù)作為校驗節(jié)點信息計算模塊的輸出傳遞給數(shù)字格式轉換模塊。同時緩存器輸出的數(shù)據(jù)傳遞給信息節(jié)點信息計算模塊。所述的數(shù)字格式轉換模塊將校驗節(jié)點信息計算模塊的輸出經(jīng)過處理傳遞給信息節(jié)點信息計算模塊。為了處理方便,譯碼器使用的數(shù)字格式是最高位為符號位,低位為絕對值(而不是補碼的格式),因此為了方便做加法,需要進行格式轉換,將符號加上絕對值的數(shù)字格式轉換成補碼的形式。數(shù)字格式轉換模塊包括第一補碼轉換器和第二補碼轉換器,分別對校驗節(jié)點信息計算模塊的兩個輸出進行格式轉換,并將結果傳遞給信息節(jié)點信息計算模塊。所述的信息節(jié)點信息計算模塊包括第一加法器、第二加法器、數(shù)字格式轉換器和截位運算器、第三比較器、第二2選1選擇器。第一加法器將數(shù)字格式轉換模塊的兩個輸出相加,得到信息節(jié)點的后驗概率似然比傳遞給第二加法器,這個值可用來做硬判決。第二加法器的另一個輸入來自第二交織網(wǎng)絡。第二加法器將信息節(jié)點的后驗概率似然比減去來自第二交織網(wǎng)絡的校驗更新值,將結果輸出給數(shù)字格式轉換器。數(shù)字格式轉換器將補碼形式的數(shù)字轉換成符號位-絕對值形式的數(shù)字。由于在累加的過程中可能會出現(xiàn)數(shù)據(jù)位寬變大的情況,需要將數(shù)字格式轉換器的輸出經(jīng)過一個截位運算器將位寬改成原先的大小。截位運算器的工作方式由第三比較器控制。第三比較器將緩存器輸出的數(shù)據(jù)與預設數(shù)值MAX_ABS_VALUE相比較,并控制第二2選1選擇器選擇合適的符號位。如果緩存器輸出數(shù)據(jù)的絕對值比MAX_ABS_VALUE大,則啟動截位運算器對數(shù)字格式轉換器的輸出進行截位操作,并選擇緩存器輸出數(shù)據(jù)的符號位;反之則不進行截位操作,并選擇數(shù)字格式轉換器輸出數(shù)據(jù)的符號位。截位運算器和第二2選1選擇器的輸出傳遞給第一交織網(wǎng)絡。本發(fā)明涉及的分層的低密度校驗碼譯碼器的譯碼處理方法,包括以下步驟第一步,獲取譯碼器的輸入數(shù)據(jù)(信道值)。第二步,2選1選擇器模塊對輸入的數(shù)據(jù)進行選擇。如果是第一次迭代時對第一層進行譯碼,則選擇信道值作為比特更新值,否則選擇從第一存儲單元中讀出的信息作為當前迭代層的比特更新值傳遞給校驗節(jié)點信息計算模塊。第三步,校驗節(jié)點信息計算模塊根據(jù)傳遞給當前校驗節(jié)點的所有比特更新值,計算校驗更新值。經(jīng)過格式轉換后,這個校驗更新值存入第二存儲單元。第四步,利用當前層的比特更新值和第三步計算得到的校驗更新值,計算信息節(jié)點的后驗概率似然比。并根據(jù)后驗概率似然比做出硬判決。第五步,從第二存儲單元中讀出上一次迭代時對應下一層校驗節(jié)點的校驗更新值。將信息節(jié)點的后驗概率似然比減去這個校驗更新值,得到本次迭代中下一層的比特更新值。經(jīng)格式轉換和截位處理后,存入第一存儲單元。第六步,如果迭代次數(shù)達到預設值,則操作停止。如果本次迭代結束,則迭代次數(shù)加l,返回第二步開始下一次迭代對第一層的譯碼。否則,返回第二步開始本次迭代對下一層的譯碼。本發(fā)明所述的譯碼處理方法采用流水線的方式進行操作。當信息節(jié)點信息計算模塊在處理當前子矩陣(H矩陣的每一層在行方向上被劃分成若干個單元,每個單元含有k行,這樣的單元稱為子矩陣)的同時,校驗節(jié)點信息計算模塊對下一子矩陣進行處理。而當信息節(jié)點信息計算模塊處理完當前子矩陣時,校驗節(jié)點信息計算模塊將完成處理的校驗更新值通過格式轉換模塊傳遞給信息節(jié)點信息計算模塊,同時開始對再下一個子矩陣的處理。與現(xiàn)有的基于分層置信傳播算法的LDPC譯碼器相比,本發(fā)明所述的譯碼器具有以下優(yōu)點-(1)譯碼過程中第一存儲單元存儲的是比特更新值,而不是比特節(jié)點后驗概率似然比。由于比特節(jié)點后驗概率似然比的位寬要大于比特更新值的位寬,存儲比特更新值能減少對存儲器容量的需求。(2)信道輸入值沒有先存入存儲器,而是直接送入處理模塊進行信息的計算與更新,以便減少譯碼處理的延時,提高譯碼器的吞吐量。(3)處理模塊進行信息更新時采用分層帶修正的最小和算法。與采用分層置信傳播算法的譯碼器相比,能夠減少硬件資源消耗。(4)比特更新值串行輸入校驗節(jié)點信息計算模塊,以計算與當前校驗節(jié)點相連的所有信息節(jié)點比特更新值中的最小值和次小值。與一般并行輸入方式相比,串行輸入方式適用于任意的校驗矩陣結構。(5)采用兩個交織網(wǎng)絡對數(shù)據(jù)的順序進行調整。與
背景技術
里提到的基于分層置信傳播算法的LDPC譯碼器相比,省去了兩個互聯(lián)網(wǎng)絡。(6)采用流水線的方式進行譯碼處理。校驗節(jié)點信息計算模塊和信息節(jié)點信息計算模塊同時工作,能夠減少譯碼處理的延時,提高譯碼器的吞吐量。(7)適應多種碼率和碼長的低密度校驗碼譯碼。圖1是H矩陣的結構示意圖2是H矩陣中子矩陣的結構示意圖3是譯碼器的總體結構;圖4是處理模塊的結構圖。具體實施例方式下面結合附圖對本發(fā)明的實施例作詳細說明本實施例在以本發(fā)明技術方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。附圖1是現(xiàn)有適用并行度為k的譯碼器的LDPC碼校驗矩陣(H矩陣)結構圖,H矩陣的行重記為RowWt,列重記為ColWt。H矩陣包含ColWt層,每層的行數(shù)相同,同時每層的列重為1;在行方向上每一層被劃分成若干個單元,每個單元含有k行,這樣的單元稱為子矩陣,h。?;騢。,就是一個子矩陣的例子。附圖2是H矩陣中子矩陣的結構示意圖。子矩陣在列方向被劃分成N/k個小方陣(比如201,N為碼長),每個小方陣的列數(shù)為k。子矩陣中的小方陣可以是零矩陣,也可以是單位矩陣或單位陣的循環(huán)移位形式。子矩陣中非零小方陣的個數(shù)等于H矩陣的行重RowWt。附圖3給出的是譯碼器的總體結構圖,本實施例譯碼器由多個處理模塊、第一存儲單元301、第二存儲單元302以及第一交織網(wǎng)絡303和第二交織網(wǎng)絡304組成。處理模塊的個數(shù)等于譯碼器的并行度k。第一存儲單元301將本層迭代時信息節(jié)點傳遞給校驗節(jié)點的軟值即比特更新值輸出給處理模塊。處理模塊將本層迭代時校驗節(jié)點傳遞給信息節(jié)點的軟值即校驗更新值輸出給第二存儲單元302。第二存儲單元302將上次迭代中由下一層校驗節(jié)點傳遞給信息節(jié)點的校驗更新值,經(jīng)第二交織網(wǎng)絡304傳遞給處理模塊。處理模塊再將本次迭代中由信息節(jié)點傳遞給下一層校驗節(jié)點的比特更新值,經(jīng)第一交織網(wǎng)絡303傳遞給第一存儲單元301。第一交織網(wǎng)絡303和第二交織網(wǎng)絡304用于調整輸入或輸出數(shù)據(jù)的順序。由于采用L醒SA算法,因此,本實施例整個譯碼器的譯碼處理與信息傳遞過程是這樣的假設譯碼器的并行度是k,在譯碼的時候,一個碼將被分成N/k段,每段的長度是k。在首次迭代中,譯碼器首先在第1RowWt個時鐘周期內(nèi),按順序在每個時鐘周期讀入對應子矩陣h。。中非零小方陣的k個信息;接著在第RowWt+l2*RowWt個時鐘周期內(nèi),按順序在每個時鐘周期讀入對應子矩陣h。,中非零小方陣的k個信息;以此類推,直到整個碼字的信息全部進入譯碼器為止。輸入譯碼器的每個數(shù)據(jù)都會進入相應的處理模塊進行迭代,即k個信息中對應于某一子矩陣第m個校驗節(jié)點的數(shù)據(jù)將進入處理模塊m進行處理。附圖4給出的是處理模塊的結構圖,包括2選1選擇器模塊401、校驗節(jié)點信息計算模塊、數(shù)字格式轉換模塊以及信息節(jié)點信息計算模塊。2選1選擇器模塊401根據(jù)當前迭代次數(shù),在初始數(shù)據(jù)和第一存儲單元輸出的數(shù)據(jù)間進行選擇,并將選擇的結果輸出給校驗節(jié)點信息計算模塊。校驗節(jié)點信息計算模塊用于計算校驗更新值,并將校驗更新值輸出給數(shù)字格式轉換模塊。數(shù)字格式轉換模塊將校驗更新值的格式由符號加上絕對值的數(shù)字格式轉換成補碼的形式,輸出給第二存儲單元和信息節(jié)點信息計算模塊。信息節(jié)點信息計算模塊用于計算比特更新值,并將其輸出給第一交織網(wǎng)絡。所述處理模塊的執(zhí)行流程如下(1)選擇輸入數(shù)據(jù)2選1選擇器模塊401對輸入的數(shù)據(jù)進行選擇。如果是第一次迭代時對第一層進行譯碼,則2選1選擇器模塊401將選擇初始數(shù)據(jù)(信道值)llrChan,否則選擇從第一存儲單元301中讀出的信息11r2Chk01d。2選1選擇器模塊401的輸出11r2Check傳遞到校驗節(jié)點信息計算模塊(2)計算校驗節(jié)點傳遞給信息節(jié)點的校驗更新值圖4中的校驗節(jié)點信息計算模塊由緩存器402、第一比較器403、第一寄存器404、第一2選1選擇器405、第二寄存器406、第二比較器407和乘法器408構成,用于計算校驗節(jié)點傳遞給信息節(jié)點的校驗更新值。其中2選1選擇器模塊401的輸出11r2Check按順序存放進緩存器402中。緩存器402的長度等于與當前校驗節(jié)點相連的信息節(jié)點的個數(shù)(等于H矩陣的行重RowWt)。校驗節(jié)點信息計算模塊的操作又分如下幾步-①計算與當前校驗節(jié)點相連的所有信息節(jié)點比特更新值中的最小值和次小值由于這個譯碼器結構使用的是LMMSA算法,因此需要計算與當前校驗節(jié)點相連的所有信息節(jié)點比特更新值中的最小值和次小值。第一比較器403的一個輸入是當前信息節(jié)點傳遞給校驗節(jié)點的比特信息值11r2Check,另一個輸入是校驗節(jié)點接收到信息中的當前最小值和當前次小值。當llr2Check小于當前最小值的大小時,當前次小值更新為當前最小值,當前最小值更新為11r2Check;當11r2Check大于當前最小值但小于當前次小值的大小時,當前次小值更新為11r2Check。最小值和次小值的更新結果存入第一寄存器404。第一比較器403還有另一個作用,即將11r2Check的符號位與當前最小值和當前次小值的符號位分別進行異或運算,作為更新后最小值和次小值的符號位。第一2選1選擇器405用于選擇合適的用于比較的數(shù)據(jù)。如果比特信息值11r2Check是傳遞給某個校驗節(jié)點的第一個信息,則第一2選1選擇器405選擇11…1(1的個數(shù)等于數(shù)據(jù)的位寬)作為當前最小值和當前次小值輸出,否則第一2選1選擇器405選擇第一寄存器的輸出。當完成RowWt個數(shù)據(jù)的比較后,第一寄存器404的輸出進入第二寄存器406,這就是與當前校驗節(jié)點相連的所有信息節(jié)點傳遞給它的信息中的最小值和次小值。②計算校驗節(jié)點傳遞給信息節(jié)點的值第二寄存器406得到與當前校驗節(jié)點相連的所有信息節(jié)點傳遞給它的信息中的最小值和次小值后,從緩存器402中按順序取出相應的數(shù)據(jù)Q,同第二寄存器406傳遞過來的信息一起作為第二比較器407的輸入。第二比較器407從校驗節(jié)點的結果中選擇合適的值傳遞給比特節(jié)點,具體操作方式是當Q和最小值的大小相同時,第二比較器407將選取次小值,否則選取最小值。接下來第二比較器407將會把選取出來的值的符號位同Q的符號位進行異或運算作為這個模塊輸出值的符號位,而輸出值的絕對值大小則是第二比較器407選出值的大小。③乘性修正第二比較器407的輸出輸入到乘法器408中進行乘性修正,即將其乘以一個系數(shù)alpha,乘法器408的輸出就是校驗節(jié)點傳遞給信息節(jié)點的校驗更新值。為了能夠使譯碼器獲得良好的性能,同時保持硬件實現(xiàn)的簡單性,alpha使用的值為0.8125。這樣數(shù)X乘以0.8125的操作可以簡化為加法的操作,即XX0.8125=X〉〉l+X〉>2+X>〉4。(〉〉表示向右移位操作)(3)數(shù)字格式轉換數(shù)字格式轉換模塊包括第一補碼轉換器409和第二補碼轉換器410,乘法器408的輸出送入第一補碼轉換器409進行數(shù)字格式轉換。與之類似,緩存器402的輸出也會送入第二補碼轉換器410進行數(shù)字格式轉換。由于為了處理方便,譯碼器使用的數(shù)字格式是最高位為符號位,低位為絕對值(而不是補碼的格式),因此為了方便做加法,需要進行格式轉換,將符號加上絕對值的數(shù)字格式轉換成補碼的形式。第一補碼轉換器409的輸出11r2Msg送入第二存儲單元302保存。(4)計算信息節(jié)點傳遞給校驗節(jié)點的比特更新值圖4中信息節(jié)點信息計算模塊由第一加法器411、第二加法器412、數(shù)字格式轉換器413和截位運算器415、第三比較器414、第二2選1選擇器416構成,用于計算比特更新值。分如下幾步1)計算信息節(jié)點的后驗概率似然比第一加法器411將第一補碼轉換器409的輸出11r2Msg與第二補碼轉換器410的輸出相加,得到信息節(jié)點的后驗概率似然比llrSum,這個值可用來做硬判決。2)計算信息節(jié)點傳遞給校驗節(jié)點的比特更新值第二加法器412的兩個輸入是llrSum和從第二存儲單元302讀出經(jīng)第二交織網(wǎng)絡304輸出到處理模塊的11r2Msg01d。第二加法器412將llrSum減去11r2Msg01d,得到比特更新值llrNew。3)數(shù)字格式轉換UrNew送入數(shù)字格式轉換器413,將補碼形式的數(shù)字轉換成符號位-絕對值形式的數(shù)字。4)溢出保護由于在累加的過程中可能會出現(xiàn)數(shù)據(jù)位寬變大的情況,因此需要將數(shù)字格式轉換器413的輸出經(jīng)過一個截位運算器415將位寬改成原先的大小。截位運算器415的工作方式由第三比較器414控制。llrAdd的絕對值送入第三比較器414,與預設數(shù)值MAX—ABS—VALUE相比較。如果llrAdd的絕對值比MAX一ABS一VALUE大,則啟動截位運算器415對數(shù)字格式轉換器413的輸出進行截位操作;反之則不進行截位操作。第三比較器414還控制了第二2選1選擇器416。如果llrAdd的絕對值比MAX_ABS_VALUE大,第二2選1選擇器416選擇llrAdd的符號位輸出;反之,選擇數(shù)字格式轉換器413輸出的符號位作為輸出。截位運算器415的輸出為11r2Chk的絕對值,11r2Chk的符號位則為第二2選1選擇器416的輸出。11r2Chk經(jīng)第一交織網(wǎng)絡303送入第一存儲單元301保存。假設現(xiàn)在有一個碼長為2304的(3,6)LDPC碼,現(xiàn)在要對這個碼進行譯碼,并行度為32,層數(shù)為3。那么,譯碼器的參數(shù)設置及處理過程如下表一處理模塊<table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>首先,接收到的碼字將會被順序分割成72個子碼塊,每個子碼塊對應32個信息節(jié)點。對這些子碼塊進行循環(huán)移位和交換順序操作后,使得第16個子碼塊的第i個信息位對應的信息節(jié)點與第i個校驗節(jié)點相連,第712個子碼塊的第i個信息位對應的信息節(jié)點與第i+32個校驗節(jié)點相連,以此類推(圖4中用llrChan表示)。在第一個時鐘周期,第一個子碼塊將會輸入譯碼器的處理模塊,其中第i個信息位將會被輸入到第i個處理模塊中去。在下一個時鐘周期第二個子碼塊將被送入譯碼器的處理模塊,直到第72個周期為止。進入處理模塊的比特更新值將由處理模塊處理。由于采用的是LMMSA算法,在處理過程中,更新后的校驗節(jié)點傳遞給信息節(jié)點的校驗更新值11r2Msg將被存入第二存儲單元302。接著,處理模塊讀入在前一次迭代時由H矩陣下一層中的某個校驗節(jié)點傳遞給當前信息節(jié)點的校驗更新值11r2Msg01d(這個值在前一次迭代過程中己被存入第二存儲單元302)。經(jīng)過處理,得到更新后的信息節(jié)點傳遞給校驗節(jié)點的比特更新值llr2Chk,并將其存入第一存儲單元301中。如此循環(huán)72個周期后,就完成了一層的譯碼。之后會進行下一層的譯碼,此時處理模塊將會讀入存儲在第一存儲單元301中的信息節(jié)點傳遞給校驗節(jié)點的比特更新值llr2Chk01d(而不是信道傳遞過來的信息llrChan)。三層的譯碼結束以后,就完成了一次迭代。之后,處理模塊將會開始第二次迭代,以此類推,直到迭代結束。處理模塊的具體操作過程是這樣的進入處理模塊的比特更新值11r2Check按順序存放進緩存器402中。緩存器402的長度等于6。同時,比特更新值11r2Check傳遞給第一比較器403。如果11r2Check小于當前最小值的大小時,當前次小值更新為當前最小值,當前最小值更新為Ur2Check;當11r2Check大于當前最小值但小于當前次小值的大小時,當前次小值更新為11r2Check。最小值和次小值的更新結果存入第一寄存器404。第一比較器403還將llr2Check的符號位與當前最小值和當前次小值的符號位分別進行異或運算,作為更新后最小值和次小值的符號位。在第一寄存器404進行比較時,第一2選1選擇器405會選擇合適的用于比較的數(shù)據(jù)。如果比特信息值11r2Check是傳遞給某個校驗節(jié)點的第一個信息,則第一2選1選擇器405選擇11…1(1的個數(shù)等于數(shù)據(jù)的位寬)作為當前最小值和當前次小值輸出,否則第一2選1選擇器405選擇第一寄存器的輸出。當完成6個數(shù)據(jù)的比較后,第一寄存器404的輸出進入第二寄存器406。第二寄存器406得到與當前校驗節(jié)點相連的所有信息節(jié)點傳遞給它的信息中的最小值和次小值后,從緩存器402中按順序取出相應的數(shù)據(jù)Q,同第二寄存器406傳遞過來的信息一起作為第二比較器407的輸入。第二比較器407從校驗節(jié)點的結果中選擇合適的值傳遞給比特節(jié)點,具體操作方式是當Q和最小值的大小相同時,第二比較器407將選取次小值,否則選取最小值。接下來第二比較器407將會把選取出來的值的符號位同Q的符號位進行異或運算作為這個模塊輸出值的符號位,而輸出值的絕對值大小則是第二比較器407選出值的大小。第二比較器407的輸出輸入到乘法器408中進行乘性修正,即將其乘以0.8125,乘法器408的輸出就是校驗節(jié)點傳遞給信息節(jié)點的校驗更新值。乘法器408和緩存器402的輸出分別送入第一補碼轉換器409和第二補碼轉換器410進行數(shù)字格式轉換。第一補碼轉換器409的輸出11r2Msg送入第二存儲單元302保存。第一加法器411將第一補碼轉換器409的輸出11r2Msg與第二補碼轉換器410的輸出相加,得到信息節(jié)點的后驗概率似然比llrSum,這個值可用來做硬判決。第二加法器412的兩個輸入是llrSum和從第二存儲單元302讀出經(jīng)第二交織網(wǎng)絡304輸出到處理模塊的Ur2Msg01d。第二加法器412將llrSum減去ilr2Msg01d,得到比特更新值llrNew。llrNew送入數(shù)字格式轉換器413,將補碼形式的數(shù)字轉換成符號位-絕對值形式的數(shù)字。數(shù)字格式轉換器413的輸出經(jīng)過一個截位運算器415將位寬改成原先的大小。截位運算器415的工作方式由第三比較器414控制。llrAdd的絕對值送入第三比較器414,與預設數(shù)值MAX—ABS—VALUE相比較。如果llrAdd的絕對值比MAX—ABS—VALUE大,則啟動截位運算器415對數(shù)字格式轉換器413的輸出進行截位操作;反之則不進行截位操作。第三比較器414還控制了第二2選1選擇器416。如果llrAdd的絕對值比MAX—ABS—VALUE大,第二2選1選擇器416選擇llrAdd的符號位輸出;反之,選擇數(shù)字格式轉換器413輸出的符號位作為輸出。截位運算器415的輸出為11r2Chk的絕對值,11r2Chk的符號位則為第二2選1選擇器416的輸出。11r2Chk經(jīng)第一交織網(wǎng)絡303送入第一存儲單元301保存。所述的譯碼處理方法采用流水線的方式進行操作。當信息節(jié)點信息計算模塊在處理當前子矩陣的同時,校驗節(jié)點信息計算模塊對下一子矩陣進行處理。而當信息節(jié)點信息計算模塊處理完當前子矩陣時,校驗節(jié)點信息計算模塊將完成處理的校驗更新值通過格式轉換模塊傳遞給信息節(jié)點信息計算模塊,同時開始對再下一個子矩陣的處理。在本實施例中,如果比特更新值的位寬定為6比特,比特節(jié)點后驗概率似然比的位寬為7比特,則第一存儲單元總的大小為6*32*72=13824比特,第二存儲單元總的大小為6*32*216=41472比特。如果存儲比特節(jié)點后驗概率似然比,則存儲器的大小需要增加2304比特。采用存儲比特更新值的方式相比節(jié)省了4%的存儲器資源。在本實施例中,信道輸入值沒有先存入存儲器,而是直接送入處理模塊進行信息的計算與更新,減少了72個時鐘周期的延時。在本實施例中,處理模塊進行信息更新時采用分層帶修正的最小和算法。與采用分層置信傳播算法的譯碼器相比,能夠減少硬件資源消耗。在本實施例中,比特更新值串行輸入校驗節(jié)點信息計算模塊,以計算與當前校驗節(jié)點相連的所有信息節(jié)點比特更新值中的最小值和次小值。與一般并行輸入方式相比,串行輸入方式適用于任意的校驗矩陣結構。在本實施例中,采用兩個交織網(wǎng)絡對數(shù)據(jù)的順序進行調整。與
背景技術
里提到的基于分層置信傳播算法的LDPC譯碼器相比,省去了兩個互聯(lián)網(wǎng)絡,能夠減少硬件資源消耗。在本實施例中,采用流水線的方式進行譯碼處理。校驗節(jié)點信息計算模塊和信息節(jié)點信息計算模塊同時工作,完成一次迭代僅需216個時鐘周期,提高了譯碼器的吞吐量。權利要求1、一種分層的低密度校驗碼譯碼器,其特征在于,包括處理模塊、第一存儲單元、第二存儲單元以及第一交織網(wǎng)絡、第二交織網(wǎng)絡,處理模塊的個數(shù)等于譯碼器的并行度k,第一存儲單元將本層迭代時信息節(jié)點傳遞給校驗節(jié)點的軟值即比特更新值輸出給處理模塊,處理模塊將本層迭代時校驗節(jié)點傳遞給信息節(jié)點的軟值即校驗更新值輸出給第二存儲單元,第二存儲單元將上次迭代中由下一層校驗節(jié)點傳遞給信息節(jié)點的校驗更新值,經(jīng)第二交織網(wǎng)絡傳遞給處理模塊,處理模塊再將本次迭代中由信息節(jié)點傳遞給下一層校驗節(jié)點的比特更新值,經(jīng)第一交織網(wǎng)絡傳遞給第一存儲單元,第一交織網(wǎng)絡和第二交織網(wǎng)絡用于調整輸入或輸出數(shù)據(jù)的順序;其中所述的第一存儲單元存放比特更新值,并根據(jù)當前迭代層數(shù)向處理模塊提供相應的比特更新值;所述的第二存儲單元存放校驗更新值,并根據(jù)當前迭代層數(shù)向處理模塊提供相應的校驗更新值;所述的第一交織網(wǎng)絡用于將處理模塊輸出的比特更新值正確交換到第一存儲單元的相應位置;所述的第二交織網(wǎng)絡用于將存儲在第二存儲單元中的校驗更新值正確交換傳遞給對應的處理模塊;所述的處理模塊根據(jù)比特更新值計算校驗更新值,傳遞給第二存儲單元暫存,并根據(jù)計算得到的校驗更新值,更新信息節(jié)點的后驗概率似然比,再由更新后信息節(jié)點的后驗概率似然比和來自第二存儲單元的校驗更新值,更新比特更新值,傳遞給第一存儲單元存儲。2、根據(jù)權利要求1所述的分層的低密度校驗碼譯碼器,其特征是,所述的處理模塊包括2選1選擇器模塊、校驗節(jié)點信息計算模塊、數(shù)字格式轉換模塊以及信息節(jié)點信息計算模塊,其中2選1選擇器模塊根據(jù)當前迭代次數(shù),在初始數(shù)據(jù)和第一存儲單元輸出的數(shù)據(jù)間進行選擇,并將選擇的結果輸出給校驗節(jié)點信息計算模塊,校驗節(jié)點信息計算模塊用于計算校驗更新值,并將校驗更新值輸出給數(shù)字格式轉換模塊,數(shù)字格式轉換模塊將校驗更新值的格式由符號加上絕對值的數(shù)字格式轉換成補碼的形式,輸出給第二存儲單元和信息節(jié)點信息計算模塊,信息節(jié)點信息計算模塊用于計算比特更新值,并將其輸出給第一交織網(wǎng)絡。3、根據(jù)權利要求2所述的分層的低密度校驗碼譯碼器,其特征是,所述的2選1選擇器模塊對輸入的數(shù)據(jù)進行選擇,如果是第一次迭代時對第一層進行譯碼,則選擇初始數(shù)據(jù)即信道值,否則選擇從第一存儲單元中讀出的比特更新值作為模塊的輸出。4、根據(jù)權利要求2所述的分層的低密度校驗碼譯碼器,其特征是,所述的校驗節(jié)點信息計算模塊包括緩存器、第一比較器、第一寄存器、第一2選1選擇器、第二寄存器、第二比較器和乘法器,其中緩存器用于存放比特更新值,其長度等于與當前校驗節(jié)點相連的信息節(jié)點的個數(shù)即等于H矩陣的行重RowWt,第一比較器的一個輸入是當前的比特更新值,另一個輸入是校驗節(jié)點接收到信息中的當前最小值和當前次小值,第一比較器根據(jù)這兩個輸入對校驗節(jié)點接收到信息的最小值和次小值進行更新,同時第一比較器將當前比特更新值的符號位與當前最小值和當前次小值的符號位分別進行異或運算,作為更新后最小值和次小值的符號位,第一比較器的輸出傳遞給第一寄存器,第一2選1選擇器的輸入是第一寄存器的輸出,第一2選1選擇器根據(jù)當前比較時刻選擇用于比較的數(shù)據(jù)作為輸出,傳遞給第一比較器,當完成RowWt個數(shù)據(jù)的比較后,第一寄存器的輸出傳遞給第二寄存器,這就是與當前校驗節(jié)點相連的所有信息節(jié)點傳遞給它的信息中的最小值和次小值,第二寄存器的輸出和緩存器的輸出傳遞給第二比較器,第二比較器從校驗節(jié)點的結果中選擇值傳遞給比特節(jié)點,第二比較器的輸出傳遞給乘法器,乘法器將第二比較器的輸出乘以一個常數(shù),得到校驗節(jié)點傳遞給信息節(jié)點的校驗更新值,該校驗更新值和緩存器輸出的數(shù)據(jù)作為校驗節(jié)點信息計算模塊的輸出傳遞給數(shù)字格式轉換模塊,同時緩存器輸出的數(shù)據(jù)傳遞給信息節(jié)點信息計算模塊。5、根據(jù)權利要求4所述的分層的低密度校驗碼譯碼器,其特征是,所述第二比較器從校驗節(jié)點的結果中選擇值傳遞給比特節(jié)點,具體操作方式是當來自緩存器的數(shù)據(jù)和最小值的大小相同時,第二比較器選取次小值,否則選取最小值,第二比較器還將選取出來的值的符號位與來自緩存器的數(shù)據(jù)的符號位進行異或運算,得到輸出數(shù)據(jù)的符號位。6、根據(jù)權利要求2所述的分層的低密度校驗碼譯碼器,其特征是,所述的數(shù)字格式轉換模塊包括第一補碼轉換器和第二補碼轉換器,分別對校驗節(jié)點信息計算模塊的兩個輸出進行格式轉換,并將結果傳遞給信息節(jié)點信息計算模塊。7、根據(jù)權利要求2所述的分層的低密度校驗碼譯碼器,其特征是,所述的信息節(jié)點信息計算模塊包括第一加法器、第二加法器、數(shù)字格式轉換器和截位運算器、第三比較器、第二2選1選擇器,其中第一加法器將數(shù)字格式轉換模塊的兩個輸出相加,得到信息節(jié)點的后驗概率似然比傳遞給第二加法器,第二加法器的另一個輸入來自第二交織網(wǎng)絡,第二加法器將信息節(jié)點的后驗概率似然比減去來自第二交織網(wǎng)絡的校驗更新值,將結果輸出給數(shù)字格式轉換器,數(shù)字格式轉換器將補碼形式的數(shù)字轉換成符號位-絕對值形式的數(shù)字,數(shù)字格式轉換器的輸出經(jīng)過一個截位運算器將位寬改成原先的大小,第三比較器將緩存器輸出的數(shù)據(jù)與預設數(shù)值MAX—ABS—VALUE相比較,并控制第二2選1選擇器選擇符號位,截位運算器和第二2選1選擇器的輸出傳遞給第一交織網(wǎng)絡。8、根據(jù)權利要求7所述的分層的低密度校驗碼譯碼器,其特征是,所述截位運算器的工作方式由第三比較器控制,如果緩存器輸出數(shù)據(jù)的絕對值比MAX—ABS—VALUE大,則啟動截位運算器對數(shù)字格式轉換器的輸出進行截位操作,并選擇緩存器輸出數(shù)據(jù)的符號位;反之則不進行截位操作,并選擇數(shù)字格式轉換器輸出數(shù)據(jù)的符號位。9、一種如權利要求1所述的分層的低密度校驗碼譯碼器的譯碼處理方法,其特征在于,包括以下步驟第一步,獲取譯碼器的輸入數(shù)據(jù)即信道值;第二步,2選1選擇器模塊對輸入的數(shù)據(jù)進行選擇,如果是第一次迭代時對第一層進行譯碼,則選擇信道值作為比特更新值,否則選擇從第一存儲單元中讀出的信息作為當前迭代層的比特更新值傳遞給校驗節(jié)點信息計算模塊;第三步,校驗節(jié)點信息計算模塊根據(jù)傳遞給當前校驗節(jié)點的所有比特更新值,計算校驗更新值,經(jīng)過格式轉換后,這個校驗更新值存入第二存儲單元;第四步,利用當前層的比特更新值和第三步計算得到的校驗更新值,計算信息節(jié)點的后驗概率似然比,并根據(jù)后驗概率似然比做出硬判決;第五步,從第二存儲單元中讀出上一次迭代時對應下一層校驗節(jié)點的校驗更新值,將信息節(jié)點的后驗概率似然比減去這個校驗更新值,得到本次迭代中下一層的比特更新值,經(jīng)格式轉換和截位處理后,存入第一存儲單元;第六步,如果迭代次數(shù)達到預設值,則操作停止,如果本次迭代結束,則迭代次數(shù)加l,返回第二步開始下一次迭代對第一層的譯碼,否則,返回第二步開始本次迭代對下一層的譯碼。10、根據(jù)權利要求9所述的分層的低密度校驗碼譯碼器的譯碼處理方法,其特征是,所述的譯碼處理方法采用流水線的方式進行操作,信息節(jié)點信息計算模塊在處理當前子矩陣的同時,校驗節(jié)點信息計算模塊對下一子矩陣進行處理,而當信息節(jié)點信息計算模塊處理完當前子矩陣時,校驗節(jié)點信息計算模塊則完成處理的校驗更新值通過格式轉換模塊傳遞給信息節(jié)點信息計算模塊,同時開始對再下一個子矩陣的處理。全文摘要一種通信
技術領域
的分層的低密度校驗碼譯碼器及譯碼處理方法,其中處理模塊的個數(shù)等于譯碼器的并行度k,第一存儲單元將本層迭代時信息節(jié)點傳遞給校驗節(jié)點的軟值即比特更新值輸出給處理模塊,處理模塊將本層迭代時校驗節(jié)點傳遞給信息節(jié)點的軟值即校驗更新值輸出給第二存儲單元,第二存儲單元將上次迭代中由下一層校驗節(jié)點傳遞給信息節(jié)點的校驗更新值,經(jīng)第二交織網(wǎng)絡傳遞給處理模塊,處理模塊再將本次迭代中由信息節(jié)點傳遞給下一層校驗節(jié)點的比特更新值,經(jīng)第一交織網(wǎng)絡傳遞給第一存儲單元。所述方法中節(jié)點信息更新處理采用分層帶修正的最小和算法,同時使用了溢出保護方式。本發(fā)明大大提高處理效率并減少譯碼器實現(xiàn)所需的硬件資源消耗。文檔編號H03M13/11GK101106381SQ200710044708公開日2008年1月16日申請日期2007年8月9日優(yōu)先權日2007年8月9日發(fā)明者暉俞,倪俊楓,穎華,徐友云,甘小鶯申請人:上海交通大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
天柱县| 宜州市| 清新县| 额敏县| 清河县| 富宁县| 康定县| 格尔木市| 昌宁县| 七台河市| 佛坪县| 安溪县| 南召县| 江永县| 安新县| 台南市| 大渡口区| 南雄市| 南和县| 宜都市| 靖安县| 靖远县| 阳春市| 故城县| 阳西县| 文山县| 石河子市| 枝江市| 屯昌县| 吐鲁番市| 历史| 洪雅县| 图片| 楚雄市| 沐川县| 新和县| 鄂托克旗| 襄樊市| 如皋市| 太和县| 繁昌县|