李朋濤,齊飛林,何德華,李 健
基于FPGA的IEEE 802.16e標(biāo)準(zhǔn)LDPC編碼器設(shè)計
李朋濤,齊飛林,何德華,李 健
(中國電子科技集團(tuán)公司第二十研究所,西安 710068)
針對通信過程中突發(fā)信道造成的集中錯碼現(xiàn)象,并且兼顧編碼器的時效性要求,設(shè)計了一種IEEE 802.16e標(biāo)準(zhǔn)下碼長576,碼率1/2的LDPC碼硬件編碼器,通過Verilog語言進(jìn)行描述,采用并行結(jié)構(gòu)設(shè)計和模型矩陣元素預(yù)存的方式降低了資源占用量,提高了工作速度,通過仿真、綜合與實現(xiàn)結(jié)果驗證了方案的有效性。
通信;LDPC編碼;IEEE 802.16e;Verilog描述
通信的目的是將消息及時、可靠、高效地傳遞給目標(biāo)。隨著現(xiàn)代社會的不斷發(fā)展,短視頻、語音和視頻通話得到極大普及,人們對數(shù)字化通信系統(tǒng)的可靠性有了更高的要求。如何在發(fā)射功率有限,帶寬窄,系統(tǒng)復(fù)雜度低以及成本盡可能小的情況下設(shè)計出滿足要求的通信系統(tǒng)就顯得尤為迫切。
通常通信系統(tǒng)中消除和降低誤碼率的有效手段就是信道編碼,常用的信道編碼技術(shù)有漢明碼、RS(Reed-Solomon)碼、卷積碼(Convolutional Code,Turbo)和低密度奇偶校驗碼(Low Density Parity Check,LDPC)等。Gallager教授在1962年發(fā)明了LDPC碼,并給出了硬判決譯碼算法[1];受限于當(dāng)時的計算和存儲能力,人們沒有發(fā)現(xiàn)LDPC碼的優(yōu)越性。只有Tanner繼續(xù)研究并發(fā)明了Tanner圖,其對LDPC碼的譯碼過程進(jìn)行了直觀表示[2];直到1996年,Mackay詳細(xì)地闡述了LDPC碼的理論和實際性能,推廣了Gallager的概率迭代譯碼算法,提出了置信傳播譯碼算法[3]。
隨著LDPC碼的不斷發(fā)展,IEEE 802.16e標(biāo)準(zhǔn)將其列為可選編碼方案。而后,圍繞IEEE 802.16e標(biāo)準(zhǔn)的LDPC編譯碼器的硬件設(shè)計逐漸成為研究熱點,本文主要完成碼長576,碼率1/2的LDPC碼編碼器設(shè)計,提高了通信系統(tǒng)的可靠性。
根據(jù)IEEE 802.16e提供的基本模型矩陣為校驗矩陣模型,本方案采用快速迭代編碼算法,其實現(xiàn)過程如下:
設(shè)信息碼和校驗碼組成的碼字為:
式(8)與快速迭代算法推導(dǎo)式(6)的區(qū)別在于,推導(dǎo)式中先進(jìn)行列加,然后進(jìn)行行加,而式(8)是先進(jìn)行行加,再進(jìn)行列加。
從系統(tǒng)穩(wěn)定性和資源占用率方面考慮,本方案設(shè)計專用編碼器,采用FPGA中的ROM IP核對標(biāo)準(zhǔn)中碼長576,碼率1/2的基本模型矩陣元素進(jìn)行存儲。
結(jié)構(gòu)由串轉(zhuǎn)并模塊、核心算法處理模塊、并轉(zhuǎn)串模塊以及控制模塊組成。由于信息塊校驗處理后送給編碼器的是串行數(shù)據(jù),因此需要轉(zhuǎn)為并行數(shù)據(jù),核心算法模塊實現(xiàn)快速迭代算法,編碼完成后的并行數(shù)據(jù)需要重新轉(zhuǎn)為串行,整個過程的順利執(zhí)行需要控制模塊進(jìn)行時序控制。
本文設(shè)計的編碼器模塊結(jié)構(gòu)圖如圖2所示。
的編碼過程。
此結(jié)構(gòu)的關(guān)鍵點在基校驗矩陣存儲ROM模塊、乘法移位模塊和校驗碼生成模塊的設(shè)計實現(xiàn),下面說明本文的模塊設(shè)計。
3.2.1 ROM存儲模塊設(shè)計
本方案采用碼長576,碼率1/2的編碼方式,其基本模型矩陣的第一部分為12×12的矩陣,并且最大元素為95,考慮整個編碼系統(tǒng)的穩(wěn)定性及方便實現(xiàn),ROM存儲模塊采用12個深度12,位寬8的ROM,其構(gòu)成示意圖如圖3所示。
3.2.2 乘法移位模塊
當(dāng)采用循環(huán)移位時,需要根據(jù)不同的基本模型矩陣元素進(jìn)行不同次數(shù)的循環(huán)移位,但是考慮到編碼器的低延遲要求,并且在高數(shù)據(jù)率的情況下,需要采用更高的時鐘來完成循環(huán)移位操作,時鐘過高時不利于時序收斂,整個編碼器的可靠性會降低。對不同基本模型矩陣元素采用并行獨立的移位結(jié)構(gòu)可以降低時鐘頻率要求,但是缺點是增加硬件資源開銷,因此適合硬件資源充足下的設(shè)計。本方案采用并行獨立移位結(jié)構(gòu)的設(shè)計,通過犧牲硬件資源來降低系統(tǒng)工作時鐘頻率要求,增加設(shè)計的穩(wěn)定性。
3.2.3 校驗碼生成模塊設(shè)計
表1 綜合后不同編碼器資源占用量對比
經(jīng)編碼后,長度576,碼率1/2的編碼器對長度288的數(shù)據(jù)塊編碼后輸出監(jiān)督位的Matlab仿真結(jié)果如圖5所示,其中橫坐標(biāo)為碼元序號,縱坐標(biāo)為碼值。監(jiān)督位長度288,通過局部放大圖可以觀察到監(jiān)督碼初始16位和末端16位碼值。
圖5 LDPC編碼器監(jiān)督位Matlab仿真結(jié)果
本文分析了IEEE 802.16e標(biāo)準(zhǔn)下LDPC碼的編碼算法,并采用了適合高速率可并行的快速迭代算法,根據(jù)算法各部分的功能特點合理設(shè)計模塊,通過設(shè)置相同模塊的不同結(jié)構(gòu)進(jìn)行了編碼器性能對比,選取了適合方案要求的高性能LDPC編碼器。通過Matlab與Vivado仿真結(jié)果對比可以驗證編碼器的有效性,與其他編碼方案對比,本方案資源占有量較少,工作速率高,因此是滿足要求的高效編碼器。
[1] R.G.Gallager. Low Density Parity Cheek Codes[J]. IRE Transactions on Information Theory, 1962(8): 21-28.
[2] R.M.Tanner. A Recursive Approach to Low Complexity Codes[J]. IEEE Transaction on Information Theory, 1981(27): 533-547.
[3] D.J.C.Mackay, R.M.Neal. Near Shannon Limit Performance of Low Density Parity Check Codes[J]. Electronics Letters, 1997, 33(6): 455-457.
[4] 甘振華. IEEE 802.16e標(biāo)準(zhǔn)LDPC碼編譯碼器設(shè)計與FPGA實現(xiàn)[D]. 上海:上海師范大學(xué),2012.
[5] 郭黎利,陳洪雨. 基于FPGA的IEEE 802.16e的LDPC編譯碼方法[J]. 計算機(jī)應(yīng)用,2017(36):49-53.
IEEE 802.16e Standard LDPC Encoder Design Based on FPGA
LI Pengtao, QI Feilin, HE Dehua, LI Jian
Aiming at the phenomenon of concentrated error code caused by burst channel in communication process, and considering the timeliness of encode, a LDPC code hardware encoder with length of 576 and bit rate of 1/2 in IEEE 802.16e standard is designed, which is described by Verilog, adopts parallel structure design and element prestorage to reduce the resource consumption, and increased working rate, the efficiency of the scheme is verified by simulation and synthesis and implementation results.
Communication; LDPC Encode; IEEE 802.16e; Veriog Describe
TN929.1
A
1674-7976-(2022)-03-212-07
2022-03-07。
李朋濤(1992.05—),陜西西安人,碩士研究生,主要研究方向為通信信號處理,數(shù)字邏輯設(shè)計。