错误检测和纠正代码

在对各种系统的讨论中,无论是模拟系统还是数字系统,我们都发现误差这一术语几乎无处不在。其中有输入和相应的输出错误是不祥的。同样,在数字系统中,无论是数字计算机还是数字通信,错误的发生都是常见的现象。为此,第一步是检测错误,然后纠正错误。

产生错误的最常见原因是在从发射机到接收机的传输过程中,噪声悄悄进入比特流。如果这些错误没有被发现和纠正,结果可能是灾难性的,因为数字系统对错误非常敏感,并且会由于传输代码中最轻微的错误而发生故障。

有各种各样的方法错误检测与校正例如额外的位的添加,也称为校验位,有时它们也称为冗余位,因为它们里面没有任何信息。在本文中,我们将讨论用于错误检测和纠正代码在数字系统中。

奇偶校验码

在从发射机传送数据时,在传送的比特串上加一个奇偶校验位,以便在接收端接收数据时检测数据中的任何错误。基本上,奇偶校验码只不过是向数据串中添加了一个额外的位。现在有两种奇偶校验,偶偶校验和奇偶校验。

现在我们得到了偶数奇偶校验,当数据串中的1的总数在加上额外的位之后是偶数。类似地,我们得到一个奇偶校验,当添加额外的位到数据串后,数据中1的总数是奇数。我们可以用一个例子来理解它,假设我们有一个8位ASCII代码- 01000001。

现在如果添加的位是0,那么数字将变成001000001。这里数字中1的总数是偶数所以我们得到了偶校验。同样,如果我们在这个号码上加1,这个号码将变成101000001。这里1的数目是3,这是奇数,所以我们有一个奇偶性。通常使用偶宇称,这几乎已成为一种惯例。

现在奇偶校验能够检测到一个比特错误,但是如果数据有两个变化,它就会失败,这是这个系统最大的缺点。这就是为什么还有其他一些代码可以检测和纠正超过1位的错误。

重复的代码

在重复码中,单位数据被认为是具有预定值的位串并发送给接收机,这能够检测一个以上的数据位错误。这可以用一个例子来说明,假设最初的数字是101。

现在在传输过程中,所有的数字都重复,比如3次,所以最终传输的数字是111000111。所以当数字接收到1位错误和2位错误可以很容易地识别,比如它将是011 110或101。因此,它是一种更好的检测和校正数据的方法,但随着重复比特数的增加,它的效率会变得非常低。

循环冗余校验码

循环冗余校验(CRC)码在低冗余级别上提供了相当高的保护级别。给定数据字的循环代码如下所示。首先,我们必须加上某些数字零(这些数字由所需的位校验次数决定。

这个新的数据位序列然后除以一个特殊的二进制字,其长度等于n + 1, n是要添加的校验位数。然后将模-2除法得到的余数加到被除数位序列中得到循环码。

运算后生成的码字可以被生成代码时使用的除数整除。因此,当我们用相同的除数除接收到的代码时,无错误接收应该会得到一个全' 0 '的余数。

非零余数表示存在错误。的概率错误检测取决于用于构造循环代码的检查位的数量n。对于单位和两位错误,它是100%。当错误比特数为奇数且错误突发长度小于n + 1时,也为100%。被检测的概率降低到1 - (1/2)n−1对于错误突发长度等于n + 1,对于1 - (1/2)n对于大于n + 1的错误突发长度。

想要更多的电气知识?
请在下面输入您的电子邮件,以获得关于电气和电子工程的免费信息文章

关于Elecmabetx官网trical4U

mabetx官网Electrical4U致力于所有与电气和电子工程相关的东西的教学和分享。

留下你的评论