翻译 | 卷积码的维特比(Viterbi)译码

对维特比译码的接触很早就开始了,也想过要写一篇总结性的文章,但无奈心中一直有几个疑团没能得到合理的解答。比如什么时候开始进行回溯译码比较合适?维特比译码的性能相比分组码等其他编码的译码性能究竟好在哪里,如何来评估?编码约束度和监督位数量对维特比译码的性能是如何产生影响的,等等……直到前些天看到这篇来自MIT的数字通信系统课程的教案,诸多的疑惑才豁然开朗。这篇文章将通信理论中的维特比译码的前前后后讲的非常的全面,是我读到的关于维特比译码最好的文章(没有之一)!特此翻译过来,一来加深自己的理解,二来供大家学习讨论~

 

本文翻译自 MIT 6.02 DRAFT Lecture Notes, 2012

CHAPTER 8:Viterbi Decoding of Convolutional Codes

 

卷积码的构造和编码方法已经在前一章中描述过,本章将描述一种优雅高效的卷积码译码方法,它避免我们对N个比特序列的2^N种可能的路径组合做穷举。该方法由Andrew Viterbi 发明,并以他的名字命名。

 

面临的问题

在接收端,我们有一组对应于发射监督比特的电压采样序列。为简单并不失一般性,我们将假设接收端获得了最佳采样点(或者一组采样集的均值对应一个监督位),通过与阈值比较判为“0”或“1”(解映射),并将判决结果传递给译码器。

现在我们有了一组接收比特序列,对应于卷积编码输出的监督比特。在没有关于采样点和译码器其它信息的情况下,译码过程被称为硬判决译码(“硬译码”)。 如果提供给译码器以采样点的“模拟”信息(以数字化形式,通过模数转换量化),我们称该过程为软判决译码(“软译码”)。

维特比译码器适用于任何一种情况。直观讲,由于硬判决译码会对比特是0还是1做出早期判决,因此在数字化过程中丢失了部分信息。硬判决将在接收的比特序列中引入更多的误码,因为它可能做出错误的判决,特别是对于接近阈值的电压而言。尽管硬判决译码仍然可以产生最可能的发送序列,然而由于早期数字化中引入额外的错误,其纠错能力将小于软判决译码。但硬判决译码在概念上更容易理解,因此我们将从此开始,然后再介绍软判决译码。

 

图1

 

如前一章所述,网格为了解卷积码的译码过程提供了一个很好的框架(如图1)。假设我们有表述一组码的整个网格,并且接收到一串数字比特(或电压样点)。如果接收没有错误,那么定会有一些网格路径与接收到的序列完全匹配,该路径对应于发射监督比特(具体地说是在状态转移的过程中产生的发射监督比特)。从网格的每个节点发出,往上的路径对应于“0”bit,往下的路径对应于“1”bit,据此很容易译得原始编码信息。

当有误码发生时,我们可以做什么?如前所述,找到最可能发送的消息序列是有吸引力的,因为它最大限度地减少了译码的误码率。如果我们能够想出一种方法来度量从一个状态到下一个状态所引入的错误量,那么我们可以沿着一条路径累积这些错误量,并得出沿着该路径的总错误量。然后,以此得到的总错误量最小的路径就是我们想要的路径,并且发送的消息序列可以通过上面解释的状态转移关系方便地确定。

我们需要一种方法来收集通过网格状态时发生的任何错误,以及无需遍历整个网格的路径导航方式(即无需穷举所有可能路径也能找到累积错误最小的那条路径),维特比译码器解决了这些问题。动态规划是一个解决优化问题的普遍方法,维特比译码就是其中一例。在本课程的后面,我们将在网络路由中应用相似的概念,可以在多跳网络中找到好的路径。

 

维特比译码器

译码算法使用两个度量:分支度量(branch metric,BM)和路径度量(path metric,PM)。分支度量计算的是发射和接收内容之间的“距离”,它是为网格中的每条分支路径定义的。在硬判决译码中,给出一组已经数字化的接收监督比特,分支度量就是监督比特预测值和接收监督比特之间的汉明距离。图2展示了一个示例,其中接收的位为00,对于每个状态转移,分支路径上的数字显示该转移的分支度量。其中有两条路径的分支量度为0,对应于汉明距离为0的唯一状态和转移关系,其他非0分支量度对应于存在位错误的情况。

 

图 2

 

路径度量值与网格中的状态相关联(即与整个路径的每个节点有关)。对于硬判决解码,它对应于网格中从初始状态到当前状态的最可能路径与接收监督比特序列间的汉明距离。“最有可能”是指在计算从初始状态到当前状态之间的所有可能路径度量后,取汉明距离最小的那条。具有最小汉明距离的路径使误码最小化,并且当误码率较低时具有最大似然度。

维特比算法的关键点在于,接收机可以使用分支度量和先前计算的状态路径度量递推地计算当前状态的路径度量。

 

计算路径度量

假设接收机已经在时刻i计算好每个状态s的路径量度PM[s,i](设卷积码的编码约束度为K,则状态数为2^(K-1))。在硬判决译码中,PM[s,i]的值是在接收监督比特与最可能发送的消息进行比较时得到的差错比特总数(通常我们将状态“00”作为起始状态)。

在时刻i的所有可能状态中,最可能的状态是具有最

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值