IEEE 802.16e标准中标准中LDPC编码的实现与仿真编码的实现与仿真
根据IEEE802.16e标准中LDPC编码的定义,提出了一种利用高速状态机来实现编码的快速算法。在Quartus II
下使用Verilog HDL实现了该算法并进行了时序仿真。仿真结果表明,设计具有良好的实时性,克服了以往设计
中预处理复杂、消耗逻辑资源多的缺点。最后利用MATLAB对该设计与DVB-S2缩短码的BER性能进行了比较,
分析了制约DVB-S2缩短码性能的因素。
LDPC(Low Density Parity Check Code)码是一种性能优异的线性分组码,其性能非常接近于Shannon极限且具有很强的纠
错能力。但自LDPC码被发明以来就存在一个阻碍其发展的巨大障碍。众所周知,一般的线性分组码是通过其生成矩阵实现编
码。而LDPC码的校验矩阵虽然是稀疏的,但生成矩阵却不是稀疏矩阵。由于LDPC码的编码长度都很长,因此复杂的生成矩
阵为编码带来了巨大困难。后来,人们利用其校验矩阵的特点实现了快速编码。即便如此,当码长很长时编码所需的存储空间
仍然非常庞大,学者们也在不断探索高性能的编码方法。
目前,LDPC码已开始逐渐应用于空间通信、光纤通信、数字视频和音频广播等领域。LDPC码的编码标准主要有:DVB-
S(DigitalVideoBroadcasting-Sa-tellite)标准、DVB-S2
[1]
标准、CCSDS(Consultative Committee for Space Data Systems)标
准
[2]
、GB20600标准
[3]
、IEEE802.16e标准
[4]
等。
1 IEEE802.16e标准中的标准中的LDPC码校验矩阵的构造方式码校验矩阵的构造方式
IEEE802.16e标准中定义的LDPC码是一种准循环的非规则LDPC码,共有4种速率
[4]
。每一种速率都有相应的校验矩阵H。
H
b
是H的
b
经过扩展后可得到H,H
b
的尺寸为m
b
×n
b
,具体构成见式(1)。n
b
的长度固定为24,m
b
的长度根据码速率不同而异。
H
b1
是一个m
b
×(n
b
-m
b
)矩阵。H
b2
是一个m
b
×m
b
矩阵。q称为扩展系数,H
b
可通过m
b
·q×n
b
·q的扩展方式获得校验矩阵H。
H
b1
中的元素由-1或非负整数组成,若为-1,则校验矩阵H相应的位置是全0矩阵;若为非负整数,则校验矩阵H相应的位置
是单位矩阵E进行非负整数次右移所得的矩阵。H
b2
的第一列中h(1)、h(r)、h(m
b
)为非负整数,且h(1)=h(m
b
)。r的取值范围为
2≤r≤m
b
-1,其具体值由IEEE802.16e标准指定。H
b2
除第一列外,其余部分构成准双对角线结构,两条准对角线上的元素为
0,其他位置为-1。H
b2
的元素构成见式(2)。
根据IEEE802.16e标准,基矩阵H
b
的扩展系数q共有19种取值,分别对应19种码长,最小为24,最大为96,具体的扩展规
则见参考文献[4]。设基校验矩阵中处于位置(i,j)的元素为q(i,j)。以1/2速率的LDPC码为例,当q=96时,1/2速率的LDPC码
的基校验矩阵为式(3),q(i,j)的更新方法见式(4), 表示向下取整。