專利名稱::Ldpc譯碼中的最小值比較方法及其實現(xiàn)裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)字信息傳輸
技術(shù)領(lǐng)域:
,具體為一種LDPC譯碼中基于最小值位置指針的最小值比較方法及其實現(xiàn)裝置。
背景技術(shù):
:LDPC(lowdensityparity-check,低密度奇偶校驗)碼是一類基于稀疏校驗矩陣構(gòu)造的線性分組碼,由Gallager于1962年首先提出,由MacKay于1996年再次提出。LDPC碼具有巨大的應(yīng)用潛力,將在深空通信、光纖通信、衛(wèi)星數(shù)字視頻、數(shù)字水印、磁/光/全息存儲、移動和固定無線通信、電纜調(diào)制/解調(diào)器和數(shù)字用戶線中得到廣泛應(yīng)用。尤其是在數(shù)字信息傳輸
技術(shù)領(lǐng)域:
,LDPC碼已成為第四代移動通信編碼技術(shù)中的首選。LDPC碼一般用校驗矩陣H進(jìn)行描述,校驗矩陣H中每一行中數(shù)字1的個數(shù)稱為該行的行重,每一列中數(shù)字1的個數(shù)稱為該列的列重。相應(yīng)校驗矩陣H的行重和列重都唯一的LDPC碼稱為規(guī)則LDPC碼,否則稱為非規(guī)則LDPC碼。LDPC碼的譯碼算法較多,目前釆用較多的有SPA(sum-productalgorithm,和積)算法,MSA(Min-SumAlgorithm,最小和)算法和改進(jìn)型最小和算法。由于最小和算法的硬件復(fù)雜度較低,且對于信道噪聲并不敏感,不需要在譯碼算法中對信道噪聲進(jìn)行估計,因此被廣泛應(yīng)用在LDPC碼的譯碼運算中。然而,在譯碼器實現(xiàn)過程中,硬件資源占用較高,譯碼器的工作速率較低。在譯碼流程中,存在比較復(fù)雜的運算電路,其中最為突出的是主要進(jìn)行最小值比較運算的水平運算單元。水平運算單元主要完成n輸入n輸出的比較運算(其中n對應(yīng)于行重值)。一般釆取直接比較的方法來完成運算,這樣當(dāng)比較數(shù)較多時將會需要較多的資源占用,同時會造成邏輯運算延時較長。例如對于行重為8的LDPC碼,我們將使用8輸入、8輸出的比較器模塊來完成運算,每個輸入都需要對7個輸入(除了對應(yīng)的輸入外)進(jìn)行比較獲得最小值?,F(xiàn)有技術(shù)中最小和算法的實現(xiàn)電路結(jié)構(gòu)示意圖如圖1所示,其中,PRAM(PRandomAccessMachine,P隨機存取機器)用于存儲信道輸入的軟信息,RRAM(R隨機存取機器)用于存儲水平運算單元的運算結(jié)果,QRAM(Q隨機存取機器)用于存儲垂直運算單元的運算結(jié)果(上述PRAM、RRAM和QRAM中的P、R和Q為代號,用于區(qū)分不同的RAM),VPU(VerticalArithmeticUnit)為垂直運算器,HPU(HorizontalArithmeticUnit)為水平運算器。其中8輸入的水平運算單元的比較運算電路示意圖如圖2所示,由圖2可知,需要2輸入比較選通器C22個,不考慮輸入與輸出兩級緩沖寄存器(IN1-IN8與01-08),需要寄存器36個。由圖2中可以看出,每位輸出的獲得都是通過除了相應(yīng)輸入外其它輸入的最小值比較獲得的,這樣大規(guī)模的比較模塊占用了較多的硬件資源,同時也使得邏輯運算延時較大,運算器只能工作在較低的時鐘頻率下,進(jìn)一步制約了譯碼速率。并且,這樣的結(jié)構(gòu)不利于層次化的實現(xiàn)。隨著輸入個數(shù)的增加,硬件資源占用將急劇增加。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種能夠?qū)崿F(xiàn)高速比較運算,且能夠節(jié)省硬件資源的LDPC譯碼中的最小值比較方法及其實現(xiàn)裝置。為達(dá)到上述目的,本發(fā)明提供了一種LDPC譯碼中最小值比較方法,包括以下步驟Sl,對n個輸入數(shù)進(jìn)行兩兩分組比較,得到每組數(shù)的最小值和次小值,即n/2組最小值和次小值,其中n為偶數(shù);S2,對所得到的n/2組最小值和次小值進(jìn)行兩兩分組,得到n/4個新組,然后將每個新組中的數(shù)進(jìn)行比較,得到每個新組中輸入數(shù)的最小值和次小值,即n/4組最小值和次小值;S3,重復(fù)步驟S2,直至獲得n個輸入數(shù)的最小值min和次小值sec,并獲得n個輸入數(shù)的最小值位置指針t;S4,進(jìn)行選通輸出運算,對于第k個輸入數(shù),kEl-n,判斷k是否等于所述最小值位置指針t,若相等,則第k個輸出值為次小值sec,否則輸出最小值min。本發(fā)明還提供了一種LDPC譯碼中最小值比較實現(xiàn)裝置,包括首級比較單元,用于對n個輸入數(shù)進(jìn)行兩兩分組比較,得到每組數(shù)的最小值和次小值,即n/2組最小值和次小值,其中n為偶數(shù);中間級比較單元,用于對所述首級比較單元得到的n/2組最小值和次小值進(jìn)行兩兩分組,得到n/4個新組,然后將每個新組中的數(shù)進(jìn)行比較,得到每個新組中輸入數(shù)的最小值和次小值,即n/4組最小值和次小值,并重復(fù)這種分組和比較,直至獲得n個輸入數(shù)的最小值min和次小值sec,并獲得n個輸入數(shù)的最小值位置指針t;以及最終輸出級比較單元,用于進(jìn)行選通輸出運算,對于第k個輸入數(shù),kei-n,判斷k是否等于所述最小值位置指針t,若相等,則第k個輸出值為次小值sec,否則輸出最小值min。其中,所述最終輸出級比較單元為二輸入多輸出選通器。所述首級比較單元為二輸入二輸出比較選通器,所述二輸入二輸出比較選通器與輸入端的寄存器相連,且通過中間寄存器與四輸入二輸出比較選通器連接;所述中間級比較單元為四輸入二輸出比較選通器,所述四輸入二輸出比較選通器通過中間的寄存器與所述二輸入多輸出選通器連接;所述最終輸出級比較單元為二輸入多輸出選通器,所述二輸入多輸出選通器與輸出端的寄存器連接。上述技術(shù)方案通過釆用基于最小值位置指針的比較運算單元,實現(xiàn)了一種的LDPC譯碼中最小值比較方法及其實現(xiàn)裝置,并具有如下優(yōu)點1)能夠?qū)崿F(xiàn)結(jié)構(gòu)化?;谧钚≈抵羔槺容^方法的比較器是一種結(jié)構(gòu)很規(guī)整的電路,可以很容易地實現(xiàn)分級設(shè)計。2)硬件資源占用少。本發(fā)明相比傳統(tǒng)的方法,在不降低譯碼速率的前提下,較大程度地降低了硬件資源占用;同時,在進(jìn)行流水線設(shè)計時所需的寄存器資源也遠(yuǎn)小于傳統(tǒng)的方法。3)應(yīng)用范圍廣。本發(fā)明可以為各種不同的LDPC碼所采用,并且對于原本較難實現(xiàn)的碼長較長、行重較大的LDPC碼,通過釆用分級流水線設(shè)計可以較好地完成設(shè)計。4)適合高速時鐘的實現(xiàn)。由于本發(fā)明的電路結(jié)構(gòu)化程度較好,較容易通過在合適位置插入寄存器來實現(xiàn)流水線設(shè)計,達(dá)到控制運算邏輯延時的目的,從而達(dá)到較高的工作頻率和譯碼速率。圖l是現(xiàn)有技術(shù)中最小和算法的實現(xiàn)電路結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)中最小和算法的水平運算單元中的比較運算單元的裝置結(jié)構(gòu)圖3是本發(fā)明實施例的LDPC譯碼中最小值指針比較方法流程圖;圖4是本發(fā)明實施例的基于最小值位置指針的比較運算單元的裝置結(jié)構(gòu)圖5是圖4的比較運算單元中的中間級比較單元的結(jié)構(gòu)圖。具體實施例方式下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進(jìn)一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明實施例的LDPC譯碼中的最小值比較方法流程圖,如圖3所示,包括步驟301,利用首級比較單元對n個輸入數(shù)進(jìn)行排序,排序為1、2,……,n,并按順序?qū)⒚肯噜弮蓚€數(shù)為一組分別進(jìn)行比較,得到每組數(shù)的最小值和次小值,即n/2組最小值和次小值,其中n為偶數(shù);步驟302,利用中間級比較單元對所述首級比較單元得到的n/2組最小值和次小值進(jìn)行分組,按順序?qū)⒚肯噜弮蓚€組分為一組,得到n/4個新組,然后將每個新組中的數(shù)進(jìn)行比較,得到每個新組中輸入數(shù)的最小值和次小值,即n/4組最小值和次小值;步驟303,重復(fù)步驟302,直至獲得n個輸入數(shù)的最小值min和次小值sec,并獲得n個輸入數(shù)的最小值位置指針t;步驟304,利用最終輸出級單元進(jìn)行選通輸出運算,對于第k個輸入數(shù),kein,判斷k是否等于所述最小值位置指針t,若相等,則第k個輸出值為次小值sec,否則輸出最小值min。本發(fā)明基于最小值位置指針的比較運算單元的裝置包括首級比較單元,用于對n個輸入數(shù)進(jìn)行排序,排序為1、2,……,n,并按順序?qū)⒚肯噜弮蓚€數(shù)為一組分別進(jìn)行比較,得到每組數(shù)的最小值和次小值,即n/2組最小值和次小值,其中n為偶數(shù);中間級比較單元,用于對所述首級比較單元得到的n/2組最小值和次小值進(jìn)行分組,按順序?qū)⒚肯噜弮蓚€組分為一組,得到n/4個新組,然后將每個新組中的數(shù)進(jìn)行比較,得到每個新組中輸入數(shù)的最小值和次小值,即n/4組最小值和次小值,并對所述n/4組最小值和次小值再次進(jìn)行分組和比較,直至獲得n個輸入數(shù)的最小值min和次小值sec,并獲得n個輸入數(shù)的最小值位置指針t;以及最終輸出級比較單元,用于進(jìn)行選通輸出運算,對于第k個輸入數(shù),kEl~n,判斷k是否等于所述最小值位置指針t,若相等,則第k個輸出值為次小值sec,否則輸出最小值min。其中,所述最終輸出級比較單元為二輸入多輸出選通器。本發(fā)明實施例的基于最小值位置指針的8輸入的比較運算單元的裝置結(jié)構(gòu)圖如圖4所示其中IN1至IN8為輸入級緩沖寄存器,用于存儲8個輸入數(shù);將8個輸入數(shù)輸入到首級比較單元,例如二輸入二輸出比較選通器C,所述二輸入二輸出比較選通器與輸入端的寄存器相連,且通過中間寄存器與四輸入二輸出比較選通器連接;Min()flmction為中間級比較單元,具體為四輸入二輸出比較選通器;最終輸出級比較單元,例如二輸入多輸出選通器MUX,接收最后一級中間級比較單元Min()fUnction的比較結(jié)果;minl2、min34、min56、min78、minl234、min5678、min,secl2、sec34、sec56、sec78、secl234、sec5678為寄存器,用于存儲首級比較單元和中間級比較單元寄存器Min()fimction計算出的最小值和次小值;Ol至08為輸出級緩沖寄存器,用于存儲8個輸出數(shù);index為最小值位置指針寄存器。箭頭表示數(shù)據(jù)的流動方向。所述首級比較單元為二輸入二輸出比較選通器,所述二輸入二輸出比較選通器與輸入端的寄存器相連,且通過中間寄存器與四輸入二輸出比較選通器連接;所述中間級比較單元為四輸入二輸出比較選通器,所述四輸入二輸出比較選通器通過中間的寄存器與所述二輸入多輸出選通器連接;所述最終輸出級比較單元為二輸入多輸出選通器,所述二輸入多輸出選通器與輸出端的寄存器連接。中間級比較單元寄存器Min()flmction的結(jié)構(gòu)圖如圖5所示其中minl、min2、sccl和sec2為寄存器,S為輸出次小值的比較器,S與C之間的有向連線表示S的選通控制信號來自C的比較結(jié)果。本發(fā)明的LDPC譯碼中水平運算的最小值比較方法與現(xiàn)有技術(shù)中SPA算法所使用的硬件資源的數(shù)據(jù)比較如下表所示<table>tableseeoriginaldocumentpage10</column></row><table>上表所注ALUTs是基于ALTERAFPGA的組合邏輯硬件資源占用,所有輸入數(shù)為7位位寬的數(shù)據(jù)(表中寄存器也設(shè)位寬為7)。從表中可以看出,當(dāng)n較小時(n-4),本發(fā)明的最小值比較方法的邏輯資源占用比傳統(tǒng)方法多,這是由于這時候指針方法的最終輸出級所需的選通器占用的資源比率較大;而當(dāng)n較大時(n-16),指針方法所需的邏輯資源占用較傳統(tǒng)方法少;從表中可以看出,隨著輸入數(shù)的增多,指針方法的邏輯資源占用將優(yōu)于傳統(tǒng)方法。而對于寄存器資源占用上,從表中我們可以看出指針方法相比于傳統(tǒng)方法有明顯的優(yōu)越性。隨著輸入數(shù)的增大,傳統(tǒng)方法所需的寄存器將急劇增加,而指針方法則較好地控制了寄存器資源的規(guī)模。在本申請公開的基礎(chǔ)上,本領(lǐng)域技術(shù)人員可以理解,上述LDPC譯碼中基于最小值位置指針的最小值比較方法及其實現(xiàn)裝置的原理也可以應(yīng)用于各種運算中所需的最大值比較方法及其實現(xiàn)裝置上,其實現(xiàn)方法類似。由以上實施例可以看出,本發(fā)明的實施例通過釆用基于最小值位置指針的比較運算單元,實現(xiàn)了一種的LDPC譯碼的最小值比較方法、實現(xiàn)裝置及其電路,本發(fā)明的技術(shù)方案能夠?qū)崿F(xiàn)高速運算,比如最小和算法中的水平運算,節(jié)省硬件資源,且能夠進(jìn)行規(guī)整的結(jié)構(gòu)化分級流水設(shè)計,從而減少運算邏輯的延時,提高運算速度。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種LDPC譯碼中最小值比較方法,其特征在于,包括以下步驟S1,對n個輸入數(shù)進(jìn)行兩兩分組比較,得到每組數(shù)的最小值和次小值,即n/2組最小值和次小值,其中n為偶數(shù);S2,對所得到的n/2組最小值和次小值進(jìn)行兩兩分組,得到n/4個新組,然后將每個新組中的數(shù)進(jìn)行比較,得到每個新組中輸入數(shù)的最小值和次小值,即n/4組最小值和次小值;S3,重復(fù)步驟S2,直至獲得n個輸入數(shù)的最小值min和次小值sec,并獲得n個輸入數(shù)的最小值位置指針t;S4,進(jìn)行選通輸出運算,對于第k個輸入數(shù),k∈1~n,判斷k是否等于所述最小值位置指針t,若相等,則第k個輸出值為次小值sec,否則輸出最小值min。2、一種LDPC譯碼中最小值比較裝置,其特征在于,包括首級比較單元,用于對n個輸入數(shù)進(jìn)行兩兩分組比較,得到每組數(shù)的最小值和次小值,即n/2組最小值和次小值,其中n為偶數(shù);中間級比較單元,用于對所述首級比較單元得到的n/2組最小值和次小值進(jìn)行兩兩分組,得到n/4個新組,然后將每個新組中的數(shù)進(jìn)行比較,得到每個新組中輸入數(shù)的最小值和次小值,即n/4組最小值和次小值,并重復(fù)這種分組和比較,直至獲得n個輸入數(shù)的最小值min和次小值sec,并獲得n個輸入數(shù)的最小值位置指針t;以及最終輸出級比較單元,用于進(jìn)行選通輸出運算,對于第k個輸入數(shù),kEln,判斷k是否等于所述最小值位置指針t,若相等,則第k個輸出值為次小值sec,否則輸出最小值min。3、如權(quán)利要求2所述的LDPC譯碼中最小值比較裝置,其特征在于,所述首級比較單元為二輸入二輸出比較選通器,所述二輸入二輸出比較選通器與輸入端的寄存器相連,且通過中間寄存器與四輸入二輸出比較選通器連接。4、如權(quán)利要求2所述的LDPC譯碼中最小值比較裝置,其特征在于,所述中間級比較單元為四輸入二輸出比較選通器,所述四輸入二輸出比較選通器通過中間的寄存器與所述二輸入多輸出選通器連接。5、如權(quán)利要求2所述的LDPC譯碼中最小值比較裝置,其特征在于,所述最終輸出級比較單元為二輸入多輸出選通器,所述二輸入多輸出選通器與輸出端的寄存器連接。全文摘要本發(fā)明公開了一種LDPC譯碼的最小值比較方法及其實現(xiàn)裝置。該方法包括S1,利用首級比較單元對n個輸入數(shù)排序,并按順序以每相鄰兩個數(shù)為一組分別比較,得到n/2組最小值和次小值;S2,利用中間級比較單元對n/2組最小值和次小值分組,按順序?qū)⒚肯噜弮蓚€組分為一組,得到n/4個新組,比較每個新組中的數(shù),得到n/4組最小值和次小值;S3,重復(fù)S2至獲得n個輸入數(shù)的最小值和次小值及n個輸入數(shù)的最小值位置指針;S4,利用最終輸出級單元進(jìn)行選通輸出運算。本發(fā)明采用基于最小值位置指針的比較運算單元,實現(xiàn)高速水平運算,節(jié)省硬件資源,能夠進(jìn)行規(guī)整的結(jié)構(gòu)化分級流水設(shè)計,減少運算邏輯的延時,提高運算速度。文檔編號H03M13/11GK101577555SQ20091008706公開日2009年11月11日申請日期2009年6月17日優(yōu)先權(quán)日2009年6月17日發(fā)明者洪欽智,軍王,王勁濤,雷偉龍申請人:清華大學(xué)