当前位置:首页 > 通信技术 > 通信技术
[导读]在5G NR(3GPP Rel.15/16)物理层,LDPC(Low-Density Parity-Check)码替代Turbo码成为数据信道的纠错编码,主要因为其高吞吐并行解码特性适配FPGA/ASIC流水线。与Wi-Fi中简化的LDPC不同,5G NR规定了两个BG(Base Graph)——BG1(高码率/大码块)与BG2(小码块/低码率),并采用准循环(QC-LDPC)结构。本文提炼FPGA实现的关键要点。



在5G NR(3GPP Rel.15/16)物理层,LDPC(Low-Density Parity-Check)码替代Turbo码成为数据信道的纠错编码,主要因为其高吞吐并行解码特性适配FPGA/ASIC流水线。与Wi-Fi中简化的LDPC不同,5G NR规定了两个BG(Base Graph)——BG1(高码率/大码块)与BG2(小码块/低码率),并采用准循环(QC-LDPC)结构。本文提炼FPGA实现的关键要点。


一、5G NR LDPC核心规格回顾


参数 BG1 BG2


母矩阵行数 K_b 22 10


母矩阵列数 N_b 66 50


扩展因子 Z_c 2~384(2的幂或特定值) 同左


典型用途 大TB / 高码率 小TB / 低码率(重传)


校验位 P K_b \times Z_c K_b \times Z_c


实际码块长度:K = K_b \times Z_c,\(N = (K_b+N_{b,extra}) \times Z_c\)。


二、编码器实现(准循环移位)


QC-LDPC编码器只需对信息位做循环移位(Cyclic Shift)与异或,无需稠密矩阵乘法。


2.1 编码流程


1. 将信息位按 Z_c 位分成 K_b 组 → 向量 \mathbf{s}

2. 按BG指定列索引做扩展(循环右移/左移)并累加:

  \[

  \mathbf{p}_j = \bigoplus_{i \in S_j} \text{circshift}(\mathbf{s}_i, \text{offset}_{i,j})

  \]

  其中 S_j 是第j列非零位置集合,offset来自BG母矩阵

3. 拼接 \mathbf{s} \parallel \mathbf{p} 得到完整码字


2.2 Verilog核心思路(示意)


// 假设 Zc=64, Kb=22

reg [Zc-1:0] info_vec [0:Kb-1];

reg [Zc-1:0] parity_vec [0:Kb-1];


integer i, shift;

always @(*) begin

   for (i=0;i<Kb;i=i+1)

       parity_vec[i] = 0;

   // 按BG1母矩阵非零项累加(简化示例,仅示意2项)

   // 实际需解析 3GPP TS 38.212 Table 5.3.2-2/3

   parity_vec[0] = info_vec[0] ^ circ_shift(info_vec[1], 17);

   // ... 其余列累加

end



circ_shift可用Barrel Shifter实现(O(log2 Zc)延迟)。


三、译码器架构选择(分层BP / Min-Sum)


LDPC译码常用Offset Min-Sum(OMS)算法(近似BP,省资源):


- 变量节点(VN)↔ 校验节点(CN) 交替更新

• 分层调度(Layered Schedule)利用BG的准循环结构,收敛更快(通常5~10迭代)


• 在FPGA中:


 • CN更新用最小值+次小值+符号修正


 - VN更新为累加(需饱和防止溢出)


吞吐权衡:并行度 = 每个时钟处理几个Zc列;高吞吐(>1Gbps)常展开多列或做部分并行。


四、关键设计要点与坑位


4.1 Zc选择与填充(TB Size → Code Block Segmentation)


根据38.212 Section 5.2.2计算:

• 若TB > K_{max}=3840\times K_b 需分段(Code Block Segmentation)


• 不足 K\times Z_c 的信息位需比特填充(Filler Bits),填充位不参与校验计算且标记为无效


➡️ FPGA需实现动态Zc查表(TS 38.212 Table 5.3.2-1)。


4.2 循环移位方向


3GPP定义循环右移(cyclic shift right),部分文献用左移——必须统一,否则校验位全错。


4.3 码率与打孔/重复


• 实际码率 R = K/N 通过打孔(Puncturing)或重复调整


• 打孔位在发送端剔除、接收端补零(LLR=0)再送入译码器


4.4 资源与时序


- 编码器:纯组合/单周期可行(Zc≤384时桶形移位器可接受)

• 译码器:建议做迭代次数可配(如max_iter=8),早收敛退出(syndrome=0)


五、仿真与验证建议


1. C模型参照:使用3GPP提供的C Reference(NR LDPC C-code)生成期望码字

2. 比对向量:随机信息位 → FPGA编码器输出 → 与C模型比对(允许不同填充处理但校验位须一致)

3. AWGN信道注入:在testbench中对LLR加噪,验证译码BER曲线


六、结语


5G NR LDPC的FPGA实现核心在于:按BG做QC扩展(循环移位异或)、正确处理Zc查表与填充位、采用分层Min-Sum译码并控制迭代次数。借助准循环特性,编码器可极简实现;译码器则需仔细平衡并行度、存储体与早停策略,方能在FPGA上达到NR物理层标称吞吐指标。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在5G NR(New Radio)系统中,要实现Gbps级的数据吞吐与毫米级的低延迟,物理层的两大核心技术——OFDM(正交频分复用)与LDPC(低密度奇偶校验码)缺一不可。本文将抛开复杂公式,用工程视角为你揭开5G物理...

关键字: 5G NR OFDM

ETS-Lindgren和罗德与施瓦茨继续长期合作,为5GNR提供了具有全面辅助全球导航卫星系统(A-GNSS)功能的天线性能测量,R&SCMX500OBT宽带无线通信测试仪和R&S SMBV100B GNSS模拟器,结...

关键字: 天线 5G NR 模拟器 信号发生器

NTN 使用卫星或高空平台向没有地面网络覆盖的偏远地区提供安全、可靠和高带宽的连接。确保终端设备能够支持 5G NR 和物联网(IoT)标准是构建 NTN 的关键一步,这将有利于为农村地区的企业和个人提供无处不在的移动...

关键字: 卫星 5G NR 物联网

SDR 可应用于整个 5G 测试链,并用于延迟 T&M、信号传播测量、O-RAN 测试平台和 NFV 测试。 下一场技术革命正在敲门,5G NR 和物联网推动海量设备互联,实现超低延迟、安全通信、云和边缘计算,以及为工...

关键字: SDR 5G NR

软判决是相对于硬判决而言的,与具体的纠错编码或后续算法没有必然关联。软硬判决的区别在于:硬判决以阈值为准绳,武断地对输入信号进行判定;软判决以阈值为参考,对输入信号进行猜测,并声明猜测的可信度。软判决并

关键字: 纠错编码 阈值 LDPC编码

软判决是相对于硬判决而言的,与具体的纠错编码或后续算法没有必然关联。软硬判决的区别在于:硬判决以阈值为准绳,武断地对输入信号进行判定;软判决以阈值为参考,对输入信号进行猜测,并声明猜测的可信度。软判决并

关键字: 纠错编码 阈值 LDPC编码

针对低密度奇偶校验码(简称LDPC码)的直接编码运算量较大、复杂度高,根据RicIlarclson和Urbanke(RU)建议的编码方案,介绍一种适于在FPGA上实现,利用有效校验矩阵来降低编码复杂度的LDPC编码方案,...

关键字: FPGA LDPC编码 BSP 向量
关闭