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

分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的ldpc碼的編碼器的制作方法

文檔序號(hào):7510366閱讀:231來(lái)源:國(guó)知局
專利名稱:分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的ldpc碼的編碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)通信技術(shù)領(lǐng)域的編碼器,具體涉及一種分層準(zhǔn)循環(huán)擴(kuò) 展構(gòu)造的LDPC碼的編碼器。
背景技術(shù)
LDPC碼(低密度校驗(yàn)碼)是1963年Gallager首先提出的一種編碼技術(shù), 它可用作多種通信系統(tǒng)或信息存貯系統(tǒng)的糾錯(cuò)/檢錯(cuò)技術(shù),由于它具有逼近信道 極限的性能,成為近十年來(lái)最受關(guān)注的一項(xiàng)熱門(mén)技術(shù)。常用的LDPC碼編碼方法 有RU方法和基于生成矩陣的方法。RU方法實(shí)現(xiàn)簡(jiǎn)單,但編碼吞吐量低;基于生 成矩陣的方法吞吐量高,但需要占用較多的資源。
隨著對(duì)LDPC碼研究的深入,分層準(zhǔn)循環(huán)LDPC碼漸漸進(jìn)入人們的視線。這 種碼的層的概念是指校驗(yàn)矩陣H的相鄰行組成的子矩陣的最大列重為1。若校驗(yàn) 矩陣能分割為具有相同大小的幾層,則對(duì)應(yīng)的LDPC碼稱為分層LDPC碼。若一 個(gè)方陣可由單位矩陣經(jīng)循環(huán)右移/J位后得到,那么這個(gè)矩陣稱為循環(huán)移位單位 陣(CS-Identity); —般的,若一個(gè)方陣除去第一行后的每一行都可由該方陣 上一行經(jīng)循環(huán)右移一位后得到,并且第一行是最后一行經(jīng)循環(huán)右移一位后得到, 那么這個(gè)方陣稱為循環(huán)移位陣(CS-Matrix)。進(jìn)一步,如果將;?個(gè)大小相同的 循環(huán)移位單位陣和p(/rl)個(gè)相同大小的零陣拼接得到方陣,并且使得該方陣的 行重、列重均為一,那么這個(gè)方陣稱為準(zhǔn)循環(huán)移位單位陣(QC-Identity);如 果將/個(gè)大小相同的循環(huán)移位陣拼接得到方陣,那么這個(gè)方陣稱為準(zhǔn)循環(huán)移位 陣(QC-Matrix)。顯然,準(zhǔn)循環(huán)移位單位陣是一種特殊的準(zhǔn)循環(huán)移位陣。準(zhǔn)循 環(huán)移位陣的加、減、乘、求逆運(yùn)算(如果存在)所得仍是準(zhǔn)循環(huán)移位陣。若可 將分層LDPC碼中的每一層分為準(zhǔn)循環(huán)移位單位陣的拼接,則對(duì)應(yīng)的LDPC碼稱 為分層準(zhǔn)循環(huán)LDPC碼(Layered QC-LDPC Code)。分層準(zhǔn)循環(huán)LDPC碼的出現(xiàn)不
僅使提高吞吐量成為可能,而且還能減少編碼復(fù)雜度。
經(jīng)過(guò)對(duì)現(xiàn)有技術(shù)文獻(xiàn)檢索發(fā)現(xiàn),D. Lee, W. Luk,C. Wang和C. Jones在《Field
Programmable Custom Computing Machines》,2004, FCCM 2004, pp.101-111 上提出的"A flexible hardware encoder for low-density parity-check codes" (低密度校驗(yàn)碼的靈活編碼器實(shí)現(xiàn))給出了 一種目前普遍采用的基于RU方法的 LDPC編碼器,該編碼器成功地將LDPC編碼復(fù)雜度降低到近似與碼長(zhǎng)成正比,并 且在編碼器中引入了流水線結(jié)構(gòu),將編碼過(guò)程并行化, 一定程度上能夠增加編 碼器的吞吐量。但是該編碼器每一級(jí)流水線消耗的時(shí)鐘數(shù)差距極大,抑制了吞 吐量的進(jìn)一步提升,并且它所涉及的串行的前項(xiàng)替換模塊進(jìn)一步限制了吞吐量 的提高。由于結(jié)構(gòu)不夠靈活,多碼長(zhǎng)、多碼率LDPC碼的編碼器實(shí)現(xiàn)還是比較困 難。

發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供一種支持可變碼長(zhǎng)、可變碼率的分層準(zhǔn) 循環(huán)LDPC碼的編碼器,它是一種適用于基于二次擴(kuò)展構(gòu)造的LDPC碼的編碼器, 是對(duì)傳統(tǒng)RU方法編碼器的一種改進(jìn)發(fā)明,可以得到比RU方法編碼器更大的吞
本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的
本發(fā)明包括輸入緩存,第一處理-緩存流水級(jí),第二處理流水級(jí),第三緩
存流水級(jí),第四處理-緩存流水級(jí),輸出級(jí)。其中所述輸入緩存將信息比特S 按照校驗(yàn)矩陣H中塊的大小pX^進(jìn)行分割,分別存儲(chǔ)在p個(gè)深度為仏位寬為 1的兵乓RAM中,另外使用6塊深度為< 、位寬為的RAM對(duì)信息比特
s進(jìn)行FIF0操作以確保s與相應(yīng)校驗(yàn)比特A、 A同步傳遞給輸出級(jí);所述第一 處理-緩存流水級(jí),首先同時(shí)分塊讀取輸入緩存各乒乓RAM的信息比特,然后同 時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算(CSIMV),分塊同時(shí)更新T—'A/, C/, 并將其按照H矩陣中塊的大小pX《進(jìn)行分割,分別存儲(chǔ)在p個(gè)深度為。、位寬 為1的乒乓RAM中,另外使用4塊深度為々X 7、位寬為1的RAM對(duì)T—A/進(jìn)行 FIFO操作以確保T—A/與相應(yīng)的校驗(yàn)比特A同步傳遞給第四處理-緩存流水級(jí); 所述第二處理流水級(jí),首先同時(shí)分塊讀取第一處理-緩存流水級(jí)各乒乓RAM中 T"A/, C/的值,接著同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,然后同時(shí)分 塊執(zhí)行向量加法運(yùn)算(VA),最后同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位陣乘向量運(yùn)算 (CSDMV),分塊同時(shí)更新A并輸出給第三緩存流水級(jí);所述第三緩存流水級(jí)將 A按照H矩陣中塊的大小/ X^進(jìn)行分割,分別存儲(chǔ)在/ 個(gè)深度為《、位寬為1
的兵乓RAM中,另外使用3塊深度為pX 。、位寬為2的RAM對(duì)校驗(yàn)比特A進(jìn)行 FIFO操作以確保A與相應(yīng)的信息比特s、校驗(yàn)比特A同步傳遞給輸出級(jí);所述 第四處理-緩存流水級(jí),首先同時(shí)分塊讀取第三緩存流水級(jí)各乒乓ram中的a和 第一處理-流水級(jí)的乒乓RAM中T—'A/的值,然后同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位 陣乘向量運(yùn)算,最后執(zhí)行向量加法運(yùn)算,更新A并將其存儲(chǔ)在深度為^X。、位 寬為i的乒乓ram中;所述輸出級(jí)同時(shí)分塊讀取輸入緩存的乒乓ram中的s、第 三緩存流水級(jí)的乒乓ram中的a以及第四處理-流水級(jí)的乒乓ram中a的值,并 將其輸出給信道。
所述的校驗(yàn)矩陣H,行重為&,列重為《,則其可以按行分為必層,每一 層的列重均為1。也可以將其按RU編碼方法分成A、 B、 T、 C、 D、 E六個(gè)子矩陣, 其中A由1 X (《-的塊組成,B由1 X (《-1)的塊組成,T只由一塊組成,C由 (《-1) X (d-oO的i炎組成,D由(A-l) X (oH)的塊組成,E由1) X 1的塊組 成。每個(gè)循環(huán)移位單位陣都是《X《的,則H矩陣每一塊均由/個(gè)這樣的循環(huán)移 位單位陣拼接而成。定義d> = — ET—'B+D。
所述的信息比特s、校驗(yàn)比特A和A,共同組成編碼后碼字F", A, A), 其中s對(duì)應(yīng)C所在的列,A和A分別對(duì)應(yīng)D和E所在的列。
所述的輸入緩存,使用6塊深度為《、位寬為的^-《的RAM對(duì)信息比特 s進(jìn)行FIFO操作以確保s與相應(yīng)校驗(yàn)比特p,、 A同步傳遞給輸出級(jí)。除此以外 輸入緩存將信息比特s按照H矩陣中塊的大小pX《進(jìn)行分割,分別存儲(chǔ)在p個(gè) 深度為g、位寬為1的乒乓RAM中,每^-《對(duì)這樣的乒乓RAM分塊聯(lián)合存儲(chǔ)一 份信息比特s的內(nèi)容。 一共有A+l份信息比特s被存儲(chǔ)在輸入緩存中。
所述的第一處理-緩存流水級(jí),使用《個(gè)ROM存儲(chǔ)矩陣C和T—'A中循環(huán)移位 單位陣的移位因子,每個(gè)ROM存儲(chǔ)T—'A或者C的一層中的所有移位因子,每一 層中在同一行上的循環(huán)移位單位陣的移位因子被組合后存儲(chǔ)在ROM的同一個(gè)地 址。第一處理-緩存流水級(jí)使能時(shí)同時(shí)從《個(gè)ROM中順次讀出移位因子,將這些 移位因子作為讀地址分塊循環(huán)讀取輸入緩存中的d份信息比特s,即同時(shí)分塊執(zhí) 行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算(CSIMV),分塊同時(shí)更新T—'A/, C/,將T—'A/ 按照H矩陣中塊的大小pX^進(jìn)行分割,分別存儲(chǔ)在P個(gè)深度為仏位寬為l的 兵乓RAM中,將C/按照H矩陣中塊的大小pX《進(jìn)行分割,分別存儲(chǔ)在4-1對(duì) 深度為PX 7、位寬為1的乒乓RAM中,另外使用4塊深度為pX 。、位寬為1的
ram對(duì)t—'a/進(jìn)行fifo操作以確保t—'a/與相應(yīng)的校驗(yàn)比特a同步傳遞給第四處 理-緩存流水級(jí)。
所述的第二處理流水級(jí),使用《-l個(gè)ROM存儲(chǔ)矩陣E中循環(huán)移位單位陣的 移位因子,每個(gè)ROM順序存儲(chǔ)E的一層中的所有移位因子。同時(shí)使用1個(gè)ROM 存儲(chǔ)矩陣(d—'中所有循環(huán)移位陣的第一列,將①—,每一列層的第一列組合后存 儲(chǔ)在ROM的低地址,之后順次添加下一列循環(huán)移位陣的第一列的組合。第二處 理流水級(jí)使能時(shí)同時(shí)從個(gè)ROM中順次讀出移位因子,將這些移位因子作為 讀地址讀取第一處理-緩存流水級(jí)的乒乓RAM中的T—A/,即同時(shí)分塊執(zhí)行準(zhǔn)循 環(huán)移位單位陣乘向量運(yùn)算(CSIMV),分塊同時(shí)更新ET—A/。然后分塊同時(shí)順序 讀取第一處理-緩存流水級(jí)的乒乓RAM中的C/,進(jìn)而分塊執(zhí)行向量加法運(yùn)算 (VA),逐比特更新(ET—A+C)/。最后從ROM中順次讀出①—'的所有循環(huán)移位陣 的第一列,分塊同時(shí)執(zhí)行準(zhǔn)循環(huán)移位陣乘向量運(yùn)算(csdmv),分塊同時(shí)更新a 并輸出給第三緩存流水級(jí)。
所述的第三緩存流水級(jí),使用3塊深度為pX(7、位寬為2的RAM對(duì)校驗(yàn)比 特A進(jìn)行FIFO操作以確保A與相應(yīng)的信息比特s、校驗(yàn)比特A同步傳遞給輸出 級(jí),另外還將校驗(yàn)比特a按照H矩陣中塊的大小pX^進(jìn)行分割,分別存儲(chǔ)在p 個(gè)深度為。、位寬為1的乒乓RAM中。這樣一共有2份a被存儲(chǔ)在第三緩存流水 級(jí)中。
所述的第四處理-緩存流水級(jí),使用1個(gè)R0M存儲(chǔ)矩陣T—^中循環(huán)移位單位 陣的移位因子,在同一行上的循環(huán)移位單位陣的移位因子被組合后存儲(chǔ)在ROM 的同一個(gè)地址。第四處理-緩存流水級(jí)使能時(shí)從ROM中順次讀出移位因子,將這 些移位因子作為讀地址分塊循環(huán)讀取第三緩存流水級(jí)中的校驗(yàn)比特a,即同時(shí) 分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算(CSIMV),分塊同時(shí)更新T—'B p,。然后 順序讀取第一處理-緩存流水級(jí)的乒乓RAM中的T—'A/,進(jìn)而執(zhí)行向量加法運(yùn)算 (VA),逐比特更新a,并將其存儲(chǔ)在深度為pX^、位寬為1的乒乓RAM中。
所述的準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,考慮到循環(huán)移位單位陣乘向量相當(dāng) 于將向量循環(huán)移位,本發(fā)明將每個(gè)準(zhǔn)循環(huán)移位單位陣乘向量的運(yùn)算按照H矩陣 中塊的大小分解成多個(gè)循環(huán)移位單位陣乘向量的運(yùn)算。假設(shè)"為移位因子,當(dāng) 一個(gè)^X^的循環(huán)移位單位陣與長(zhǎng)為^的向量x相乘時(shí),其結(jié)果就是將向量z循
環(huán)上移了 "位。在循環(huán)移位單位陣乘向量使能時(shí),使用一個(gè)二進(jìn)制計(jì)數(shù)器對(duì)向
量x進(jìn)行地址選通,把當(dāng)前循環(huán)移位單位陣的移位因子a載入計(jì)數(shù)器,讀出z 的第a位,此后計(jì)數(shù)器按模。計(jì)數(shù),每次讀出x中的一位,《個(gè)時(shí)鐘之后,就 完成了循環(huán)移位單位陣與向量x的乘法。由于A、 B、 T、 C、 D、 E都是準(zhǔn)循環(huán)移 位單位陣,編碼預(yù)處理后的矩陣T—'A、 C、 T—'B、 E也都是準(zhǔn)循環(huán)移位單位陣,都 能由循環(huán)移位單位陣構(gòu)成,因此能適用上述算法。
所述的準(zhǔn)循環(huán)移位陣乘向量運(yùn)算,涉及①—i與(ET—'A+C)/的相乘的計(jì)算, 本發(fā)明將該運(yùn)算按照H矩陣中塊的大小分解成多個(gè)循環(huán)移位陣乘向量的運(yùn)算。 當(dāng)一個(gè)《X9的循環(huán)移位陣V與一個(gè)長(zhǎng)為^的向量x相乘,在循環(huán)移位陣乘向量 使能時(shí),把V中的第一行并行載入寄存器組,同時(shí)把相乘向量x的各分量輸入 到對(duì)應(yīng)的與門(mén)上,把各與門(mén)的輸出結(jié)果進(jìn)行模2加(異或)運(yùn)算之后,就得到 第一個(gè)輸出比特。此后每經(jīng)過(guò)一個(gè)時(shí)鐘周期,寄存器循環(huán)右移一位,就能得到
后續(xù)的輸出比特,《個(gè)時(shí)鐘之后,就完成了本次循環(huán)移位陣v與向量義的乘法。
與現(xiàn)有的基于RU方法的編碼器相比,本發(fā)明所述的編碼器具有以下特點(diǎn)
(1) 本發(fā)明利用T—A是準(zhǔn)循環(huán)移位單位陣的特性,僅存儲(chǔ)T—A的乘積矩陣, 這樣做要比RU方法編碼器中分別存儲(chǔ)T—^A兩個(gè)矩陣節(jié)省資源,類似地,本發(fā) 明只需要存儲(chǔ)T—^的乘積矩陣。當(dāng)r1、 A和B都是準(zhǔn)循環(huán)移位單位陣時(shí),ROM資 源可以節(jié)省[2/(^+l) ] X 100%。
(2) 本發(fā)明利用T"的準(zhǔn)循環(huán)移位單位陣特性,使得RU方法中與T"的串 行乘法得以去除,將吞吐量提高了(3X4/oQX10(m,而且將流水線級(jí)數(shù)從RU 方法的6級(jí)縮短到現(xiàn)在的4級(jí),在假定每一級(jí)流水線消耗時(shí)鐘數(shù)不變的情況下, 將編碼時(shí)延縮短了 33%。
(3) 本發(fā)明進(jìn)一步改進(jìn)了流水線結(jié)構(gòu)的平衡性,使每一級(jí)流水線的運(yùn)算所 需時(shí)鐘數(shù)都為/ X《,解決了RU方法流水線延時(shí)不平均的問(wèn)題,進(jìn)一步縮短了編 碼時(shí)延。
(4) 本發(fā)明中準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算、向量加法運(yùn)算和準(zhǔn)循環(huán)移位 陣乘向量運(yùn)算均支持分塊計(jì)算,因此編碼器能支持可變碼長(zhǎng)、可變碼率的各種 LDPC碼。通過(guò)改變4和&,本發(fā)明支持的碼率有1/2、 2/3、 3/4、 4/5、…、
通過(guò)改變P或^,就能實(shí)現(xiàn)碼長(zhǎng)的改變,只需要將每個(gè)模塊的大小對(duì)應(yīng) 最大的P和^進(jìn)行配置即可。


圖1為本發(fā)明實(shí)施基于的分層準(zhǔn)循環(huán)LDPC校驗(yàn)矩陣的示意圖; 圖2為本發(fā)明實(shí)施例流水線結(jié)構(gòu)示意圖3為本發(fā)明實(shí)施例的分層準(zhǔn)循環(huán)LDPC校驗(yàn)矩陣的示意圖4為本發(fā)明實(shí)施例中根據(jù)圖3的校驗(yàn)矩陣預(yù)處理后結(jié)果示意圖5為本發(fā)明實(shí)施例中根據(jù)圖4預(yù)處理矩陣進(jìn)行編碼的示意圖6為本發(fā)明實(shí)施例中各ROM存儲(chǔ)示意圖7為本發(fā)明實(shí)施例中準(zhǔn)循環(huán)移位單位陣乘向量示意圖; 圖8為本發(fā)明實(shí)施例中準(zhǔn)循環(huán)移位陣乘向量示意圖; 圖9為本發(fā)明實(shí)施例中RAM分割示意圖10為本發(fā)明為適應(yīng)不同碼長(zhǎng)、碼率配置準(zhǔn)循環(huán)移位單位陣乘向量示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明本實(shí)施例在以本發(fā)明技術(shù)方 案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的 保護(hù)范圍不限于下述的實(shí)施例。
圖l給出了本發(fā)明實(shí)施基于的分層準(zhǔn)循環(huán)LDPC校驗(yàn)矩陣的示意圖。圖中假 設(shè)校驗(yàn)矩陣H行重為《,列重為《,則H矩陣分層數(shù)為&,每個(gè)循環(huán)移位單位 陣都是^的,每一個(gè)塊由/個(gè)循環(huán)移位單位陣拼接而成,其中A由1X (d-oO 的塊組成,B由IX (oH)的塊組成,T只占用一個(gè)塊的大小,C由(oH) X (^-oO 的塊組成,D由1) X (4-1)的塊組成,E由(《-1) X 1的塊組成。
令F(s, a, a),其中s是信息比特,a和a分別表示校驗(yàn)比特的前后兩 部分,分別對(duì)應(yīng)圖1中D和E所在的列,cD =—ET—力+D。
在本實(shí)施例中,假設(shè)d=6、 dv=3, p=2, q=2,故得到的校驗(yàn)矩陣H為12行 24列。
圖2示出了本實(shí)施例流水線結(jié)構(gòu),給出了流水線的分級(jí)及各級(jí)流水線中主 要模塊的劃分。本發(fā)明將流水線級(jí)數(shù)從RU方法的6級(jí)縮短到現(xiàn)在的4級(jí),在假 定每一級(jí)流水線消耗時(shí)鐘數(shù)不變的情況下,將編碼時(shí)延縮短了 33%。
本實(shí)施例具體包括輸入緩存、第一處理-緩存流水級(jí)、第二處理流水級(jí)、 第三緩存流水級(jí)、第四處理-緩存流水級(jí)、輸出級(jí),其特征在于
所述的輸入緩存,將信息比特s按照校驗(yàn)矩陣H中塊的大小pX 。進(jìn)行分割,
分別存儲(chǔ)在P個(gè)深度為《、位寬為1的乒乓RM1中,另外使用6塊深度為pX。、 位寬為的oL-d的RAM對(duì)信息比特s進(jìn)行FIFO操作以確保信息比特s與校驗(yàn)比特
A、 A同步傳遞給輸出級(jí);
所述第一處理-緩存流水級(jí),先同時(shí)分塊讀取輸入緩存各乒乓RAM的信息比 特,然后同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,分塊同時(shí)更新向量T—A/, C/,并將其按照校驗(yàn)矩陣H中塊的大小pX《進(jìn)行分割,分別存儲(chǔ)在p個(gè)深度為 9、位寬為1的乒乓RAM中,另外使用4塊深度為pX《、位寬為1的RAM對(duì)向量 T—A/進(jìn)行FIFO操作以確保向量T—'A/與的校驗(yàn)比特A同步傳遞給第四處理-緩 存流水級(jí);
所述第二處理流水級(jí),首先同時(shí)分塊讀取第一處理-緩存流水級(jí)各乒乓RAM 中向量T—A/, C/的值,接著同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,然后 同時(shí)分塊執(zhí)行向量加法運(yùn)算,最后同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位陣乘向量運(yùn)算,分 塊同時(shí)更新校驗(yàn)比特A并輸出給第三緩存流水級(jí);
所述第三緩存流水級(jí),將校驗(yàn)比特A按照校驗(yàn)矩陣H中塊的大小pX 9進(jìn)行 分割,分別存儲(chǔ)在P個(gè)深度為仏位寬為1的乒乓RAM中,另外使用3塊深度為 pX &位寬為2的RAM對(duì)校驗(yàn)比特A進(jìn)行FIFO操作以確保校驗(yàn)比特A與信息比 特s、校驗(yàn)比特A同步傳遞給輸出級(jí);
所述第四處理-緩存流水級(jí),首先同時(shí)分塊讀取第三緩存流水級(jí)各乒乓RAM 中的校驗(yàn)比特p,和第一處理-流水級(jí)的乒乓RAM中向量T—A/的值,然后同時(shí)分 塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,最后執(zhí)行向量加法運(yùn)算,更新校驗(yàn)比特 A并將其存儲(chǔ)在深度為《、位寬為1的乒乓RAM中;
所述輸出級(jí)同時(shí)分塊讀取輸入緩存的乒乓RAM中的信息比特s、第三緩存 流水級(jí)的乒乓R雇中的校驗(yàn)比特A以及第四處理-流水級(jí)的乒乓RAM中校驗(yàn)比特 A的值,并將其輸出給信道。
圖3示出了本發(fā)明實(shí)施例的分層準(zhǔn)循環(huán)LDPC校驗(yàn)矩陣的示意圖,它的幾個(gè) 分割已經(jīng)在圖中標(biāo)注;
圖4示出了本發(fā)明實(shí)施例中根據(jù)圖3的校驗(yàn)矩陣預(yù)處理后結(jié)果;如圖4所 示,本實(shí)施例中的校驗(yàn)矩陣預(yù)處理包括以下部分
為了解釋方便,定義矩陣的(r" r2; Cl, c2)子矩陣為限定于原矩陣[ru n]行和[d, C2]列的矩陣。則矩陣A 301是矩陣H 201的(1, 4; 1, 12)子矩陣,矩陣B 302是矩陣H的(1, 4; 13, 18)子矩陣,矩陣T 303是矩陣H的 (1, 4; 19, 24)子矩陣,矩陣C 304是矩陣H的(5, 12; 1, 12)子矩陣, 矩陣D 305是矩陣H的(5, 12; 13, 18)子矩陣,矩陣E 306是矩陣H的(5, 12; 19, 24)子矩陣。經(jīng)過(guò)模2矩陣乘法運(yùn)算和高斯消元后得到①307以及①—1 308, T—A 309和T—'B 310。
圖5示出了本發(fā)明實(shí)施例的編碼流程圖,基于圖4的預(yù)處理矩陣和圖2的 流水線結(jié)構(gòu),本實(shí)施例中編碼包括以下步驟
假定待編碼信息比特為s401,一份s被存儲(chǔ)在輸入緩存的由6塊深度為4、 位寬為3的RAM組成的緩存101中,另外兩份s被分塊存儲(chǔ)在輸入緩存的18對(duì) 深度為2、位寬為1的乒乓R層102中。經(jīng)過(guò)第一處理-緩存流水級(jí)的準(zhǔn)循環(huán)移 位單位陣乘向量運(yùn)算106,得到T—402, 一份T—AsT被存儲(chǔ)在第一處理-緩存 流水級(jí)的2對(duì)深度為2、位寬為1的乒乓RAM 108中,另一份T—V^t被存儲(chǔ)在第 一處理-緩存流水級(jí)的由4塊深度為4、位寬為1的RAM組成的緩存109中。經(jīng) 過(guò)準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算105,得到C乂 403, C2sT 404,并將其分別存 儲(chǔ)在第一處理-緩存流水級(jí)的2對(duì)深度為4、位寬為1的乒乓RAM 107中。乒乓 RAM 108中的T—AsT經(jīng)過(guò)第二處理流水級(jí)的準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算111, 得到EJ—'A^ 405, E2T—As1 406,將它們同時(shí)分塊與乒乓RAM 107中的C乂 403, C2sT 404作向量加法運(yùn)算,得到(EJ—'A+d) sT 407, (E/TA+Q sT 408,分別經(jīng)過(guò) 第二處理流水級(jí)的準(zhǔn)循環(huán)移位陣乘向量運(yùn)算116,分塊逐比特得到a410。第三 緩存流水級(jí)將一份A存儲(chǔ)在由3塊深度為4、位寬為2的RAM組成的緩存117 中,另一份A被分塊存儲(chǔ)在4對(duì)深度為2、位寬為1的乒乓RAM 118中。經(jīng)過(guò)第 四處理-緩存流水級(jí)的準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算120,得到rB^411,將其 與第一處理-緩存流水級(jí)的乒乓RAM中的T—'A^t作向量加法運(yùn)算122,得到A412, 并將其存儲(chǔ)在第四處理-緩存流水級(jí)的深度為4、位寬為1的乒乓RAM 123中。 輸出級(jí)讀取第一處理-緩存流水級(jí)的乒乓RAM 101中的s、第三緩存流水級(jí)的乒 乓ram 117中的a以及第四處理-緩存流水級(jí)的兵乓ram 123中的a,并組合成 輸出編碼后碼字義413。
圖6為根據(jù)本發(fā)明實(shí)施例的方法各ROM存儲(chǔ)示意圖。對(duì)應(yīng)圖2來(lái)看,501 存放在圖2中的ROM 104, 502存放在圖2中的ROM 119, 503、 505存放在圖2 中的ROM 103, 504、 506存放在圖2中的ROMllO, 507存放在圖2中的ROM 115。
舉例ROM&504的生成方法,由矩陣H201可知,Et由四個(gè)循環(huán)移位單位陣組成, 存儲(chǔ)&的ROM的每一個(gè)地址上,高位指示該地址對(duì)應(yīng)行塊中循環(huán)移位單位陣的 位置,低位指示該循環(huán)移位單位陣的移位因子。另外,若如RU方法編碼器所述 分別存儲(chǔ)T—\ A和B,由于A、 B在大小上和T—A、 r'B無(wú)異,則需要多存儲(chǔ)兩份 r1,每份需要一個(gè)深度為2、位寬為2的R0M,這樣將增加40y。的ROM資源消耗。
圖7為本發(fā)明實(shí)施例中準(zhǔn)循環(huán)移位單位陣乘向量示意圖。舉例E,XT—VL T來(lái) 說(shuō),步驟701讀出存儲(chǔ)Et的R0M的低地址數(shù)據(jù),步驟702根據(jù)當(dāng)前ROM數(shù)據(jù)高 位截取輸入向量長(zhǎng)度為2")的2。)段中的一段,如果高位是1則截取輸入向量 的下半段,反之則截取輸入向量的上半段,步驟703按照當(dāng)前ROM數(shù)據(jù)低位對(duì) 該段輸入向量循環(huán)移位后構(gòu)成目標(biāo)向量的上半段。步驟704讀出存儲(chǔ)E:的ROM 的高地址數(shù)據(jù),步驟705根據(jù)當(dāng)前數(shù)據(jù)高位截取輸入向量長(zhǎng)度為2")的2(p)段 中的一段,步驟706按照當(dāng)前ROM數(shù)據(jù)低位對(duì)該段輸入向量循環(huán)移位后構(gòu)成目 標(biāo)向量的下半段,最終組合得到目標(biāo)向量707??梢?jiàn),通過(guò)分塊計(jì)算完成一次準(zhǔn) 循環(huán)移位單位陣乘向量所需的時(shí)鐘數(shù)只是PX ^4。
圖8為本發(fā)明實(shí)施例中準(zhǔn)循環(huán)移位陣乘向量示意圖。步驟801讀出存儲(chǔ)①—1 的ROM的低地址數(shù)據(jù),作為循環(huán)移位單位陣1、 5、 9、 13、 3、 7、 11、 15的第 一列,步驟802將上述數(shù)據(jù)與對(duì)應(yīng)的輸入向量a、 c的第一比特相乘,步驟803 對(duì)上述循環(huán)移位單位陣的第一列循環(huán)移位一位后得到其第二列,并再次與對(duì)應(yīng) 的輸入向量a、 c的第二比特相乘;步驟804讀出存儲(chǔ)?!?的R0M的高地址數(shù)據(jù), 作為循環(huán)移位單位陣2、 6、 10、 14、 4、 8、 12、 16的第一列,步驟805將上述 數(shù)據(jù)與對(duì)應(yīng)的輸入向量力、"的第一比特相乘,步驟806對(duì)上述循環(huán)移位單位陣 的第一列循環(huán)移位一位后得到其第二列,并再次與對(duì)應(yīng)的輸入向量& "的第二 比特相乘,最終相加后得到目標(biāo)向量。
圖9為本發(fā)明實(shí)施例中RAM分割示意圖。注意到步驟702需根據(jù)準(zhǔn)循環(huán)移 位單位陣ROM數(shù)據(jù)高位確定相關(guān)上級(jí)輸入向量的移位范圍,因此上級(jí)輸入向量 需要被分塊存儲(chǔ)在RAM中。步驟901將r'As1 402的前2 ")位數(shù)據(jù)存儲(chǔ)在乒乓 RAMI的第一塊RAM中,步驟902將T—'AsT的后2 U)位數(shù)據(jù)存儲(chǔ)在兵乓RAM2的第 一塊R扁中。由于采用了流水線結(jié)構(gòu),在下一幀到來(lái)時(shí),步驟903將下一幀T— 的數(shù)據(jù)存放在乒乓RAMI和乒乓RAM2的第二塊RAM中,以達(dá)到并行計(jì)算的效果。
圖10為本發(fā)明為適應(yīng)不同碼長(zhǎng)碼率配置準(zhǔn)循環(huán)移位單位陣乘向量的示意
圖。步驟1001矩陣仏2, AJ乘以向量"2, sJ可以完全并行分解為A2乘以向量S2 1002和Ai乘以向量Sl 1003,所需時(shí)間與單個(gè)A:乘以向量Si完全相同。于是并 行處理即可實(shí)現(xiàn)在可變碼長(zhǎng)、可變碼率的要求下的編碼吞吐量不變。
本實(shí)施例為了便于說(shuō)明,選取了較小的H矩陣,本發(fā)明適用的H矩陣可以 很大。
以上所述僅為本發(fā)明的實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的 精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的LDPC碼的編碼器,包括輸入緩存、第一處理-緩存流水級(jí)、第二處理流水級(jí)、第三緩存流水級(jí)、第四處理-緩存流水級(jí)、輸出級(jí),其特征在于所述的輸入緩存,將信息比特s按照校驗(yàn)矩陣H中塊的大小p×q進(jìn)行分割,分別存儲(chǔ)在p個(gè)深度為q、位寬為1的乒乓RAM中,另外使用6塊深度為p×q、位寬為的dc-dv的RAM對(duì)信息比特s進(jìn)行FIFO操作以確保信息比特s與校驗(yàn)比特p1、p2同步傳遞給輸出級(jí);所述第一處理-緩存流水級(jí),先同時(shí)分塊讀取輸入緩存各乒乓RAM的信息比特,然后同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,分塊同時(shí)更新向量T-1AsT,CsT,并將其按照校驗(yàn)矩陣H中塊的大小p×q進(jìn)行分割,分別存儲(chǔ)在p個(gè)深度為q、位寬為1的乒乓RAM中,另外使用4塊深度為p×q、位寬為1的RAM對(duì)向量T-1AsT進(jìn)行FIFO操作以確保向量T-1AsT與的校驗(yàn)比特p1同步傳遞給第四處理-緩存流水級(jí);所述第二處理流水級(jí),首先同時(shí)分塊讀取第一處理-緩存流水級(jí)各乒乓RAM中向量T-1AsT,CsT的值,接著同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,然后同時(shí)分塊執(zhí)行向量加法運(yùn)算,最后同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位陣乘向量運(yùn)算,分塊同時(shí)更新校驗(yàn)比特p1并輸出給第三緩存流水級(jí);所述第三緩存流水級(jí),將校驗(yàn)比特p1按照校驗(yàn)矩陣H中塊的大小p×q進(jìn)行分割,分別存儲(chǔ)在p個(gè)深度為q、位寬為1的乒乓RAM中,另外使用3塊深度為p×q、位寬為2的RAM對(duì)校驗(yàn)比特p1進(jìn)行FIFO操作以確保校驗(yàn)比特p1與信息比特s、校驗(yàn)比特p2同步傳遞給輸出級(jí);所述第四處理-緩存流水級(jí),首先同時(shí)分塊讀取第三緩存流水級(jí)各乒乓RAM中的校驗(yàn)比特p1和第一處理-流水級(jí)的乒乓RAM中向量T-1AsT的值,然后同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,最后執(zhí)行向量加法運(yùn)算,更新校驗(yàn)比特p2并將其存儲(chǔ)在深度為p×q、位寬為1的乒乓RAM中;所述輸出級(jí),同時(shí)分塊讀取輸入緩存的乒乓RAM中的信息比特s、第三緩存流水級(jí)的乒乓RAM中的校驗(yàn)比特p1以及第四處理-流水級(jí)的乒乓RAM中校驗(yàn)比特p2的值,并將其輸出給信道。
2、 根據(jù)權(quán)利要求1所述的一種分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的LDPC碼的編碼器, 其特征是,所述的第一處理-緩存流水級(jí),使用列重《個(gè)R0M存儲(chǔ)矩陣C和T—'A 中循環(huán)移位單位陣的移位因子,每個(gè)ROM存儲(chǔ)矩陣T—'A或者C的一層中的所有 移位因子,每一層中在同一行上的循環(huán)移位單位陣的移位因子被組合后存儲(chǔ)在 ROM的同一個(gè)地址,第一處理-緩存流水級(jí)使能時(shí)同時(shí)從列重必個(gè)ROM中順次讀 出移位因子,將這些移位因子作為讀地址分塊循環(huán)讀取輸入緩存中的列重&份 信息比特s,即同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,分塊同時(shí)更新向量 T—'A/, C/。
3、 根據(jù)權(quán)利要求1所述的一種分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的LDPC碼的編碼器, 其特征是,所述的第二處理流水級(jí),使用列重必-l個(gè)ROM存儲(chǔ)矩陣E中循環(huán)移 位單位陣的移位因子,每個(gè)ROM順序存儲(chǔ)矩陣E的一層中的所有移位因子,同 時(shí)使用1個(gè)R0M存儲(chǔ)矩陣①—'中所有循環(huán)移位陣的第一列,將矩陣O—1的每一列 層的第一列組合后存儲(chǔ)在ROM的低地址,之后順次添加下一列循環(huán)移位陣的第 一列的組合,第二處理流水級(jí)使能時(shí)同時(shí)從列重《-l個(gè)ROM中順次讀出移位因 子,將這些移位因子作為讀地址讀取第一處理-緩存流水級(jí)的乒乓RAM中的向量 T—A/,即同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位單位陣乘向量運(yùn)算,分塊同時(shí)更新向量 ET—A/,然后分塊同時(shí)順序讀取第一處理-緩存流水級(jí)的乒乓RAM中的向量C/, 進(jìn)而分塊執(zhí)行向量加法運(yùn)算,逐比特更新向量(ET—'A+C)/,最后從ROM中順次讀 出矩陣3^的所有循環(huán)移位陣的第一列,分塊同時(shí)執(zhí)行準(zhǔn)循環(huán)移位陣乘向量運(yùn) 算,分塊同時(shí)更新校驗(yàn)比特A并輸出給第三緩存流水級(jí)。
4、 根據(jù)權(quán)利要求1或3所述的一種分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的LDPC碼的編碼 器,其特征是,在所述準(zhǔn)循環(huán)移位陣乘向量運(yùn)算中,按照校驗(yàn)矩陣H中塊的大 小pX ^分解成多個(gè)循環(huán)移位陣乘向量的運(yùn)算,當(dāng)一個(gè)^的循環(huán)移位陣V與 一個(gè)長(zhǎng)為< 的向量^相乘,在循環(huán)移位陣乘向量使能時(shí),把循環(huán)移位陣V中的 第一行并行載入寄存器組,同時(shí)把向量義的各分量輸入到對(duì)應(yīng)的與門(mén)上,把各 與門(mén)的輸出結(jié)果進(jìn)行模2加運(yùn)算之后,就得到第一個(gè)輸出比特,此后每經(jīng)過(guò)一 個(gè)時(shí)鐘周期,寄存器循環(huán)右移一位,就能得到后續(xù)的輸出比特,( 個(gè)時(shí)鐘之后, 就完成了本次循環(huán)移位陣v與向量j的乘法。
5、 根據(jù)權(quán)利要求1所述的一種分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的LDPC碼的編碼器, 其特征是,所述的第四處理-緩存流水級(jí),使用1個(gè)r0m存儲(chǔ)矩陣t—^中循環(huán)移 位單位陣的移位因子,在同一行上的循環(huán)移位單位陣的移位因子被組合后存儲(chǔ) 在rom的同一個(gè)地址,第四處理-緩存流水級(jí)使能時(shí)從rom中順次讀出移位因子, 將這些移位因子作為讀地址分塊循環(huán)讀取第三緩存流水級(jí)中的校驗(yàn)比特a,即 同時(shí)分塊執(zhí)行準(zhǔn)循環(huán)移位年位陣乘向量運(yùn)算,分塊同時(shí)更新向量t—'b a,然后 順序讀取第一處理-緩存流水級(jí)的乒乓ram中的向量t—、/,進(jìn)而執(zhí)行向量加法 運(yùn)算,逐比特更新校驗(yàn)比特a,并將其存儲(chǔ)在乒乓ram中。
6、根據(jù)權(quán)利要求1或2或3或5所述的一種分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的ldpc碼的編 碼器,其特征是,在每個(gè)所述準(zhǔn)循環(huán)移位單位陣乘向量的運(yùn)算中,按照校驗(yàn)矩 陣h中塊的大小分解成多個(gè)循環(huán)移位單位陣乘向量的運(yùn)算,假設(shè)"為移位因子, 當(dāng)一個(gè)^X^的循環(huán)移位單位陣與一個(gè)長(zhǎng)為^的向量z相乘時(shí),其結(jié)果就是將向量^ 循環(huán)上移了"位,在循環(huán)移位單位陣乘向量使能時(shí),使用一個(gè)二進(jìn)制計(jì)數(shù)器對(duì) 向量說(shuō)行地址選通,把當(dāng)前循環(huán)移位單位陣的移位因子a載入計(jì)數(shù)器,讀出向 量^J第a位,此后計(jì)數(shù)器按?!队?jì)數(shù),每次讀出向量義中的一位,<7個(gè)時(shí)鐘之后, 就完成了循環(huán)移位單位陣與向量義的乘法。
全文摘要
本發(fā)明公開(kāi)了一種分層準(zhǔn)循環(huán)擴(kuò)展構(gòu)造的LDPC碼的編碼器,包括輸入緩存、第一處理-緩存流水級(jí)、第二處理流水級(jí)、第三緩存流水級(jí)、第四處理-緩存流水級(jí)、輸出級(jí),根據(jù)校驗(yàn)矩陣H是準(zhǔn)循環(huán)移位陣拼接的特點(diǎn),簡(jiǎn)化了RU編碼方法的流水線結(jié)構(gòu),使流水線級(jí)數(shù)從六級(jí)降到了四級(jí),縮短了編碼時(shí)延。同時(shí)根據(jù)主要功能模塊的實(shí)現(xiàn)特點(diǎn),降低了最大流水線時(shí)延,提高了編碼吞吐量。隨后依據(jù)準(zhǔn)循環(huán)移位陣運(yùn)算的特點(diǎn),減少了編碼器ROM的資源消耗,用準(zhǔn)循環(huán)移位單位陣乘向量取代了RU方法中的稀疏矩陣乘向量,用準(zhǔn)循環(huán)移位陣乘向量取代了RU方法中的非稀疏矩陣乘向量。為了適應(yīng)可變碼長(zhǎng)、可變碼率的要求,級(jí)間的乒乓RAM可預(yù)留較大存儲(chǔ)空間。
文檔編號(hào)H03M13/00GK101119118SQ20071004562
公開(kāi)日2008年2月6日 申請(qǐng)日期2007年9月6日 優(yōu)先權(quán)日2007年9月6日
發(fā)明者暉 俞, 晨 張, 徐友云, 甘小鶯 申請(qǐng)人:上海交通大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
扎兰屯市| 滦平县| 岳西县| 锦屏县| 泗洪县| 调兵山市| 凌海市| 济阳县| 大渡口区| 霍城县| 水富县| 潍坊市| 木兰县| 阿合奇县| 黄冈市| 长沙县| 会泽县| 石狮市| 札达县| 杂多县| 海林市| 普格县| 长海县| 五河县| 台州市| 富宁县| 济南市| 乌拉特后旗| 阿勒泰市| 如皋市| 福州市| 温宿县| 黄梅县| 阿拉善盟| 琼结县| 汝南县| 鞍山市| 讷河市| 新河县| 灵山县| 南溪县|