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

定义:输入序列为

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

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

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

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

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

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

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

定义:

接收序列重写为

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

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

定义:

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

MAP的结果重写为

的前向递归性

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

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

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

的后向递归性

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

证明

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

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

的计算

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

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

判决准则:

在AWGN信道,的计算如下

例子:

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

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

L值的计算

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

相关推荐
Nil2084 小时前
leetcode 118杨辉三角
算法·leetcode·职场和发展
wanderist.6 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
All for pursuit.6 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
weixin_307779136 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
青少儿编程课堂7 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
光影少年7 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
HEJOO97 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
Code_Solitude8 小时前
c语言:递归
java·c语言·算法
edtoplort8 小时前
OpenAI紧急叫停GPT-6.1 Astra训练,奥尔特曼为何踩刹车
人工智能·gpt·算法
蒜香可达鸭9 小时前
让视频生成流水线跑不崩:一个事件溯源的多 Agent 可靠执行框架
算法