1. 从6144比特业务数据说起:你的第一步不是打开Vivado
很多刚接触LDPC(低密度奇偶校验)码的朋友,拿到一个具体的业务数据长度,比如6144比特,第一反应可能就是去翻Vivado的IP核手册,或者直接打开LDPC Encoder/Decoder IP的配置界面。我刚开始做项目的时候也这么干过,结果就是对着那一堆寄存器选项——BG、Z_SET、Z_J、MB——完全懵了,不知道从何下手,试来试去编译出来的码要么对不上,要么性能不达标。
踩过几次坑之后,我才明白一个核心道理:Vivado IP核的配置,是LDPC参数选择这个“数学题”的最终“答案填写处”。 你得先自己把这道题一步步解出来,得到所有关键参数,然后才能去IP核里对应地填上数字。这个过程,就是从你的业务数据出发,推导出一整套LDPC编译码参数,并最终映射到硬件实现的关键链路。
今天,我就以这个经典的6144比特数据为例,带你完整走一遍这个实战流程。咱们不扯复杂的数学证明,就聚焦在“怎么算”和“怎么配”上。你会发现,只要理解了背后的几张核心表格和几个简单公式,这件事儿一点都不神秘。咱们的目标很明确:给定你的数据长度和码率需求,你能清晰地知道该选哪个基本图(BG)、扩展因子(Zc)是多少、码块(K)要补到多大、移位参数(a, j)怎么定,最后,在Vivado IP核的哪个寄存器里填上哪个数字。
整个过程就像搭积木,一步一个脚印。准备好了吗?咱们先从最源头——你的业务数据——开始。
2. 第一步:为你的数据选择合适的“母版”——基本图(BG)选择
LDPC编码不是凭空进行的,它需要依据一个预先定义好的校验矩阵模板,这个模板就是基本图(Base Graph, BG)。你可以把它理解成盖房子用的设计蓝图。目前5G NR等主流标准中常用的是两种蓝图:BG1和BG2。
为什么要有两个?因为它们各有侧重,适用于不同的“建筑规模”(数据块大小)和“结构强度”(码率要求)。
- BG1:这是个“大蓝图”。它的核心矩阵规模大,系统位列(Kb)最大为22,支持的最大码块长度能达到8448比特。它的最低母码码率是1/3,但核心部分的码率可以很高(约22/24)。简单说,BG1擅长处理中大型的数据块,并且在高码率下表现依然稳健。
- BG2:这是个“小蓝图”。矩阵规模较小,系统位列(Kb)最大为10,支持的最大码块长度是3840比特。它的最低母码码率更低(1/5),适合对纠错能力要求极高、码率很低的场景。BG2主要用于数据块较小,或者初次传输需要极低码率、极高可靠性的情况。
选择BG不是凭感觉,标准协议里给了明确的“准入条件”。对于BG2,通常需要满足以下至少一条:
- 传输块尺寸 ≤ 292 比特。
- 传输块尺寸在292到3824比特之间,且首次传输的码率 ≤ 2/3。
- 首次传输的码率 ≤ 1/4。
如果不满足以上任何一条,那么默认就使用BG1。 这个规则很好记:BG2是“特例”,BG1是“通例”。
现在,回到我们的例子:业务数据是6144比特。我们假设这是一个典型的通信场景,首次传输码率不会低至1/4以下(比如我们目标码率可能在1/3或1/2)。那么:
- 条件1:6144 > 292,不满足。
- 条件2:6144 > 3824,不满足。


166

被折叠的 条评论
为什么被折叠?



