用正则码(比如LDPC)编写一个解码器

希望用正则码编写一个解码器,码长大于100,码率无限制。用Verilog编写的,简要说明一下,有仿真结果。有报酬!100。(写解码器就行,无需编码器)

硬解码(Hard Decode)和软解码(Soft Decode). LDPC解码的方法就是收到码字之后,与校验矩阵H相乘,如果是0矩阵,则说明收到的是正确码字。反之,则不正确码字,再根据相乘结果进行进一步纠错解码。

信息传递(Messag passing)是LDPC硬解码常用的方法。校验节点和可变节点之间传递信息,进行迭代,直至所有的奇偶校验归0,则解码成功。

举个解码的例子:

迭代1:第一次信息传递迭代之后,Hard decode解码,此时n0,n4,n6仍为1.

迭代2:第二次信息传递迭代之后,Hard decode解码,此时n0仍为1.

迭代3:第二次信息传递迭代之后,Hard decode解码,奇偶校验归0.

只能用Verilog?

Python/NumPy实现了一些用于LDPC代码的迭代解码器
https://download.csdn.net/download/bill20100829/85540731