维生素e烟酸酯胶囊东北:Viterbi译码

来源:百度文库 编辑:偶看新闻 时间:2024/04/19 07:22:58

Viterbi译码

  

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

基本解释

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

Viterbi 算法的复杂度

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

硬判决算法

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

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条幸存路径中选出一条量度最小的,反推出这条幸存路径(叫做回溯),得出相应的译码输出。