雷达 · 通信 · 电子战 / 基础精学 209
迭代译码器通常无需每次运行到固定最大次数。若当前硬判决已满足全部校验,可结束迭代以降低平均延迟;然而代码自身不含关于实际发送码字的外部真值。
硬判决向量为 ,校验矩阵与编码器一致;停止条件仅基于校验,不含CRC或其他独立外部验证。
:当前伴随式(比特)
ws:不满足校验数(个)
F:停止标志(标志)
i:迭代索引(次)
Imax:最大迭代数(次)
当前硬判决由软值产生
校验和失败数为
合法性停止定义为
若输出正确,则
反向一般不成立,因为对任意非零码字
有
错误输出也可能落在合法码空间,因此零伴随式不是正确接收证明。
实际迭代次数可写
平均运行成本与
![E[I]=\sum_{i=0}^{I_{\max}-1}P(I>i)](http://mmo.508mallsys.com/image/loading/transparent.png)
相关;
该尾和等式说明早停只改变运行时分布,不自动改善译码精度。
停止条件
只说明输出落在校验矩阵的零空间。若真实码字为 c,错误向量为 e,由于
有
任何非零合法码字都可作为一个不被校验发现的错误向量。
因此零伴随式不等价于 e=0。若长度为 n、校验秩为 r,合法空间共有
个向量,而非只有真实发送字一个。
额外 CRC、外部真值或仿真比特比对提供不同证据;单纯多运行几次同一伴随式计算不会增加对合法但错误码字的区分能力。
停止标志表示当前向量自洽,类似代数约束检查通过,而非外部事实验证通过。失败校验数还可作为诊断统计,但不必在每次迭代严格单调下降。
穷举固定三行六列校验矩阵的六十四个硬向量,比较逐行异或与矩阵乘法,统计合法向量数;构造非零合法码字作为零发送的错误输出,展示仍会触发停止。
| 量 | 数值 |
|---|---|
| hard vectors | 64 |
| syndrome method mismatches | 0 |
| legal vectors | 8 |
| nonzero legal vectors | 7 |
| counterexample weight | 3 |
| counterexample stops | 1 |
| check count | 3 |
图 1 合法性停止穷举及错误合法码字反例
表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261128;运行版本与完整结果另存为独立文件。
RTL 输入 a[5:0],计算固定稀疏校验矩阵的三位伴随式;输出 bit0 为全部通过标志,bit1至bit3保留伴随式。模块不执行迭代,也不声称检查到真实传输错误。
模块采用同步高有效复位及 valid 握手;有效输入在一个时钟沿登记输出,空拍不改变数据寄存器而清除输出有效标志。端口采用有符号 32 位容器,实际有效范围按子核定义约束。
自检覆盖多组有效输入、空拍保持及复位;它验证指定算术或地址子核,不代表完整通信系统或完整译码器已经完成硬件验证。
独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。
用于译码控制器终止条件、硬判决缓冲审计及早停延迟评估。对外接口应分别提供校验通过、达到迭代上限和数据输出状态。
零伴随式可能对应错误合法码字。
校验失败数不保证单调收敛。
外部独立校验仍有有限漏检概率。
硬判决零软值的平局规则必须固定。
伴随式早停节省已满足约束时的迭代成本,但它只证明码字合法性。实现与报告必须把这一逻辑边界同真实正确率分开。
内容依据:每日精学第 209 课《LDPC伴随式停止的逻辑边界》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。