新闻资讯
看你所看,想你所想

Viterbi解码

Viterbi解码

Viterbi解码

接收到的符号首先经过解调器判决,输出0、1 码,然后再送往解码器的形式,称为硬判决解码。即编码信道的输出是0、1 的硬判决信息。

基本介绍

  • 中文名:Viterbi解码
  • 简单概括:相加-比较-保留
  • 运行特点:前向的、无反馈的
  • 解码算法:卷积码的解码算法

基本解释

我们选择似然机率( m P RC)的对数作为似然函式。容易看出,硬判决的最大似然解码
实际上是寻找与接收序列Hamming距离最小的编码序列。对于格线图描述Viterbi 算法,整个
Viterbi 解码算法可以简单概括为“相加-比较-保留”,解码器运行是前向的、无反馈的,
实现过程并不複杂。

算法1

我们来分析Viterbi 算法的複杂度: (n, k, N)卷积码的状态数为2k (N−1) ,对每一时刻要
做2k (N−1) 次“加-比-存”操作,每一操作包括2k 次加法和2k −1 次比较,同时要保留2k (N−1)
条倖存路径。由此可见,Viterbi 算法的複杂度与信道质量无关,其计算量和存储量都随约束
长度N 和信息元分组k 呈指数增长。因此,在约束长度和信息元分组较大时并不适用。
为了充分利用信道信息,提高卷积码解码的可靠性,可以採用软判决Viterbi 解码算法。
此时解调器不进行判决而是直接输出模拟量,或是将解调器输出波形进行多电平量化,而不
是简单的 0、1 两电平量化,然后送往解码器。即编码信道的输出是没有经过判决的“软信
息”。

算法2

软判决算法与硬判决算法相比,软判决解码算法的路径度量採用“软距离”而不是汉明距离。最常採用的是欧几里德距离,也就是接收波形与可能的传送波形之间的几何距离。在採用软距离的情况下,路径度量的值是模拟量,需要经过一些处理以便于相加和比较。因此,使计算複杂度有所提高。除了路径度量以外,软判决算法与硬判决算法在结构和过程上完全相同。一般而言,由于硬判决解码的判决过程损失了信道信息,软判决解码比硬判决解码性能上要好约2 dB 。不管採用软判决还是硬判决,由于Viterbi 算法是基于序列的解码,其解码错误往往具有突发性

解码算法

viterbi解码算法是一种卷积码的解码算法。优点不说了。缺点就是随着约束长度的增加算法的複杂度增加很快。约束长度N为7时要比较的路径就有64条,为8时路径变为128条。 (2<<(N-1))。所以viterbi解码一般套用在约束长度小于10的场合中。
先说编码(举例约束长度为7):编码器7个延迟器的状态(0,1)组成了整个编码器的64个状态。每个状态在编码器输入0或1时,会跳转到另一个之中。比如110100输入1时,变成101001(其实就是移位暂存器)。并且输出也是随之而改变的。
这样解码的过程就是逆过程。算法规定t时刻收到的数据都要进行64次比较,就是64个状态每条路有两条分支(因为输入0或1),同时,跳传到不同的两个状态中去,将两条相应的输出和实际接收到的输出比较,量度值大的抛弃(也就是比较结果相差大的),留下来的就叫做倖存路径,将倖存路径加上上一时刻倖存路径的量度然后保存,这样64条倖存路径就增加了一步。在解码结束的时候,从64条倖存路径中选出一条量度最小的,反推出这条倖存路径(叫做回溯),得出相应的解码输出。

转载请注明出处海之美文 » Viterbi解码

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com