本项目提供了一套基于BEC信道优化的Polar码逐次递推译码(SC)算法的MATLAB仿真代码。通过该工具,用户能够深入研究不同参数设置下Polar码性能,并进行相关通信系统设计与测试。
极化码SC译码MATLAB代码描述如下:
参数设置:
- N:码长
- K:信息比特长度
- Rate:编码率
- A:信息位位置集合
- Ac:冻结位位置集合
- u_a:冻结位值
- u:输入信源序列
- G:生成矩阵
- x:编码输出序列
- y:接收序列(含噪声)
- decoded_output: 译码后的比特序列结果
- decoded_output_message: 解调信息的比特序列表
MATLAB文件说明:
1. polar_simulation.m: 封装了整个极化码系统的仿真过程,包括构造、编码、BEC信道传输和译码。
2. polar_codeconstruction.m:用于生成极化码的相关参数和结构。
3. Z_Bhattacharyya.m: 计算巴氏参数(Bhattacharyya参数)以评估每个比特的可靠性。
4. polar_encode.m:实现极化编码的功能,根据输入的信息序列生成对应的二进制序列。
5. BEC.m:模拟BEC信道模型,用于传输和引入随机错误。
6. init_LR.m: 初始化似然比(Log-likelihood ratio, LLR)值
7. compute_lr.m: 计算每个比特的LLR值以表征其可靠性
8. decide.m: 根据计算出的LLR值进行判决,输出译码结果
9. SC_decode.m:实现SC (Successive Cancellation) 译码算法