根据教材《差错控制编码(原书第二版)》Error Control Coding (Second Edition),林舒等著,晏坚等译整理。 图源自书内,有空再重绘。
1. 数字信息的传输与存储
信源编码器 (Source encoder) 将信源的输出转换为二进制数字(比特)序列,这些序列称为信息序列 (information sequence)
信道编码器 (channel encoder) 将信息序列
信道译码器 (channel decoder) 将接收序列 (received sequence)
2. 码的类型
当前通用的码有两种不同的类型:
- 分组码 (block codes)
- 卷积码 (convolutional codes)
2.1 分组码
分组码编码器把信息序列划分为每组含
对二进制码,每个码字
2.2 卷积码
卷积码编码器同样接受
对于二进制卷积码,当
3. 调制与编码
3.1 BPSK
在通信系统中,对于编码器的每个输出符号,调制器必须选定一个适于传输的、持续时间为
其中载波信号频率
3.2 AWGN
一种广泛存在于各种通信系统中的噪声干扰是加性白色高斯噪声 (additive white Gaussian noise, AWGN) 。若传输的信号为
式中的
3.3 接收信号的输出
在每个
未经量化的解调器输出序列可以直接送到信道译码器进行处理。在这种情况下,信道译码器必须能够处理未经量化的输入,也即必须能够处理实数。更为常用的一种译码方法是将实数检测器的输出
3.4 信道建模
如果在给定时间间隔内检测器的输出仅和该间隔内传输的信号有关,而与任何以前传输的信号无关,则称此信道是无记忆 (memoryless) 的。在这种情况下,
例如,考虑这样一个通信系统:
- 采用二进制调制(
) - 噪声的幅度分布是对称的
- 解调器的输出量化为
个电平
这种情况下可以得到一个特别简单而实际上极为重要的信道模型,称为二进制对称信道 (binary symmetric channel) 。
转移概率
给出,其中
解调器的硬判决和软判决
当采用二进制编码时,调制器仅有二进制(
假设解调器的输入信号是有限离散字符集
其中
若在给定时间间隔内检测器的输出不仅与当前间隔内的传输符号有关,而且与以前时间间隔的传输符号也有关,则该信道称为有记忆 (memory) 的。衰落信道是有记忆信道的一个典型例子,这是由于多径传输破坏了间隔之间的独立性。对于有记忆信道,我们很难构造出合适的模型,而且在这样的信道上进行编码与其说是一门科学,还不如说是一门艺术。
4 最大似然译码
上图给出了一个在 AWGN 信道上采用有限输出量化的编码系统框图。
- 在分组编码系统中,信源输出
代表一个 比特信息,编码器输出 代表一个 符号码字,解调器输出 代表相应的 进制的接收 维向量,译码器输出 代表编码消息的 比特估值。 - 在卷积编码系统中,
代表含 个信息比特的序列,而 代表一个含有 个符号的码字,其中 是信息序列的长度, 是码字的长度。当最末的一个信息比特分组进入编码器后,由于编码器具有 个单元的存储器,这时将产生 个附加的编码符号。解调器的输出 是一个 进制的接收 维向量,译码器输出 是信息序列的一个 比特估值。
译码器必须根据接收序列
于是,译码器的误码率 (error probability of the decoder) 由
给定,其中
为极大的
这是由于无记忆信道的每个接收符号只与相应的传输符号有关。选择其估值以使得公式(2)为最大的译码器称为最大似然译码器(maximum likelihood decoder, MLD) 。由于
==对离散无记忆信道,MLD 选择能使公式(3)的和为最大的
现在,考虑将 MLD 译码规则应用于 BSC。在这种情况下,
(对于卷积码,公式(4)中的
对于离散输入、连续输出的无记忆信道,接收序列
有噪信道编码定理 (noise channel coding theorem) 和 MLD 的复杂度
有噪信道可靠传输信息的能力已经由香农在其独创性的论文中给出。这个结果称作有噪信道编码定理 (noise channel coding theorem) ,它证明:每个信道都有一个信道容量
同时,存在存储级数
对于
有噪信道编码定理是建立在对随机编码 (random coding) 的讨论基础上的。所得到的性能界实际上是全体码集合上的平均误码率。由于某些码的性能一定优于这个平均值,因此有噪信道编码定理保证了满足公式(5)和(6)的码的存在性,但并未指出如何去构造它们。进一步说,对于固定速率
- 如何构造好的长码,在用最大似然译码时,它的性能要满足公式(5)和(6);
- 寻求易于实现的编译码方法,使其实际性能接近最大似然译码所达到的性能。
5. * 错误类型
- 随机错误信道 (random error channels) - 一般是无记忆信道 -> 纠随机错误码(random-error correcting codes)- 常见的信道编码一般都是这种编码。
- 突发错误信道 (burst error channels) - 一般是有记忆信道(衰落信道)-> 纠突发错误码 (burst-error correcting codes)
- 混合信道 (compound channels) -> 纠突发和随机错误码 (burst- and- random-error correcting codes)。
6. 差错控制策略
- 前向纠错(Forward error correction, FEC):利用纠错码在接收端自动地纠出检出的错误。
- 自动请求重传(Automatic Repeat Request, ARQ):当接收端检测出错误时,就向发送端发出要求重传该消息的请求,直到该消息被正确接收为止。
- 等待式(stop- and- wait)ARQ :发送端发送一个码字给接收端,然后等待从接收端返回的一个肯定(ACK)或否定(NACK)的应答。若收到的是 ACK,发送端就发送下一个码字;但是如果收到的是 NACK,发送端就重新发送前一个码字。当噪声持续存在时,同一个码字在被正确接收和应答前,可能需要反复发送若干次。
- 连续式(continuous)ARQ :发送端连续地将码字发送到接收端,同时连续地接收确认信号。
- 当收到 NACK 时,发送端开始重传。发送端可以回退到发生错误的码字,并且重传该码字及其后续的
个码字,这称做退 步 (go-back-N)ARQ。 - 另一种可选的方案是发送端仅重发那些有否定应答的码字,这称为选择重传 (selective-repeat) ARQ。
- 选择重传 ARQ 比退 N 步 ARQ 更为有效,但是要求更复杂的逻辑和更大的缓存。
- 当收到 NACK 时,发送端开始重传。发送端可以回退到发生错误的码字,并且重传该码字及其后续的
- 连续式 ARQ 比等待式 ARQ 的效率更高,但是实现的代价也更大。
- 在卫星通信系统中,由于传输速率高且往返时延大,通常采用连续式 ARQ。
- 如果系统传输一个码字所花费的时间相较于收到一个应答的时间长,则一般采用等待式 ARQ。
- 等待式 ARQ 是为半双工信道设计的。
- 连续式 ARQ 是为全双工信道设计的
- ARQ 相较于 FEC 的优劣势在于:
- 检错对译码设备的要求远比纠错简单。
- 从信息只在出现错误的时候才被重传的意义上来说,ARQ 是一个自适应系统。
- 当信息的错误率较高时,重传必然过于频繁,此时系统吞吐量 (system throughput)——正确接收新产生的消息的速率,将由于 ARQ 而降低。
- 混合(Hybrid)ARQ 机制——结合了 FEC 和 ARQ 的优势
7. 性能的衡量
一个编码通信系统的性能通常用译码错误的概率(称为误码率(error probability) )和相对于具有相同传输速率的非编码系统的编码增益(coding gain) 来衡量。
7.1 误码率
误码率分为两种不同类型
- 字的误码率定义为译码器输出的码字(或分组)有错误的概率,通常被称作为误字率(word-error rate, WER) 或误分组率(block-error rate, BLER) 。
- 比特的误码率定义为译码器输出的译码信息比特发生错误的概率,称为误比特率(Bit-error rate, BER) 。
在一个码率为
一个编码通信系统的误码率通常用单位信息比特的能量
7.2 编码增益
编码系统的另一个性能衡量指标是编码增益。编码增益的定义如下:
为获得一个特定的误码率(BER 或 WER),编码系统所需的
比非编码系统的减少值。
获得额外编码增益的代价是更高的译码复杂度开销。在每分贝性能提高都将减少整个系统开销的通信应用中,编码增益相当重要。
从上图中可以看出,在
上图中,
当
时,硬判决格雷码比非编码 BPSK 系统有 2.15dB 的编码增益,而软判决译码(MLD)则获得了超过 4.0dB 的编码增益。 硬判决格雷码的编码阈值为 3.7dB。
渐进编码增益(asymptotic coding)——高 SNR 下的编码增益
渐进编码增益只与码率
可将 Q 函数近似为
在高 SNR 条件下,采用软判决(未量化的)MLD,具有最小距离
其中
两边取自然对数,注意到当
因此,具有最小距离
对于硬判决 MLD,证明了渐进编码增益为
==可以看出,软判决 MLD 比硬判决 MLD 多出 3dB 的渐进编码增益。==只是在很大的 SNR 条件下,才能获得这 3dB 的编码增益,对于更为实际的 SNR 取值,软判决译码比硬判决译码的编码增益要小于 3dB,一般介于 2-2.5dB 之间。
香农限
在为差错控制而设计编码通信系统时,总是希望获得特定误码率所需的 SNR 值尽量小。这与最大化编码系统相对于使用相同调制信号集的非编码系统所获得的编码增益等价。根据香农的有噪信道编码定理,可以推导出一个码率为