每日精学 205|LDPC校验矩阵的Tanner图邻接

2026-09-25

← 技术专题 · 每日精学目录

雷达 · 通信 · 电子战 / 基础精学 205

大规模稀疏校验矩阵可以用较少非零项表示。图结构同时表达代数约束与消息交换路径,使存储容量从稠密矩阵规模转向实际边数。

01
模型与符号

H 为二元稀疏矩阵;变量节点对应列,校验节点对应行;边存在当且仅当 Hij=1,节点编号采用零基。

\mathcal N(i):校验i相邻变量(集合)

\mathcal M(j):变量j相邻校验(集合)

E:边数(条)

dc:校验节点度(条)

dv:变量节点度(条)

02
从模型到公式

矩阵至图

合法性条件逐行写成

\bigoplus_{j\in\mathcal N(i)}c_j=0,\qquad \mathcal N(i)=\{j:H_{ij}=1\}.

反向邻接集合为

\mathcal M(j)=\{i:H_{ij}=1\}.

两个集合描述同一批边的不同遍历顺序。


边数一致性

校验度和变量度分别为

d_c(i)=\sum_jH_{ij},\qquad d_v(j)=\sum_iH_{ij}.

对全部节点求和得到

E=\sum_i d_c(i)=\sum_jd_v(j).

该恒等式可检查邻接列表的重复边、漏边和端点错误。

循环与外信息

两个校验共享至少两个变量即形成长度四循环,行交集大小为

q_{ik}=\sum_jH_{ij}H_{kj},\quad i\ne k.

当 qik≥2 时存在四循环。

向一条边发送外信息必须排除目标邻居,例如

\{k\in\mathcal N(i):k\ne j\}.

排除不是地址优化细节,而是避免立即反馈自身证据的概率要求。


四循环的公共邻居判据

Tanner 图的四循环需要两个校验节点同时连接两个相同变量节点。令第 i,j 两行公共非零列数为 cij,则四循环总数为

N_4=\sum_{i<j}\binom{c_{ij}}2.

每组选定的两行两列唯一确定一个四循环,无需通过软译码轨迹猜测。

边数还可分别由行度和列度求和核对:

|E|=\sum_i d_i^{(c)}=\sum_j d_j^{(v)}.

这些是图结构的确定性一致性条件,不是误码性能保证。

即使没有四循环,也可能存在更长短环和不利度分布。地址 ROM 的双向索引应指向同一条边,否则消息存储可能把不同邻接关系错误连接。

03
物理含义

图中的边传递软信息而不是数据比特副本。稀疏连接使每次局部更新成本较小,短循环则让原先近似独立的信息更快形成相关,影响迭代算法解释。

04
固定参数算例

固定三行六列稀疏矩阵,检查双向边表一致、度数和相等及四循环数量。绘制矩阵与二部图;该小图仅用于邻接机制,不作为实际长码性能示例。

固定参数数值验证结果
量数值
校验节点数3
变量节点数6
边数9
check degree sum9
variable degree sum9
length4 cycles0
maximum check degree3
图 1:稀疏校验矩阵与Tanner图邻接图 1:稀疏校验矩阵与Tanner图邻接

图 1 稀疏校验矩阵与Tanner图邻接

表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261124;运行版本与完整结果另存为独立文件。

05
数字实现的边界

RTL 将零至八的边地址查表映射到校验和变量编号,输出高四位为校验行、低四位为变量列;节点顺序按行内列递增排列,不实现软译码。 模块采用同步高有效复位及 valid 握手;

有效输入在一个时钟沿登记输出,空拍不改变数据寄存器而清除输出有效标志。端口采用有符号 32 位容器,实际有效范围按子核定义约束。自检覆盖多组有效输入、空拍保持及复位;

它验证指定算术或地址子核,不代表完整通信系统或完整译码器已经完成硬件验证。

独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。

06
适用范围

用于稀疏校验存储布局、边编号检查及译码器调度表验证。实际系统可根据校验度和存储并行度选择压缩行表或分层块结构。

07
工程上需要注意

小型演示图不代表长码性能。

稀疏本身不保证大最小距离。

短循环会破坏树形独立假设。

边表位序错误可能保持度数但连接错误节点。

Tanner 图把校验矩阵的非零项变成可遍历的二部图边,边数和邻居排除规则提供可验证的实现约束。

内容依据:每日精学第 205 课《LDPC校验矩阵的Tanner图邻接》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。

阅读7
分享
写评论...