Polar码的编码思想以及SC译码算法

这篇具有很好参考价值的文章主要介绍了Polar码的编码思想以及SC译码算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 Polar 码编码

1.1 信道极化

1.2 编码

1.3 相关例子

1.3.1BEC信道

1.3.2信道联合极化编码思想

2 SC译码算法

2.1 SC译码算法

2.2 LLR,f函数和g函数

3 言外之笔

1 Polar 码编码

1.1信道极化

2009年在“IEEETransaction on Information Theory”期刊上发表论文详细地阐述了信道极化,并基于信道极化给出了一种新的编码方式,名称为极化码。从代数编码的角度来说,只要给定编码长度,极化码的编译码结构就唯一确定了;从概率编码的角度来说,极化码在设计时,利用了信道联合与信道分裂的过程来选择具体的编码方案,而且在译码时也是采用概率算法。

信道极化是一种现象,把它看作一种原理,而极化码编码则是对这一原理的应用。从宏观的角度观察,信道联合是把信道极化过程看作一个整体,输入是比特,输出也是比特。但只有信道联合是不够的,无法确知各个子信道的输入和输出是什么关系。于是就需要对信道极化过程有一个微观的表达,这个微观表达是通过信道分裂过程来实现的。宏观和微观合在一起就构成了对信道极化过程的完整表达。在实际中,可以采用递归式来计算各个分裂子信道的转移概率。

通过信道的联合与分裂,各个子信道的对称容量将呈现两级分化的趋势,随着码长的增加,一部分子信道的容量趋于1,而其余子信道的容量趋于0。极化码正是利用这一信道极化的现象,在容量趋于1的个子信道上传输消息比特,在其余子信道上传输冻结比特。

在极化码编码时,首先要区分出分裂信道的可靠程度,可靠度高的信道传输信息比特,可靠度低的传输“冻结比特”,而对各个极化信道的可靠性进行度量常用的有三种方法:巴氏参数法、密度进化法和高斯近似法。

具体表格如下:

Polar码的编码思想以及SC译码算法

图1 信道估计方法

2016年,华为提出了一种β-expansion算法,并且证实β-expansion方法以低复杂度获得了与GA相同的性能,提供了一种整洁、复杂度低的方法来排序信道的可靠度。

1.2 编码

总体而言,极化编码的步骤主要由以下三部分构成:极化信道可靠性估计、比特混合以及构造生成矩阵。

不同的信道,信道估计的方法也不太相同,如图1所示;比特混合,简而言之,对于码率为K/N的极化码,选择可靠性最大的K个分裂子信道传输消息比特,其他分裂子信道传输冻结比特,冻结比特一般为“0”。

生成矩阵可表示为:

Polar码的编码思想以及SC译码算法 或者 Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

其中Polar码的编码思想以及SC译码算法表示对矩阵F的n次克罗内克积,有递归式Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法是排序矩阵,用以完成比特反序重排操作,Polar码的编码思想以及SC译码算法的差别也在于此。通过构造生成矩阵获得Polar码的编码思想以及SC译码算法将消息比特Polar码的编码思想以及SC译码算法Polar码的编码思想以及SC译码算法相乘即可得到编码结果。因此,极化码可以看成是一种线性分组码,通过构造生成矩阵而获得编码。

1.3 相关例子

1.3.1 BEC 信道

Polar码的编码思想以及SC译码算法

图2 BEC信道模型

发送方仅仅发送0或者1,信道的擦除概率为Pe,接收端只有两种情况:得到其本身或是丢失,不会出现误码的情况,容易得到信道容量C= 1−Pe。

简化为:

Polar码的编码思想以及SC译码算法

图3 BEC信道编码简化模型

1.3.2 信道联合极化编码思想

Polar码的编码思想以及SC译码算法

图4 联合编码的基础模型

由上图,可以得知:

Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

在解码一端,如果能够正确接收,则有:

Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

根据异或的性质,反解出U1,U2:

Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

以下分析两条信道的具体情况:

对于第一条信道U1:

Polar码的编码思想以及SC译码算法

Y代表成功,N代表失败。

取Pe=0.5,则传输成功的概率 P = (1−Pe)×(1−Pe)=(1−Pe)^2= 0.25,被擦除的概率P = 1−(1−Pe)^2 = 0.75;

对于第一条信道U2:

Polar码的编码思想以及SC译码算法

Y代表成功,N代表失败。

取Pe=0.5,则传输成功的概率 P = 1−Pe^2= 0.75;被擦除的概率P =1-( 1−Pe^2) = Pe^2=0.25;

结论:对于U1来说,创造了一个较差的信道,但是,对于U2来说,创造了一个较好的信道。

Polar码的编码思想以及SC译码算法

图5 极化码的最基础2通道编码结构

其中,U1被擦除的概率为2*Pe-Pe^2,U2被擦除的概率为Pe^2.对于U1而言,当通道1或通道二不能正确传输,无法解码U1;对于U2而言,当通道1和通道二都未能正确传输,无法解码U2;

当我们增加更多的通道,可以得到更加理想的通道以及更差的通道。如下图所示:

Polar码的编码思想以及SC译码算法

图6 4通道极化码结构图

其中,若Pe=0.5,

U1被擦除的概率为:2*(2*Pe-Pe^2) - (2*Pe-Pe^2) ^2=0.9375

U2被擦除的概率为:(2*Pe-Pe^2) ^2=0.5625

U3被擦除的概率为:2*Pe^2- Pe^4=0.4375

U4被擦除的概率为:(Pe^2) ^2=0.0625

如果是8个通道,查找相关数据,得到如下的结果:

Polar码的编码思想以及SC译码算法

图7 8通道极化码结构

级联八个信道,就会有擦除率为0.0039的信道出现。于是,但信道数N很大的时候,可以得到擦除率极低的可靠信道。

于是,通过信道的联合与分裂,各个子信道的对称容量将呈现两级分化的趋势,随着码长的增加,一部分子信道的容量趋于1,而其余子信道的容量趋于0。极化码正是利用这一信道极化的现象,在容量趋于1的个子信道上传输消息比特,在其余子信道上传输冻结比特,冻结比特都是通信双方事先约定好的比特,一般是“0”。

2 SC译码算法

2.1 SC译码算法

串行抵消译码算法,是Arikan给出的Polar Code译码算法,由于各个极化信道并不是相互独立的,而是具有确定的依赖关系的:信道序号大的极化信道依赖于所有比其序号小的极化信道。基于极化信道之间的这一依赖关系,SC译码算法对各个比特进行译码判决时,需要假设之前步骤的译码得到的结果都是正确的。当前面消息比特的译码中发生错误之后,由于SC译码器在对后面的消息比特译码时需要用到之前的消息比特的估计值,这就会导致较为严重的错误传递。因此,对于有限码长的极化码,采用SC译码器往往不能达到理想的性能。

大概的算法思路流程如下:

(1)在接收到传输的序列之后,先将其初始化,得到单个信道的似然比;

(2)计算估计码字的似然值,判决码字

(3)终止判断,输出码字。

在SC译码算法中,LLR的递归运算需要借助f函数和g函数。以下会详细给出。

当引入高斯近似法,接收符号y的对数似然比(LLR)定义为:

Polar码的编码思想以及SC译码算法

因此译码端对数似然比的初始值可以轻松得到。相比于SC译码算法,极化码的译码算法还有SCL译码,CRC辅助译码,还有BP译码算法等算法。

2.2 LLR,f函数和g函数

Polar码的编码思想以及SC译码算法
Polar码的编码思想以及SC译码算法

图8 译码结构图

对于上述简单的两个通道,定义 Polar码的编码思想以及SC译码算法 如下:

Polar码的编码思想以及SC译码算法Polar码的编码思想以及SC译码算法Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法Polar码的编码思想以及SC译码算法

采取硬判决:

Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

其中:

1,Polar码的编码思想以及SC译码算法Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

2,

Polar码的编码思想以及SC译码算法Polar码的编码思想以及SC译码算法

3, Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法, Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法,Polar码的编码思想以及SC译码算法

4,若 Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

图 9 译码结构图

于是有:

Polar码的编码思想以及SC译码算法Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

此时,译码判决如下:

Polar码的编码思想以及SC译码算法

Polar码的编码思想以及SC译码算法

在上述的计算辅助下,即可完成SC译码,把发送的码字一一译码出来,当然,如果实现约定好冻结比特,可以更快提高译码速度,降低译码时延。

3 言外之笔

1,相关论文若干,在此不一一列举。

2,文中所展示的图片有个人原创,也有网络搜索、非本人原创,若有侵权,请联系删除。

3,在写作过程之中,参考许多前辈的心得,本文仅仅是本人一些拙见愚意,仅供参考,许多错误之处请多多包涵。文章来源地址https://www.toymoban.com/news/detail-460416.html

到了这里,关于Polar码的编码思想以及SC译码算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 信道编码---RS编码与译码原理

    本文介绍了RS编码以及译码的原理。 本文的内容基本上都来自刘梦欣的《基于FPGA的RS编译码研究与设计》,大家可以通过知网找到这篇文章,链接在下面。对RS码的原理讲解非常清楚,如果要看的话可以结合第2和第3部分一起看更好懂。我的整理也是比较粗略,因此没看懂的话

    2024年02月11日
    浏览(30)
  • 卷积编码和维特比译码

    卷积码是一种非分组码,通常适用于前向纠错。在分组码中,编码器产生的 n 个码元的一个码组,完全决定于这段时间中 k 比特输入信息。这个码组中的监督位仅监督本码组中 k 个信息位。卷积码在编码时虽然也是把 k 比特的信息段编成 n 个比特的码组,但是监督码元不仅和

    2024年02月08日
    浏览(32)
  • 算法:分治思想处理快排递归以及快速选择/最小K个数问题

    分治的原理就是分而治之,从原理上讲,就是把一个复杂的问题划分成子问题,再将子问题继续划分,直到可以解决 基于分治的原理进行快速排序,区别于传统的快速排序,这里对快速排序进行改良,成为更优先的三路划分算法,可以处理一些极端场景,使快速排序的适用性

    2024年02月10日
    浏览(40)
  • BCH编码与译码(MATLAB实现)

    BCH码是由Bose、Chandhari 和 Hocquenhem 分别独立提出的一种能够纠正多个随机错误的循环码。 BCH 码的定义:给定任一有限域 GF(q)及其扩域 GF(q m )(其中 q 为素数或素数幂),m 为某一正整数,若码元取自 GF(q) 循环码的生成多项式 g(x) 的根集合 R 中有 σ-1 个连续根 α m0 , α m0+1 ,

    2024年01月20日
    浏览(34)
  • 线性分组码编码与译码(MATLAB实现)

    分组码是对信息序列分段编码。若对包含 k 个信息元的信息组 M : 按照一定的编码规则产生包括 n 个码元的码组 C : 编码规则定义为: 如果 f i (·),i = 0,1,…,n-1 均为线性函数,则称 C 为线性分组码。线性分组码一般用 (n,k,d)码表示,其中 n 为码长, k 为信息组长度,

    2024年01月15日
    浏览(25)
  • 【排序算法略解】(十种排序的稳定性,时间复杂度以及实现思想)(含代码)(完工于2023.8.3)

    注:以下排序默认为升序排序。 稳定性:指的是排序的过程中是否会改变多个相同的值的相对次序,如果会改变则是不稳定的。 冒泡排序,选择排序,插入排序是最简单的排序方法。 排序方法:扫描的过程中,比较相邻两个数的大小关系,如果存在逆序就交换这两个数,这

    2024年02月13日
    浏览(34)
  • 遗传算法的编码方式以及MATLAB实现

    遗传算法原理以及matlab代码_matlab遗传算法代码_电气不会转控制的博客-CSDN博客 目录 前言 一、编码是什么? 二、二进制编码 1.整数区间 2.实数区间 3.多变量 4.运算操作(交叉,变异) 三、实数编码 1.实数编码的交叉操作 2.实数编码的变异操作  四、MATLAB代码实现 总结 提示

    2024年02月04日
    浏览(31)
  • 聚类算法(KMeans)模型评估方法(SSE、SC)及案例

    一、概述         将相似的样本自动归到一个类别中,不同的相似度计算方法,会得到不同的聚类结果,常用欧式距离法;聚类算法的目的是在没有先验知识的情况下,自动发现数据集中的内在结构和模式。是 无监督学习 算法 二、分类 根据聚类 颗粒度 :细聚类、粗聚

    2024年01月20日
    浏览(32)
  • [Kubernetes]5. k8s集群StatefulSet详解,以及数据持久化(SC PV PVC)

    前面通过 deployment 结合 service 来部署 无状态的应用 ,下面来讲解通过 satefulSet 结合 service 来部署 有状态的应用 无状态: 无状态 (stateless) 、牲畜 (cattle) 、无名 (nameless) 、可丢弃 (disposable) 有状态: 有状态 (stateful) 、宠物 (pet) 、具有名 (haviing name) 、不可丢弃 (non-disposable) St

    2024年02月01日
    浏览(30)
  • 单载波频域均衡matlab仿真,包括卷积编码维特比译码,矩阵交织,QPSK调制解调,导频插入,MMSE-FDE频域均衡

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB         频域均衡是从校正系统的频率特性出发,利用一个可调滤波器的频率的频率特性去补偿信道或系统的频率特性,使包括可调滤波器在内的基带系统的总特性接近无失真传输条件。频域均衡是在频域上进行的,

    2023年04月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包