OFDM之Viterbi译码器原理

Viterbi译码器原理

1、马尔科夫过程

该过程下一时刻的状态只与上一时刻的状态有关,与其他时刻的状态无关。

2、卷积编码器译码系统原理

图2.1 卷积码编码译码系统框图

卷积码编码器的状态Xk随着送入的信源比特Vk改变,刚好是一个有限状态的离散马尔科夫过程。图2.1所示为卷积码编码译码总体框图,信源Vk通过一个移位寄存器Xk及线性逻辑电路后,产生编码码元,记为Yk,经过有噪声信道传播后,接收信号为Zk。Viterbi译码器所做的工作便是利用译码算法,从Zk判断出Vk,恢复出信源信息。

设卷积码移位状态寄存器共有N位,那么Xk的状态将有2的N次方种。每当一个信源码进入编码器,移位状态寄存器的状态将改变一次,且输出一个与该状态唯一对应的编码值。所谓的“后验”,是指根据接收到的编码,推测出其所对应的移位状态寄存器的状态。而Viterbi译码是在标记所有可能的状态转换的路径中选择最有可能的一条,因此称之为最大后验概率方法,且这条路径所对应的信源码就是译码结果。

首先,要知道如何挑选最重要的路径,即概率最大的路径。定义路径长度为-lnP(X,Z),其中X为与该路径所对应的状态序列,Z为接收序列。之所以如此定义路径长度,是因为最终是以最大化后验概率P(X|Z)为目标去寻找路径的,且P(X,Z)=P(X|Z)P(Z),故等价于寻找P(X,Z)的最大化。由于-lnP(X,Z)是关于P(X,Z)的单调函数,因此只要找到使其最小的路径,便实现了目的。

P(X,Z)又可分解为:

定义路径分支的长度为:

其中表示从Xk到Xk+1的状态转换。那么总体的路径长度可以表示为


即路径分支的长度和。因此,任一时刻的最短路径就是各分支路径长度和最小的路径,称之为幸存路劲。且对于每一个时刻k而言,网格图里均存在2的N次方调幸存路径,每条路径到达一个k+1时刻的状态Xk。

为了便于说明Viterbi算法的操作过程,一般将随时间推移发生的状态转变用路径连接,形成一张网格图。

图2.2 一个(2,1,2)卷积编码器


图2.3  (2,1,2)卷积编码器网格图

图2.2给出了一个简单的(2,1,2)卷积编码器,图2.3所示是其对应的网格图。在图2.3中,S0-S3表示卷积码移位器的4中可能状态,一般编码器初始状态为S0,故译码器起始也从S0开始。从时间点0T到7T,每个状态都有两个分支,指向由新进入编码器的信源码Vk(0或1)所带来的状态改变,例如当状态是S0,若输入Vk=0,则下一时刻状态仍为S0,输出编码Yk=00。反之,如输入为1,状态改变成S1,输出编码Yk=11。将分支路径的输出编码和接收到的编码比较,把两个码之间的汉明距离d(Yk,Zk)赋给这一段分支路径作为路径长度。这里使用汉明距离来代替概率计算,如d(00,01)=d(00,10)=d(10,11)=d(01,11)=1,d(00,11)=d(10,01)=2.d越小,相似度越大,标识概率越高,则路径长度越短。

根据这种准则来选择通过每个状态的两条路径之一。当译码结束,只有两条路径到达终点状态S0,选择较短的一条便可。

基于图2.3的网格图,我们在图2.4中给出利用Viterbi算法计算路径长度,选择幸存路径的过程。假设接收到编码序列Z={00,01,10,00,00,00,00,00},要从图2.4中选出一条最短路径。路径旁边的数字代表汉明距离d(Yk,Zk),圆圈里的数字标识到达改状态的最短路径的长度和。假设0T时刻译码器开始工作,从S0发出两条分支,一条通往S1,一条指向S0自身,前者对应的编码是11,则d(11,Z0=00)=2,后者对应编码00,d(00,Z0=00)=0。接着从1T时刻的两个状态S0、S1各自发出两条分支,其计算方式同前。从2T时刻起,四个状态均有路径达到,这实际上是译码的一般情况,因为0-1T只是起始状态。而从3T时刻起,每个状态均能通过两条路径到达,必须选择其中较短的一条。用实线表示幸存路径,虚线表示淘汰路径。若两条路径长度相同,则任意保留一条。如此进行下去,直到5T时刻,开始进入回归阶段,即假定编码器只能输入0,故6T时刻能到达的状态只有S0和S2。最后7T时刻,抉择出最短路径为S0-S0-S0-S0-S0-S0-S0(途中加粗的路径),即发送序列是全零序列{0,0,0,0,0,0,0}。


图2.4 Viterbi译码算法示意







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值