页面加载中,请稍候
来源:电子科技发布时间:2011-07-13
询问 AI摘要 根据IEEE802.16e标准中对LDPC码的定义,利用FPGA对编码器进行了实现。所采用的算法使用了线性复杂度编码,降低了逻辑资源占用量,并提高了编码速度。
关键词 IEEE 802.16e标准;低密度奇偶校验码;编码器
1962年Gallager在对纠错编码的研究中提出了LDPC码,但是由于当时的硬件条件不足,直到90年代末随着超大规模集成电路的推广才真正为人们所重视。虽然在高斯信道中LDPC(Low Density Parity Check,低密度奇偶校验码)码相比其他编码方法具有更优良的性能,但是由于其逼近香农限的性能是在较长的码长情况下才能得到体现,使得实现起来具有相当大的复杂度,即便是当今的超大规模集成电路也很难直接实现较长码长的编码和解码。于是如何构造和改进LDPC码成为目前研究的热点,而准循环低密度奇偶校验码的发现,为LDPC编译码的硬件实现提供了可能。QC—LDPC码具有更好的结构性与随机性,在保证码的信道性能不变的前提下,极大的简化了编码和译码电路,是目前实现LDPC编译码器的主流算法。正是由于这些优势,LDPC码已被WIMAX(IEEE802.16e)、WLAN(IEEE802.11n)、DVB-T等标准选定为信道编码的备选编码,并且极有可能成为第四代无线通信的编码标准。
1 IEEE802.16e标准中对LDPC码的规定
IEEE802.16e标准中LDPC码的校验矩阵为
图1中-1为全零阵;0为单位阵,其余标号为相应右移次数的单位阵。
2 基于IEEE802.16e的LDPC码的快速编码算法
高编码复杂度是LDPC码需要解决的主要问题,LDPC编码器直接实现具有和码长成二次方的时间复杂度,而Turbo码可以在线性时间内编码。于是如何使得LDPC码能够在与码长成线性时间内编码就成为一个非常关键的问题。
IEEE802.16e标准中规定的LDPC码是一种结构性码,其算法大大的降低了LDPC码的编码复杂度。但是如果采用传统的编码方法,其编码复杂度仍令人难以接受。校验矩阵H得到的生成矩阵是一个稀疏矩阵,所以可以根据校验矩阵H的稀疏性以及准循环特性来进行快速编码。
IEEE802.16e标准中给出了3种LDPC快速编码的算法。由于第3种编码方式是最常用的,而且已经比较成熟,现只对第3种编码方式进行说明。
为了说明效验矩阵结构,现将其分割为6个子矩阵表示
从图2可以看出,LDPC编码器中主要包含矩阵乘法模块,前项置换模块,矢量加法模块,以及生成码字模块。现对矩阵乘法模块,前项置换模块和码字生成模块进行介绍。
(1)矩阵乘法器模块:主要由循环移位器和模二加法器组成。由于FPGA运算的并行特点,编码器在计算矩阵乘法时可按行并行操作。输入的原始信息比特流与效验矩阵Hb的每一行进行相乘运算时,首先按照RAM中存储的非零列号找到相对应的信息位中的矢量,并对该矢量进行循环右移,循环右移的次数依照IEEE802.11e标准的规定进行控制,然后把这一行中的所有非零元素和信息位相乘所得结果做一次异或操作,这就是矩阵的一行与信息位相乘的结果。该过程可以并行执行,同时完成矩阵中每一行与信息位的相乘运算。
(2)前项置换器模块:IEEE802.16e标准中规定,LDPC码的效验矩阵r是双对角矩阵,所以对于乘矩阵T的逆的操作采用前项置换方法,其原理如下:
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码的校验矩阵以及选择合适的编码算法,可以有效降低编码复杂度,并实现了线性编码。
新闻来源:电子科技,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-06-02

2026-07-20

2026-07-02