FPGA硬件仿真式LDPC译码器
项目介绍
本项目通过MATLAB实现了一种面向FPGA硬件架构的LDPC译码算法仿真系统。系统针对码长960比特、码率1/2的LDPC码设计,采用最小和译码算法内核,并通过定点量化处理模拟真实FPGA硬件中的数据处理流程。该仿真器旨在准确反映FPGA实现中的计算精度、资源消耗和时序行为,为硬件设计提供可靠的算法验证平台。
功能特性
- 硬件映射仿真:模拟FPGA中的并行处理单元和流水线结构,实现与硬件一致的计算时序
- 最小和译码算法:采用简化计算复杂度的Min-Sum算法,支持可配置迭代次数
- 定点量化处理:支持可调量化比特宽度(4-8位),包含动态范围压缩和缩放因子调整
- 完整日志记录:详细记录每轮迭代的变量更新过程、校验和变化及收敛状态
- 误差分析功能:提供量化前后的数据对比与误差统计,评估量化策略的有效性
使用方法
输入参数说明
- 量化接收信号:int8类型的960维向量,表示信道输出的量化软信息(LLR)
- 校验矩阵:480×960稀疏矩阵,定义LDPC码的校验关系
- 量化参数:结构体包含三个字段:quantBits(量化位数)、scale(缩放因子)、maxIter(最大迭代次数)
执行译码
运行主仿真程序,系统将自动完成以下流程:
- 输入参数解析与有效性检验
- 量化参数配置与动态范围校准
- 迭代式消息传递译码执行
- 收敛判断与译码结果输出
输出结果
- 译码结果:960位二进制向量,表示最终译码出的信息序列
- 迭代信息:包含每轮迭代的校验和、变量节点/校验节点消息历史、终止状态
- 量化误差报告:展示各处理环节的量化误差分布统计
系统要求
- MATLAB R2020b或更高版本
- 需安装MATLAB基础模块及通信工具箱(用于稀疏矩阵操作)
- 内存建议4GB以上(用于处理中间变量日志记录)
文件说明
主程序文件完成了完整的译码器仿真流程,包括量化参数配置、迭代控制逻辑、最小值计算核心单元、动态范围调整机制、收敛性判断准则以及详细的数据记录功能。该文件通过模块化设计实现了译码算法的各核心环节,确保仿真过程与FPGA硬件行为的高度一致性,同时提供完整的中间数据输出用于硬件验证。