基于IEEE802.1 6e标准的LDPC编码器设计与实现

时间:2011-07-13来源:网络

3 LDPC编码算法的实现
根据上述编码算法,FPGA程序实现了0.5码率,码长为2 304 bit,信息位为1 152 bit数据流的编码。每帧送入1 152 bit原始数据流,经过编码后产生1 152 bit效验位,因为是系统码,所以将原始信息位后紧跟效验位就可以合并成所要发送的编码码流。编码器的硬件总体结构如图2所示。

f.JPG


从图2可以看出,LDPC编码器中主要包含矩阵乘法模块,前项置换模块,矢量加法模块,以及生成码字模块。现对矩阵乘法模块,前项置换模块和码字生成模块进行介绍。
(1)矩阵乘法器模块:主要由循环移位器和模二加法器组成。由于FPGA运算的并行特点,编码器在计算矩阵乘法时可按行并行操作。输入的原始信息比特流与效验矩阵Hb的每一行进行相乘运算时,首先按照RAM中存储的非零列号找到相对应的信息位中的矢量,并对该矢量进行循环右移,循环右移的次数依照IEEE802.11e标准的规定进行控制,然后把这一行中的所有非零元素和信息位相乘所得结果做一次异或操作,这就是矩阵的一行与信息位相乘的结果。该过程可以并行执行,同时完成矩阵中每一行与信息位的相乘运算。
(2)前项置换器模块:IEEE802.16e标准中规定,LDPC码的效验矩阵r是双对角矩阵,所以对于乘矩阵T的逆的操作采用前项置换方法,其原理如下:
g.JPG
所以在FPGA中进行乘矩阵r的逆的计算,不必进行求逆和相乘运算,仅用异或运算就能完成。
(3)生成码字模块:主要作用是将原始信息位与效验位p1和p2合成。在IEEE802.16e标准中规定LDPC码为系统码,所以将原始信息位与效验位p1和p2按顺序依次拼接起来,就是实际编码后数据。

4 FPGA仿真结果分析
在QuartusⅡ软件下进行编译和综合,器件选择为Altera公司STRATIXII系列的EP2S90F1020C3,整个LDPC编码器最高工作时钟214 MHz,逻辑资源占用3 027 LE。LDPC码编码仿真结果如图3所示。

h.jpg


code_rden:编码器使能标志,高电平说明LDPC编码器正在工作。
matlab_code:LDPC编码的Matlab仿真结果输出。
ldpc_code:LDPC编码的FPGA仿真结果输出。
result_out:比对Matlab与FPGA仿真结果,输出码流进行相减一直为零,说明仿真结果正确。

5 结束语
文中分析了基于IEEE802.16e标准的LDPC码的校验矩阵H,然后在QuartusⅡ平台下根据分块矩阵的快速编码算法设计了一种编码器,满足IEEE802.16e标准的码长为2 304,码率为1/2的LDPC码的编码要求,并仿真验证了LDPC编码器的性能。仿真结果证明通过合理的构造LDPC码的校验矩阵以及选择合适的编码算法,可以有效降低编码复杂度,并实现了线性编码。

1 2 3

关键词: 编码器 设计 实现 LDPC 标准 IEEE802 6e 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版