📜  线性分组码和卷积码之间的区别

📅  最后修改于: 2022-05-13 01:57:02.672000             🧑  作者: Mango

线性分组码和卷积码之间的区别

信息论是概率论的一个分支,它是错误概率的术语。当接收器的错误概率接近 0 时,无错误传输是可能的。它是对通过通信系统传输消息的思想、边界和规则进行的数值计算。信息论与信息(熵)的概念有关,其中熵是任何信息源的平均信息,用“H”表示。

在通信系统中,消息的无差错传输是主要挑战。大多数错误发生在信道或噪声中。为了克服这个问题,使用了错误检测和纠正技术。

  • 编码:编码是将消息转换为二进制形式的过程,即以 0 和 1 的形式。
  • 解码:解码是从二进制编码的关键字中提取原始消息的过程。

这种编码和解码用于从一个地方到另一个地方的数据传输。

线性块代码:

它是一种用于错误检测纠正的简单错误控制编码技术。

  • 信息数据被划分为长度为 K 块的块,例如信息字。
  • 然后将每个信息字编码为长度为 n 位的块,称为代码字。这里,n > k
  • 此外,n = k + r,其中“r”表示添加到每个信息字的奇偶校验位或校验位。
  • 矢量文档用于数据字和代码字:消息 m = (m 1 , m 2 m n ),代码字 c = (c 1 , c 2 c n )。
  • 由 Hamming 码、Reed-Solomon 码 (RS)、Bose-Chaudhuri-Hocquenghem (BCH) 和循环码组成。

卷积码:

卷积码是另一种纠错码,其中通过在当前比特流上放置一个理想的逻辑过程以及考虑前一个比特来获取结果比特。

  1. 在卷积码中,其他用户或系统仅接收可能包含错误的奇偶校验位,然后将其解码为具有最理想的位排列,即消息位本身。
  2. 移位寄存器用于存储输入位。
  3. 编码中产生的“n”位码字块不仅取决于“k”个消息位,还取决于前面的m-1个消息块。
  4. 由 Turbo 代码和格状图组成。
差错控制编码

差错控制编码

线性分组码和卷积码之间的区别:

线性块码卷积码都是用于错误检测和纠错编码的错误控制码。下面列出了这两个代码之间的主要区别:

S. NoLinear Block CodesConvolutional Codes
1.Block codes take k input bits and produce n output bits where k and n are very large. (when k>1), k is the number of message bitsConvolutional codes take a small number of input bits and produce a small number of output bits for each period. (when K=1).
2.In Linear Block codes, information bits are immediately followed by the parity bits.In Convolutional codes, information bits are not followed by parity bits instead spread along the sequence.
3.Encoding of the current state is independent of the previous state and thus it does not have any memory element. It depends only upon the present message bit.Encoding of the current state depends on the previous state and past elements, thus it has a memory element for storing previous state information.
4.Block codes are preferred in systematic form and have an efficient structure i.e position of parity or check bits is well definedConvolutional codes are preferred in the non-systematic form and no such efficient structure i.e position of parity or check bits is not defined
5.Block codes are suitable for detecting and preventing random errorsConvolutional codes are suitable for detecting and preventing burst errors
6.The hardware component of Block codes is complex and the encoding process is a bit difficult.The hardware component of Convolutional Codes is simpler and the encoding process is easy.
7.Types of Linear Block codes are Hamming codes, BCH codes, cyclic codes, Reed-Solomon codes Types of Convolutional codes are Turbo codes and Trellis code

所有这些代码都使用不同类型的算法或技术来识别错误位并通过添加或删除一些位来解决它。此外,还有各种类型的循环码,用于生成和检测由于各种原因(如噪声等)导致的信道错误。

线性分组码卷积码都被用于各个领域并且具有广泛的应用,例如网络安全、密码学、计算理论、生物学(代表DNA代码)等。