卷积码编码和译码(一)
(这是一个系列文章,建议按照右侧目录列表顺序阅读)
卷积码通常用三个参数来确定:.
n = 输出比特的数量
k = 输入比特的数量
m = 存储寄存器的数量
比值 k/n 称为码率,是编码效率的一种度量。通常,参数 k 和 n 的取值从 1 到 8,m 的取值从 2 到 10, 码率从 1/8 到 7/8,深空通信的码率可低至1/100,或者用更长的 n.
卷积码芯片厂商通过通过 三个参数来表示卷积码, 称 L 为 码的 “约束长度(constraint length)",定义为:
Constraint Length,
“约束长度" L 代表有多少比特的数据暂存在存储器中,影响 n 个比特的输出。"约束长度" L 也用大写字母 K 表示,但是容易与表示输入比特数量的 k 混淆. 有些书上 K 等于 k 和 m 的乘积(而不是 k 和 m-1 的乘积)。在商品规格书中,经常用 (r,K) 表示卷积码,其中 r 等于码率 k/n,K 是 “约束长度"。然而,在本文的定义中,“约束长度" K 等于 L-1。我将用(n,k,m) 来表示卷积码,而不用(r,K).
卷积码参数和结构
根据卷积码的参数,很容易画出来其结构. 首先,画 m 个方框表示 m 个存储寄存器. 然后,画 n 个模 2 加法器代表 n 个输出比特. 最后,用如图 1 所示的生成多项式把存储寄存器连接到加法器.

这是 1/3 码率的。每个输入比特编码成 3 个输出比特。“约束长度” 是 2. 通过把存储寄存器中的某些比特模 2 相加来产生 3 个输出比特. 哪些比特通过模 2 相加来产生某个输出比特,用这个输出比特的生成多项式来定义. 例如,第一个输出比特的生成多项式是 (1,1,1)。 第二个比特的生成多项式是 (0,1,1),第三个比特的生成多项式是 (1,0,1).输出比特就是这些比特的和.
生成多项式决定了编码器的纠错能力. 同样都是(3,1,4) 的编码器,如果有不同的生成多项式,则有完全不同的纠错特性。

