卷积码是一个有限记忆系统,它将信息序列分割呈长度为k的一个个分组,与分组码不同的是在某一个分组编码时,其不仅参看本时刻的分组而且参看本时刻以前的L个分组,称L+1为约束长度。给出(n, k, L)卷积码编码原理如下图所示。
卷积码的译码可分为代数译码和概率译码。代数译码是从码的代数结构出发,以一个约束度的接收序列为单位,对该接收序列的信息码组进行译码。概率译码是从信道的统计特性出发,以远大于约束度的接收序列为单位,对信息码组进行最大似然的判决(在二进制对称信道时也就是最小汉明距离译码)维特比译码是其最主要的方法之一。
对(n, k, m)码而言,每输入k个信息元,输出的不同子码数可能有个,m级移存器的可能状态有种。若每个可能的子码称为分支,则编码器的编码过程完全可以由分支与移存器状态构成的状态图来描述。若输入信息序列长为 k(L+m),则网格图上共有条不同的路径,它们对应了不同的输出码序列。
译码器接收到序列R后,按最大似然法则力图寻找编码器在网格图上原来走过的路径,也就是寻找具有最大度量的路径,即译码器需寻找
寻找最大似然路径方法的维特比算法(硬判决)可分为以下步骤实现:
- 在第 j(j=m)个时刻以前,译码器计算所有的长为 m 个分支的部分路径值,对进入个状态的每一条部分路径都保留。
- 第 m 个时刻开始,对进入每一个状态的部分路径进行计算,这样的路径有 条,挑选具有最大部分路径值的部分路径为幸存路径,删去进入该状态的其他路径,然后,幸存路径向前延长一个分支。
- 重复第(2)步的计算、比较和判决的过程。若输入接收序列长为(L+m)k,其中后 m段是人为加入的全零段,则译码一直进行到第(L+m)个时刻为止。否则,一直继续到所有接收码序列进入译码器为止。
- 若进入某个状态的部分路径中,有两条的部分路径相等,则可任选其一作为幸存路径。
- 为了充分利用信道输出信号的信息,提高译码可靠性,往往把信道输出的信号进行 Q(>2)电平量化,然后再输入到维特比译码器进行译码。能适应于这种Q进制输入的维特比译码器称为软判决维特比译码器,软判决译码适用于DMC信道。