本页目录
信息论进阶 II · 信道编码、有限译码与随机码本
前置:it2-01 的 AEP 与有限码本、条件熵和互信息、条件概率与并集界。 本课问题:一个具体码本到底错多少?为什么随机造码能证明容量可达?有限误码、平均误码、最坏消息误码和渐近容量分别需要什么证据?本课先穷举短码,再把证明中的每个概率项单独记账。
学习层:看到一条低误码曲线,还差哪些信息?
同一个信道,换个译码器就可能完全不同
为了发送一位消息,用 000 表示 0、111 表示 1。如果每位以概率 0.1 翻转,多数表决很自然;如果每位以概率 0.9 翻转,收到 000 反而更支持“原来发了 111”。信道并没有失去信息,错误发生在译码器仍然按“翻转很少”来判断。
因此,一份有限实验至少要写清码本、消息先验、信道、译码规则和平局规则。容量只描述在适用条件下可以达到的渐近边界,不替你选择其中任意一个。
| 实验 | 实际计算的对象 | 它不能单独证明什么 |
|---|---|---|
| 有限 BSC 码本 | 全部接收词、逐消息错误、混淆矩阵、平局 | 任意长码族达到容量 |
| 真配对与假配对 | 完整 Hamming 类型、真实尾项、假接受概率、并集上界 | 指定有限码的实际错误等于上界 |
| 两个随机码字 | 每个有序码本及其概率、译码错误、群体平均 | 随便抽到哪个码本都很好 |
先预测四个问题
- 码率低于容量,故意总猜第一个消息,也会可靠起来吗?
- 并集界是否要求每个假码字导致的错误事件相互独立?
- 把三个重复位增加到四个,平均误码一定严格下降吗?
- 一个很小的假配对指数项,能否代替真配对不典型的尾概率?
无 JavaScript 时:下列固定图、18 项数值以及第 11 节四份完整答案可以独立阅读。交互实验重新计算当前参数,完整固定记录可下载核对。
固定运行:2026-09-11,Node 24.14.0 / darwin arm64。下载全部接收词、混淆矩阵、类型和随机码本。四位例码本0000、1111,消息均匀,p=0.1,ML且平局优先首标签;500位例M=2^200、p=0.1、带宽0.02;三位典型例M=2、p=0.1、带宽0.5;随机码本例n=3、每位P(1)=1/2、p=0.1、两条独立码字、均匀消息与ML。
| 固定参数下的量 | 参考值 |
|---|---|
| 四位优先0:消息0错误 | 0.0037 |
| 四位优先0:消息1错误 | 0.0523 |
| 四位平均块错误 | 0.028 |
| 四位最大消息错误 | 0.0523 |
| 四位重复码率 | 0.25 |
| BSC(0.1)容量 | 0.531004406411 |
| 500位真配对尾项 | 0.601976557804 |
| 500位假消息并集项 | 8.29562044649e-19 |
| 500位有限并集原始和 | 0.601976557804 |
| 三位例真配对尾项 | 0.271 |
| 三位例一个假接受率 | 0.125 |
| 三位例并集上界 | 0.396 |
| 三位唯一典型译码实际平均 | 0.362125 |
| 三位随机码本ML平均 | 0.141 |
| 三位随机码本碰撞概率 | 0.125 |
| 三位支持中最小ML错误 | 0.028 |
| 三位支持中最大ML错误 | 0.5 |
| 三位正概率有序码本数 | 64 |
图线连接离散点只作读图辅助,重合曲线可互相覆盖。概率精确值以分子、分母为准;熵与对数为浮点近似,选带不是严格区间证书。并集上界不等于实际错误;随机码本平均不等于每个成员。
概率输入按最多六位小数的精确十进制分数解释。译码比较、平局分配、误码和码本概率用有理数计算;熵、互信息和典型带的对数判断用浮点数。所有正概率,即使显示下溢,也保留分子、分母及对数。零误码不画成某个任意的小正数。
1. 一个码需要五项定义
设有限输入字母表为 \(\mathcal X\)、输出字母表为 \(\mathcal Y\),离散无记忆信道由转移概率 \(W(y\mid x)\) 给出。独立使用 \(n\) 次意味着
消息 \(J\) 在 \(\{0,\ldots,M-1\}\) 上均匀。编码器为 \(f(j)=x^n(j)\);码本是一列按消息标签编号的词。不同标签偶尔对应同一个词,仍然是两个需要区分的消息,不能在计算前把重复词去重。
译码器观察 \(Y^n\) 后输出 \(\widehat J\),也可以输出擦除标记。码率定义为
当 \(M\) 不是 2 的整数幂时,这仍是合法的数学码率;它不表示每次恰好承载整数个二元位。
令 \(e_j=P(\widehat J\ne j\mid J=j)\)。需要区分
前者是平均块错误率,后者要求保护最难传的消息。若 \(M=2^k\) 并已固定每个标签的 \(k\) 位二元表示,还可定义平均比特错误率
一次块错误可能只错一位,也可能错多位,因此 \(P_b\) 不等于 \(P_e\)。本实验仅在标签确有固定二元表示且 \(k>0\) 时报告 \(P_b\)。这些指标与随机化译码的定义可参阅 MIT 6.441 第 14 章。
2. 最大似然:先看信道,再决定“距离近”好不好
固定收到 \(y^n\),最大后验译码选择使 \(P(J=j\mid Y^n=y^n)\) 最大的标签。均匀消息先验下,由 Bayes 公式,它等价于最大化
这就是最大似然(ML)译码。并列最优标签可以按固定规则选择,也可以均匀随机选择;对当前均匀先验,两者给出相同的最优平均正确率,但逐消息错误和最大错误可能不同。
二元对称信道 BSC\((p)\) 的每位以概率 \(p\) 翻转,完整参数域为 \(0\leq p\leq1\)。若接收词与码字相距 \(d\) 位,
当 \(0\lt p\lt 1/2\) 时,似然随距离递减,ML 是最近邻;当 \(1/2\lt p\lt 1\) 时,似然随距离递增,ML 是最远邻。后一种信道也可以先把每个接收位翻转,再按 BSC\((1-p)\) 译码。
\(p=0\) 是无噪声,\(p=1\) 是确定性翻转,二者都能保留全部输入信息。\(p=1/2\) 时所有接收词与输入独立,任何译码器的最优平均正确率都是 \(1/M\),即 \(P_e=1-1/M\)。这与消息是否用了重复码无关。
本实验同时提供“ML”“最近邻”和“总猜标签 0”。它不会把 \(p>1/2\) 偷改成 \(1/2\),也不会把低于容量自动当作译码正确的理由。
3. 完整枚举:平局和混淆矩阵都不能省
用 \(D(j\mid y)\) 表示收到词 \(y\) 后输出标签 \(j\) 的概率。它可以是确定的 0 或 1,也可以是平局均分得到的分数。于是完整混淆矩阵是
每行总和为 1,且
实验直接累加错误项,不先计算一个接近 1 的成功概率再做相减,避免把微小但非零的错误消掉。对每个接收词,它保存全部似然、并列赢家、实际分配和消息后验。
两个相反的重复码字 \(0^n,1^n\),在最近邻及均匀平局下有
偶数长度不能靠把 \(n\) 自动加一来处理。固定优先某个标签的平局规则会改变两个消息各自的错误;平均值仍可与上式核对。若使用 ML 且 \(p>1/2\),上式应使用 \(1-p\)。
码本的最小 Hamming 距离 \(d_{\min}\) 可以给几何保证:不同码字、最近邻译码时,少于 \(d_{\min}/2\) 位翻转不可能把接收词送进另一码字更近的区域。证明只需三角不等式
距离保证只覆盖指定错误数,不等于完整误码率。重复码字导致 \(d_{\min}=0\);单消息码本则没有“码字对的最小距离”,实验记为不适用。
4. 联合典型性:约束的是三项自信息
选择输入分布 \(P_X\),与信道共同诱导 \(P_{XY}(x,y)=P_X(x)W(y\mid x)\) 及输出边缘 \(P_Y\)。定义弱联合典型集,要求正概率序列对同时满足
这些是相对于真实分布的负对数似然平均,不是把经验分布的熵算出来后只比较三个数字。经验分布接近真实分布是另一种常用典型性定义,需要另外写出条件。
对真实 IID 配对,三项分别由 AEP 收敛;再用并集界,真配对不在集合中的概率 \(\delta_n\) 趋零。集合基数由每个成员的联合概率下界给出
现在改抽相互独立且边缘正确的 \(\widetilde X^n\) 和 \(Y^n\)。在集合内,两边缘概率各有上界,所以
这里的互信息描述真配对与独立假配对的可区分程度。三个松弛量来自三个明确的不等式,不能在有限数值例子里凭空删除。
5. 随机编码:平均对谁取,存在什么码
固定输入分布,记 \(I=I(X;Y)\)。选 \(R\lt I\),并取 \(\varepsilon>0\) 使 \(R\lt I-3\varepsilon\)。令整数消息位数 \(k_n=\lfloor nR\rfloor\)、消息数 \(M_n=2^{k_n}\)。
独立生成每个码字 \(X^n(j)\sim P_X^n\)。收到 \(y^n\) 后,若恰有一个消息的码字与之联合典型,就输出它;没有或有多个则报告错误。随机码本中出现重复词并不被排除,它们造成的标签歧义也必须计入错误。
对消息 0,若真配对在集合内,且没有其他码字与输出形成典型配对,则译码成功。因此
对随机码本取期望时,未发送码字独立于本次输出,故
每个标签的生成方式相同,所以同样的上界适用于对均匀消息求平均后的码本错误率 \(\mathbb E_{\mathcal C}P_e(\mathcal C)\)。于是至少存在一个具体码本,其平均错误不超过这个平均上界。
并集界不要求错误事件独立。独立性用于识别一个未发送码字与输出的分布;把多个事件概率相加,是另一件事。证明也没有承诺每个随机抽到的码本都达到上界。
对有限字母表,互信息关于输入分布连续,输入概率单纯形紧,故
可取得。任取 \(R\lt C\),选择使 \(I>R\) 的输入分布,上面的构造就证明可达性。阈值式随机编码的另一种完整推导见 MIT 6.441 第 15.2 节。
6. 删去坏消息:平均小怎样变成最大也小
假设已找到一个 \(M\) 消息码本,平均错误不超过 \(\eta\)。错误大于 \(2\eta\) 的消息不能超过一半;否则所有消息错误的平均会超过 \(\eta\)。
保留至少 \(M/2\) 个好消息。对保留标签继续使用原译码规则;如果原译码器输出已删除标签,就改指向某个保留标签。原本正确的保留消息不会因此变错,所以新码的
因此,当 \(\eta_n\to0\),最大错误也趋零,码率损失至多 \(1/n\)。这一步说明“平均错误版本”和“最大错误版本”的容量一致;它不是说一个未经删选的有限码本本来就均匀保护每个消息。
如果目标码率恰为给定 \(R\lt C\),可以先以严格介于 \(R\) 与 \(C\) 的码率构造,再做删选,让最后码率仍不少于 \(R\)。这样处理量词,才能把整数取整和删半损失放进同一个证明。
7. 有限真假配对账本:别让小指数遮住大尾项
对 BSC\((p)\) 使用均匀输入,则 \(H(X)=H(Y)=1\)、\(H(X,Y)=1+H_2(p)\)、\(C=1-H_2(p)\)。两边缘的每符号自信息恒等于 1,联合典型条件只剩
真实配对的距离 \(D\) 服从 Binomial\((n,p)\);独立均匀假配对的距离服从 Binomial\((n,1/2)\)。因此,对当前接受的距离集合 \(S\),可以完整计算
这两个概率具有不同的采样分布,不能把一张直方图当作两者。随机编码的有限平均错误上界是
实验同时显示原始和以及截到 1 的概率上界;原始和大于 1 时,只说明这份上界无用。它不会把截断后的 1 仍标成未经截断的指数表达式。
例如 \(n=500,p=0.1,M=2^{200},\varepsilon=0.02\),真配对尾概率约为 \(0.601976557804\)。只写假配对的指数项很小,不能推出总错误很小。这个结果也不意味着所有该码率的码都错六成:当前典型带和译码分析可能过于保守,ML 译码可以更好。
均匀 BSC 还可以得到比一般三松弛量更紧的指数:因为两边缘自信息没有偏差,集合内的信息密度至少为 \(n(C-\varepsilon)\),所以 \(\alpha\leq2^{-n(C-\varepsilon)}\)。这是该对称设置的专门界,不能无说明地替换一般证明中的 \(3\varepsilon\)。
为免把浮点对数判界冒充严格区间证书,实验另给出一个完全有理数的核对。对已选集合中每个正概率距离,定义
于是
这是针对实际已选集合的精确分数界。空接受集时,假接受率与这个上界均为零,但真配对尾概率为 1。
8. 逆定理:无记忆给不等式,不自动给等号
消息均匀时 \(H(J)=\log_2M\)。设 \(E=\mathbf1_{\{J\ne\widehat J\}}\)。给定估计与是否出错,错误情况下原消息最多有 \(M-1\) 个可能值,因而
这是 Fano 不等式的一种用法。数据处理链
给出 \(I(J;\widehat J)\leq I(X^n;Y^n)\)。即使码字坐标相互相关,无记忆性仍然保证
第一项用熵的次可加性,第二项的等号来自给定完整输入后的条件独立。不能把有相关输入的一般情形写成互信息自动逐次相加。
将这些式子合并,对于 \(M>1\),
有限 \(n\) 时右端可能为负;它是一个无用的下界,不是负错误率。若码率趋于严格大于 \(C\) 的 \(R\),则错误率不能趋零。这是弱逆定理。它尚未证明错误率趋于 1;后者需要强逆定理的额外论证。
实验还用实际码本的 \(I(J;Y^n)\) 给 Fano 下界,再与用 \(nC\) 得到的下界并列。这样可以看出:具体码本损失的信息,与信道本身允许的最大信息量,也不是同一个数。
9. 枚举随机码本:平均之下确实有具体成员
现在只生成两个码字,每位独立以概率 \(q\) 取 1,两个码字也独立。长度至多 4 时,可以列出全部 \(2^{2n}\) 个有序码本,并按其生成概率加权,而不依赖随机模拟。
若两码字相距 \(d\) 位,相同的位置不提供区分信息。不同的 \(d\) 位构成一个重复判别问题。在 ML 译码下,其平均错误恰好是使用翻转率 \(\min(p,1-p)\) 的长度 \(d\) 重复码误差,偶数 \(d\) 包括平局;\(d=0\) 时两消息完全重合,误差为 \(1/2\)。
两个独立 Bernoulli\((q)\) 位不同的概率是 \(2q(1-q)\),所以码字距离服从
由此得到第二种独立核对:
例如 \(n=3,p=0.1,q=1/2\),四种距离的概率为 \((1,3,3,1)/8\),相应错误为 \(0.5,0.1,0.1,0.028\),平均得到
相反码字的错误为 0.028,重复码字的错误为 0.5;平均值既不等于最好,也不等于每个成员。若信道完全无噪声,错误仍可能来自随机码字碰撞:在此均匀例子中,碰撞概率 \(1/8\),平均错误为 \(1/16\)。
一般碰撞概率是
\(q=0\) 或 1 时只会抽到一种词,容量虽可能很大,这个随机造码方案却只能产生无法区分的两个消息。因此实验报告的是“有正生成概率的码本中,最好和最坏分别怎样”,不把零概率抽到的成员当作存在性结论的见证。
10. 高斯信道:单位和功率约束必须跟着公式
实值 AWGN 信道为 \(Y=X+Z\),其中 \(Z\sim N(0,N)\)、\(N>0\),且噪声独立于输入。以比特计的微分熵满足
在 \(\mathbb E X^2\leq P\) 下,\(\operatorname{Var}(Y)\leq P+N\)。给定方差,高斯分布最大化微分熵,所以
零均值高斯输入 \(X\sim N(0,P)\) 达到这个单次信息上界。要把它升级为满足逐码字功率限制的编码定理,还需处理生成码字的功率集中与筛选,不能仅凭“选高斯输入”一句话就跳过编码可达性。
通常的实值容量为
若一次使用是一个复值符号,且 \(P=\mathbb E|X|^2\)、\(N=\mathbb E|Z|^2\),相应圆对称复高斯模型给 \(C_{\mathbb C}=\log_2(1+P/N)\)。两者统计的是不同维数,不能把前因子当作相互冲突的结论。
自然对数得到 nat,转换成比特需要除以 \(\ln2\)。以每秒计还需明确带宽、实/复自由度和噪声功率的约定。峰值幅度约束也不是平均平方功率约束,不能沿用同一个高斯最优输入。定义与证明范围见 MIT 6.441 第 17.1 与 17.3.1 节。
11. 四道完整练习:把容易混用的结论拆开
练习一:多重复一位,平均错误为什么没变?
对码本 0000、1111 经过 BSC\((0.1)\),分别采用均匀平局和总优先标签 0 的最近邻规则。求平均错误及最大消息错误,并与三位重复码比较。
展开完整答案:平局改变最坏消息,不改变这个平均值
严格多数翻转的概率为
恰好两位翻转的概率为 \(6(0.1)^2(0.9)^2=0.0486\)。均匀平局使每个消息的错误都是
所以平均和最大消息错误均为 0.028,与三位重复码相同,但码率从 \(1/3\) 降到 \(1/4\)。
若平局总猜标签 0,消息 0 的错误为 0.0037,消息 1 的错误为 \(0.0037+0.0486=0.0523\)。平均仍是 0.028,最大却变成 0.0523。评价“这个码错多少”之前,必须说明平均还是最大,以及平局如何处理。
练习二:一个有限并集上界,为什么不等于ML误码?
取 \(n=3,p=0.1\)、均匀输入、两个随机码字、联合典型带宽 \(\varepsilon=0.5\)。求接受的距离、真尾概率、假接受概率和并集上界。
展开完整答案:保留真尾,再比较不同译码器
\(H_2(0.1)\approx0.468996\)。距离 0 的噪声自信息为 \(-\log_2 0.9\approx0.152003\),在带内;距离 1 的噪声自信息约为 1.208645,已经在带外,后续距离更大。因此只接受距离 0。
真实无翻转概率为 \(0.9^3=0.729\),故 \(\delta=0.271\)。独立假码字恰好等于接收词的概率为 \(\alpha=1/8\)。两个消息的并集上界为
在这个特殊设置中还可算出“唯一典型配对译码”的真实群体平均错误:只有真词等于收到的词且假词不等于它时成功,所以
并集上界较大,是因为把两个错误事件的交集重复计入。第 9 节算出的群体平均 ML 错误为 0.141,又更小,因为 ML 也能利用有翻转但仍支持某个标签的接收结果。三个数字分别是上界、一个特定译码器的实际平均和最优平均译码的结果,不能互换。
练习三:Fano给的是下界,还是精确错误?
八个消息均匀,某观测 \(Y\) 满足 \(H(J\mid Y)=2\) 比特。对任意基于 \(Y\) 的估计,给出一个直接可算的错误下界。
展开完整答案:条件熵剩余限制可恢复程度
数据处理保证估计不会比完整观测包含更多消息信息,即 \(H(J\mid\widehat J)\geq H(J\mid Y)=2\)。再用 Fano,
所以
这是利用 \(H_2(P_e)\leq1\) 得到的较松下界,不是精确最小错误。若保留二元熵项,可以进一步求解隐式不等式。二元消息情形不能除以 \(\log_2(2-1)=0\);应保留二元熵或使用含 \(\log_2M\) 的较松版本。
这里假设的是均匀消息和正确的条件熵信息,没有指定某个有限信道码本,因此不能从这一个下界恢复具体混淆矩阵。
练习四:功率翻倍为何不总多半比特?
实值 AWGN 当前信噪比为 \(s>0\)。求功率翻倍后的容量增量及高信噪比极限,写明单位。
展开完整答案:半比特是极限,不是有限信噪比恒等式
噪声功率固定时,信噪比从 \(s\) 变为 \(2s\),所以
因为 \(1\lt (1+2s)/(1+s)\lt 2\),故 \(0\lt \Delta C\lt 1/2\)。当 \(s\to\infty\),比值趋于 2,增量才趋于半比特。若 \(s=1\),增量为 \(\frac12\log_2(3/2)\approx0.292481250361\) 比特。
若用自然对数,高信噪比增量是 \(\frac12\ln2\approx0.346574\) nat;把这个数字直接写成 bit 就混淆了单位。复值信道按每个复符号计时,公式和增量再按两个实自由度作相应调整。
12. 从存在性走向构造:哪些问题还在后面
随机编码证明回答“存在什么”,完整枚举回答“这个有限对象怎样”,高效算法回答“能否在预算内实现”。三者可以互相指引,但不能用其中一项替代另外两项。
有限块长分析需要保留目标错误、整数消息数以及信息密度的波动;强逆定理研究高于容量时错误是否趋于 1;有输入成本、反馈或记忆的信道还要重新核对模型条件。本课的类型与短码实验提供可复核的起点,没有实现一般信道的容量最优编码器。
构造性方向中,Arıkan 的极化码原始结果给出二元输入离散无记忆信道的对称容量可达码族,以及逐次消除编解码的 \(O(N\log N)\) 复杂度。对称容量指均匀输入的互信息;在对称信道上它等于容量,在一般非对称信道上不能直接画等号。准确范围见 Channel polarization 原始论文。
学习下一讲率失真之前,可以用一张账本自检:消息数和码率是否一致,译码平局是否明确,概率总和是否为 1,图上的错误是平均还是最大,显示的是实际值还是上界,渐近证明有没有保留尾项。能逐一回答,才算把容量公式接回了一个可运行的通信问题。