卷积码仿真报告
卷积码编码原理
卷积码和分组码一样,也是将k 个信息比特编成n 个比特,但与分组编码的不同之处在于卷积码的编后的n 个比特不仅与当前k 个信息比特有关,还与前面的(N-1)*k 个信息有关,,编码过程中互相的比特个数为Nk 。
卷积码的纠错能力随N 的增加而增大,N 称为卷积的约束深度(记忆深度),通常可记为(n,k,N ),表示码率为R=k/n 、约束长度为N 的卷积码。
一般来说,卷积码的k 和m 都很小,码率也比较低,一般低于90%,所以其纠错能力很强。
由于卷积码充分利用了各码组之间的相关性,无论理论上还是实际中均已证明其性能不差于甚至优于分组码。
但是与有严格代数结构的分组码不同,卷积码至今尚未找到可以把纠错性能与码的构成有规律地联系起来的严密的数学手段。
目前大都采用计算机来搜索好码。
因此,对卷积码的研究还在发展中。
卷积编码的一般结构
卷积码编码器的一般结构如上图所示,数据经过串、并变换器后形成k bits 一帧的并行数据送到线性逻辑单元,同时送入m 级数据帧移位寄存器,m 是移位寄存器的存储深度。
编码逻辑根据当前输入数据和存放在数据寄存器中的以前数据进行线性逻辑运算得到 nbits 编码输出,再经过并、串变换转换成串行输出。
m 十1称为该卷积码的约束长度。
用u 表示输入消息数据序列
012(,,,)u u u u
m 个输出数据序列为
11,01,11,2(,,,)c c c c =
22,02,12,2(,,,)c c c c =
,0,1,2(,,,)m m m m c c c c =
经并串变换的输出为
1,02,0,01,12,1,1(,,,,,,)m m c c c c c c c =
卷积码是一种重要的实现差错控制的信道编码,其译码方式有三种:Viterbi 译码、序列译码和门限译码。
本项目拟定采用Viterbi 译码方式,故在些只考虑 Viterbi 译码算法。
Viterbi 译码算法是卷积码最常用的译码算法,它具有最佳的译码性能,但其硬件实现比较复杂。
Viterbi 译码算法已被广泛使用在通信和数字信号处理领域。
Viterbi 译码原理
(n,k,m)卷积码编码器共有2km 个状态,若输入的信息序列长度是Lk 十mk ,则进入和离开每一状态各有2km 条分支,在trellis 图上有2kL 条不同的路径,相应于编码器输出的2kL 个码序列。
若按照最大似然译码算法,我们要比较所有可能的2kL 条路径,这个计算量通常是无法实现的。
Viterbi 算法克服了这个难点,采用接收一段,计算、比较一段,选择一段最可能的分支,从而达到整个码序列是一个由最大似然函数得到的序列。
viterbi 译码的基本思想是:将接收序列r 与网格图上的路径逐分支地进行比较,然后留下距离最小的路径作为留选路径,并将这些留选路径逐分支地延长并存储起来,留选路径的数目等于状态数,所
以留选路径数目为2km。
Viterbi译码算法处理的步骤可综合简述如下:
l)从某一时间单位j=m开始,对进入每一状态的所有长为j段分支的部分路径,计算部分路径分支度量。
分支度量定义为接收码元与可能码元之间逐个欧几里德距离(软判决)或汉明距离(硬判决)之和。
对每一状态,挑选并存储一条有最小度量的部分路径及其部分度量值,称此部分路径为留选路径。
2)j增加1,把此时刻进入每一状态的所有分支度量,和同这些分支相连的前一时刻留选路径的度量相加,得到了此时刻进入每一状态的留选路径,加以存储并删去其他所有路径,因此留选路径延长了一个分支。
若j<L+m,则重复以上各步,否则停止。
3)在各状态的幸存路径中选出状态度量最小的一条,顺此回溯,得到
译码输出。
上述步骤l)、2)通常称之为加比选运算(ACS),步骤3)为回溯(Traeebaek)。
由时间单位m直至L,trellis图中2km个状态中的每一个有一条留选路径,共有2km条。
但在L时间节点后,trellis图上的状态数目减少,留选路径也相应减少。
最后到第L+m单位时间,trellis图归到全为0的状态
s,因此仅剩下一条留选路径。
这条路经就是要找的具有最大似0
然函数的路径,也就是译码器输出的估值码序列
u由此可知,在trellls
图上用Viterbi译码算法得到的路径一定是一条最大似然路径,因而这种译码方法是最佳的。
项目仿真
整个信道编码预定可用带宽为25.6-22.1=3.5Mb,交织编码不占用带宽,其作用变换码元的位置以提高各码元之间的不相关性,因此RS编码与卷积编码的可用宽带为3.5Mb,为了尽可能的压缩占用信道的带宽,RS编码可定为RS(255,243),卷积编码拟采用(11,12,7)的卷积编码方式,即码率为11/12的卷积码。
通过计算可得出RS编码所需带宽为22.1*255/243-22.1=1.0914Mb;卷积编码所需带宽为22.1*12/11-22.1=2.0091Mb。
从系统角度考虑,分配RS编码1.1Mb 带宽,卷积码2.1Mb带宽。
由上面分析可知,信道带宽还剩0.3Mb的可利用,此0.3Mb带宽可用来添加帧头信息。
11/12码率的卷积码可行性分析
高码率的卷积码理论上可通过两种方式来实现,一种是删除卷积码,另外一种就是不通过删除码元直接将码率做高。
下面我们将分别讨论这两种方法的可行性。
1)不通过删除码元直接将码元做高,卷积码为(11,12,7),即为将每11个信息比特。