在这里,我们来看一下(Arikan,2009)中提供的连续取消解码算法。
顾名思义,SC解码算法从u0开始按顺序解码比特。
- 冻结的比特节点总是被解码为0。
在解码ui时,根据以下规则使用由向量表示的可用比特
来解码ui:
其中A是信息位置的集合。
概率计算在计算上更容易,在对数域中不太容易出现舍入误差。
- 因此,我们考虑LLR而不是概率来避免数值溢出。
第t位的LLR定义为:
因此,决策规则更改如下:
极性码的二叉树结构可以用来简化连续抵消解码。
二叉树有个阶段,编号从s=0开始到n,即
。每个阶段s包含
节点,每个节点对应
位。
依次遍历树以执行连续的抵消解码。
- 在每个节点上,消息传递如下:每个节点将LLR对应的LLR值(即α)传递给子节点,并在sage(即β)处向父节点发送估计的硬比特。左消息和右消息
计算如下:

Figure SC decoding update rules for each node
我们定义了两个函数来执行这些操作,即f和g,定义如下:
但是f函数的计算成本很高,因此,我们使用最小和近似法将其近似为硬件友好版本,如下所示:
其中sign表示输入的符号,min表示两个输入中的最小值。
该算法从树的根节点(级别n+1)开始,遍历到叶节点(级别0)。
对于每个节点,都会发生以下一组操作。
- 如果当前节点有一个未被访问的左子节点,则计算αl并移动到左子节点。
- 如果当前节点有一个未被访问的右子节点,则计算αr并移动到右子节点。
- 如果来自子节点的两条消息都可用,则计算β并移动到父节点。
一旦到达叶节点,就使用二进制量化函数h基于相应LLR的符号做出决定,如下所示: