当前位置: 首页 > ops >正文

基于5G系统的打孔LDPC编码和均匀量化NMS译码算法matlab性能仿真

目录

1.引言

2.算法仿真效果演示

3.数据集格式或算法参数简介

4.算法涉及理论知识概要

4.1打孔技术

4.2 均匀量化NMS译码

5.参考文献

6.完整算法代码文件获得


1.引言

        在5G通信系统中,信道编码技术是保障高速率、高可靠性数据传输的核心支撑,而低密度奇偶校验码(LDPC)凭借其逼近香农极限的性能和可并行译码的特性,被3GPP选定为5G NR中 eMBB(增强移动宽带)场景的核心编码方案。为了适配不同业务的码长需求并降低译码复杂度,5G 系统中引入了打孔LDPC编码和均匀量化归一化最小和(NMS)译码算法。

2.算法仿真效果演示

软件运行版本:

matlab2024b

仿真结果如下(仿真操作步骤可参考程序配套的操作视频,完整代码运行后无水印)

3.数据集格式或算法参数简介

%量化参数
q = 6;
f = 2;
I_max     = 20;% 最大迭代次数
Frames    = 2000;% 最大块数
MIN_ERR   = 10000;% 最小错误数
SNRs      = 0:0.5:3;    % 信噪比范围
alpha     = 0.797;% 译码算法参数
beta      = 0.6;% 译码算法参数
B         = 1920;% 信息块大小
code_rate = 1/2;% 码率

4.算法涉及理论知识概要

       LDPC码是一种线性分组码,由稀疏奇偶校验矩阵(Parity-Check Matrix,简称 H 矩阵)定义,其编码和译码过程均围绕 H 矩阵展开。5G标准中的LDPC码在设计上兼顾了灵活性与性能,通过母码(Mother Code)+ 打孔(Puncturing) 的方式支持可变码长,满足从短码(如控制信道)到长码(如数据信道)的全场景需求。

        5G LDPC的母码采用准循环(Quasi-Cyclic, QC)结构,其H矩阵由多个子矩阵块组成,形式如下:

           Hpc​为校验置换矩阵(Parity-Check Permutation Matrix),维度为Z×K(Z为扩展因子,K为信息位长度),用于实现基础校验功能;

    Hbg​为背景矩阵(Base Graph),5G定义了两种背景矩阵(BG1和BG2):

    BG1适用于长码(信息位长度 K≥640),侧重高速率传输;

    BG2适用于短码(K<640),侧重低时延场景。

           背景矩阵由循环移位子矩阵(Circulant Submatrix)构成,每个子矩阵为单位矩阵经循环移位s位后的矩阵(s=−1 表示全零矩阵),这种结构可大幅降低编码复杂度。

    4.1打孔技术

           打孔是指在母码编码后,人为删除部分校验位(或信息位),仅传输剩余比特,接收端通过补零(或预设值)恢复完整码长后再译码的技术。5G LDPC中打孔的核心目的是:

    灵活适配码长:通过删除母码的部分校验位,生成比母码短的码长,避免为每个码长设计独立编码器;

    提升码率:删除校验位会使码率 R=k/n(k为信息位,n为编码后长度)提高,适配高吞吐量需求;

    优化性能:通过选择删除 “冗余度低” 的校验位,在码率提升的同时尽可能减少性能损失。

             5G标准中,打孔位置的选择遵循结构化规则,以保证译码性能的稳定性。对于母码生成的校验位,按 “重要性” 排序后删除最不重要的部分:

             校验位的重要性由其在 H 矩阵中的 “连接度”(与信息位的连接数)决定,连接度越高的校验位对译码可靠性影响越大,优先保留;

             打孔后的码长需满足 母码(p为打孔位数),且码率R需在5G规定的范围内(如 0.25~0.93)。

      例如,当母码码长为8192、码率0.5时,若需生成码率0.8的码字,可通过打孔删除8192×(1−0.5/0.8)=3072个校验位,仅传输 5120 个比特。

      4.2 均匀量化NMS译码

             在实际硬件中,LLR和消息的精度会影响译码性能和存储资源。5G系统采用均匀量化技术,将连续的消息值映射到有限的离散电平(如4bit或6bit量化):

             均匀量化可大幅减少存储和计算资源(如 6bit量化比浮点精度减少约80%的存储需求),同时通过优化量化比特数(5G中推荐4~6bit),可将性能损失控制在0.2dB以内。

      5.参考文献

      [1]卢黎明.低复杂度5G-NR LDPC码编译码器设计与FPGA实现[D].北京邮电大学,2023.

      [2]王博远.基于5G LDPC码的散射自适应调制编码应用技术研究[D].中国电子科技集团公司电子科学研究院,2021.

      6.完整算法代码文件获得

      完整程序见博客首页左侧或者打开本文底部

      V

      http://www.xdnf.cn/news/15535.html

      相关文章:

    1. 前端-HTML
    2. 算法竞赛备赛——【图论】求最短路径——Dijkstra
    3. 【Bluedroid】btif_a2dp_sink_init 全流程源码解析
    4. (转)Kubernetes基础介绍
    5. flask request实现两台PC之间文件传输通信
    6. 解锁 iOS 按键精灵辅助工具自动化新可能:iOSElement.Click 让元素交互更简单
    7. 【AI News | 20250716】每日AI进展
    8. 《C++初阶之STL》【auto关键字 + 范围for循环 + 迭代器】
    9. Java双冒号操作符全面解析
    10. 【面板数据】企业劳动收入份额数据集-含代码及原始数据(2007-2022年)
    11. 数据驱动视角下的黄金异动解析:多因子模型验证鲍威尔去留与金价关联性
    12. PyTorch笔记8----------卷积神经网络
    13. 013【入门】队列和栈-链表、数组实现
    14. TCP 拥塞控制算法 —— 慢启动(Slow Start)笔记
    15. 【add vs commit】Git 中的 add 和 commit 之间的区别
    16. HTTP协议介绍
    17. 堆排序算法详解:原理、实现与C语言代码
    18. Opencv---cv::minMaxLoc函数
    19. 激活函数LeakyReLU
    20. ai 编程工具,简单总结
    21. C++设计模式之创建型模式
    22. WSL2更新后Ubuntu 24.04打不开(终端卡住,没有输出)
    23. Java对象的比较
    24. 每日算法刷题Day49:7.16:leetcode 差分5道题,用时2h
    25. 什么是数据仓库?数据库与数据仓库有什么关系?
    26. 格密码--Ring-SIS和Ring-LWE
    27. Python 日志轮换处理器的参数详解
    28. 【python】sys.executable、sys.argv、Path(__file__) 在PyInstaller打包前后的区别
    29. C语言:第07天笔记
    30. smolagents - 如何在mac用agents做简单算术题