维特比译码的基本原理

        卷积码的译码可分为代数译码和概率译码两类,代数译码仅用于简单的卷积码,且仅适用于硬判决译码,因此目前用得最广泛的是概率译码。

卷积码本质上是一个状态机,由于编码器具有记忆结构,因此它的码字是前后相关的。

        对于编码器编出的任何码字序列,在网格图上一定可以找到一条连续的路径与之对应。在译码端,由于传输、存储过程可能引起差错,使得译码器接收到的码流在网格图上不一定能找到一条对应的连续路径,而只有若干不确定、断续的路径供译码参考。编码理论发展过程中出现了一些以序列为基础的译码方法,其中以1967 年美国学者Viterbi 提出的算法最为著名。

1 维特比算法的基本概念

        对一般情况下,(n, k,m)卷积码编码器共有个状态,若输入的信息序列的长度是Lk + (m−1)k (后(m−1)k 个码元全为 0),则进入和离开每一状态各有条分支在网格图上共有条不同的路径,相应于编码器输出的个码序列。
        编码器送出的码序列C,经过离散无记忆信道(DMC)传输后送入译码器的是序列R = C + E,E 是信道错误序列。译码器根据接收序列 R ,按最大似然译码准则力图找出编码器在网格图上所走过的路径,这个过程就是译码计算、寻找最大似然函数


的过程,或者说译码器计算寻找有最大量度的路径过程,即寻找下式的过程。


        对BSC 信道而言,计算和寻找有最大量度的路径,等价于寻找与R 有最小汉明距离的路径。即寻找:

但是用上述算法译码在实际应用中是难以实现的,Viterbi算法为解决这个困难引入了最大似然译码算法。

        Viterbi算法的基本思想是:依次在不同时刻,对网格图中相应时刻的状态(即该时刻轴上的点),按照最大似然准则比较所有以它为终点的路径,并保留一条具有最大似然值的路径,而将其它路径舍弃。每个时刻进行同样的处理,即接收一段,计算一段,比较一段,并保留幸存路径,一直到最后时刻。这时留下的一条路径就是所要求的一个有最大似然译码的序列。

2 维特比算法的译码过程

Viterbi算法的具体步骤简述如下:
        (1)由初始状态经过m个时间单位,从时间 j = m开始,计算进入每一状态的每一条路径的部分路径量度。对于每一个状态,比较进入它的各条路径的部分量度,其中量度最大(汉明距离最小)的路径及其量度被保存下来,称此部分路径为幸存路径。
        (2) j 增加1,把此时刻进入每一状态的所有分支量度和同这些分支相连的前一时刻的幸存路径的量度相加,比较此时的部分量度,选出最大者,作为此时刻进入每一状态的幸存路径,存储器路径和量度,并删去其它所有路径,因此幸存路径延长了一个分支。
        (3)若 j < L + m,重复(2)步,否则停止,得到最大路径量度的路径。
        由时间单位m直至L,网格图中个状态中的每一个有一条幸存路径,共有条。但在 L时间单位(节点)后,网格图上的状态数目减少,幸存路径也相应减少。最后到第L +m单位时间,网格图归到全零状态 ,因此仅剩下一条幸存路径。这条路径就是要找的具有最大似然函数的路径,也就是译码器输出的估值码序列。

由此可知,在网格图上用Viterbi 译码算法得到的路径一定是一条最大似然路径,因而这种译码方法是最佳的。

        维特比算法的关键步骤是第(2)步,它是一个加比选的过程。对于码长L 较短的卷积码,可以到第L 步译码结束时,从最大似然路径末尾向起始回溯,把消息数据比特一次判决出来,整个译码延时就与L 成正比。

        但是如果码长L 很大,一方面需要更多的资源来寄存幸存路径和度量值,另一方面,译码延时也会增大很多。因此,对于长码需要截断译码器的路径存储,使得译码器处理了接收序列的前t 组数据后,就判决出第一个消息数据比特,接下来的每个时刻都判决出一个消息数据比特,此时译码延时为t。

从以上分析可以看到,维特比算法的译码器不能选用约束长度太大的码,码的最小自由距离也不能很大

所以维特比译码器的输出误码率不能做的很低,一般只能达到量级。

        又由于软判决维特比译码器与硬判决译码器在复杂性上相差不多,但性能却要好2~3dB,因此目前软判决维特比译码器应用十分广泛。
        对于打孔卷积码来说,只需在计算分支度量时把打空时删去的码字位置补零,再按照未打孔卷积码的译码算法进行译码,就可以实现正确的译码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值