專利名稱:準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字通信技術(shù)領(lǐng)域的譯碼器,具體地說,涉及的是一種準(zhǔn)循 環(huán)低密度校驗(yàn)碼(簡(jiǎn)稱QC-LDPC碼)的多碼率譯碼器。
背景技術(shù):
QC-LDPC碼是當(dāng)今數(shù)字通信領(lǐng)域研究的熱點(diǎn)之一。QC-LDPC碼是一種低密度 校驗(yàn)碼(簡(jiǎn)稱LDPC碼)。LDPC碼是一種線性分組碼,是由一個(gè)稀疏校驗(yàn)矩陣定 義的。在GF(2)中,LDPC碼的特點(diǎn)就是稀疏矩陣中"1"的個(gè)數(shù)遠(yuǎn)小于矩陣中"0" 的個(gè)數(shù)。根據(jù)對(duì)應(yīng)的校驗(yàn)矩陣行和列中"1"的個(gè)數(shù)是否分別相同,LDPC碼可以 分為規(guī)則碼和非規(guī)則碼——各行(或列)中"1"的個(gè)數(shù)相等則為規(guī)則碼,否則 稱為非規(guī)則碼。非規(guī)則碼要比規(guī)則碼的性能要好,但在硬件實(shí)現(xiàn)上較為復(fù)雜一些。 同時(shí),LDPC碼還能用二分圖來表示。在二分圖中,變量節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)來分別 表示校驗(yàn)矩陣中的行和列,然后對(duì)應(yīng)于行列中"1"的位置把變量節(jié)點(diǎn)和校驗(yàn)節(jié) 點(diǎn)連接起來,這種連接線稱為二分圖的邊。
LDPC碼的構(gòu)造主要分為兩類偽隨機(jī)的方法和結(jié)構(gòu)化的方法。通過偽隨機(jī) 的方法構(gòu)造出來的LDPC碼,其校驗(yàn)矩陣中的"l"是雜亂無章的;而通過結(jié)構(gòu)化 的方法構(gòu)造出來的LDPC碼,其校驗(yàn)矩陣中的"1"呈現(xiàn)分塊分布的特點(diǎn)。QC-LDPC 碼是一種通過結(jié)構(gòu)化方法構(gòu)造出來的LDPC碼,其可以由基矩陣填充得到。 QC-LDPC碼與偽隨機(jī)的方法構(gòu)造出來的LDPC碼相比,具有同等的性能,有的甚 至還更加好;同時(shí),QC-LDPC碼得益于其結(jié)構(gòu)化的特點(diǎn),其編碼方式也較為簡(jiǎn)單, 使得硬件實(shí)現(xiàn)更為簡(jiǎn)單。所以,目前很多通信系統(tǒng)(802. 16e, 802. lln和DTMB) 都提議使用QC-LDPC碼作為其信道編碼方案。
QC-LDPC碼在譯碼時(shí)具有同LDPC碼譯碼時(shí)相同的并行性,但由于譯碼的復(fù) 雜度的限制導(dǎo)致硬件上的不可實(shí)現(xiàn)性,譯碼器的設(shè)計(jì)只能在吞吐量和硬件資源之 間取一個(gè)折衷。這樣,如何降低譯碼器的復(fù)雜度是QC-LDPC碼譯碼器設(shè)計(jì)中所需 要研究的。同時(shí),當(dāng)今通信系統(tǒng)中分級(jí)傳輸?shù)囊髮?duì)信道編碼方案也提出了多碼
4率的需求,即系統(tǒng)能自適應(yīng)的采用同一碼長(zhǎng)不同碼率的QC-LDPC碼。由于單一碼 率的LDPC碼的譯碼器所消耗的硬件資源已經(jīng)很大,如何復(fù)用同一硬件資源來對(duì) 不同碼率的QC-LDPC碼進(jìn)行譯碼也是在譯碼器設(shè)計(jì)過程中需要考慮的。
在LDPC譯碼器的實(shí)現(xiàn)過程中一般采樣一種修正的最小和算法,即Modified Min-Sum Algorithm (應(yīng)SA),來代替標(biāo)準(zhǔn)的和積算法。這種譯碼算法能簡(jiǎn)化譯碼 器實(shí)現(xiàn)復(fù)雜度,同時(shí)其性能損失也較小。
經(jīng)對(duì)現(xiàn)有技術(shù)檢索發(fā)現(xiàn),Lei Yang等在《IEEE Trans. Circuits and Systems—I: Regular Papers》April 2006, pages:892—904中的"Code construction and FPGA implementation of a low—error—floor multi—rate low-density parity-checkcode decoder"(—種低誤碼平層的多碼率LDPC碼的 碼字構(gòu)造及其譯碼器實(shí)現(xiàn),Lei Yang等,IEEE電路與系統(tǒng)雜志期刊I, 2006 年四月892-904頁)提出了一種多碼率LDPC碼譯碼器的實(shí)現(xiàn)方法。這種方法通 過結(jié)合碼字構(gòu)造來設(shè)計(jì)多碼率的譯碼器,從而實(shí)現(xiàn)了三個(gè)不同LDPC碼字的譯碼。 這種方法不僅能有效保障譯碼器的譯碼性能。但這種方法由于需要結(jié)合碼字構(gòu) 造,多碼率譯碼器的結(jié)構(gòu)和碼字有很大關(guān)系,因此缺乏通用性。同時(shí),由于譯碼 器的設(shè)計(jì)過程中還是基于傳統(tǒng)的半并行結(jié)構(gòu),在每次迭代過程中,數(shù)據(jù)的交換需 要通過一個(gè)很大的交織器來實(shí)現(xiàn),不僅消耗很多硬件資源,而且其邏輯關(guān)系還較 為復(fù)雜,不易于數(shù)據(jù)同步等操作。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種準(zhǔn)循環(huán)低密度校驗(yàn)碼的多 碼率譯碼器,解決當(dāng)前QC-LDPC碼的譯碼器復(fù)雜度較高,結(jié)構(gòu)不靈活的缺點(diǎn),該 譯碼器能降低譯碼器的復(fù)雜度,提高硬件資源的利用率,并能用同一譯碼器解碼 相同結(jié)構(gòu)不同碼率的QC-LDPC碼。
本發(fā)明是通過以下技術(shù)方案來實(shí)現(xiàn)的,本發(fā)明包括校驗(yàn)節(jié)點(diǎn)處理模塊 (CPNU)、變量節(jié)點(diǎn)處理模塊(VPNU)、信息存儲(chǔ)單元池和邏輯控制模塊,其中
校驗(yàn)節(jié)點(diǎn)處理模塊并行地接收存儲(chǔ)單元池傳輸?shù)男畔?,串行處理后,并行?更新到信息存儲(chǔ)單元池;
變量節(jié)點(diǎn)處理模塊并行地接收并處理存儲(chǔ)單元池信息,然后更新到相應(yīng)的存 儲(chǔ)單元池;信息存儲(chǔ)單元池用于存儲(chǔ)校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)處理模塊處理后的信息;
邏輯控制單元用于控制多碼率譯碼和譯碼過程中校驗(yàn)節(jié)點(diǎn)處理模塊和變量 節(jié)點(diǎn)處理模塊的迭代操作進(jìn)行控制,并對(duì)迭代過程進(jìn)行自適應(yīng)控制并將譯碼碼字 適時(shí)輸出。
本發(fā)明譯碼器采取兩種終止迭代的準(zhǔn)則最大迭代次數(shù)和奇偶校驗(yàn)準(zhǔn)則。也 就是說當(dāng)譯碼向量能夠通過奇偶校驗(yàn)的話,那么不論是否達(dá)到最大迭代次數(shù),就 輸出迭代向量。
所述信息存儲(chǔ)單元池由多個(gè)存儲(chǔ)單元構(gòu)成,每個(gè)存儲(chǔ)單元對(duì)應(yīng)于校驗(yàn)矩陣基 矩陣中的非零位。存儲(chǔ)單元分別連接著對(duì)應(yīng)的變量節(jié)點(diǎn)處理模塊和校驗(yàn)節(jié)點(diǎn)處理
模塊。在多碼率譯碼器中,同一個(gè)存儲(chǔ)單元對(duì)應(yīng)的校驗(yàn)節(jié)點(diǎn)處理模塊或變量節(jié)點(diǎn) 處理模塊都可能不同,那么存儲(chǔ)單元與處理單元中間通過數(shù)據(jù)選擇器相連,從而 達(dá)到存儲(chǔ)單元與處理模塊復(fù)用的目的。每個(gè)存儲(chǔ)單元對(duì)應(yīng)于一個(gè)循環(huán)塊的信息存 儲(chǔ)。信息的存儲(chǔ)按照循環(huán)塊中非零位所在的行或列的順序進(jìn)行存儲(chǔ)。每個(gè)非零位 需要存儲(chǔ)3個(gè)元素,即本地地址C、符號(hào)位sign和信息的幅度值V。
所述信息存儲(chǔ)單元池,其存儲(chǔ)單元的數(shù)量是由準(zhǔn)循環(huán)低密度校驗(yàn)碼對(duì)應(yīng)的基 矩陣中非零位個(gè)數(shù)決定的;存儲(chǔ)單元中數(shù)據(jù)的存儲(chǔ)順序是根據(jù)準(zhǔn)循環(huán)低密度校驗(yàn)
碼對(duì)應(yīng)的基矩陣中非零位的位置和非零位對(duì)應(yīng)的循環(huán)塊的偏移量決定的。
所述校驗(yàn)節(jié)點(diǎn)處理模塊主要包括串并轉(zhuǎn)換單元、校驗(yàn)節(jié)點(diǎn)處理單元和數(shù)據(jù)更 新器三個(gè)部分。串并轉(zhuǎn)換單元用于把校驗(yàn)節(jié)點(diǎn)上的信息做并串處理;校驗(yàn)節(jié)點(diǎn)處 理單元比較校驗(yàn)節(jié)點(diǎn)上面信息的幅度大小并記錄其位置;數(shù)據(jù)更新器是用于對(duì)信 息節(jié)點(diǎn)上的信息進(jìn)行同步更新。在每次迭代循環(huán)中,從信息存儲(chǔ)單元池中讀出變 量節(jié)點(diǎn)傳輸?shù)礁鱾€(gè)校驗(yàn)節(jié)點(diǎn)的外信息,然后并行地輸入到對(duì)應(yīng)的校驗(yàn)節(jié)點(diǎn)處理模 塊。這些并行的外信息經(jīng)過并串轉(zhuǎn)換后依次串行地進(jìn)入到校驗(yàn)節(jié)點(diǎn)處理單元。校 驗(yàn)節(jié)點(diǎn)處理單元計(jì)算出校驗(yàn)節(jié)點(diǎn)上所有輸入外信息幅度的最小值、次小值和所有 外信息符號(hào)的異或操作結(jié)果。在校驗(yàn)節(jié)點(diǎn)處理單元工作的同時(shí),每個(gè)串行處理的 外信息的符號(hào)經(jīng)過時(shí)延,和校驗(yàn)節(jié)點(diǎn)處理單元處理后得到的數(shù)據(jù)同步進(jìn)入數(shù)據(jù)更 新器。數(shù)據(jù)更新器根據(jù)校驗(yàn)節(jié)點(diǎn)處理單元輸出的外信息幅度最小值、次小值和符 號(hào)異或結(jié)果并行地更新校驗(yàn)節(jié)點(diǎn)各個(gè)輸出外信息的值并存入對(duì)應(yīng)的信息單元池。 所述校驗(yàn)節(jié)點(diǎn)處理模塊處理多個(gè)校驗(yàn)節(jié)點(diǎn)的信息更新操作,校驗(yàn)節(jié)點(diǎn)處理模塊在每個(gè)時(shí)鐘都會(huì)得到目前所處理信息的符號(hào)位的與操作結(jié)果、信息幅度的最小
值及其該信息的位置;校驗(yàn)節(jié)點(diǎn)上所有的信息更新是同步進(jìn)行的,更新過程是通
過比較原信息的地址是否就是校驗(yàn)節(jié)點(diǎn)處理單元所輸出的最小幅度地址,如果
是,那么更新值為次小值,負(fù)責(zé)為最小值。
所述變量節(jié)點(diǎn)處理模塊由一組并行的模2加法器和截位器構(gòu)成。模2加法器
主要完成變量節(jié)點(diǎn)信息更新的操作。截位器的作用是把輸入的數(shù)據(jù)進(jìn)行低位截
位,得到系統(tǒng)有限精度表示所需位寬的數(shù)據(jù)。在每次迭代循環(huán)中,從信息存儲(chǔ)單
元池中讀出校驗(yàn)節(jié)點(diǎn)傳輸?shù)礁鱾€(gè)變量節(jié)點(diǎn)的外信息以及變量節(jié)點(diǎn)上接收到的先
驗(yàn)信息,然后并行輸入到對(duì)應(yīng)的變量節(jié)點(diǎn)處理模塊。這些外信息首先在模2加法
器完成校驗(yàn)節(jié)點(diǎn)的信息更新,然后經(jīng)過截位操作后輸入到邏輯控制模塊,由這些
邏輯控制根據(jù)得到的信息判斷是進(jìn)入下一步的循環(huán)還是輸出譯碼碼字。
本發(fā)明提供了一種適合多碼率QC-LDPC碼譯碼器的結(jié)構(gòu),和相同譯碼器方案 相比,具有復(fù)雜度低、結(jié)構(gòu)靈活的特點(diǎn)。通過以循環(huán)塊為基礎(chǔ)的存儲(chǔ)單元池,串 行處理并行變量節(jié)點(diǎn)的信息的校驗(yàn)節(jié)點(diǎn)處理模塊以及并行處理的變量節(jié)點(diǎn)處理 模塊,達(dá)到既降低了單個(gè)碼字譯碼器復(fù)雜度,又能在一個(gè)碼字譯碼器的資源基礎(chǔ) 上消耗增長(zhǎng)很小的情況下處理不同碼率的QC-LDPC碼的目的。
圖l:本發(fā)明數(shù)據(jù)處理流程圖。
圖2:本發(fā)明譯碼器結(jié)構(gòu)框圖。
圖3:本發(fā)明譯碼器信息存儲(chǔ)單元池示意其中(a)為非零循環(huán)單元,(b)為(a)對(duì)應(yīng)的存儲(chǔ)單元。
圖4:本發(fā)明譯碼器校驗(yàn)節(jié)點(diǎn)處理模塊結(jié)構(gòu)圖。
圖5:本發(fā)明譯碼器變量節(jié)點(diǎn)處理模塊結(jié)構(gòu)圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)說明本實(shí)施例在以本發(fā)明技術(shù)方案 為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù) 范圍不限于下述的實(shí)施例。
如圖l所示,本實(shí)施例包括校驗(yàn)節(jié)點(diǎn)處理模塊、變量節(jié)點(diǎn)處理模塊、信息存
儲(chǔ)單元池和邏輯控制模塊。101是由校驗(yàn)節(jié)點(diǎn)處理模塊、信息存儲(chǔ)單元池2和變是邏輯控制模塊。其中校驗(yàn)節(jié)點(diǎn)處理模塊并行地接 收存儲(chǔ)單元池傳輸?shù)男畔?,串行處理后,并行地更新到信息存?chǔ)單元池;變量節(jié) 點(diǎn)處理模塊并行地接收并處理存儲(chǔ)單元池信息,然后更新到相應(yīng)的存儲(chǔ)單元池; 信息存儲(chǔ)單元池用于存儲(chǔ)校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)處理模塊處理后的信息;邏輯控制 單元用于控制多碼率譯碼和譯碼過程中校驗(yàn)節(jié)點(diǎn)處理模塊和變量節(jié)點(diǎn)處理模塊 的迭代操作進(jìn)行控制,并對(duì)迭代過程進(jìn)行自適應(yīng)控制并將譯碼碼字適時(shí)輸出。 譯碼器中數(shù)據(jù)處理順序如下
(1) .首先,從信道接收到的信道數(shù)據(jù)向量經(jīng)過初始化模塊處理后,得到 初始信息并存入初始信息存儲(chǔ)模塊。
(2) .然后,從變量節(jié)點(diǎn)傳輸?shù)男畔⒈凰腿胄r?yàn)節(jié)點(diǎn)處理模塊進(jìn)行處理, 校驗(yàn)節(jié)點(diǎn)信息依次被更新,其中,第一次循環(huán)中,變量節(jié)點(diǎn)的外信息值為零,所 以變量節(jié)點(diǎn)所傳輸?shù)男畔⒕褪亲兞抗?jié)點(diǎn)上的初始信息。同時(shí),奇偶校驗(yàn)?zāi)K還對(duì) 上次迭代過程中判決的
(3) .變量節(jié)點(diǎn)處理模塊接收從校驗(yàn)節(jié)點(diǎn)傳輸過來的信息,經(jīng)過變量節(jié)點(diǎn) 處理模塊處理后,變量節(jié)點(diǎn)信息依次被更新;
(4) .步驟(2)和(3)構(gòu)成一次迭代。每次迭代后,都對(duì)校驗(yàn)節(jié)點(diǎn)處理 模塊所得到的符號(hào)信息進(jìn)行硬判。當(dāng)奇偶校驗(yàn)?zāi)K輸出使能信號(hào)或者迭代次數(shù)達(dá) 到最大迭代次數(shù)時(shí),輸出硬判的譯碼向量,并通知譯碼器開始處理下一個(gè)塊的數(shù) 據(jù)向量。
如圖2所示,在具體的多碼率譯碼器的設(shè)計(jì)過程中,有兩個(gè)因素需要統(tǒng)籌考 慮信息存儲(chǔ)單元的數(shù)量及校驗(yàn)節(jié)點(diǎn)處理模塊的數(shù)量(見圖2)。信息存儲(chǔ)單元 的數(shù)量應(yīng)該不小于各碼率的校驗(yàn)矩陣所對(duì)應(yīng)的基矩陣中非零的個(gè)數(shù)的最大值。校 驗(yàn)節(jié)點(diǎn)處理模塊的數(shù)量則根據(jù)譯碼器的設(shè)計(jì)的吞吐量來選擇。在選擇的時(shí)候應(yīng)該 以各碼率的校驗(yàn)矩陣所對(duì)應(yīng)的基矩陣的行數(shù)的公約數(shù)來決定,這個(gè)公約數(shù)通常是 不小于各基矩陣中最小行數(shù)的一個(gè)值。如三個(gè)碼率的基矩陣行數(shù)分別為12、 25 和38,那么校驗(yàn)節(jié)點(diǎn)處理模塊個(gè)數(shù)可定為13、 26或者39。
信息存儲(chǔ)單元與校驗(yàn)節(jié)點(diǎn)處理模塊的連接需要根據(jù)處理模塊的數(shù)量決定。當(dāng) 校驗(yàn)節(jié)點(diǎn)處理模塊數(shù)量大于各碼率所有對(duì)應(yīng)基矩陣中行數(shù)時(shí),可以用同一個(gè)處理 模塊計(jì)算一個(gè)校驗(yàn)節(jié)點(diǎn)的信息更新;當(dāng)校驗(yàn)節(jié)點(diǎn)處理模塊數(shù)量小于各碼率所有對(duì)
8應(yīng)基矩陣中行數(shù)時(shí),可以用同一個(gè)處理模塊計(jì)算多個(gè)校驗(yàn)節(jié)點(diǎn)的信息更新。
每個(gè)信息存儲(chǔ)單元對(duì)應(yīng)于低密度校驗(yàn)矩陣中的一個(gè)非零循環(huán)塊。圖3是非零 循環(huán)塊及對(duì)應(yīng)存儲(chǔ)單元的示意圖(分別如(a)和(b)所示)。其中圖3 (a)為 一個(gè)偏移量為s的大小為m的非零循環(huán)單元,圖3 (b)為對(duì)應(yīng)的按列存儲(chǔ)的存 儲(chǔ)單元,每個(gè)單元包括m個(gè)信息,每個(gè)信息由3個(gè)元素構(gòu)成,即本地地址C、符 號(hào)位sign和信息的幅度值V。
校驗(yàn)節(jié)點(diǎn)處理模塊(見圖4)是本譯碼器的重要模塊,下面對(duì)其原理及實(shí)現(xiàn) 作詳細(xì)說明
在LDPC譯碼器的實(shí)現(xiàn)過程中一般采樣一種修正的最小和算法(醒SA),改進(jìn) 的最小和算法簡(jiǎn)述如下-
初始化。信道接收到的信號(hào)X,通過公式(1)得到初始的信息值Q。.校驗(yàn)節(jié)點(diǎn)的信息更新。/ 表示校驗(yàn)節(jié)點(diǎn)更新的外信息,其方向是沿
LDPC碼的校驗(yàn)矩陣所對(duì)應(yīng)二分圖的邊從校驗(yàn)節(jié)點(diǎn)到相鄰的變量節(jié)點(diǎn)。i^表示校
驗(yàn)節(jié)點(diǎn)上除對(duì)應(yīng)的邊以外的邊上傳遞的外信息,其方向是從變量節(jié)點(diǎn)到校驗(yàn)節(jié) 點(diǎn)。更新的校驗(yàn)節(jié)點(diǎn)外信息/ 可以通過公式(2)得到 f 、
n w'gw(Zyc) xipinlZycl (2)
i =.變量節(jié)點(diǎn)的信息更新。i^表示變量節(jié)點(diǎn)更新的外信息,其方向是沿 LDPC碼的校驗(yàn)矩陣所對(duì)應(yīng)二分圖的邊從變量節(jié)點(diǎn)到相鄰的校驗(yàn)節(jié)點(diǎn)。i ^表示變 量節(jié)點(diǎn)上除對(duì)應(yīng)的邊以外的邊上傳遞的外信息,其方向是從校驗(yàn)節(jié)點(diǎn)到變量節(jié) 點(diǎn)。更新的變量節(jié)點(diǎn)外信息Zv可以通過公式(3)得到 廣
乙=
x ,其中w = 0.75 (3). 符號(hào)的信息值更新。校驗(yàn)節(jié)點(diǎn)和信息節(jié)點(diǎn)經(jīng)過一輪更新后,符號(hào)的 信息值^可通過公式(4)得到
A=G + I>CT (4)
9然后,對(duì)從按照公式(5)進(jìn)行硬判,然后得到譯碼向量(?。
從算法中的校驗(yàn)節(jié)點(diǎn)信息更新操作可以知道,信息更新包括兩部分的操作, 即幅度的最小值和符號(hào)位的模2操作。幅度的最小值的求解可以對(duì)節(jié)點(diǎn)上所有信 息進(jìn)行比較,得到一個(gè)最小值和一個(gè)次小值,這樣當(dāng)最小值等于需要更新的邊上 信息的幅度時(shí),用次小值進(jìn)行節(jié)點(diǎn)信息的更新;否則,用最小值來更新節(jié)點(diǎn)的信 息。符號(hào)位的操作可以先對(duì)節(jié)點(diǎn)上所有信息的符號(hào)位進(jìn)行模2操作,然后再與自 身的符號(hào)進(jìn)行模2操作,這樣就可以得到所需符號(hào)位。
在校驗(yàn)節(jié)點(diǎn)處理模塊中,通過如下操作實(shí)現(xiàn)上述原理的
(1) 首先,并行輸入到CNPU中的信息Lvc(H)(其中(i-l)表示第i-l 次迭代),由符號(hào)位和幅度兩部分組成。其經(jīng)過串并轉(zhuǎn)換后,串行的進(jìn)入校驗(yàn)節(jié) 點(diǎn)處理單元;
(2) 然后,在校驗(yàn)節(jié)點(diǎn)處理單元中,新輸入的信息其符號(hào)位與現(xiàn)有的數(shù) 據(jù)進(jìn)行模2運(yùn)算,把結(jié)果更新到符號(hào)位。新輸入的信息幅度同現(xiàn)有數(shù)據(jù)的幅度進(jìn) 行比較,當(dāng)新輸入信息的幅度更小時(shí),校驗(yàn)節(jié)點(diǎn)處理單元中的信息幅度更新為新 輸入信息幅度。每次操作后,校驗(yàn)節(jié)點(diǎn)處理單元中的計(jì)數(shù)器自動(dòng)加"l"。當(dāng)信息 幅度更新時(shí),用一個(gè)寄存器記錄當(dāng)前計(jì)數(shù)器值,即幅度最小值的地址。
(3) 當(dāng)計(jì)數(shù)器達(dá)到設(shè)定值的時(shí)候,數(shù)據(jù)更新器得到更新使能信號(hào),并得 到四個(gè)值符號(hào)位Sign、幅度最小值Min、幅度次小值Sub—rain及幅度最小值的 地址Num。同時(shí),計(jì)數(shù)器被重新置零。
(4) 在數(shù)據(jù)更新器中,各更新位上的符號(hào)位Sign_D同輸入的符號(hào)位Sign 進(jìn)行模2操作,并將結(jié)果更新到符號(hào)位;同時(shí),輸入的地址也與本地地址addr 進(jìn)行比較,當(dāng)兩者相同時(shí),更新的信息幅度取輸入幅度次小值,否則取最小值。
變量節(jié)點(diǎn)處理模塊主要是對(duì)校驗(yàn)節(jié)點(diǎn)傳輸過來的外驗(yàn)信息進(jìn)行累加、截位操 作。圖5是本發(fā)明譯碼器變量節(jié)點(diǎn)處理模塊結(jié)構(gòu)圖,該處理模塊一個(gè)度為3的變 量節(jié)點(diǎn)。在該模塊中,信道信息Qv和校驗(yàn)節(jié)點(diǎn)傳輸過來的外驗(yàn)信息Rcv("先進(jìn)行 累加操作。其中信道信息Qv和所有的外驗(yàn)信息Rcv("累加后輸出作為硬判的輸 入;信道信息Qv和所有除輸出以外的外驗(yàn)信息Rcv")累加后經(jīng)過系數(shù)相乘后輸入截位器模塊,截位后得到Lvc"'進(jìn)入下一個(gè)循環(huán)。
其中(i)表示第i次迭代;截位器可以有移位累加器構(gòu)成,具體來說XX 0.75 = X》l + X》2 (》表示向右移位操作)。
下面以國家數(shù)字電視地面?zhèn)鬏敇?biāo)準(zhǔn)中的多碼率LDPC碼為例,介紹本發(fā)明的
具體實(shí)施效果。
表一國標(biāo)中的三個(gè)LDPC碼的特點(diǎn)
LDPC碼列重行重非零數(shù)量
(7493, 3048)[3, 4, 11] = (31, 18, 10)[7, 8] = (5' 30)275
(7493, 4572)[3, 4, 7, 16] = (27, 18, 9, 5)[12, 13] = (3, 20)296
(7493, 6096)[3, 4, 11] = (12, 37, 10)[26, 27] = (3, 8)294
根據(jù)以上譯碼器結(jié)構(gòu)設(shè)計(jì)得到譯碼器的參數(shù)設(shè)置如下: 表一處理模塊
功能模塊數(shù)量存儲(chǔ)單元296
3-port31
4一port37
VNPU7-port9
ll-port10
16-port5
CNPU70
(7493, 3048)2
群因子(7493,4572)3
(7493, 6096)6
在Xilinx公司的Virtex-II系列XC2VP70芯片平臺(tái)下,譯碼三個(gè)不同碼率 的碼字其資源消耗如下
表二資源消耗
硬件資源數(shù)量使用率
Slices17, 46653%
Slices Flip Flops25,34038%
4-I叩ut UJTs33,78451%
Block RAMs23471%
Bonded IOBs596%
GCLKs318%
11實(shí)驗(yàn)證明由于采用本實(shí)施例的譯碼器結(jié)構(gòu),本譯碼器譯碼三個(gè)碼字所消耗 的存儲(chǔ)單元跟譯碼一個(gè)碼字所需要的存儲(chǔ)單元幾乎相同。當(dāng)然,由于譯碼三個(gè)碼
字時(shí)所需要的控制也更加復(fù)雜了 ,其所消耗的控制邏輯是譯碼一個(gè)碼字的邏輯控 制的2倍左右。但總的而言,所有資源消耗比原來合并三個(gè)碼字的硬件結(jié)構(gòu)所消 耗資源要降低30%左右。因此,本發(fā)明所提出的準(zhǔn)循環(huán)LDPC碼多碼率譯碼器結(jié) 構(gòu)有效地降低了譯碼器的實(shí)現(xiàn)復(fù)雜度。
權(quán)利要求
1、一種準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器,其特征在于包括校驗(yàn)節(jié)點(diǎn)處理模塊、變量節(jié)點(diǎn)處理模塊、信息存儲(chǔ)單元池和邏輯控制模塊,其中校驗(yàn)節(jié)點(diǎn)處理模塊并行地接收存儲(chǔ)單元池傳輸?shù)男畔?,串行處理后,并行地更新到信息存?chǔ)單元池;變量節(jié)點(diǎn)處理模塊并行地接收并處理存儲(chǔ)單元池信息,然后更新到相應(yīng)的存儲(chǔ)單元池;信息存儲(chǔ)單元池用于存儲(chǔ)校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)處理模塊處理后的信息;邏輯控制單元用于控制多碼率譯碼和譯碼過程中校驗(yàn)節(jié)點(diǎn)處理模塊和變量節(jié)點(diǎn)處理模塊的迭代操作進(jìn)行控制,對(duì)迭代過程進(jìn)行自適應(yīng)控制并將譯碼碼字適時(shí)輸出。
2、 根據(jù)權(quán)利要求1所述的準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器,其特征是, 所述信息存儲(chǔ)單元池由多個(gè)存儲(chǔ)單元構(gòu)成,每個(gè)存儲(chǔ)單元對(duì)應(yīng)于校驗(yàn)矩陣基矩陣 中的非零位,其中存儲(chǔ)單元分別連接著對(duì)應(yīng)的變量節(jié)點(diǎn)處理模塊和校驗(yàn)節(jié)點(diǎn)處理 模塊,在多碼率譯碼器中,同一個(gè)存儲(chǔ)單元對(duì)應(yīng)的校驗(yàn)節(jié)點(diǎn)處理模塊或變量節(jié)點(diǎn) 處理模塊都可能不同,那么存儲(chǔ)單元與處理單元中間通過數(shù)據(jù)選擇器相連,從而 達(dá)到存儲(chǔ)單元與處理模塊復(fù)用,每個(gè)存儲(chǔ)單元對(duì)應(yīng)于一個(gè)循環(huán)塊的信息存儲(chǔ),信息的存儲(chǔ)按照循環(huán)塊中非零位所在的行或列的順序進(jìn)行存儲(chǔ),每個(gè)非零位需要存 儲(chǔ)3個(gè)元素,即本地地址C、符號(hào)位sign和信息的幅度值V。
3、 根據(jù)權(quán)利要求2所述的準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器,其特征是, 所述信息存儲(chǔ)單元池,其存儲(chǔ)單元的數(shù)量是由準(zhǔn)循環(huán)低密度校驗(yàn)碼對(duì)應(yīng)的基矩陣 中非零位個(gè)數(shù)決定的;存儲(chǔ)單元中數(shù)據(jù)的存儲(chǔ)順序是根據(jù)準(zhǔn)循環(huán)低密度校驗(yàn)碼對(duì) 應(yīng)的基矩陣中非零位的位置和非零位對(duì)應(yīng)的循環(huán)塊的偏移量決定的。
4、 根據(jù)權(quán)利要求1所述的準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器,其特征是, 所述校驗(yàn)節(jié)點(diǎn)處理模塊包括串并轉(zhuǎn)換單元、校驗(yàn)節(jié)點(diǎn)處理單元和數(shù)據(jù)更新器三個(gè) 部分,其中串并轉(zhuǎn)換單元用于把校驗(yàn)節(jié)點(diǎn)上的信息做并串處理;校驗(yàn)節(jié)點(diǎn)處理單元比較校驗(yàn)節(jié)點(diǎn)上面信息的幅度大小并記錄其位置;數(shù)據(jù)更新器是用于對(duì)信息 節(jié)點(diǎn)上的信息進(jìn)行同步更新,在每次迭代循環(huán)中,從信息存儲(chǔ)單元池中讀出變量 節(jié)點(diǎn)傳輸?shù)礁鱾€(gè)校驗(yàn)節(jié)點(diǎn)的外信息,然后并行地輸入到對(duì)應(yīng)的校驗(yàn)節(jié)點(diǎn)處理模塊,這些并行的外信息經(jīng)過并串轉(zhuǎn)換后依次串行地進(jìn)入到校驗(yàn)節(jié)點(diǎn)處理單元,校 驗(yàn)節(jié)點(diǎn)處理單元計(jì)算出校驗(yàn)節(jié)點(diǎn)上所有輸入外信息幅度的最小值、次小值和所有 外信息符號(hào)的異或操作結(jié)果,在校驗(yàn)節(jié)點(diǎn)處理單元工作的同時(shí),每個(gè)串行處理的 外信息的符號(hào)經(jīng)過時(shí)延,和校驗(yàn)節(jié)點(diǎn)處理單元處理后得到的數(shù)據(jù)同步進(jìn)入數(shù)據(jù)更 新器,數(shù)據(jù)更新器根據(jù)校驗(yàn)節(jié)點(diǎn)處理單元輸出的外信息幅度最小值、次小值和符 號(hào)異或結(jié)果并行地更新校驗(yàn)節(jié)點(diǎn)各個(gè)輸出外信息的值并存入對(duì)應(yīng)的信息單元池。
5、 根據(jù)權(quán)利要求l所述的準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器,其特征是, 所述校驗(yàn)節(jié)點(diǎn)處理模塊處理多個(gè)校驗(yàn)節(jié)點(diǎn)的信息更新操作,校驗(yàn)節(jié)點(diǎn)處理模塊在 每個(gè)時(shí)鐘都會(huì)得到目前所處理信息的符號(hào)位的與操作結(jié)果、信息幅度的最小值及 其該信息的位置;校驗(yàn)節(jié)點(diǎn)上所有的信息更新是同步進(jìn)行的,更新過程是通過比 較原信息的地址是否就是校驗(yàn)節(jié)點(diǎn)處理單元所輸出的最小幅度地址,如果是,那 么更新值為次小值,負(fù)責(zé)為最小值。
6、 根據(jù)權(quán)利要求1所述的準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器,其特征是, 所述變量節(jié)點(diǎn)處理模塊由一組并行的模2加法器和截位器構(gòu)成,模2加法器完成 變量節(jié)點(diǎn)信息更新的操作,截位器把輸入的數(shù)據(jù)進(jìn)行低位截位,得到系統(tǒng)有限精 度表示所需位寬的數(shù)據(jù),在每次迭代循環(huán)中,從信息存儲(chǔ)單元池中讀出校驗(yàn)節(jié)點(diǎn) 傳輸?shù)礁鱾€(gè)變量節(jié)點(diǎn)的外信息以及變量節(jié)點(diǎn)上接收到的先驗(yàn)信息,然后并行輸入 到對(duì)應(yīng)的變量節(jié)點(diǎn)處理模塊,這些外信息首先在模2加法器完成校驗(yàn)節(jié)點(diǎn)的信息 更新,然后經(jīng)過截位操作后輸入到邏輯控制模塊,由這些邏輯控制根據(jù)得到的信 息判斷是進(jìn)入下一步的循環(huán)還是輸出譯碼碼字。
全文摘要
本發(fā)明公開了一種數(shù)字通信領(lǐng)域的準(zhǔn)循環(huán)低密度校驗(yàn)碼的多碼率譯碼器,其中校驗(yàn)節(jié)點(diǎn)處理模塊并行地接收存儲(chǔ)單元池傳輸?shù)男畔ⅲ刑幚砗?,并行地更新到信息存?chǔ)單元池;變量節(jié)點(diǎn)處理模塊并行地接收并處理存儲(chǔ)單元池信息,然后更新到相應(yīng)的存儲(chǔ)單元池;信息存儲(chǔ)單元池用于存儲(chǔ)校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)處理模塊處理后的信息;邏輯控制單元用于控制多碼率譯碼和譯碼過程中校驗(yàn)節(jié)點(diǎn)處理模塊和變量節(jié)點(diǎn)處理模塊的迭代操作進(jìn)行控制,并對(duì)迭代過程進(jìn)行自適應(yīng)控制并將譯碼碼字適時(shí)輸出。本發(fā)明復(fù)雜度低、結(jié)構(gòu)靈活,既降低了單個(gè)碼字譯碼器復(fù)雜度,又能在一個(gè)碼字譯碼器的資源基礎(chǔ)上消耗增長(zhǎng)很小的情況下處理不同碼率的QC-LDPC碼的目的。
文檔編號(hào)H03M13/00GK101499804SQ20091004746
公開日2009年8月5日 申請(qǐng)日期2009年3月12日 優(yōu)先權(quán)日2009年3月12日
發(fā)明者張羅鳴, 彭林元 申請(qǐng)人:上海交通大學(xué)