错误检测和纠错码

2025年3月17日 | 阅读 3 分钟

错误检测和纠错码在数据从一个源传输到另一个源的过程中起着重要的作用。当数据从一个系统传输到另一个系统时,噪声也会被添加到数据中,这会导致在其他系统接收到的二进制数据中出现错误。在传输过程中,数据的位可能会发生变化(从 0 变为 1 或从 1 变为 0)。

避免噪声的干扰是不可能的,但有可能恢复原始数据。为此,我们首先需要使用错误检测码来检测是否存在错误 z。如果代码中存在错误,我们将借助纠错码来纠正它。

Error Detection and Correction Code

错误检测码

错误检测码是用于检测接收数据 bitstream 中错误的码。在这些码中,一些位被附加到原始 bitstream 中。

错误检测码在通过噪声信道发送消息之前对其进行编码。编码方案的执行方式使得接收端的解码器可以更容易地在接收数据中找到错误,并具有更高的成功机会。

奇偶校验码

在奇偶校验码中,我们向原始 bitstream 添加一个奇偶校验位,该位要么添加到最低有效位 (LSB) 的右侧,要么添加到最高有效位 (MSB) 的左侧。基于选择的奇偶校验类型,有两种可能的奇偶校验码,即偶校验码和奇校验码。

错误检测码的特征

以下是错误检测码的特征

  • 当我们将消息后向错误纠正技术用于可靠的数据传输时,会使用这些代码。接收器发送一个反馈消息,通知发送器消息是否在接收端没有错误地接收。如果消息包含错误,则发送器重新传输该消息。
  • 在错误检测码中,消息包含在固定大小的位块中。在这种情况下,添加冗余位以纠正和检测错误。
  • 这些代码涉及对错误的检查。无论有多少个错误位以及错误的类型如何。
  • 奇偶校验、校验和和 CRC 是错误检测技术。

纠错码

纠错码是通过使用特定算法生成的,该算法用于从通过噪声信道传输的消息中删除和检测错误。纠错码找到消息中损坏位的正确数量及其位置。ECC(纠错码)有两种类型,如下所示。

块码

在块码中,消息包含在固定大小的位块中。在这种情况下,添加冗余位以纠正和检测错误。

卷积码

消息由随机长度的数据流组成,奇偶校验符号通过将布尔函数滑动应用于数据流而生成。

汉明码技术用于纠错。

汉明码

汉明码是块码的一个例子。此代码可检测两个同时出现的位错误,并纠正单个位错误。在汉明编码机制中,发送器通过在数据中添加不必要的位来对消息进行编码。这些位被添加到消息中的特定位置,因为它们是用于纠错的额外位。


下一主题ASCII 码