什么是纠错?


在检测方法中,只能检测到错误。然而,在纠错方法中,错误会在接收端自动纠正,无需重新传输。突发错误纠正仅限于2位。

每个k比特的数据块都添加冗余位,构成n比特的码字(n > k)。发送端使用前向纠错编码器。然后,传输码字。信号被解调以生成与初始码字等效的比特串,其中包含接收端的错误。

  • 如果没有比特错误,FEC解码器的输出 = 原始码字并产生原始数据。

  • 作为特定的错误设计,解码器可以识别和修复错误是可行的。FEC解码器能够将此块映射到原始数据。

  • 对于特定错误,解码器可以识别但不能修复错误。它会被报告为不可管理的错误。

示例

假设,使用汉明码来识别和纠正单比特错误,考虑每个码字包含在七位数据区域中,例如ASCII字符。

例如,在编码设计中需要校验位,因为在这个设计中,校验位出现在所有位位置上,这些位位置是2的幂。因此,此代码称为(1, 7)块码。

例如,值1001101的位位置如下:

比特位置11
10
9
8
7
6
5
4
3
2
1
比特值1
0
0
x
1
1
0
x
1
x
x

四个比特位置用x表示。它可以用于校验位,假设如下。与这些比特位置对应的四个比特二进制数具有二进制1。它们使用模2算术相加,然后四个校验位就是四个比特的和。

11 = 1011
7 = 0111
6 = 0110
3 = 0011
1011

因此,传输的码字如下:

比特位置11
10
9
8
7
6
5
4
3
2
1
比特值1
0
0
1
1
1
0
0
1
0
1

类似地,在接收端,与那些具有二进制1的位置对应的四个比特二进制数被用作校验位。它们再次相加,如果没有任何错误出现,模2和应该为零。

11 = 1101
8 = 1101
7 = 0111
6 = 0110
3 = 0011
1 = 0001
    0000

假设单个比特错误。可以说比特11从1损坏为0。新的模2和将如下所示:

8 = 1000
7 = 0111
6 = 0110
3 = 0011
1 = 0001
0 = 1011

首先,和非零,这表示存在错误。

其次,模2和等于十进制11,表明比特11是错误比特。

更新于:2021年5月5日

699 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告