# LDPC_encode-decode_simulate
  LDPC(低密度奇偶校验)码编译码仿真(译码算法采用反向置信传播算法BP)。
## 环境与配置
  推荐轻量级C++编译器clion运行仿真程序,C++语言版本为c++11。
## 编码与解码
### 编码
  首先通过矩阵的行重或列重分布文件(存放于Matrixs中)转化为译码矩阵,然后将高斯消元之后的H矩阵作为编码矩阵M。产生一个待编码的序列(包含校验元的序列和信息元的序列)和M相乘得到序列s1,然后将s1通过bpsk调制成1和-1两个维度得到序列s2。最后对序列s2施加高斯白噪音模拟AWGN信道的环境。
### 译码
  译码算法是基于对数似然比的消息传播算法(LLR-BP),该算法是神经网络算法在LDPC译码中的利用。译码器先通过H矩阵构造一层译码网络,所有的信息节点作为message_node,节点个数为H矩阵的列数,所有的校验节点作为check_node,节点个数为H矩阵的行数,H矩阵为1的地方是联通信息节点和校验节点的边,如下图所示:
![信息节点和校验节点的对应关系](http://p9.pstatp.com/large/4a35000a5f7773a81d69)
  译码开始时利用对数似然比(LLR)初始化message_node,然后不停的迭代信息节点和校验节点得到他们他们每一次迭代之后的LLR值,有边的地方传递迭代的信息,示意图如下:
![迭代信息](http://p1.pstatp.com/large/4a35000a5fac2ef28dfb)
  让程序迭代到既定的次数(代码中设置的iter),最后对每一个信息节点对应联通的所有校验节点中的LLR值相加之后做判定即可得到译码结果。
## 启动
  将Matrixs中文件放在根目录下,并在main文件下设置好所有的参数。
```
test_Ldpc(encoder, decoder, 1.8, 4, 0.2, 512);
```
  main函数中上述代码表示仿真的信噪比从1.8开始,到4结束,每隔0.2的信噪比进行一次仿真,512为序列的长度。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于C++开发的LDPC码编译码仿真(译码算法采用反向置信传播算法BP)+源码+开发文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: LDPC(低密度奇偶校验)码编译码仿真(译码算法采用反向置信传播算法BP)。 环境与配置 推荐轻量级C++编译器clion运行仿真程序,C++语言版本为c++11。 编码与解码 编码 首先通过矩阵的行重或列重分布文件(存放于Matrixs中)转化为译码矩阵,然后将高斯消元之后的H矩阵作为编码矩阵M。产生一个待编码的序列(包含校验元的序列和信息元的序列)和M相乘得到序列s1,然后将s1通过bpsk调制成1和-1两个维度得到序列s2。最后对序列s2施加高斯白噪音模拟AWGN信道的环境。 译码 译码算法是基于对数似然比的消息传播算法(LLR-BP),该算法是神经网络算法在LDPC译码中的利用。译码器先通过H矩阵构造一层译码网络,所有的信息节点作为message_node,节点个数为H矩阵的列数,所有的校验节点作为check_node,节点个数为H矩阵的行数,........
资源推荐
资源详情
资源评论
收起资源包目录
LDPC码编译码仿真.zip (25个子文件)
LDPC_encode-decode_simulate-master
LDPC_encode&decode_simulate
Matrixs
N512_M256
column_weight_distribution.txt 7KB
row_weight_distribution.txt 6KB
N1008_M504_3_6
column_weight_distribution.txt 15KB
row_weight_distribution.txt 13KB
N2500_M1250
column_weight_distribution.txt 90KB
row_weight_distribution.txt 95KB
N1024_M512
column_weight_distribution.txt 14KB
row_weight_distribution.txt 13KB
N504_M252
column_weight_distribution.txt 7KB
row_weight_distribution.txt 7KB
N256_M128
column_weight_distribution.txt 3KB
row_weight_distribution.txt 3KB
SignalGenerator.cpp 1KB
SignalGenerator.h 1KB
AwgnChannel.cpp 2KB
main.cpp 2KB
Test.h 2KB
LdpcDecode.cpp 5KB
BpskModulate.cpp 1KB
BpskModulate.h 925B
LdpcEncode.cpp 3KB
AwgnChannel.h 2KB
LdpcDecode.h 3KB
LdpcEncode.h 1KB
README.md 2KB
共 25 条
- 1
资源评论
梦回阑珊
- 粉丝: 3556
- 资源: 1154
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Dockerfile: Ubuntu18.04 + Python3.10
- Python毕业设计-基于深度学习的水果识别系统的源代码+文档说明+数据集+模型(高分项目)
- PyTorch 开源的机器学习框架结合了动态计算图的灵活性和深度学习库的强大功能
- Python高分毕设-基于深度学习的水果识别系统的+源代码+文档说明+数据集+模型.zip
- TensorFlow 开源的机器学习框架支持大规模的机器学习
- cocosCreator-js动态生成二维码
- 数学建模将现实世界的问题抽象化为数学模型利用数学工具和技术来分析和解决
- STM3232位ARM Cortex-M微控制器
- 基于jsp+servlet+mysql宠物店购物商城系统+源代码+文档说明+数据库(毕业设计).zip
- sdgsApp.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功