雷达 · 通信 · 电子战 / 基础精学 206
变量节点的证据相加不能直接用于校验节点,因为校验关心的是邻居比特异或结果。需要先把软值转换为概率差,再利用独立异或的乘法关系。
待合并比特在局部树模型下独立,输入 a,b 均为零比一对数似然;只推导两输入异或的输出,作为高阶校验折叠子核。
a,b:输入对数似然(无量纲)
D:P0减P1(概率差)
f:异或输出似然(无量纲)
g:Jacobian修正(无量纲)
q:定点精度(步长)
输入概率为 P0=ea/(1+ea)、P1=1/(1+ea),所以
两独立比特异或为零和一的概率差满足
由 L=ln[(1+D)/(1−D)] 得
等价概率求和形式为
正负号由两个输入符号的乘积决定。
利用 Jacobian 分解可得
其中 g(d)=ln(1+e−d)。
因此
任何完全未知邻居都会使其异或约束无法单独提供可靠证据。
两路输入均为正数 L 时,精确 boxplus 可化为
大幅度时
因此直接最小值近似仍约高估一个 ln2,并不是两个强输入相等时修正必然为零。
小幅度时则有
输出在原点附近呈二阶衰减,反映校验关系中的不确定性叠加。稳定修正式能避免双曲函数接近端点时的数值困难;
两个查表修正的误差应合并计入,不能只报告单张表的半步长界。
校验只能通过其他比特的共同可靠度推断目标比特,最弱邻居构成瓶颈。两个很强但符号相反的证据支持奇校验,因而输出符号翻转。
固定整数软值网格正负七,比较双曲函数式、概率求和式与稳定修正式,并检查零输入和幅度上界。Q8 两个修正表各自误差不超过半LSB,合成误差不超过一LSB。
| 量 | 数值 |
|---|---|
| 输入对数 | 225 |
| stable exact max error | 2.6645352591e-14 |
| probability form max error | 2.6645352591e-14 |
| q8 max error | 0.00335857590524 |
| q8 error bound | 0.00390625 |
| zero input max output | 0 |
| boxplus 7 7 | 6.30685365097 |
图 1 精确boxplus曲面与Q8误差
表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261125;运行版本与完整结果另存为独立文件。
RTL 输入为正负七范围的整数软值,精确主项乘 256 后加两个 Q8 Jacobian 修正表,输出 Q8。该子核仅验证整数网格上的二输入校验更新,未构造迭代译码器。
模块采用同步高有效复位及 valid 握手;有效输入在一个时钟沿登记输出,空拍不改变数据寄存器而清除输出有效标志。端口采用有符号 32 位容器,实际有效范围按子核定义约束。
自检覆盖多组有效输入、空拍保持及复位;它验证指定算术或地址子核,不代表完整通信系统或完整译码器已经完成硬件验证。
独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。
用于校验节点算术验证、短查表软计算和高阶校验串行折叠。树状归约能缩短延迟,但各层舍入误差和饱和边界需统一。
有环图中的输入一般不严格独立。
双曲函数在强软值处容易数值饱和。
查表误差随多级归约累积。
局部算术正确不保证整码译码性能。
box-plus 由独立比特异或概率严格推导,幅度受最弱输入约束。稳定修正式给出可量化误差的定点子核。
内容依据:每日精学第 206 课《LDPC校验节点的boxplus软更新》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。