INFORMATION THEORY · SOURCE & CHANNEL CODING · COMPRESSION

信息论与压缩可视化实验室

从香农熵到 Huffman、LZ77、算术编码,从信道容量到汉明码、卷积码、LDPC/Turbo 码——8 个可交互的 SVG 模块将信息论的核心定理与编码算法可视化。拖动滑块、点击按钮,直观感受信源不确定性、压缩极限与纠错能力。

8 Modules SVG + Vanilla JS Zero Dependencies Single File
01SHANNON ENTROPY

香农熵

香农熵 H = −Σ p(x) log₂ p(x) 度量信源的平均不确定性。均匀分布熵最大,确定性分布熵为零。下方可视化展示概率分布、各符号的自信息量与熵累积过程。

概率分布与熵累积
02HUFFMAN CODING

Huffman 编码

Huffman 编码按频率建优先队列,反复合并最小两节点构造最优前缀码树。下方可视化展示频率表、自底向上建树、0/1 编码赋值与平均码长逼近熵的过程。

频率表与最优前缀码树
03LZ77 / LZW COMPRESSION

LZ77 / LZW 压缩

LZ77 用滑动窗口(搜索缓冲区 + 前瞻缓冲区)寻找最长匹配,输出 (offset, length, next) 三元组;LZW 用字典动态学习新串。下方可视化展示窗口滑动、匹配查找与 token 输出。

滑动窗口与匹配查找
04ARITHMETIC CODING

算术编码

算术编码将整个消息映射到 [0,1) 上一个越来越窄的子区间,每个符号按其概率子分当前区间,最终取区间内一点作为码字。下方可视化展示区间逐符号收窄与最终码点。

区间逐符号收窄
05CHANNEL CAPACITY

信道容量

香农-哈特利定理:C = B log₂(1 + S/N)。带宽 B 与信噪比 SNR 共同决定信道无差错传输的比特率上限。下方可视化展示噪声模型、SNR 与容量曲线随参数变化的过程。

噪声模型与容量曲线
06HAMMING CODE

汉明码

汉明(7,4) 码将 4 位数据编码为 7 位码字,校验位位于 2 的幂次位置 (1,2,4)。通过校验子 (syndrome) 可检测并纠正单比特错误。下方可视化展示编码、注入错误、校验子定位与纠错过程。

校验位、校验子与单比特纠错
07CONVOLUTIONAL CODE & VITERBI

卷积码与维特比译码

卷积码通过移位寄存器与 XOR 生成输出比特流,维特比算法在网格图上寻找最大似然路径完成译码。下方可视化展示编码器状态流转、网格图构建与维特比回溯纠错过程。

移位寄存器编码与网格图译码
08LDPC & TURBO CODES

LDPC 与 Turbo 码

LDPC 码用 Tanner 图(变量节点 + 校验节点)上的置信传播消息传递迭代译码;Turbo 码用两个 RSC 编码器加交织器,译码器间迭代交换软信息。下方可视化对比两种现代纠错码的迭代收敛过程。

Tanner 图消息传递 / Turbo 迭代译码