【《极化码的实现发展研究国内外文献综述》3800字】_第1页
【《极化码的实现发展研究国内外文献综述》3800字】_第2页
【《极化码的实现发展研究国内外文献综述》3800字】_第3页
【《极化码的实现发展研究国内外文献综述》3800字】_第4页
【《极化码的实现发展研究国内外文献综述》3800字】_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

极化码的实现发展研究国内外文献综述研究背景随着移动通信的发展,目前5G已经在我国一些大中城市中得到了商用。国际电信联盟定义了5G的三大使用场景:增强型移动宽带、高可靠低时延通信和大规模机器通信。三大使用场景包罗万象,像超高速移动通信、物联网等。通常使用可靠性和有效性来衡量一个通信系统的性能,5G以及未来的通信必将对这两个性能指标提出巨大的挑战。为了提高通信系统的可靠性,通常使用的是纠错编码技术,对应图1.1基本通信系统中的信道编码部分。常用的做法是在发送信息中加入一些冗余信息,是一种牺牲通信的有效性来换取可靠性的技术REF_Ref67642481\r\h[1]。基本通信系统模型信息论的奠基人香农在1948年发表的论文《通信的数学理论》REF_Ref67642494\r\h[2]中证明出当信息传输率低于信道容量的时候,采用合适的编码技术,总可以达到信息容量。香农本人并没有给出这种具体的编码技术,半个多世纪以来,许多学者对这种编码技术进行了研究,信息传输率也不断逼近信道容量。在1993年,Turbo码REF_Ref67642502\r\h[3]由法国学者Berrou提出,该码是首个得以接近香农限的现实可靠的编码。Turbo码是一种级联码,长码通过交织器由短码来构造生成,为了逼近最大似然译码性能,译码采用软输出迭代译码算法。Turbo码在低信噪比的场景下拥有优越的性能,在3G和4G移动通信系统中已经发挥了巨大的作用。另一种逼近香农限的编码是低密度奇偶校验码(LowDensityParityCheck,LDPC)。LDPC码REF_Ref67642509\r\h[4]是一种线性分组码,最开始在1962年由Gallager提出,但受限于当时的计算机性能,被时代抛弃一段时间。在1996年Mackay等人重新研究了LDPC码REF_Ref67642520\r\h[5],发现LDPC码是一个好码,并且具有更低的译码复杂度。之后学者进一步研究发现LPDC长码的性能可以优于Turbo码,可以进一步接近香农限,而且LPDC码具有可并行译码、硬件易于实现的优点,因此被选为5G的主要信道编码方案之一。虽然上面两种编码方式,通过实验仿真具有逼近香农限的能力,但没有理论支撑它们确实能逼近香农限。直到2009年,土耳其教授Arikan提出了在无记忆二进制离散信道下的编码方案极化码REF_Ref67642527\r\h[6],并且在数学上严格证明了极化码可以达到香农限。Arikan通过对两个独立的二进制离散信道进行组合和拆分,发现信道的截止频率会升高,而总的信道容量是不变的,单个信道的容量会向两边偏移。基于此项发现,Arikan提出了信道极化理论和极化码。尽管极化码提出只有短短十几年,但已经取得了辉煌的成就。在2016年,由中国通信公司华为主推的极化码,被选为5G增强移动带宽场景下控制信道的解决方案。目前,随着5G商用的普及,各大通信厂商也推出了自己的网络设备和终端,希望能在5G的时代拥有自己的一席之地。随着联发科天巩1000、华为麒麟990芯片的发布,5G的商业竞争更加白热化。而极化码在5G商用的实现上,仍然存在较大的上升空间。对于用户来说,追求的是更低的时延、更高的数据速率和更低的功耗,极化码的硬件实现在这些方面还需要改进。为了适应5G快速更替的挑战,本文对极化码的硬件实现进行研究。由于极化码是线性分组码,编码方式就是一个矩阵乘积问题,易于实现,本文主要对极化码译码算法研究并基于FPGA实现高吞吐率和低译码时延的极化码译码器。极化码国内外研究现状极化码只有当码长趋近于无限时才能达对称信道的容量,然而在实际的通信系统中,码长是有限的,因此在纠错性能方面,Arikan教授在论文中的提到的SC译码算法性能不如LDPC码,尤其对于短码长的极化码。原因主要有两个方面,一是码长有限,信道极化不完全;二是串行抵消(SuccessiveCancellation,SC)译码算法采用串行逐比特译码的方式,译码过程中如果前面码元译码结果出现了错误,那么后面码元也大概率会出现错误。为了解决SC译码算法性能低的问题,Vardy等学者提出了串行抵消列表(SuccessiveCancellationList,SCL)译码算法REF_Ref67642549\r\h[7]。该算法将译码过程中出现的多条路径使用列表存储起来,将SC译码算法由深度优先转换为广度优先,大大降低了译码误码率。随后Balatsoukas等人将SC和SCL译码算法中似然比的运算REF_Ref67642557\r\h[8],由实数域转换为对数域,这样计算过程中的乘除法在对数域就变成了加减法的运算,不仅大大降低了软件实现过程中的计算复杂度,而且对硬件结构的简化也很有帮助。为了进一步提高译码算法的性能,牛凯等学者提出了CRC串行抵消列表(CRC-AidedSuccessiveCancellationList,CA-SCL)译码算法REF_Ref67642563\r\h[9],该算法将循环冗余校验(CyclicRedundancyCheck,CRC)技术引入到SCL译码算法中。首先在极化码编码时加入CRC校验比特,然后对译码过程中存在的L条路径进行CRC校验,删选出满足CRC校验和为0的路径,仿真结果表明该算法相对SCL译码算法性能更好。王敏则是将CRC技术引入到SC译码算法中REF_Ref67864273\r\h[10],有效的提高SC译码的性能。由于极化码与RM(ReedMuller)码类似,Arikan教授研究了RM码的译码方法后提出了极化码的BP译码算法REF_Ref67642573\r\h[11]。BP译码算法相对SC系列的译码算法最大的改进是译码时延很低,但是译码过程中存在着大量的迭代运算,存在着很高的计算复杂度REF_Ref67642579\r\h[12]。目前在极化码纠错性能方面,比较好的译码算法还是CA-SCL译码算法,可以保证即使在码长较短的情况下,纠错性能也高于LDPC码。极化码相对其它纠错编码技术在译码延迟方面较差。主要原因一是SC译码算法是逐比特译码,后面码元的译码结果需要前面已经译出码元的结果,不能并行化译码。二是为了使信道极化完全,必须使用码长较长的极化码,而长码会进一步增加串行译码的延迟。为了降低SC译码算法的译码延迟,Alamdar等人提出了简化的串行抵消(SimplifiedSuccessiveCancellation,SSC)译码算法REF_Ref67642588\r\h[13]。该算法由部分码的概念引出,将节点分为1速率节点和0速率节点。对于0速率节点,可以直接将码字译为0,不用继续走译码流程;对于1速率节点,按照SC译码算法进行判决,该算法有效的降低了译码延迟。为了证明SSC译码算法的实用性,同时期的Zhang等人对SSC译码算法进行了硬件实现。实验结果表明,硬件环境一致的情况下,SSC译码算法相较于SC译码算法可以降低39.6%的译码延迟REF_Ref67642594\r\h[14]。然而SSC译码算法中还存在着大量的混合节点,这些混合节点的译码依然存在着较大的延迟,为了优化混合节点的译码延迟,Sarki等人基于最大似然译码算法提出了ML-SSC译码算法REF_Ref67642602\r\h[15],该算法使用穷尽搜索最大似然比的方式处理SSC译码算法中的混合节点。实验结果表明时延可以进一步降低,但是译码复杂度却增加了。陈凯等学者研究了并行SC译码算法来降低译码时延,在码长较短时候取得了较好的效果REF_Ref67865752\r\h[16]。为了兼顾译码性能和译码时延,Hashemi等学者研究了在译码性能较好的SCL译码算法上使用SSC算法,提出了Fast-SSCL(FastSimplifiedSuccessiveCancellationList)算法REF_Ref67642610\r\h[17]REF_Ref67642612\r\h[18],并且将SSC译码算法中的数学公式进行简化便于硬件实现,但是简化后译码性能方面稍微削弱了。当列表数很大时,Fast-SSCL算法中的剪枝操作时延会很高,Xia等人提出使用双阂值法REF_Ref67642619\r\h[19]来进行处理,实验结果表明双阂值法可以有效降低译码时延。但列表数很大时,资源消耗就会很高。由于SC系列译码算法是逐比特译码,因此改进译码时延的另一个方向是一次译多个码元,从译码码树角度看就是对码树进行剪枝操作。Yuan等学者先后提出了双比特判决SC译码算法REF_Ref67642625\r\h[20]和多比特SCL译码算法REF_Ref67642631\r\h[21],然而依然存在硬件实现复杂度高的问题。黄志成等人将流水线结构引入到多比特译码算法中,但是流水线结构需要额外的逻辑控制,目前只局限在码长较短的情况下REF_Ref67865692\r\h[22]。边鑫等人则将双比特推广到四比特,提出四比特译码算法REF_Ref67865702\r\h[23],相较于双比特,译码时延进一步降低。极化码硬件实现的发展极化码编译码理论的研究为硬件的实现打下了基础,目前极化码的硬件实现上都是以低时延、高吞吐率为设计目标。实现上大都具有这样一个特点:为了适应硬件结构,对理论计算进行一定的简化,例如使用加减法代替乘除法、使用定点数代替浮点数等。这样操作后在硬件实现上不仅可以简化硬件结构,而且还能节省存储空间。在硬件架构方面,首先被提出的是基于SC译码算法的架构,然后是SCL算法的硬件架构。在2011年,Leroux等人利用SC译码算法与快速傅里叶变换类似的计算结构提出了一种蝶形架构,该译码器因此被称为FFT-likeSC译码器REF_Ref67642643\r\h[24]。对于蝶形结构,对存储空间有巨大的需求,这篇文章同时提出了一种树型结构来节省资源,Leroux设计的SC译码器为接下来的译码器设计提供了思路。在2013年Leroux等人为了提高树型译码器的性能提出了一种半平行结构的译码器架构REF_Ref67642649\r\h[25]。半平行结构可以有效降低长码长极化码对资源的消耗,同时对于对数似然比的运算进行了5bit量化,在降低计算复杂度的同时也减少了对硬件资源的消耗。实验结果表明,在经过量化后,译码性能逼近于直接使用浮点数进行计算的性能。在2014年,Balatsoukas等人首次提出了SCL译码器的硬件实现架构REF_Ref67642657\r\h[26],这个架构是基于似然比的计算,计算复杂度高并且占用存储空间较大。2015年,Balatsoukas对原有架构进行了优化,采用对数似然比来简化计算REF_Ref67642663\r\h[27],提出了基于对数似然比的硬件架构,该架构明显降低了计算的存储复杂度。对于SCL译码算法,存在L条译码路径,当译码路径大于L时就需要使用排序算法来删选出满足要求的L条路径。当L较大时,路径排序算法也是一个关键步骤。Kong等人提出了一种分离式排序方法REF_Ref67642669\r\h[28]。该方法设定一个阈值来过滤部分不符合要求的路径,对剩下的路径排序,实验结果表明该方法可以降低50%的排序复杂度。接下来译码器架构进行到了快速译码阶段。这个时期提出的译码器架构REF_Ref67642676\r\h[29]REF_Ref67642682\r\h[30]都是以SCL算法为基础,结合新被提出的快速译码方法来进行设计。2018年Hashemi等人做了进一步研究,提出了一种通过分割子树来提高吞吐率的译码器架构REF_Ref67642688\r\h[31]。这种架构不仅具有优秀的纠错性能,而且对计算复杂度和存储复杂度也显著改善。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论