雷达 · 通信 · 电子战 / 基础精学 196
编码规则描述怎样生成合法向量,而接收端需要判断一个任意向量是否满足码约束。伴随式通过稀疏模二内积完成这一判断,不需要重新枚举所有可能信息。
H 为 (n−k)× n 二元矩阵,满足 GHT=0;接收行向量
运算均模二。
H:校验矩阵(二元矩阵)
:接收向量(比特)
:错误向量(比特)
:伴随式(比特)
:合法码空间(集合)
由编码映射得到
定义伴随式
零伴随式等价于接收向量落在该校验矩阵的零空间,但不保证它就是原发送码字。
代入接收模型并利用线性性
单比特错误
给出
因而不同非零列对应可区分的单错位置。
若错误向量恰为非零合法码字,则
当 H 满行秩时,共有
种伴随式,每一种对应 2k 个接收向量,说明伴随式天然是一种多对一压缩。
伴随式是从七维二元向量到三维二元向量的线性映射。两个接收字产生同一伴随式,当且仅当其差属于合法码空间:
校验矩阵秩为三时,每个伴随式对应 27−3=16 个接收向量。
单错模型使七种非零伴随式可以分别定位七个错误位置,但一般多错图样也可能映射到同一值。
这里加法为逐位异或。
故伴随式非零可靠说明“不在码空间”,却不能在没有错误模型限制时唯一说明“哪一位出错”。
伴随式消除了未知信息的影响,只保留违背码约束的部分。它提供的是错误所在陪集的信息,并不是任意错误向量的唯一标识。
对列为一至七二进制表示的三行校验矩阵,穷举所有一百二十八个接收向量;检查单错伴随式、每种伴随式数量及全部十六个合法码字的零校验。
| 量 | 数值 |
|---|---|
| received vectors | 128 |
| syndrome classes | 8 |
| vectors per class | 16 |
| single error mapping errors | 0 |
| valid code syndrome ones | 0 |
| zero syndrome vectors | 16 |
| undetected nonzero patterns | 15 |
图 1 伴随式分布与单错位置映射
表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261115;运行版本与完整结果另存为独立文件。
RTL 输入 a[6:0],输出三位伴随式整数;位 j 为一时异或 j+1。列二进制的低位作为第一校验,输出值零至七。 模块采用同步高有效复位及 valid 握手;
有效输入在一个时钟沿登记输出,空拍不改变数据寄存器而清除输出有效标志。端口采用有符号 32 位容器,实际有效范围按子核定义约束。自检覆盖多组有效输入、空拍保持及复位;
它验证指定算术或地址子核,不代表完整通信系统或完整译码器已经完成硬件验证。
独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。
用于奇偶校验树、码字合法性监测及小型译码器的前端错误分类。更长码可通过流水化异或树降低组合路径,但须保持校验位顺序。
零伴随式不等于无错误。
相关或多位错误可能共享同一伴随式。
校验矩阵冗余行不增加独立约束数。
陪集定位仍需额外的错误模型。
伴随式是错误向量到校验空间的线性映射。它使合法性检查高效,但多对一性质限制了仅凭伴随式能够唯一确定的错误类型。
内容依据:每日精学第 196 课《校验矩阵与伴随式映射》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。