BCJR算法——卷积码的最大后验译码

定义:输入序列为

其中每比特,同时相应的输出序列为

其中每一码字的长度为n,定义在i时刻的编码器的状态为,对于时刻里有

表示输出码字和卷积码第i时刻的输入和第i-1时刻的状态有关(包括寄存器和输出部分),

表示状态转变和输入的关系。

编码器的的状态表示一系列在一个状态集合。

假设接收端接收到的为,第i时刻的输入根据最大后验准则:

表示一个状态对,每个状态对应一个或者,把所有输入对应的状态对记为同理。最后一个等号表示输入为​​输入的每个比特转换成所有的状态对来描述。

定义:

接收序列重写为

对于后验概率求和中的一项有

前三个等号是有条件概率公式,最后一个等号是有Trellis图的马尔科夫性质。

定义:

由此可以将上述式子重写为:

MAP的结果重写为

的前向递归性

可以由之前的时刻的表示。

第三个等号利用马尔科夫性质。

假设初始时刻的输入为全0状态,则有:

的后向递归性

可以由之后的结果递归计算得到。

证明

第一个等号为全概率公式,第三个等号为马尔科夫性质。

假设Trellis图最后停止在全零状态。

的计算

对应输出码字,同时在i-1时刻状态为的条件下第i时刻状态为的概率等效与第i时刻的输入为的概率。

定义L值(最大后验准则度量):

判决准则:

在AWGN信道的计算如下

例子:

BPSK,码字,接受矢量s代表系统位,p代表校验位, 对应的输出值

是和最大后验中的无关项(计算L值的时候会被消掉)。

L值的计算

系统位直接对应输入码字,校验位要根据具体卷积译码器

相关推荐
南境十里·墨染春水7 小时前
C++传记(面向对象)虚析构函数 纯虚函数 抽象类 final、override关键字
开发语言·c++·笔记·算法
2301_797172757 小时前
基于C++的游戏引擎开发
开发语言·c++·算法
有为少年8 小时前
告别“唯语料论”:用合成抽象数据为大模型开智
人工智能·深度学习·神经网络·算法·机器学习·大模型·预训练
比昨天多敲两行8 小时前
C++ 二叉搜索树
开发语言·c++·算法
Season4508 小时前
C++11之正则表达式使用指南--[正则表达式介绍]|[regex的常用函数等介绍]
c++·算法·正则表达式
Tisfy9 小时前
LeetCode 2839.判断通过操作能否让字符串相等 I:if-else(两两判断)
算法·leetcode·字符串·题解
问好眼9 小时前
《算法竞赛进阶指南》0x04 二分-1.最佳牛围栏
数据结构·c++·算法·二分·信息学奥赛
会编程的土豆9 小时前
【数据结构与算法】优先队列
数据结构·算法
minji...11 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
罗湖老棍子11 小时前
最大数(信息学奥赛一本通- P1549)(洛谷-P1198)
数据结构·算法·线段树·单点修改 区间求最大值