数字通信 - 错误控制编码

噪声或错误是信号中的主要问题,会干扰通信系统的可靠性。错误控制编码是控制错误发生的编码过程。这些技术有助于错误检测和错误纠正。

根据应用于它们的数学原理,有许多不同的错误纠正码。但是,从历史上看,这些代码被分为线性块码卷积码

线性块码

在线性块码中,奇偶校验位和消息位具有线性组合,这意味着结果代码字是任意两个代码字的线性组合。

让我们考虑一些数据块,每个块包含k位。这些位与每个块具有n位的块映射。这里 n 大于 k。发送器添加冗余位,即 (n-k) 位。比率 k/n编码率。它用 r 表示,r 的值为 r < 1

这里添加的 (n-k) 位是 奇偶校验位。奇偶校验位有助于错误检测和错误校正,也有助于定位数据。在传输的数据中,代码字的最左边的位对应于消息位,代码字的最右边的位对应于奇偶校验位。

系统代码

任何线性分组代码都可以是系统代码,直到它被改变。因此,未改变的分组代码被称为系统代码

以下是根据其分配对代码字结构的表示。

系统代码

如果消息未被改变,则称为系统代码。这意味着,数据的加密不应改变数据。

卷积码

到目前为止,在线性代码中,我们已经讨论了系统未改变代码是首选。这里,如果传输总共n位的数据,k位是消息位,(n-k)位是奇偶校验位。

在编码过程中,从整个数据中减去奇偶校验位,并对消息位进行编码。现在,再次添加奇偶校验位,并再次对整个数据进行编码。

下图引用了用于传输信息的数据块和数据流的示例。

卷积码

上述整个过程非常繁琐,存在缺点。当系统繁忙时,缓冲区的分配是这里的主要问题。

卷积码可以消除此缺点。其中,整个数据流被分配符号,然后传输。由于数据是位流,因此不需要缓冲区进行存储。

汉明码

代码字的线性特性是两个代码字的总和也是一个代码字。汉明码是一种线性纠错码,它可以检测最多两位错误,也可以纠正一位错误,而不会检测到未纠正的错误。

使用汉明码时,额外的奇偶校验位用于识别单一位错误。要从一位模式转换为另一位模式,数据中的几位需要改变。这种位数可以称为汉明距离。如果奇偶校验的距离为 2,则可以检测到一位翻转。但这无法纠正。此外,任何两位翻转都无法检测到。

然而,汉明码在错误检测和纠正方面比前面讨论的程序更好。

BCH 码

BCH 码以发明者 Bose、Chaudari 和 Hocquenghem 的名字命名。在 BCH 码设计期间,需要控制要纠正的符号数量,因此可以进行多位纠正。BCH 码是纠错码中的一种强大技术。

对于任何正整数 m ≥ 3t < 2m-1,都存在一个 BCH 二进制码。以下是此类代码的参数。

块长度 n = 2m-1

奇偶校验位数 n - k ≤ mt

最小距离 dmin ≥ 2t + 1

此代码可称为t 纠错 BCH 代码

循环码

代码字的循环特性是代码字的任何循环移位也是一个代码字。循环码遵循此循环特性。

对于线性代码 C,如果每个代码字(即 C = (C1, C2, ...... Cn))都具有来自 C 的循环右移位分量,则它将成为代码字。此右移等于 n-1 次循环左移。因此,它在任何移位下都是不变的。因此,线性码 C 在任何移位下都是不变的,因此可以称为 循环码

循环码用于纠错。它们主要用于纠正双重错误和突发错误。

因此,这些是一些将在接收器处检测到的纠错码。这些代码可防止引入错误并干扰通信。它们还可以防止信号被不需要的接收器窃听。有一类信令技术可以实现这一点,将在下一章中讨论。