本申请涉及ldpc码译码方法和编码方法。

背景技术:

在数字通信过程中,数字信号在传输过程中可能出现差错,故对数字信号须采用纠、检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,从而提高系统的可靠性,而这种纠、检错编码就是信道编码。

ldpc(low-densityparity-check,低密度奇偶校验)码是一种具有稀疏校验矩阵的分组纠错码,其性能逼近香农限,描述和实现简单,易于进行理论分析和研究,译码简单且可实行并行操作,适合硬件实现。

然而,针对不同的应用场景,需要特定的码参数以适配该场景,进而根据该参数构造性能可靠的ldpc码。

技术实现要素:

本申请的目的是提供一种针对特定应用场景且性能可靠的ldpc码译码方法和编码方法。

根据本申请的一个方面,公开了一种ldpc码译码方法,通过校验矩阵h对ldpc码字经信道传输后得到的接收字进行译码,其中,所述校验矩阵h是维度为41×82、行重为4、列重为2、每一个元素属于有限域gf(26)的校验矩阵。

根据本申请的一个方面,公开了一种ldpc码编码方法,通过生成矩阵g对数据进行ldpc编码获得ldpc码字,其中,所述生成矩阵g是与上述校验矩阵h相对应的生成矩阵。

根据本申请的校验矩阵h可以用于北斗系统导航电文的译码,生成矩阵g可以用于北斗系统导航电文的编码,能够保障北斗导航电文的可靠传输。

附图说明

图1示出了根据本申请的一种实施方式的ldpc码译码方法的示意图。

图2示出了根据本申请的一种实施方式的ldpc码编码方法的示意图。

图3示出了根据本申请的一种实施方式的校验矩阵h和相应生成矩阵g所确定的ldpc码的仿真性能曲线图。

具体实施方式

下面参照附图对本申请公开的ldpc码译码方法和编码方法进行详细说明。为简明起见,本申请各实施方式的说明中,相同或类似的装置使用相同或相似的附图标记。

图1示出了根据本申请的一种实施方式的ldpc码译码方法的示意图。如图1所示,通过校验矩阵h对ldpc码字经信道传输后得到的接收字进行译码,其中,校验矩阵h是维度为41×82、行重为4、列重为2、每一个元素属于有限域(galoisfields)gf(26)的校验矩阵。

根据本实施方式,能够提供符合定义于本原多项式为p(x)=1+x+x6的有限域gf(26)下、码长为82符号位、信息长为41符号位、行重为4、列重为2的规则的ldpc码的设计,即,设计ldpc码的校验矩阵h,实现ldpc码译码。

可以理解,在通过校验矩阵h对ldpc码字经过信道传输后得到的接收字的译码进行译码时,校验矩阵h给出了变量节点与校验节点的连接关系,根据接收字确定变量节点收到的来自信道的信息,通过在变量节点与校验节点间按照连接关系相互传递信息以进行迭代译码。同时,还可以通过校验矩阵h与每轮迭代后的判决结果建立校验方程进行校验,以确定译码迭代是否终止。

根据本申请的一种实施方式,校验矩阵h可以用于北斗系统导航电文的译码,能够保障北斗导航电文的可靠传输。

具体地,所述校验矩阵h的矩阵形式可以通过如下表1表示:

表1

表1中i为校验矩阵h的行号,j为校验矩阵h的列号,表1中(i,j)处的取值为校验矩阵h中i行j列的值,所有取值均属于定义于本原多项式为p(x)=1+x+x6的有限域gf(26)。可以看出,校验矩阵h是行数为41、列数为82、行重为4、列重为2的校验矩阵。

根据本申请的一种实施方式,ldpc码的校验矩阵h是稀疏矩阵。稀疏矩阵是指矩阵中非零元素的个数远远小于矩阵元素的总数。因此,根据本申请的一种实施方式的校验矩阵h可以通过该校验矩阵h的非零元素的位置以及该非零元素的取值来表示。

具体地,根据本申请的一种实施方式的校验矩阵h的非零元素的位置可以通过如下表2表示:

表2

表2中m表示校验矩阵h的行号,k表示一行中第k个非零元素,且表2中(m,k)处的取值为校验矩阵h中m行的第k个非零元素的列号。

例如,如果表2中(16,2)处的取值为35,则表示校验矩阵h中相应非零元素的位置为(16,35),即,校验矩阵h中的第16行第35列。

校验矩阵h中各位置处的非零元素的具体取值可以通过如下表3表示:

表3

表3中m表示校验矩阵h的行号,k表示一行中第k个非零元素,且表3中(m,k)处的取值为校验矩阵h中m行的第k个非零元素的取值,所有取值均属于定义于本原多项式为p(x)=1+x+x6的有限域gf(26)。

例如,如果表3中(16,2)处的取值为36,则结合表2所确定的非零元素的位置(16,35),可以确定校验矩阵h中位置(16,35)处的取值为36。

图2示出了根据本申请的一种实施方式的ldpc码编码方法的示意图。如图2所示,通过生成矩阵g对数据进行ldpc编码获得ldpc码字,其中,生成矩阵g是与上述的校验矩阵h相对应的生成矩阵。

ldpc码的译码通过校验矩阵实现,ldpc码的编码通过生成矩阵实现。通常,通过构造校验矩阵来构造ldpc码,一旦校验矩阵确定,则可以根据校验矩阵获得相应的生成矩阵。

根据本申请的一种实施方式,生成矩阵g可以用于北斗系统导航电文的编码,能够保障北斗导航电文的可靠传输。

生成矩阵g可以根据校验矩阵h并通过以下计算方式获得:

将维度为41×82的校验矩阵h表示为h=[h1,h2],其中,h1维度为41×41,h2维度为41×41;根据校验矩阵h计算系统形式其中,为h2的逆,i41为41×41的单位阵;获得生成矩阵g为其中上角标t为矩阵的转置运算符。

根据本申请的一种实施方式,生成矩阵g可以通过如下表4表示:

表4

表4中i为生成矩阵g的行号,j为生成矩阵g的列号,且表4中(i,j)处的取值为生成矩阵g中第i行第j列对应元素的取值。所有元素的取值属于定义于本原多项式p(x)=1+x+x6的有限域gf(26),其中,通过将多项式系数向量表示转换为十进制表示得到生成矩阵g中各元素的取值。生成矩阵g是行数为41、列数为82的生成矩阵。

ldpc码的译码通过校验矩阵实现,ldpc码的编码通过生成矩阵实现。根据本申请的一种实施方式的校验矩阵h、生成矩阵g所确定的ldpc码。图3示出了该ldpc码在awgn(additivewhitegaussiannoise,加性高斯白噪声)信道下利用qspa(q-arysumproductalgorithm,多进制和积译码算法)译码仿真性能。

以上参照附图对本申请的示例性的实施方案进行了描述。本领域技术人员应该理解,上述实施方案仅仅是为了说明的目的而所举的示例,而不是用来进行限制,凡在本申请的教导和权利要求保护范围下所作的任何修改、等同替换等,均应包含在本申请要求保护的范围内。

ldpc译码讲解_LDPC码译码方法和编码方法与流程相关推荐

  1. ldpc译码讲解_LDPC码及其译码实现

    LDPC 码及其译码实现 一. L DPC 码简介 LDPC 码最早在 20 世纪 60 年代由 Gallager 在他的博士论文中提 出,但限于当时的技术条件,缺乏可行的译码算法,此后的 35 年间 ...

  2. ldpc译码讲解_LDPC码编译码原理及应用

    LDPC 码编译码原理及应用 下一代移动通信系统的设计能力将远远超过当前的第三代移动通信系统的 能力 , 其中一个最重要的特点表现在需要在 20M 赫兹的带宽内 , 实现高达 100Mbps 的数据传 ...

  3. ldpc译码讲解_LDPC编译码基本原理

    ? 1962年Gallager提出了LDPC码的基本概率译码算法,本节将阐述这一思想.从联合条件概率分布到边缘条件概率分布 解决一个大的问题的基本思路在于将其分解为一系列的小问题.对于似然函数而言,如 ...

  4. ldpc译码讲解_LDPC 译码问题

    最近开始学习LDPC,还是刚接触有点生疏,现在主要在看LDPC译码 网上有好多LDPC的译码例程,matlab的. 我看了大部分都是一个译码函数,有点看不懂. 求大家指教 问题一:参数f0,f1含义 ...

  5. LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW-RBP、SVNF-RBP)的MATLAB实现

    LDPC译码:和积译码算法(SPA).最小和算法(MSA).分层译码算法(LBP).动态信息更新策略IDS(含RBP.NW-RBP.SVNF-RBP)的MATLAB实现 主要内容 符号说明 算法说明与 ...

  6. SCL译码matlab,CRC_polar_SC_SCL 码的SC译码算法,可设置不同信噪比, 码长 改为SCL 和CA 。核心 matlab 272万源代码下载- www.pudn.com...

    文件名称: CRC_polar_SC_SCL下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 57 KB 上传时间: 2015-09-05 下载次数: 105 ...

  7. polar码译码——快速SC译码算法

    一.四种子码 1.码率零(Rate0,R0) 如果一个长为N=2^n的极化码没有信息比特,只有冻结比特,则称谓R0极化码,这种极化码虽然不携带信息,但他却可能作为一个子极化码来使用. 2.重复码(Re ...

  8. 【编码译码】基于matlab QC-LDPC码编码和译码【含Matlab译码 2194期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[编码译码]基于matlab QC-LDPC码编码和译码[含Matlab译码 2194期] 点击上面蓝色字体,直接付费下载,即可. 获取代 ...

  9. Linux内核源码分析方法

    说明:这是一个刚接触内核三个月的同学,通过对一个内核特性的分析,总结出一套分析内核的方法. 一.内核源码之我见 Linux内核代码的庞大令不少人"望而生畏",也正因为如此,使得人们 ...

最新文章

  1. Jmeter和LoadRunner的区别
  2. 用php求n个分数的和,php关于数组n个随机数分成x组,使每组值相近的算法
  3. OrchardCore 如何实现模块化( Modular )和 Multi-Tenancy
  4. CSS 定位 四种定位
  5. MySQL深度剖析之SQL语句更新流程(2021)
  6. 远程无法连接数据库的问题
  7. [Usaco2007 Demo]City skyline
  8. php 有几种打印方法,php 5种打印方式及变量类型,
  9. 【Python实例第22讲】不同聚类算法的比较分析
  10. 实现 Spherical Harmonic Lighting
  11. 用ie浏览器签章后保存在桌面显示不出文件
  12. 内核 BUG_ON 以及WARN_ON 用法作用
  13. JavaScript实现邮箱后缀提示功能
  14. windows合成pfx
  15. 联合国发布全球城市经济竞争力20强:中国5城市跻身前20,深圳国内第一
  16. Pandas 01- Series
  17. iOS逆向环境以及常用命令行(逆向一)
  18. springmvc之响应类型,string,void,ModelAndView
  19. Convolutional Neural Networks for Sentence Classification论文解读
  20. 使用universalimageloader实现viewpager加载网络图片轮显

热门文章

  1. 参考文献起止页码怎么写_参考文献书写格式
  2. 刀片服务器改台式电脑_刀片服务器安装指南_IT /计算机_信息
  3. 软件项目管理MOOC(北邮)——第七章测试答案
  4. 树莓派4b: 初级使用(Ubuntu21.10,Windows11写入SSD,远程连接,软路由搭建,webmin安装,自建Dockerhub,远程管理, 百度云盘,阿里云盘同步等)
  5. 如何使用DPABI 进行核磁共振数据结果统计分析?
  6. python评论情感分析毕业设计_使用文本挖掘技术进行小说《圣墟》评论的情感分析——基于python...
  7. 矩阵分解 SVD分解
  8. 利用python进行数据分析——透视表与交叉表
  9. 父子组件的生命周期执行顺序
  10. Python数据可视化学习(初学中...)