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