目录
BCC卷积码译码概述
卷积码的解码方法主要分为两类:概率解码和代数解码。本文主要讨论概率解码中的维特比算法,维特比算法主要是基于信道的统计特性以及卷积码的特性来进行解码的,维特比算法在1967年被提出来,由于这种解码方法比较简单,复杂度低,所以得到广泛应用,尤其是在卫星通信领域和蜂窝网通信系统中。
基本原理
维特比算法解卷积码的基本原理是:接收端将当前接收到的编码序列去与所有的可能的发送信息序列去比较,将汉明距离(或者欧氏距离)最小的的一组序列,作为发送的信息序列。
举例:硬解码
举个简单的例子,如图所示(2,1,7)卷积码,生成多项式为(133,171),发送序列为11,得到编码输出为1110。接收端接收到1110后,开始估算发送的信息序列。由于移位寄存器初始状态时,其值为全0,这是已知的。故假设发送的信息序列的第一位为0,则编码输出的结果为00,则对比接收到的第一个输出11,他们的汉明距离为2,此时由汉明距离可估算出第一位发送的信息比特为1,但是这样就没有利用上后面的编码数据,有较高的概率出错。所以,根据第一位发送信息比特为0和1这两种情况,继续算下一位信息比特输入时的编码输出,并且比较它们的汉明距离。容易得出共有4种可能的发送信息序列:00、01、10、11,对应的汉明距离为3、3、2、0。很明显最小的汉明距离为0,对应的发送信息序列为11,与正确的序列一致。以上可以理解为是维特比算法的硬解码过程,接收端得到的数据都是0和1,汉明距离也都为整数。
软解码概述
此外还有软解码的方法,某些系统中在接收端只能得到一个浮点型的数据,此时可以选择把数据映射到0和1上,然后再进行硬解码,也可以直接计算数据到0和1的距离作为路径的欧氏距离,最后也是选择最小的欧氏距离对应的序列。
总结
维特比算法的适用情况,对于(n,k,N)卷积码来说,维特比算法需要存储和计算2N条路径的汉明距离。当编码约束长度N增大时,维特比算法的复杂度呈2N增长。故当N很大时,不适合用维特比算法解码。