为了降低非规则低密度奇偶校验(low-densityparity-check,LDPC)码译码算法的复杂度,提出一种适合数字信号处理嚣(digital signal processor,DSP)实现的低运算复杂度、低误码平台译码的改进算法。本文引用地址:http://www.eepw.com.cn/article/148112.htm

该算法校验节点的运算采用修正最小和算法,外信息的更新采用串行方式,既保持了串行和积算法在有限迭代次数下译码门限低的优点,又降低了节点运算复杂度和误码平台。用定点DSP芯片实现的非规则LDPC码译码器的实测结果表明,该算法能以较低的实现复杂度获得低的误码平台和译码门限。

低密度奇偶校验(low-density paruty-check,LDPC)码是一种非常有效的信道编码方案,已经成为新一代数字卫星广播(DVB-S2)等标准的信道编码方案,具有重要的应用价值。

LDPC码译码器设计的实现成为近年来研究的热点。LDPC码译码器的实现方法主要有2种:一种是基于超大规模集成电路(VLSI)的设计;另外一种是基于数字信号处理器(digital signalprocessor,DSP)等指令串行执行系统的实现。

LDPC码译码多采用和积(sum-product,SP)译码算法,影响其复杂度的因素有迭代次数和每次迭代的运算复杂度。由于DSP芯片指令串行执行的特点,要实现较高速率的LDPC码译码器,必须同时减少迭代译码次数和每次迭代的运算量。文提出一种逐个校验节点串行更新的迭代译码算法(S-SP),并说明在二进制对称信道(BSC)下可以有效降低迭代译码的次数;为降低每次迭代的运算复杂度,校验节点的运算存在一些简化的译码算法,如修正最小和算法(modified mim-sum,MMS)等,但这些算法的译码门限有一定的损失。

本文研究非规则LDPC码的S-SP算法在加性高斯白噪声(AWGN)信道下的性能,说明该算法虽能降低迭代次数,但是存在误码平台较高的问题。考虑到简化的译码算法(例如MMS算法)有复杂度和误码平台低的特点,本文综合这2类算法的特点,提出了串行MMS(S-MMS)算法,该算法在有限迭代次数下具有低的误码平台和较低的译码门限,实现了复杂度和性能的较好折衷,适合于用DSP实现。

1 LDPC码简介和迭代译码算法

1.1 LDPC码简介

LDPC码是一种分组码。其校验矩阵为超稀疏随机矩阵,设为H。对于任何一个合法的码字v,都有校验方程。由该方程可知,校验矩阵中每行的非零元素,将所对应的LDPC码元映射成一个相当于校验码的约束,定义这种约束关系为一个校验节点。校验矩阵中每列的非零元素对应LDPC码的同一个码元,形成了一个相当于重复码的约束,定义这种约束关系为一个变量节点,而矩阵中的非零元素,既参与了变量节点的重复码的约束关系,又参与了校验节点的校验码的约束关系;因此定义矩阵中非零元素所对应的关系为连结这2种节点的“连结线”。因此,LDPC码的结构也可以用图1的因子图表示。

LDPC码的编码,先利用校验矩阵得到对应的生成矩阵,然后直接用信息序列和生成矩阵相乘即可得到编码码字,而LDPC码的译码则利用校验节点和变量节点的约束关系,在2类节点间通过“连结线”进行外信息的传递,从而实现迭代译码。

1.2 LDPC码迭代译码算法

定义为变量节点n的先验信息,即对数似然比;表示第k次迭代中,从校验节点m到变量节点n的外信息;表示第k次迭代中,从变量节点n到校验节点m的外信息;为第k次迭代后变量节点n的后验信息;M(n)表示和变量节点n相连的校验节点的集合;N(m)表示和校验节点m相连的变量节点的集合。

标准的和积(SP)译码算法如下。

步骤l 初始化。

其中:xn为发送比特;yn为接收符号。采用二进制相移键控(BPSK)调制,信道为AWGN信道。

步骤2迭代译码。

迭代译码包括2个步骤,变量节点的计算和校验节点的计算。本文中设定固定的迭代次数K,然后判决输出。

1)变量节点的运算(对所有的变量节点n)。

2)校验节点的运算(对所有的校验节点m)。

其中k≥1.

步骤3后验信息计算和判决输出。

串行和积译码算法(S-SP),在计算校验节点m时,需要将上面和积(SP)算法中的步骤2变量节点的运算修改为

其k≥1,假设校验节点的计算从1开始,也即m依次取1,2,3,…,M,这里M为校验节点的个数,如图1所示。

S-SP算法和SP算法的不同点在于:在SP算法中,所有与校验节点m相邻的变量节点更新时所使用的校验节点外信息都来自上一次的迭代输出,然后进行校验节点m的运算。而在S-SP算法中,计算校验节点m时,和其相连变量节点的更新可以使用本次迭代中已经更新过的外信息。从上面的分析也可看出,S-SP算法的复杂度和SP算法相同,另外,可通过合理设计,使得该算法需要的存储资源可降低为原来的1/2。

2 改进的迭代译码算法和优化设计

文指出,在BSC信道下,S-SP算法可以有效降低迭代译码次数。本文研究了该算法在AWGN信道下的特点,发现该算法虽可以降低迭代译码次数,但是存在误码平台较高的缺点。后面将利用仿真结果说明这一特点。

本文将S-SP算法与修正最小和算法(MMS)结合,提出了改进算法,将外信息的更新采用串行更新策略,校验节点的计算采用修正最小和算法,称为串行修正最小和算法(S-MMS)。该算法解决了S-SP算法的误码平台较高的问题,译码门限和标准的SP算法相比,性能损失很小。

提出的串行修正最小和算法(S-MMS),其迭代译码步骤2修改如下。

设定固定的迭代次数K,对校验节点m,依次取1,2,3,…,M,进行下面的2个步骤。

1)变量节点的运算(只计算和校验节点m相连的变量节点)。

其中:r=│N(m)│表示集合N(m)中的元素个数,即非规则码的校验节点m的阶数;βr为非规则码不同阶校验节点的偏移因子;sgn()为符号函数。

最优的偏移因子βr值,可以采用密度演化或者计算机仿真的方法得到。

本算法变量节点的运算只包括求和运算,校验节点只包括最大、最小和减法操作,与SP算法的校验节点运算的非线性函数ln(tanh())相比,量化噪声对其影响小。本文针对定点DSP芯片特点,信道观测值和迭代译码中的外信息,都采用16 b的量化精度,有利于优化指令并行度,并可以降低存储器读取、存储延时。

ajax是tcp连接吗,基于微型TCP/IP协议与AJAX的动态Web服务器设计相关推荐

  1. linux线程池实现多线程并发,基于Linux的多线程池并发Web服务器设计-电子设计工程.PDF...

    基于Linux的多线程池并发Web服务器设计-电子设计工程.PDF 第 卷 第 期 电子设计工程 年 月 基于 的多线程池并发 服务器设计 陈 涛 任海兰 武汉邮电科学研究院 湖北 武汉 摘要 时至今 ...

  2. 基于Linux的web的中期报告,基于Linux的Web服务器设计论文中期检查.doc

    附件3: 长沙师范学院 届毕业论文(设计)课题任务书 课题题目基于Linux的Web服务器设计指导教师李列文职 称副教授学生姓名叶润凯系(部)/专业信工系/计应学 号2014541930121课题主要 ...

  3. linux查看tcp连接日志,linux下tcp状态是从哪查出来的

    linux中,各种tcp连接的状态存储在 /proc/net/tcp 文件中 其中st列就是tcp的各种状态,那么这个值代表什么意思呢? 有网友从内核源码里找到了这个 enum { TCP_ESTAB ...

  4. linux nginx mysql php 5.5._搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

    之前的Web服务器都是通过yum搭建的,想要添加新模块或者更新某些软件都很不方便(牵一发而动全身啊!).所以,现在准备将环境改为源码编译安装,这样便于调整,性能上也会比yum方式好很多.以下是我的安装 ...

  5. TCP 连接管理机制(二)——TCP四次挥手的TIME_WAIT、CLOSE_WAIT状态

    介绍三次握手的时候,着重了解的是三次握手过程中,应用层和传输层做了哪些工作:下面在了解四次挥手的时候,主要了解的是四次挥手的状态变化. 目录 一.四次挥手 1.第一次挥手 2.第二次挥手 3.第三次挥 ...

  6. php实现tcp连接esp8266,ESP8266之TCP透传

    模块:esp-01s SDK版本:ESP8266_RTOS_SDK-3.0 开发环境:wsl+vscode 功能模块:wifi,tcp_client,uart 什么是透传?透传,即透明传输(pass- ...

  7. 远程连接服务器(免密登录,ssh协议22号端口),web服务器:URL格式,http协议,http请求常用的方法(get和post)

    1.实现免密登录  两台Linux之间的免密登录 第一步:在客户端产生秘钥(一对公钥和私钥对) 第二部:将客户端的公钥copy到服务端 [root@server ~]# ssh-keygen -t r ...

  8. 基于内存,redis,mysql的高速游戏数据服务器设计架构

    1.数据服务器详细设计 数据服务器在设计上采用三个层次的数据同步,实现玩家数据的高速获取和修改. 数据层次上分为:内存数据,redis数据,mysql数据 设计目的:首先保证数据的可靠,防止数据丢失, ...

  9. linux send 失败_linux高性能网络编程之tcp连接的内存使用

    当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣.socket编程方法提供了SO_SNDBUF.SO_RCVBUF这样的接口来设置连接的读写缓存,li ...

最新文章

  1. PHP学习笔记1.2——预定义变量参考
  2. 日记-2017-7-24-cp-css-django/media
  3. 记一次 .NET 某三甲医院HIS系统 内存暴涨分析
  4. 一步步编写操作系统3 部署工作环境 3
  5. Objective-C的内省(Introspection)小结
  6. 深度学习福利入门到精通第四讲——GoogleNet模型
  7. scala面试题简要总结
  8. kubernetes 如何彻底删除pod、deployment、service
  9. oracle没按成功怎么卸载,关于oracle卸载没有卸载完全的问题
  10. 12.15 小程序验证码点击刷新
  11. raw格式转换jpg软件都有什么?这里有你想要的答案
  12. 用python写Hello World
  13. java栈里储存的是什么_JVM中的堆和栈到底存储了什么
  14. java选取最大数字_用Java程序找最大的数字(4.1)
  15. 遗传算法java(中国外运杯)
  16. 回顾千年,领略周秦汉唐西安文史5日研学营
  17. 泛在操作系统实践案例
  18. (三十六)Delta中性对冲与Delta-Gamma中性对冲
  19. python编写coc部落冲突游戏辅助(1)
  20. 最新计算机安全参考文献,最新计算机络安全参考文献 计算机络安全期刊参考文献哪里找...

热门文章

  1. R语言plot函数散点图、密度图实战
  2. R语言gganimate包创建可视化gif动图、可视化动图:、gganimate包创建动态线型图动画基于transition_time函数、使用geom_point函数显示动画移动的数据点
  3. pandas使用argmax函数返回给定series对象中最大值(max、maximum)的行索引实战
  4. MySQL数据库中默认事务隔离级别是?
  5. R语言sample.int有放回或者无放回采样随机整数实战
  6. python使用FPDF包将多个图像文件写入pdf文件实战
  7. R包操作相关:安装、卸载、加载、移除、已经安装的包、包的路径、函数查看等
  8. 华为今年不会发布鸿蒙系统的手机,华为:今年不会推出鸿蒙系统手机 将坚守安卓生态...
  9. transformer工程实现笔记
  10. python可视化:matplotlib学习笔记