5G NR Polar码系统编码和非系统编码(二)

系统码和非系统码

按照差错控制编码的不同功能,可以将其分为检错码、纠错码和纠删码。检错码仅能检测误码;纠错码仅可纠正误码;纠删码则兼有纠错和检错能力,当发现不可纠正的错误时可以发出错误只是或者简单地删除不可纠正错误的信息段落。
按照信息码元和附加的监督码元之间的检验关系可以分为线性码和非线性码。 若信息码元与监督码元之间的关系为线性关系,即满足一组线性方程式,则称为线性码。反之,若两者不存在线性关系,则称为非线性码。
按照信息码元和监督码元之间的约束方式不同可以分为分组码和卷积码。 在分组码中,编码后的码元序列每n位分为一组,其中k个是信息码元,r个是附加的监督码元,r=n-k。监督码元仅与本码组的信息码元有关,而与其它码组的信息码元无关。卷积码则不然,虽然编码后序列也划分为码组,但监督码元不但与本组信息码元有关,而且与前面码组的信息码元也有约束关系。
按照信息码元在编码后是否保持原来的形式不变,可划分为系统码和非系统码。 在差错控制编码中,通常信息码元和监督码元在分组内有确定的位置,一般是信息码元集中在码组的前k位,而监督码元集中在后r=n-k位(有时两者倒过来放置)。在系统码中,编码后的信息码保持原样不变,而非系统码中信息码元则改变了原有的信号形式。系统码的性能大体上与非系统码相同,但是在某些卷积码中非系统码的系统优于系统码。优于非系统码中的信息位已“面目全非”,这对观察和译码都带来麻烦,因此很少应用。系统码的编码和译码相对比较简单些,因而得到广泛应用。
按照纠正错误的类型不同,可以分为纠正随机错误的码和纠正突发错误的码。 前者主要用于发生零星独立错误的信道,而后者则用于对付以突发错误为主的信道。
按照构造差错控制编码的数学方法来分类,可以分为代数码、几何码和算术码。 代数码建立在近世代数学基础上,是目前发展最为完善的编码。线性码是代数码的一个最重要的分支。
按照每个码元取值不同,可以分为二进制码和多进制码

非系统polar码的编码方式

由前一篇文章的介绍可知,polar码引入了克罗内克积和对称翻转操作计算得到的N阶编码矩阵:
F ≜ { 1 0 1 1 } F \triangleq \begin{Bmatrix} 1 & 0 \\ 1 & 1 \end{Bmatrix} F{1101}
G ≜ F ⨂ n ⋅ B N G \triangleq F^{\bigotimes n} \cdot B_{N} GFnBN
如果使用 u 1 N = ( u 0 , u 1 , u 2 , . . , u N ) u_{1}^{N}=(u_{0},u_{1},u_{2},..,u_{N}) u1N=(u0,u1,u2,..,uN)来代表输入编码器的序列, x 1 N = ( x 0 , x 1 , x 2 , . . , x N ) x_{1}^{N}=(x_{0},x_{1},x_{2},..,x_{N}) x1N=(x0,x1,x2,..,xN)
从而可以得到非系统码的编码表达方式:
x 1 N = u 1 N ⋅ G x_{1}^{N} =u_{1}^{N} \cdot G x1N=u1NG

系统polar码的编码方式

首先对polar码输入输出序列进行划分。

如果某一polar码的信息位集合为 A ( A ⊆ { 1 , 2 , . . . , N } ) A(A \subseteq \{1,2,...,N\}) A(A{1,2,...,N}),它的补集为 A C A^{C} AC,因此我们可以把非系统编码的公式进行分解:
x = u A ⋅ G A + u A C ⋅ G A C x =u_{A} \cdot G_{A} + u_{A^{C}} \cdot G_{A^{C}} x=uAGA+uACGAC
上式中下标 G A G_A GA代表信息位 A A A所构成的新矩阵。同理 A C A^C AC的下标代表另一部分的矩阵。如果设定系统码的信息位集合为B(B \subseteq {1,2,…,N}) , 补 集 为 ,补集为 B^{C}$,则码字 x = ( x B , x B C ) x=(x_{B},x_{B^C}) x=(xB,xBC),我们又可以对公式进行进一步的划分:
x B = u A ⋅ G A B + u A C ⋅ G A C B x_{B} =u_{A} \cdot G_{AB} + u_{A^{C}} \cdot G_{A^{C}B} xB=uAGAB+uACGACB
x B C = u A ⋅ G A B C + u A C ⋅ G A C B C x_{B^C} =u_{A} \cdot G_{AB^C} + u_{A^{C}} \cdot G_{A^{C}B^C} xBC=uAGABC+uACGACBC
G A B G_{AB} GAB等和 G G G相关的子矩阵由元素 G ( i , j ) G(i,j) G(i,j)构成, i ∈ A i \in A iA j ∈ B j \in B jB

根据系统码的定义,系统码码字的前半部分由信源比特构成,后半部分为冗余比特。

Arikan基于以上的推论得出,当 A A A B B B包含相同的元素且 G A B G_{AB} GAB为可逆矩阵时,Polar码存在系统码形式。当已知待编码比特 x B x_B xB和冻结位信息 u A C u_{A^C} uAC后,可以直接计算出:
u A = ( x B − u A C G A C B ) G A B − 1 u_{A} =(x_B-u_{A^C}G_{A^{C}B}) G_{AB}^{-1} uA=(xBuACGACB)GAB1
计算出 u A u_{A} uA后,在对 x B C x_{B^C} xBC进行计算,便可以完成编码后数据的映射。
在这里插入图片描述

性能分析

仿真测试证明在相同码率码长下,系统polar码和非系统polar码的误帧率基本一致,系统码的误码率要优于非系统码。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daijingxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值