📜  数字通信-错误控制编码

📅  最后修改于: 2020-11-25 05:49:50             🧑  作者: Mango


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

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

线性分组码

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

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

此处添加的(nk)位是奇偶校验位。奇偶校验位有助于检错和纠错,以及定位数据。在正在传输的数据中,代码字的最左边的位对应于消息位,而代码字的最右边的位对应于奇偶校验位。

系统代码

在更改之前,任何线性块代码都可以是系统代码。因此,未更改的块代码称为系统代码

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

系统代码

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

卷积码

到目前为止,在线性代码中,我们已经讨论了系统不变的代码是首选。这里,如果总共n个比特的数据被发送,则k个比特是消息比特,并且(nk)个比特是奇偶校验比特。

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

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

卷积码

如上所述,整个过程是乏味的,具有缺点。当系统繁忙时,分配缓冲区是这里的主要问题。

卷积代码中消除了此缺点。在整个数据流中分配符号,然后进行传输。由于数据是位流,因此无需缓冲区即可存储。

海明码

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

在使用汉明码时,额外的奇偶校验位用于标识单个位错误。为了从一位模式转换到另一位模式,数据中的几位将被更改。这样的位数可以称为汉明距离。如果奇偶校验的距离为2,则可以检测到一位翻转。但这无法纠正。同样,也无法检测到任何两位翻转。

但是,汉明码在检错和纠错方面比前面讨论的更好。

BCH代码

BCH码被发明者OSE,C haudari和H ocquenghem命名。在BCH代码设计期间,可以控制要校正的符号数,因此可以进行多位校正。 BCH代码是纠错代码中的一种强大技术。

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

块长n = 2 m -1

奇偶校验位数n-k≤mt

最小距离d min≥2吨&加; 1个

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

循环码

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

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

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

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