跳转到内容

数据编码理论/传输码

来自维基教科书,自由的教科书

基本编码

[编辑 | 编辑源代码]

事实证明,我们实际上可以通过更改系统中的位来提高系统的性能。我们可以更改位的顺序,或者更改发送的位数,以帮助降低错误率。本章将讨论可以帮助提高系统性能的传输码。

格雷码

[编辑 | 编辑源代码]

让我们看一下一个基本的 QASK 系统

  1. "00" = +5V
  2. "01" = +1.66V
  3. "10" = -1.66V
  4. "11" = -5V

我们将这些称为“符号 1”(对于 00)、“符号 2”(对于 01)、“符号 3”(对于 10)和“符号 4”(对于 11)。

现在,让我们做一个基本假设,即我们得到的唯一错误是相邻符号之间的错误。例如,符号 1 可能被误认为符号 2,但符号 1 绝不会被误认为符号 3。实际上,这种情况总是存在着非常小的可能性,但为了我们的目的,我们将简单地忽略它。

现在,我们有 6 种错误情况

  1. 符号 1 看起来像符号 2
  2. 符号 2 看起来像符号 1
  3. 符号 2 看起来像符号 3
  4. 符号 3 看起来像符号 2
  5. 符号 3 看起来像符号 4
  6. 符号 4 看起来像符号 3

我们还可以看到,在错误情况 1、2、5 和 6 中,符号错误只会产生 1 位错误。实际上,另一个位没有错误传输。只有在符号 2 和 3 混合时,我们才会看到 2 位错误传输。我们可以这样计算我们的位错误概率

Pone bit error 是符号中 1 位出现错误的概率。Ptwo bits error 是两个符号都收到错误的概率。

为了缓解这个问题,我们可以重新排序我们的符号,并以以下方式映射它们

  1. "00" = +5V
  2. "01" = +1.66V
  3. "11" = -1.66V
  4. "10" = -5V

现在,当任何符号接收错误时,只有一个位错误。这个小技巧叫做“格雷码”,是一种在净位错误方面提高系统性能的有用(但简单)的方法。

使用格雷码

[编辑 | 编辑源代码]

格雷码是一个简单的例子,说明在通信系统中使用编码/解码机制如何影响系统的错误率。在后面的章节中,我们将讨论可以用来查找和修复信号中单比特错误的纠错码 (ECC)。如果我们使用格雷码来确保大多数错误都是单比特错误,那么我们就可以使用更高级的 ECC 码来解决这些错误。

格雷码通常不会单独使用,而是与更强大的编码方法结合使用,如上所述。

进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书