-
引言
低密度奇偶校验(Low Density Parity Check Code,LDPC)码是一类具有稀疏校验矩阵的线性分组码,不仅有逼近Shannon限的良好性能,而且译码复杂度较低, 结构灵活,是近年信道编码领域的研究热点,目前已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。LDPC码已成为第四代通信系统(4G)强有力的竞争者,而基于LDPC码的编码方案已经被下一代卫星数字视频广播标准DVB-S2采纳。
编码器实现指标分析
作为前向纠错系统的重要部分,设计高速率低复杂度LDPC码编译码器成为提高系统性能的关键。对LDPC码来说,其编码复杂度相对较大,编码器的设计与实现是首要任务,也是译码器设计与实现的前提,有着十分重要的作用。
编码速率与复杂度是评价LDPC编码器好坏的重要指标。考虑高清晰度电视(HDTV)标准在分辨率为1920×1080,帧率为60帧/s,每个像素以24比特量化时,总数据率在2Gb/s的数量级。采用MPEG-2压缩,要求数据率大约在20~40Mb/s。
编码器设计思路
设LDPC码检验矩阵为H、生成矩阵为G 。传统的编码方法是利用生成矩阵G直接进行编码。由于G并不具有稀疏性,直接编码的复杂度与码长N的平方成正比。本文的编码器采用RU编码算法。该算法通过对交换校验矩阵行列的位置,保持矩阵的稀疏性,利用交换行列后的校验矩阵进行编码,有效降低了编码的复杂度。经过行列交换的校验矩阵具有近似下三角形式,如图1所示。
图1 交换校验矩阵
设信息序列为s,码字为C利用图1的矩阵可对信息序列s进行编码。码字分为三部分:C=(s,p1,p2),其中s是信息比特序列,长度为k;p1和p2是校验比特序列,长度分别为g和N-k-g。校验比特序列p1、p2计算公式如下:
编码流程如图2所示。
图2 编码流程图
设计LDPC编码器的时候注意:在RU算法中,对校验矩阵进行行列交换,转化为近似下三角形式称为编码预处理过程。给定一个校验矩阵,编码预处理过程和矩阵的计算只需要做一次,所以可先用软件完成。实际的编码计算通过硬件实现。这样做有利于提高编码硬件实现的效率。
LDPC码编码器实现
LDPC码编码器硬件结构
基于RU算法的LDPC编码实现过程主要是计算p1、p2的过程。设计编码器时,为了提高编码速度,将可以同时计算的步骤作并行处理,得到编码器的硬件结构如图3所示。
图3 LDPC码编码器结构
图3中A、B、C、E分别代表图1中相应的矩阵,F代表Φ矩阵。从图3可知,LDPC编码器主要由缓冲器(buffer)、矩阵向量乘法器(MVM)、矩阵加法器(VA)、前向迭代运算器(FS)、向量合成器(CWG)等运算单元以及存储各个矩阵相关信息的存储器组成。因为前向迭代运算基本上是矩阵与向量的乘法计算,所以矩阵向量乘法是LDPC编码过程最核心的单元。
分析图3可知,编码过程中,Cs与As的计算是同时进行的,其他的操作都是串行进行的。由于行列交换保持了矩阵的稀疏性,所以与A、B、C、E矩阵的相关运算是稀疏矩阵的运算,存储矩阵所需的空间少同时实现的复杂度低和运算速度快。Φ是g×g的矩阵,由于在编码预处理过程中保证了g尽量小,所以与Φ矩阵相关的运算也是比较快的。
LDPC码编码器复杂度
表1和表2描述了编码器计算校验序列p1、p2的流程及相应的复杂度。
表1 p1的计算
表2 p2的计算
从表1和表2可知RU算法的复杂度与N+g2成正比,g越小,编码复杂度越低。所以对校验矩阵进行行列交换时,使g尽量小是进一步降低编码复杂度的关键。
表1中序号2与表2中序号4的操作涉及到下三角矩阵T。由于T-1也是下三角矩阵,为了降低复杂度,可采用前向迭代进行计算。例如:假设Qx=y,Q为下三角矩阵,求x。计算过程如下:
编码器核心模块——矩阵向量乘法器(MVM)的实现矩阵与矩阵的乘法运算以及前向迭代运算实质上都是矩阵与向量的乘法。下面举例说明矩阵向量乘法器硬件实现的过程:
假设,对于LDPC编码器,如何有效率地存储各个矩阵的信息是降低复杂度的关键。下面给出一种矩阵存储的方案:矩阵存储器中记录“1”在行中的位置以及对应行行重,如表3所示。例如矩阵X第3行的“1”元素,在行中的位置为“0”,该行的行重为1。由于LDPC编码过程中使用的矩阵大多是稀疏矩阵,所以采用该矩阵存储方案能比较有效地利用存储的空间并有利于矩阵与向量乘法的快速实现。
矩阵X每行中“1”的位置可看作选择向量s相应元素的地址索引,将选择的所有元素相加作和,即完成X中某行与向量的运算。由于涉及的运算都是二进制加法,相加作和操作可以作如下简化:根据矩阵每行“1”的位置选择向量s的元素。统计被选择的元素中“1”的个数,若结果为奇数则说明相加的结果为“1”,否则说明相加的结果为“0”。判断结果为奇数或者偶数可由其二进制形式的末位是“1”或者“0”得到。通过设置两个计数器分别计算各行行重和选择的向量s相应位置的元素中“1”的个数,即可实现乘法单元的运算。
矩阵向量乘法器的硬件结构如图4所示。
图4 矩阵向量乘法器的硬件结构
从图4可知矩阵向量乘法器包括以下六个部分:调度单元(Scheduler),产生各模块单元的使能信号;缓存单元(Info_buffer),对输入信息序列进行缓存处理;存储器控制单元(Rom_ctrl),产生存储器的地址信号;“1”位置存储器(Rom_num),存储矩阵各行“1”的位置;行重存储器,存储矩阵相应各行行重;乘法单元(Multipler),进行向量乘法运算,最后输出码字。
矩阵向量乘法器仿真结果验证
在Quartus II环境下,实现output=Xs,得到如图5所示时序图。
图5 output="Xs仿真时序图"
图5中“en”是使能信号,“clock”是时钟信号,addr_num、addr_wei分别为两个存储器的地址信号,info_seq是输入信息信号,rece是信息信号经过缓存后的输出信号,num_t是“1”在各行的位置信息,row_wei_t是相应各行的行重,output是矩阵与向量相乘的结果。由图5可知,output=[1 1 1],信号输出有一个时钟周期的延时,仿真结果正确。
编码器方案验证与优缺点分析
本文利用FPGA实现了基于RU算法的编码器设计实现。在Quartus II软件环境下对LDPC编码器进行仿真,使用Stratix系列EP1s25F672I7芯片,对码长为504的码字进行编码。编码器占用约9%的逻辑单元,约5%的存储单元,综合后时钟频率达到120MHz,数据吞吐率达到33Mb/s,基本符合编码器设计的要求。该编码器结构是一种通用的设计方案,可以应用于各种不同的LDPC编码中,但由于其采用通用的编码算法,实现的复杂度高于某些特殊结构的LDPC码编码器,比如准循环LDPC码。另外通过优化时序和编码结构,可以进一步提高本文的编码器的编码速度。
利用FPGA实现基于RU算法编码器(LDPC编码器)的设计
- FPGA(591969)
- 编码器(131223)
相关推荐
800Mbps准循环LDPC码编码器的FPGA实现
800Mbps准循环LDPC码编码器的FPGA实现引言低密度校验码肠 ,码 由于其接近香农限的纠错性能,使得其成为当前信道编码的研究热点。 码面临的一个关键问题是其较高的编码复杂度和编码时延。 形耐
2012-08-11 11:44:45
编码器应用问题
我想做一个装置,配置是这样:编码器安装在滚轮的一端,一个传感器,当传感器触发on时,对编码器反馈的脉冲进行采集,传感器off时停止采集,然后把得到的脉冲数传给计算机,请问资深专业人士,有什么方法去实现这样的功能,或者有什么样的电路板可以实现这样的功能,谢谢。
2014-01-17 23:55:37
编码器扫盲,带你了解编码器的原理和应用
、绝对式以及混合式三种。增量式编码器:增量式编码器是直接利用光电转换原理输出三组方波脉冲A、B和Z相;A、B两组脉冲相位差90度,从而可方便的判断出旋转方向,而Z相为每转一个脉冲,用于基准点定位。它
2019-10-13 08:00:00
编码器模式的实现
编码器模式的实现编码器模式默认使用定时器的通道1和通道2,通道3和通道4不能使用。以下为编码器模式的配置,编码器线数为1024,检测双通道的上升沿。 HAL_TIM_Encoder_Start
2021-08-16 08:12:54
编码器的实现
编码器的实现 H.264视频编码器的实现有多种方法,不过大部分都是进行移植、优化的操作。H.264代码要在DSP的软件平台CCS环境下运行,需要注意几个问题:如配置文件、库文件的改动、数据类型
2011-08-10 14:54:09
编码器的分类
一、编码器的分类根据检测原理,编码器可分为光学式、磁式、感应式和电容式,根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式三种。1、增量式编码器 增量式编码器是直接利用光电转换原理输出三
2022-01-20 06:47:46
编码器的型号?
谁对编码器有了解,在示波器上拆下两个旋钮编码器,外观是一模一样的,就是有一种有循环档位一个没有,再拆开以后发现里面不太一样,想在网上买这两种但不知道该怎么选型号
2021-11-18 15:21:43
编码器的奇葩问题,求大神解答
用定时器捕获调试编码器,同样的程序,有的编码器就可以检测到脉冲(并且一切正常,说明程序没有问题),有的编码器就检测不到,可是我用外部中断写的程序,一点问题都没有,说明也不是编码器的问题,求大神赐教,这是什么问题呢?(可能是兼容性?)
2015-10-24 21:11:30
编码器的结构域工作原理是什么?伺服电机与编码器的工作是什么?
伺服电机的种类有哪些?伺服电机主要的作用是什么?编码器的结构域工作原理是什么?编码器的分类和特点有哪些?伺服电机与编码器的工作是什么?
2021-06-28 08:11:44
编码器飞车
为什么在使用同步机做自整定的时候,整定的角度有时候偏差会比较大,会出现飞车现象。而更改编码器后可以正常整定。请问编码器什么情况下会导致这样的问题。另外,断电测试时候,编码器会损坏的原因有哪些?(电源稳定)
2018-09-07 14:40:40
什么是线性编码器
`线性编码器是什么呢,首先我们要先了解一下编码器什么,编码器就是把数据利用一定的原理,把数据编辑整理,进而转换成能利用通讯采集的信号的一种设备。这里我们一般认为编码器就是普通的光电编码器,光电编码器
2019-12-17 11:22:04
什么是脉冲编码器?访问脉冲编码器的设备
脉冲编码器简介脉冲编码器是利用光学、磁性或机械接点的方式感测位置,并将位置信息转换为电子信号后输出的传感器。其输出的电子信号一般被用作控制位置时的回授信号。脉冲编码器按照工作原理可分为增量式和绝对式
2021-03-29 06:12:47
光栅编码器有什么分类?
光栅编码器可分为两大类,一是旋转编码器,用于转角、转速的测量;二是直尺型编码器,用于直线位移、运动速度的测量。在旋转编码器中,又可分为绝对式编码器和增量式编码器。
2019-10-18 09:03:30
单片机读取光栅编码器角度的方法是什么?
增量式编码器工作原理是什么?增量式编码器的结构是由哪些部分组成的?光电旋转编码器使用方法是什么?单片机读取光栅编码器角度的方法是什么?
2021-06-30 07:29:18
怎么实现labview控制编码器
我想实现这样的效果:先读取编码器上的角度值,然后连续发相位相差90度的脉冲去改变角度值(也就是用程序控制编码器的旋钮)并且不断读取编码器上的值,我是用PCI-6221(37Pin)采集卡的,求各位大神帮帮忙。。。。。
2013-07-22 17:25:38
急!怎么实现labview 程序控制编码器
我想实现这样的效果:先读取编码器上的角度值,然后连续发相位相差90度的脉冲去改变角度值(也就是用程序控制编码器的旋钮)并且不断读取编码器上的值,我是用PCI-6221(37Pin)采集卡的,求各位大神帮帮忙。。。。。
2013-07-23 08:21:13
旋转编码器是如何工作的?
旋转编码器是一种经过验证的流行解决方案,用于测量旋转轴的速度,运动方向或位置。有几种不同的类型,主要的两种是绝对编码器和增量编码器。是如何工作的?有什么不同?如何为应用选择合适的类型?
2021-01-01 07:46:31
是选择光编码器还是磁编码器
选择光编码器还是磁编码器可靠的编码器,必须保证每次转过相同的角度发出同样数量的脉冲。光编码器光收发器和旋转码盘比磁编码器的芯片更容易损坏。磁编码器几乎没有运动部件。而光编码器靠着脆弱的机构来获取
2021-06-28 11:35:40
步进电机和编码器控制问题请教
带编码器的步进电机,电机在工作的情况下有时会出现电机自身的步数和编码器测得的步数不一致的情况!以编码器测得的步数和电机自身的步数对比,调整电机步数,有时会出现调整后的电机位置与预设位置不符现象,(步进电机步数准确,编码器不准确?)问下有什么办法解决没?
2018-05-09 22:37:31
磁编码器和光电编码器的未来
15年左右行业内开始掀起风磁编码器替代光电编码器,而且在22年的时候国内几家磁编发展迅速取得了很大的成绩,可是23年开始随着光电编码成本的下调技术的革新,又有客户回归到用光电的技术。
是不是现在达到一个平衡点了?还是说磁编还有突破的空间?
2023-09-26 13:03:43
采用FPGA增量式编码器实现接口设计
,不宜实现小型化。增量式光电编码器不具有计数和接口电路,一般输出A、B、Z脉冲信号,价格较低,在实际工程中比较常用。文中设计了一个基于FPGA的简单且精度高的接口电路,其结构简单、性能可靠。具有滤波
2019-06-10 05:00:08
基于IEEE802.16e的LDPC编码器设计与实现
提出了一种基于IEEE802.16e的具有线性编码复杂度的LDPC码的硬件编码器结构,并且在TSMC的0.18?滋m工艺库的最恶劣情况下,通过Design Compiler工具综合可以达到385MHz的速度。
2010-07-06 16:59:2823
基于FPGA的AVS-P2熵编码器设计
本文重点研究了AVS-P2熵编码器的算法、结构以及利用FPGA实现的若干关键问题,给出了详细的块变换系数熵编码器硬件结构,并通过了仿真验证。实现中提出了一种新的2D-VLC码表存储
2010-08-06 16:37:3824
一种输出格式可控的多码率LDPC编码器实现
一种输出格式可控的多码率LDPC编码器实现
0 引 言
目前,LDPC码已广泛应用于深空通信、光纤通信、数字音视频广播等领域。由于有着较Turbo码更优秀的性能,
2009-11-25 09:56:431379
PCM编码器,PCM编码器是什么意思
PCM编码器,PCM编码器是什么意思
优先编码器:
上述机械式按键编码电路虽然比较简单,但当同时按下两个或更多个键时,其输出将是
2010-03-08 16:27:552243
基于增量式编码器的去毛刺算法实现
分析机械式增量型编码器的毛刺产生机理,结合编码器有效旋转波形和几种毛刺波形的特点,提出一种新的去毛刺算法,在编码器的相位超前输出端的下降沿,判断一次相位滞后端的输
2011-09-07 14:59:5480
基于FPGA增量式编码器的接口设计
分析了光电编码器4倍频原理,提出了一种基于可编程逻辑器件FPGA对光电增量式编码器输出信号4倍频、鉴相、计数的具体方法,它对提高编码器分辨率与实现高精度、高稳定性的信号检测
2011-11-03 15:13:1675
基于IEEE802.16e标准的LDPC编码器设计与实现
根据IEEE802.16e标准中对LDPC码的定义,利用FPGA对编码器进行了实现。所采用的算法使用了线性复杂度编码,降低了逻辑资源占用量,并提高了编码速度。
2011-12-07 14:06:1433
光电编码器分类
光电编码器主要有增量式编码器、绝对式编码器、混合式绝对值编码器、旋转变压器、正余弦伺服电机编码器等,其中增量式编码器、绝对式编码器、混合式绝对值编码器属于数字量编码器,旋转变压器、正余弦伺服电机编码器属于模拟量编码器。
2018-10-21 10:32:2914397
伺服电机编码器原理_伺服电机编码器种类
伺服电机编码器是安装在伺服电机上用来测量磁极位置和伺服电机转角及转速的一种传感器,从物理介质的不同来分,伺服电机编码器可以分为光电编码器和磁电编码器,另外旋转变压器也算一种特殊的伺服编码器,市场上使用的基本上是光电编码器,不过磁电编码器作为后起之秀,有可靠,价格便宜,抗污染等特点,有赶超光电编码器的趋势。
2019-11-07 09:18:539467
使用FPGA实现MELP语音压缩编码器的详细资料说明
基于CPU软核模块算法IP的方法对一个1.6Kb/s类MELP语音压缩编码算法进行了实现,并将整个语音压缩编码器在FPGA上进行了整体验证,实验结果说明本文给出的语音压缩编码器的实现结构是可行
2021-01-22 15:08:3817
编码器参数_编码器型号说明
编码器一种很常见的人机交互信息输入元器件, 主要分为两大类一类是光电编码器一类是接触式的编码器,今天主要跟大家分享一下接触式旋转编码器型号以及 命名规则。
2021-02-19 15:15:5328524
编码器怎么使用_编码器调试方法
消防工程施工中,给报警设备编码是基础工作。有些没有接触过消防安装工程的人对如何使用编码器给设备编码感到困惑。本文章为您提供消防设备设备编码器编码的步骤。
2021-02-19 15:28:4728246
增量式编码器和绝对值编码器选哪个?
增量式编码器和绝对值编码器哪个好? 编码器是伺服系统上的重要组成部分,可以发送脉冲给驱动器,用于运动位置的矫正,实现闭环控制。目前,常见的伺服编码器类型有增量式编码器以及绝对值编码器两种,它们哪个
2023-03-19 23:30:032562
什么是编码器?编码器有哪些作用?
的作用。通过对生产装备或机器人的位移和角度等数据的传感和处理,可以实现自动化控制和调整,提高生产效率和品质。编码器也可以帮助工程师研究和改善系统运行,优化设计并提高生
2023-03-13 17:44:184734
增量型编码器与绝对值编码器
增量型编码器与绝对值型编码器怎么选择?在进行编码器选择时,增量型编码器和绝对值型编码器是两种常见的选择。增量型编码器是一种基于脉冲计数的编码器,通常由光电编码器和霍尔编码器组成。这种编码器的主要优点
2023-05-08 11:28:331341
编码器种类及型号
编码器种类及型号:最常见的编码器类型是旋转编码器和线性编码器。旋转编码器通常用于测量机器人的关节位置,以及测量车辆和船只的转向角度。线性编码器通常用于测量运动平台的位置和速度。旋转编码器和线性编码器可以分为绝对式和增量式编码器。绝对式编码器可以直接读取位置信息,而增量式编码器则需要计算位置信息。
2023-05-18 11:15:003459
编码器是什么?编码器有哪些分类及应用
编码器是什么?编码器有哪些分类及应用;编码器是什么?在数字信号处理和通信系统中,编码器是一种重要的设备,用于将原始数据转换为字符序列或二进制码序列。编码器是一种可以同时测量物体位置和方向的蒿精度
2023-05-18 11:08:473137
伺服电机编码器
伺服电机编码器 伺服电机编码器是安装在伺服电机上用来测量磁极位置和伺服电机转角及转速的一种传感器,从物理介质的不同来分,伺服电机编码器可以分为光电编码器和磁电编码器,另外旋转变压器也算一种特殊的伺服
2023-06-26 14:01:01900
磁性编码器和光电编码器的比较
伺服电机编码器是一种关键的反馈装置,用于测量和控制电机的转速和位置。在选择伺服电机编码器时,常常面临一个选择:使用磁电编码器还是光电编码器。接下来将从几个关键方面比较这两种类型的编码器,以帮助您做出更明智的选择。
2024-01-18 10:29:02464
编码器好坏怎么判断,编码器原理
编码器(Encoder)是将输入数据转化为特定编码表示的一种技术。对于不同类型的编码器,评判其好坏可以从多个方面进行考量,包括编码质量、速度、模型结构等。 编码器的原理主要基于自动编码器
2024-01-23 10:58:07415
评论
查看更多