信道编码

如在源编码,源编码器的一个目的是消去冗余来自数字化信号的二进制数字。另一方面,信道编码器的策略是添加冗余在这种情况下,使传输过程中由噪声引起的误差可以在传输时得到纠正接收机.用于防止信道错误的编码过程被调用错误控制编码。错误控制代码用于各种应用程序,包括卫星通信,深空沟通、移动广播通信和计算机网络。

有两种常用的保护电子传输信息不出错的方法。一个方法叫做前向误差控制(FEC)。在这种方法中,通过传输额外的冗余位来保护信息位不受错误的影响,因此,如果在传输过程中发生错误,冗余位可以被计算机使用解码器来确定错误发生的位置以及如何纠正它们。第二种错误控制方法被调用自动重复请求(ARQ)。在这种方法中,冗余位被添加到传输的信息中,并由接收端用于检测错误。然后接收器发出重复传输的请求信号。一般来说,在ARQ系统中,仅仅检测错误所需的额外比特数要比在FEC系统中检测和纠正错误所需的冗余比特数小得多。

重复的代码

一个简单的,但不常见实现, FEC方法是将每个数据位发送三次。接收器检查三次传输,并以多数票决定0或1是否代表原始信号的样本。在这种编码系统中,称为重复码(重复码的块长为3,速率为1 / 3),每秒用于传输相同信号的比特数是未编码系统的三倍;因此,对于固定可用带宽与非编码系统相比,编码系统只能传递三分之一的信号。这样做的好处是,在接收错误发生之前,三个编码位中至少有两个必须是错误的。

汉明码

FEC码的另一个简单例子是汉明码。该代码能够通过添加3个通道来保护4位信息信号免受单个错误的影响冗余信号的比特数。每个7位序列(4个信息位加上3个冗余位)称为一个码字。选择第一个冗余位,使前三个信息位中的1加上第一个冗余位的和为偶数。(这个计算称为a奇偶校验,冗余位称为奇偶校验位。)选择第二个奇偶校验位,使最后三个信息位加上第二个奇偶校验位的1和为偶数,选择第三个奇偶校验位,使第一个、第二个和第四个信息位和最后一个奇偶校验位的1和为偶数。这段代码可以通过重新计算奇偶校验来纠正单个通道错误。奇偶校验失败表示所检查的一个位置有错误,两个位置都有错误后续奇偶校验,通过消除过程,确定错误的精确位置。因此,汉明码可以纠正发生在这七个位置中的任何一个位置上的任何一个错误。但是,如果出现双重错误,解码器将选择错误的码字。

卷积编码

汉明码叫做a块代码,因为信息被阻塞成有限长度的位序列,其中添加了一些冗余位。当k信息位被提供给块编码器,nk冗余位附加在信息位之后,形成传输码字n位。整个码字的长度n这样就完全由一块决定了吗k比特的信息。在另一个频道编码方案,称为卷积编码,编码器输出不是自然地分割成块,而是一个无休止的比特流。在卷积编码中,将内存合并到编码过程中,从而使前面的k信息比特,连同当前块k信息位,决定编码器的输出。编码器通过在有限数量的“状态”或“节点”之间移动来实现这一点。卷积编码有几种变体,但最简单的例子可以在(n,1)编码器,其中的当前块k信息位仅由一个比特组成。的每个给定状态下(n,1)编码器,当接收到信息位(0或1)时,编码器传输一系列的n当编码器处于当前状态时,为表示该位而分配的位。与此同时,编码器转换到仅有的两个可能的后续状态之一,这取决于信息位是0还是1。在此后续状态下,下一个信息位依次由的特定序列表示n位,编码器再次转移到两个可能的后续状态之一。通过这种方式,存储在编码器存储器中的信息位的序列决定了编码器及其输出的状态,后者经过调制并通过信道传输。在接收机处,将解调的位序列与编码器可以产生的可能的位序列进行比较。接收端决定最有可能被传输的比特序列,通常使用有效的解码算法被称为维特比解码(以其发明者A.J.维特比命名)。一般来说,编码器使用的内存越大(即状态越多),代码的纠错性能就越好——但这是以更复杂的解码算法为代价的。此外,比特数(n)用于传输信息,性能越好——以降低数据速率或增大带宽为代价。

编码和解码过程类似于上面所描述的网格编码,一种用于高速的编码方案调制解调器.然而,与卷积编码器产生的比特序列不同,格子编码器产生的是调制符号序列。在发射机,信道编码过程与调制过程耦合,产生一个系统称为格子码调制.在接收器处,解码为了优化纠错算法的性能,将解调和纠错联合进行。