电子发烧友网 > 可编程逻辑 > 正文

基于FPGA的极化码的SCL译码算法研究

2019年01月06日 11:19 次阅读
0 引言 2008年ARIKAN E提出了信道极化的概念并对信道极化现象进行了详细的描述[1]。极化码的主要过程是在编码系统中通过对信道进行结合与拆分,然后在其中选择好的部分信道来进行有效数据的传输。极化码被严格证明有以下两个特性:一是基于信道极化现象存在;二是在码长为无限长时,其信道容量可达香农极限。相比于经典的Turbo码与LDPC码,极化码具有更低的误码率和复杂度以及更高的吞吐率[2-3]。 极化码的译码算法研究近年来发展迅速,其中成为研究热点的连续删除(Successive Cancellation,SC)译码算法的基本思想是通过对信息位的比特似然概率值的判断来进行译码。但由于在译码时前一个译码值会对之后的译码值造成影响,因此导致译码性能较差[4]。在此基础上改进的序列连续删除(Successive CancellaTIon List,SCL)算法能在计算复杂度与空间复杂度之间实现更好的平衡[5],相比于在软件上实现该算法,在FPGA上进行SCL译码可以使译码速度进一步加快[6]。目前极化码各方面都已经取得了硕果,但是在FPGA上的译码实现仍然存在着译码效率和吞吐率不够高等问题[6]。因此本文针对极化码的SCL译码算法进行了研究和优化,减少资源消耗同时提高译码效率;针对FPGA上的译码器龙8国际娱乐网站进行了定点量化的改进;最后在Xilinx的VC707开发板上进行了译码器的实现与性能分析。实验结果表明译码器在码长为512时译码效率为143.988 MHz,吞吐率达到了28.79 Mb/s,具有较强的工程使用价值。 1 极化码的SCL译码算法 SCL译码算法实质是对SC译码算法的推广,SC译码算法的基本思想是通过对每个传输码字的LLR(对数似然比值)进行判断译出码字,LLR的定义如式(1)所示。 基于FPGA的极化码的SCL译码算法研究 图1所示为SC译码路径示意图,由示意图和LLR计算公式可以看出SC译码在译码过程中前一个译码值与之后的译码值相互关联,这将对其译码算法的性能造成影响。 基于FPGA的极化码的SCL译码算法研究 基于FPGA的极化码的SCL译码算法研究 如图2所示的SCL译码过程中,传输的码字为1010,其中前两位为固定比特,后两位为信息比特。传输码字从根节点出发向下扩展,可以得到相应的PM值,一直扩展到4条路径,此时取出PM值较小的两条路径继续扩展,其余路径删除,因此最终只有4条路径,其中最后算出的PM值最小的相应路径即为译码结果。图2中曲线代表此次PM值最小路径为1010,译码结果正确。 基于FPGA的极化码的SCL译码算法研究 2 SCL译码的优化与龙8国际娱乐网站 SCL译码算法的核心依然是SC译码算法,但其性能优于SC译码算法。在FPGA上进行SCL译码算法的实现会遇到如何提高译码效率和吞吐率以及如何合理利用FPGA片上资源等挑战。针对SCL译码算法的优化可以在基于其具有的递归结构下对译码计算过程进行简化,针对FPGA上的译码器龙8国际娱乐网站可在运算过程中对浮点数进行量化,更有利于硬件实现。 2.1 SCL译码算法系统龙8国际娱乐网站 图3所示为本文所龙8国际娱乐网站的SCL译码系统图,针对在SCL译码的过程中有可能出现最小PM值路径译码不是正确译码的情况,可以通过采用文献[8]中的增加循环冗余校验(Cyclic Redundancy Check,CRC)辅助的方法来进行解决。在编码系统中先对源码进行校验码的添加,然后进行极化码的编码生成相应的码字进行传输。解码系统在FPGA上使用龙8国际娱乐网站的译码器对传输过来的码字进行极化码译码以及校验码校验,在译码最后阶段的路径选择时从最小PM值逐条校验,一旦出现校验通过的路径即为译码结果。 基于FPGA的极化码的SCL译码算法研究 2.2 SCL译码算法优化 SCL译码过程实质是L个SC译码算法同时进行,图4所示为码长为8时的SC译码算法递归流程图,图中传递的信息均为LLR,其中S代表计算层数,i代表相应码字标号。 基于FPGA的极化码的SCL译码算法研究 在SC译码算法中,LLR的计算公式如下: 基于FPGA的极化码的SCL译码算法研究 2.3 FPGA中实现算法的改进 在图4所示的SC译码算法流程图中实线部分代表执行的f函数,虚线部分代表执行的g函数。分别定义如下: 基于FPGA的极化码的SCL译码算法研究 在SCL译码过程中的LLR计算值均为浮点数,直接在FPGA中计算会使得译码复杂度较高,因此将浮点数进行定点量化转变成定点数,定点量化的结果通过(O,R,D)来表示,定义如表1所示。 基于FPGA的极化码的SCL译码算法研究 对f函数进行改进之后,译码过程中的计算不再涉及乘除法,因此信道输出和LLR的小数位数可以一致。由于采用定点量化用量化值代替了原始值,必定会对译码结果造成一定影响,因此选择合适的量化比特数和小数位数尤为重要。通过对信道输出值以及运算过程中的对数似然比值进行详细的分析以及对比实验,选出了三种如下较好的量化方式。图5所示为量化前后的BER曲线图。 基于FPGA的极化码的SCL译码算法研究 如图5所示的三种量化方式相比,(4,4,0)由于LLR量化的比特数过小,导致效果不是很理想。(4,5,0)和(5,6,1)的量化选择基本没有降低SCL的译码性能,而(4,5,0)这种没有小数位的量化选择更有利于在FPGA上进行计算,因此译码器的龙8国际娱乐网站选用(4,5,0)的量化方式。 3 译码硬件平台与译码测试结果 3.1 硬件平台选择 本文选择在Xilinx的VC707开发板上对译码器进行实现。该开发板的主芯片为XC7VX485T,包含有485 760个逻辑单元、2 800个DSP Slice、37 080 KB内存以及700个I/O引脚等资源。其最高运行频率可以达到741 MHz,可以用来实现极化码的译码。图6为该评估板实物图。 基于FPGA的极化码的SCL译码算法研究 3.2 译码的仿真与测试 为了对SCL和SC算法进行对比以及选择一个合适的路径删减值L,在译码器编写前对各L值下的SCL算法进行了MATLAB仿真,仿真结果如图7所示。 基于FPGA的极化码的SCL译码算法研究 由图7可知当L=1和L=2时误比特率差别较大,再继续加大L值时虽然可以使误比特率进一步降低,但是差别已经没有那么明显,为了在FPGA上能够更容易实现SCL算法,选择L=2来进行路径删减实现算法。 接着对译码器的正确性进行验证,先通过ModelSim仿真软件对译码器进行硬件仿真。然后使用ISE软件带有的Chipscope在线逻辑分析仪去抓取在FPGA上的译码结果,通过硬件仿真结果与FPGA上的译码结果对比来验证译码的正确性。 如图8所示上半部分为在ModelSim上码长为64时的仿真结果,data_u_out和data_uhat_out分别为输入源码字和译码仿真结果。下半部分为使用Chipscope抓取的FPGA中运行结果波形图,data_u和data_uhat分别为输入源码字和实际译码结果。输入源码中有一半码字为固定比特,因此有效码字只有32位。由图8可以看出源码字和仿真结果以及FPGA译码结果均为69ab4d68,因此本次译码结果正确。 基于FPGA的极化码的SCL译码算法研究 图9和图10所示分别为码长为128和512时的仿真结果和译码结果波形图。在抓取512码长的波形时,由于码长太长,因此在Chipscope中分成了四段进行显示,由于Chipscope与ModelSim显示顺序不同,因此用相应数字表示了相应的结果顺序,可以看出译码结果均正确。 基于FPGA的极化码的SCL译码算法研究 基于FPGA的极化码的SCL译码算法研究 3.3 译码性能分析 下面对算法的性能以及工程占用资源等进行综合分析,在ISE软件上的综合报告中可以查看译码器在FPGA上的资源使用结果,如表2所示。 基于FPGA的极化码的SCL译码算法研究 通过综合资源结果可以对译码器的吞吐率进行计算,公式如下: 基于FPGA的极化码的SCL译码算法研究 式中N为有效码长,fmax为最大时钟频率,td为译码延迟的时钟周期数。吞吐率计算结果如表3所示。 基于FPGA的极化码的SCL译码算法研究 4 结论 如今极化码正越来越受到研究者们的重视,而国内在极化码译码算法研究方面有待深入,尤其是在硬件平台中实现的较少。基于此本文主要针对极化码的SCL译码算法进行了研究与优化,并在FPGA上龙8国际娱乐网站了译码器,最后在Xilinx的VC707开发板上进行译码器的实现。该译码器的龙8国际娱乐网站降低了译码复杂度以及FPGA上的资源消耗,在码长为512时译码最高频率为143.988 MHz,吞吐率为28.79 Mb/s,有较强的工程实用性。
下载发烧友APP
打造属于您的人脉电子圈
关注电子发烧友微信
有趣有料的资讯及long88.vip龙8国际干货
关注发烧友课堂
锁定最新课程活动及long88.vip龙8国际直播
电子发烧友观察
一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

AD2S83A数据突变

发表于 2019-01-07 11:37 7次阅读
AD2S83A数据突变

【PYNQ-Z2试用体验】玩转PYNQ系列:二、板卡上电与开发环境配置

发表于 2019-01-07 11:34 22次阅读
【PYNQ-Z2试用体验】玩转PYNQ系列:二、板卡上电与开发环境配置

基于FPGA的CPCI系统龙8国际娱乐网站和实现方案

本文提出了一种基于FPGA的CPCI系统的龙8国际娱乐网站和实现,使用廉价FPGA芯片实现CPCI通信协议,同时...
发表于 2019-01-06 11:37 98次阅读
基于FPGA的CPCI系统龙8国际娱乐网站和实现方案

基于有限状态机的FPGA DSR路由表项龙8国际娱乐网站和实...

动态源路由协议(Dynamic Source Routing)[3]是一种按需路由协议,是十分适用于...
发表于 2019-01-06 11:33 86次阅读
基于有限状态机的FPGA DSR路由表项龙8国际娱乐网站和实...

Xilinx FPGA常用原语介绍

项目中主要用到的原语与IO端口有关,所以基本在Input/Output Functions 和IO两...
发表于 2019-01-06 11:23 102次阅读
Xilinx FPGA常用原语介绍

四个常用的集成电路浅析

ASIC原本就是专门为某一项功能开发的专用集成芯片,比如摄像头里面的芯片,小小的一片,集成度很低,成...
发表于 2019-01-06 09:35 132次阅读
四个常用的集成电路浅析

AI芯片什么是AI芯片的架构、分类及关键long88.vip龙8国际概述

人工智能芯片目前有两种发展路径:一种是延续传统计算架构,加速硬件计算能力,主要以 3 种类型的芯片为...
发表于 2019-01-05 09:15 275次阅读
AI芯片什么是AI芯片的架构、分类及关键long88.vip龙8国际概述

基于LabVIEW FPGA模块程序龙8国际娱乐网站特点的F...

为了解决基于LabVIEWFPGA模块的DMAFIFO深度设定不当带来的数据不连续问题,结合LabV...
发表于 2019-01-04 14:25 81次阅读
基于LabVIEW FPGA模块程序龙8国际娱乐网站特点的F...

基于Nios II嵌入式系统的FPGA配置文件下...

现场可编程门阵列(FPGA,Field Programmable Gate Array)是一种高密度...
发表于 2019-01-04 14:15 73次阅读
基于Nios II嵌入式系统的FPGA配置文件下...

图像处理FPGA 龙8国际娱乐网站基本方法和代码

发表于 2019-01-04 13:59 137次阅读
图像处理FPGA 龙8国际娱乐网站基本方法和代码

SDSoC:无需写硬件代码在C/C+开发完整系统

发表于 2019-01-04 13:30 148次阅读
SDSoC:无需写硬件代码在C/C+开发完整系统

FPGA加速卡PCB龙8国际娱乐网站考虑

发表于 2019-01-04 11:36 92次阅读
FPGA加速卡PCB龙8国际娱乐网站考虑

请问如何强制我的计算机使用Nodelocked许可证?

发表于 2019-01-04 11:17 43次阅读
请问如何强制我的计算机使用Nodelocked许可证?

FPGA已远远超出了现在体系结构的探索 为未来的...

该系列器件现在包括从基本的可编程逻辑一直到复杂的SoC。在各种应用领域(包括汽车,AI,企业网络,航...
发表于 2019-01-03 15:38 243次阅读
FPGA已远远超出了现在体系结构的探索 为未来的...

【限时下载】赛灵思开发者大会,资料大集锦!

赛灵思开发者大会北京站的全部演讲内容现已开放,现整理供大家下载学习
发表于 2019-01-03 15:32 0次阅读
【限时下载】赛灵思开发者大会,资料大集锦!

FPGA和DSP明争暗斗 意图抢占20亿美元高性...

经过20多年的努力后,在工艺long88.vip龙8国际进步和市场需求的推动下,“大器晚成”的FPGA终于从外围逻辑应用进入...
发表于 2019-01-03 15:32 271次阅读
FPGA和DSP明争暗斗 意图抢占20亿美元高性...

海量干货分享!XDF(赛灵思开发者大会)北京站各分论坛演讲资料公布

发表于 2019-01-03 15:19 2643次阅读
海量干货分享!XDF(赛灵思开发者大会)北京站各分论坛演讲资料公布

电路龙8国际娱乐网站[FPGA]龙8国际娱乐网站经验分享

发表于 2019-01-03 14:19 133次阅读
电路龙8国际娱乐网站[FPGA]龙8国际娱乐网站经验分享

用于ADAS和自动驾驶的FPGA的案例

发表于 2019-01-03 13:26 105次阅读
用于ADAS和自动驾驶的FPGA的案例

Zynq UltraScale + MPSoC USB 3.0 CDC器件类龙8国际娱乐网站

发表于 2019-01-03 09:59 113次阅读
Zynq UltraScale + MPSoC USB 3.0 CDC器件类龙8国际娱乐网站

基于FPGA的均值滤波算法的实现

  我们为了实现动态图像的滤波算法,用串口发送图像数据到FPGA开发板,经FPGA进行图像处理算法后...
发表于 2019-01-02 16:26 93次阅读
基于FPGA的均值滤波算法的实现

FPGA为嵌入式龙8国际娱乐网站带来了强大的功能与灵活性

尽管 FPGA 为嵌入式龙8国际娱乐网站带来了强大的功能与灵活性,但额外的开发流程也给龙8国际娱乐网站工作增加了新的复杂性和...
发表于 2019-01-02 15:29 119次阅读
FPGA为嵌入式龙8国际娱乐网站带来了强大的功能与灵活性

基于SRAM的FPGA的问世标志着现代可重构long88.vip龙8国际...

由于数字逻辑系统功能复杂化的需求,单片系统的芯片正朝着超大规模、高密度的方向发展。对于一个大规模的数...
发表于 2019-01-02 15:10 73次阅读
基于SRAM的FPGA的问世标志着现代可重构long88.vip龙8国际...

蜂鸟FPGA开发板及蜂鸟JTAG下载器讲解说明:...

本系列主要就蜂鸟FPGA开发板及蜂鸟JTAG下载器进行讲解说明。由于RTOS需要占用一定系统资源,只...
发表于 2019-01-02 15:06 223次阅读
蜂鸟FPGA开发板及蜂鸟JTAG下载器讲解说明:...

Verilog如何编程?Verilog编程知识点...

FPGA的龙8国际娱乐网站就是将自己想要实现的逻辑通过计算机能够理解的语言描述出来,并让计算机根据FPGA内部的...
发表于 2019-01-01 10:13 199次阅读
Verilog如何编程?Verilog编程知识点...

FPGA的蜕变之旅——7nm的ACAP

虽然FPGA一直在数十亿美元的小众市场行走,在整个千亿元级IC大盘中只占据一隅,但并不妨碍它的追逐之...
发表于 2019-01-01 10:10 206次阅读
FPGA的蜕变之旅——7nm的ACAP

并行PCB龙8国际娱乐网站有哪些关键准则和评估应考虑的四个问...

随着它们承载的器件的复杂性提高,PCB龙8国际娱乐网站也变得越来越复杂。相当长一段时间以来,电路龙8国际娱乐网站工程师一直相...
发表于 2018-12-31 10:06 430次阅读
并行PCB龙8国际娱乐网站有哪些关键准则和评估应考虑的四个问...

通过与英特尔long88.vip龙8国际相结合 FPGA可以更好地充分释...

众所周知,人才是城市建设的主力军,但是只有户口没有产业,人才也无法真正扎根,因此吸引人才的关键并不只...
发表于 2018-12-30 17:20 464次阅读
通过与英特尔long88.vip龙8国际相结合 FPGA可以更好地充分释...

英特尔全球最大的FPGA创新中心落户重庆,除了A...

人工智能对算力的需求吸引了众多公司研发AI芯片,但仅靠一种芯片难以满足AI需求,因此,无论是传统架构...
发表于 2018-12-29 16:10 689次阅读
英特尔全球最大的FPGA创新中心落户重庆,除了A...

在OpenBus系统基础上的FPGA嵌入式龙8国际娱乐网站方...

现场可编程门阵列FPGA(Field Programmable Gate Array)是美国Xili...
发表于 2018-12-29 15:07 395次阅读
在OpenBus系统基础上的FPGA嵌入式龙8国际娱乐网站方...

一种使用ARM+FPGA高速访问USB设备的龙8国际娱乐网站...

目前FPGA通过USB接口获取USB设备中数据的方案大致分为两大类,一类为在FPGA内部实现USB设...
发表于 2018-12-29 15:00 476次阅读
一种使用ARM+FPGA高速访问USB设备的龙8国际娱乐网站...

仿真软件ModelSim及其应用,ModelSi...

ModelSim不仅可以用于数字电路系统龙8国际娱乐网站的功能仿真,还可以应用于数字电路系统龙8国际娱乐网站的时序仿真。 M...
发表于 2018-12-29 11:35 630次阅读
仿真软件ModelSim及其应用,ModelSi...

教你如何轻松玩转FPGA开发

FPGA代码其中一个最重要的步骤就是仿真。仿真简单的说,就是验证代码是否正确,其中就包含了很多仿真的...
发表于 2018-12-29 10:29 1714次阅读
教你如何轻松玩转FPGA开发

一种基于Xilinx FPGA的部分动态可重构技...

随着现代通信long88.vip龙8国际的迅速发展,信号