极化码研究综述*

2020-10-24 11:25刘荣科冯宝平
遥测遥控 2020年4期
关键词:译码器译码复杂度

刘荣科,孙 贺,冯宝平,孔 玲

(1 北京航空航天大学 北京 100191 2 93303 部队 沈阳 110069)

引 言

极化码(Polar Codes)是由Arikan 教授于2009 年提出的一种新型信道编码方法[1]。极化码被证明可以达到信道容量,并且具有准线性的编译码复杂度,相比于其他编码更容易进行理论分析和性能预测。与传统信道编码不同,极化码有固定的构造结构,没有误码平层现象,拥有更加灵活且通用的速率适配方案,在实际应用中展现出极大的灵活性与普适性。2016 年,在3GPP RAN1#87 次会议上,华为公司主推的极化编码方案被确定为5G 增强移动宽带eMBB(Enhanced Mobile Broadband)场景下控制信道的编码方案。这标志着极化码从理论研究向实际应用的跨越。

虽然极化码有众多独特优势,但在实际应用中,极化码仍面临一些挑战。首先,在信道极化理论中,虽然无限码长的极化码在连续消除SC(Successive Cancellation)译码算法下被证明可以达到信道容量,但是对于有限长极化码,SC 译码算法的译码性能并不理想。有限码长下的高性能极化编译码算法值得深入研究。第二,原始极化码码长为2 的幂次,在实际应用中需要根据场景所需的编码长度设计任意长且适合实际系统要求的极化码。第三,目前,对有限长极化码的研究主要针对二进制对称无记忆信道,在记忆信道、删节信道等特殊信道下针对极化码的研究还很少。而实际通信环境下的信道状态复杂多样,针对特殊信道模型下的极化理论与编译码算法研究对于拓展极化码的应用尤为重要。第四,极化码的SC 译码是串行逐比特译码,其串行特性导致译码延时大、复杂度高。设计复杂度低的快速译码算法与硬件架构对于推动极化码在实际通信系统中的应用具有重要意义。

极化码研究所涉及的领域广泛,限于篇幅,本文选取了极化码理论与应用研究中的一些具体问题对当前极化码研究中的一些热点方向进行了综述。主要涉及在实际应用中亟需解决的有限长极化码构造问题、高速高效极化译码算法与硬件设计、特殊信道下的极化理论研究以及实际应用场景下极化码编译码算法的优化设计等四个方面。第一节主要介绍了常用的极化码码字构造与编码算法。第二节从译码算法以及硬件实现两方面介绍了目前常用的极化码译码方法。第三节主要介绍了特殊信道下的极化理论与编译码算法的研究现状,包括记忆信道与插入/删节信道下的极化理论与编译码算法研究。第四节则对实际场景中极化码的应用研究现状作了介绍,包括极化码在差错控制、信源压缩以及物理层安全中的应用研究等。

1 极化编码与构造理论

1.1 极化现象

极化码是一种基于信道极化现象构造得到的编码方法。信道极化的基本原理是将原始信道进行极化变换,使得变换后得到的虚拟子信道的容量呈现两极分化的过程。极化变换的过程如图1 所示。具体地说,信道极化是由N个完全相同且相互独立的B-DMC 信道W,经过信道合并,得到合并后的等效信道。然后按照编码矩阵定义的输入位置与输出比特的对应关系,将信道合并产生的合成信道进行信道分裂生成一组新的N个虚拟子信道,称为极化信道。极化信道的容量存在差异性。图2 表示码长为16、256、4096 与65536时,错误概率为0.5 的BEC 信道经过极化变换后信道容量从小到大的排列情况。如图2 所示,随着码长的增加,极化信道容量收敛于0 或1 两个极端值,信道容量位于(0,1)中间部分的极化信道的数量越来越少。在N趋于无穷的情况下,N个极化子信道的对称容量接近于0 或1,其物理意义为一部分信道趋于完全噪声信道(传输错误概率趋于0.5),而另一部分信道趋于完全无噪信道(传输错误概率趋于0)。极化码在无噪声信道中传输信息比特,在全噪声信道中传输收发双方约定的固定比特,即冻结集,以此来达到保护传输信息的目的。

图1 极化变换Fig.1 Polarization transformation

1.2 极化码冻结集位置的选择方法

极化变换导致极化信道之间的容量差异增加。为提高传输可靠性,需要选取可靠的极化信道传输所要发送的信息。同时,用可靠性较低的极化信道传输编译码器已知的冻结集信息。图3 表示错误概率为0.5 的BEC 信道下,码长为1024 比特的极化码经极化变换后的信道容量分布。如图3 所示,极化信道容量同索引位置并非呈线性关系。因此,为了确定可靠子信道的索引,需要对极化子信道可靠性进行计算或者排序。计算极化子信道可靠性的方法主要有蒙特卡洛仿真方法、密度进化算法以及高斯信道下的高斯近似[2]算法。

图2 错误概率0.5 的BEC 信道下不同长度的极化变换后信道容量分布图Fig.2 Channel capacity distribution of BEC channel with error probability 0.5 after polarization transformation in terms of different code lengths

图3 错误概率0.5 的BEC 信道极化变换后的信道容量分布图(N=1024 比特)Fig.3 Channel capacity distribution of BEC channel with error probability 0.5 after polarization transformation(N=1024 bits)

密度进化算法最初被应用于优化LDPC 编码的度分布。密度进化不需要对特定的信道接收信息进行计算,而是对给定码字与信道条件下译码所需信息的概率密度函数进行计算。在极化信道可靠性计算问题中,密度进化仍然适用[3]。然而,在实际应用中,密度进化需要维护高维向量以存储概率密度函数,复杂度很高。另一方面,极化码子信道可靠性的顺序直接影响着冻结集的选取以及译码性能,所以设计复杂度低且精确的极化子信道可靠性计算方法尤为重要。目前,主要有高斯近似及其简化算法、基于极化矩阵或偏序的极化子信道可靠性离线计算方法等。其中,在高斯信道下可以采用高斯近似算法,以较低的复杂度完成极化码的构造。高斯近似方法将密度进化中的译码消息(即对数似然比)的概率密度函数近似为一组方差为均值2 倍的高斯分布,从而简化成对一维均值参数的计算,降低了密度进化的计算量。文献[4]提出一种简化的高斯近似构造方法,有效降低了构造复杂度。此外,有关学者还提出冻结集的离线构造[5]方法,根据极化码生成矩阵计算极化权重,获得给定码长下的子信道可靠性顺序表。目前,在3GPP 确定的NR 控制信道极化编码标准中采用了固定极化信道可靠性顺序的离线构造方法,有效降低了极化码构造的复杂度与延时。

传统构造方法首先计算所有子信道的可靠性,然后通过对可靠度排序来选择信息集,需要计算全部极化子信道的可靠性顺序。计算全部极化子信道以确定极化可靠性顺序的过程存在大量的冗余计算。由于极化码的固定构造结构,存在一些可靠性相对大小关系固定的偏序关系。利用这些极化子信道可靠性之间存在的偏序关系[6-8],可以减小需要计算信道可靠性的子信道数量,从而有效降低构造复杂度。其中,文献[6]提出一种基于偏序关系的极化码字构造方法。此方法采用Hasse 图表示极化子信道的偏序关系,并将这些偏序组成长度可变的链表结构,通过二分查找方法逐渐缩减链表长度。利用偏序关系及二分查找方法有效降低了极化构造过程中需要计算可靠性的极化子信道数量。相比传统算法,文献[6]的方法所要计算的子信道数目只有原来的20%~46%,有效降低了构造过程的计算复杂度与延时。

1.3 任意长极化码的构造方法

极化码被工业界采纳为5G 通信中eMBB 场景的控制信道编码方案。但由于传统极化码编码长度被限定为2 的幂次,在实际通信系统中需要解决任意长构造问题,以满足系统对多种码字长度的要求。目前,学界与工业界主要通过打孔或缩短算法解决任意长度极化码的构造问题。文献[9]到文献[12]分别提出了基于打孔和缩短的极化码构造方法,使得极化码可以更灵活地在实际系统中应用。

打孔方法常用于改变信道编码的码长,在通信系统中获得了广泛应用。图4给出了打孔编码的一般结构。文献[9]提出一种极化码的准均匀打孔方法,获得了相比WCDMA 与LTE 系统下Turbo 码更优的译码性能。其中,打孔比特对于译码器而言完全随机,译码时相应的LLR 初始化为0。文献[10]首次提出了一种规则的缩短码的打孔方式,即shortening 算法。缩短码在编码端用贪心算法将打孔图样内的索引设为冻结集索引,将输入比特设定为已知值。这种算法确保了打孔比特上的编码码字仅由冻结比特计算,可保证被打孔比特对于译码器已知,有效提升了打孔码的译码性能。此种方法可以通过生成矩阵的行列删除操作完成。如图5 所示,缩短码的编码算法选择列重为1 的列进行删除,获得维度为5×5 的缩短码生成矩阵。在3GPP 发布的5G 标准Release 15 中[13],准均匀打孔以及缩短码的构造方法被3GPP 采纳作为5G 控制信道的速率适配方案。

图4 打孔码的编码流程Fig.4 The encoding process of the puncturing codes

图5 Shortening 算法构造码长为5 的缩短码生成矩阵Fig.5 The generator matrix of polar codes with length 5 constructed by shortening algorithm

2 极化码译码

Arikan 给出的原始极化码译码方法是SC 译码算法。随着研究的不断深入,涌现出很多各具特色的极化码译码算法,如表1 所示。例如,结合广度优先与深度优先搜索的思想提出的基于SC 译码的列表译码与栈译码、球译码、置信传播译码、线性规划译码、SCAN 译码以及神经网络译码等算法。其中,SC 类译码是目前主流的极化译码算法,SC 算法具有实现简单、译码性能优良等优势。而其他译码算法虽然相对于SC 算法取得了一定的性能增益,但这些方法在复杂度或适用范围上存在一定的缺陷。此外,随着极化译码算法的不断优化,极化译码器硬件实现方面的研究也在不断深入。本节将从译码算法与硬件实现两个方面介绍极化码译码的研究现状。

表1 极化码译码算法Table 1 Decoding algorithms of polar codes

2.1 极化译码算法

2.1.1 SC 译码算法

在码长足够大时,极化码SC 算法能够获得良好的渐进性能,并被证明能够达到信道容量。但SC译码算法采用逐比特串行译码,这一特性导致较大的译码延时与复杂度。而译码器是基带芯片资源与延时开销的主体。例如,在LTE 系统中,译码器资源开销占据了近40%的基带芯片资源。为了满足新一代移动通信对于极低延时的要求,如何设计并实现复杂度低的极化译码器是学界与工业界一直关注的重要问题。目前主要通过多比特并行译码策略降低译码延时,具体策略包括:借助特殊的节点结构或者节点的可靠性实现部分比特并行译码等。

其中借助于特殊节点结构的策略利用特殊的冻结比特分布结构,定义特殊节点。针对这些特殊节点设计独立的译码算法可以实现多个比特并行译码,其代表性方法有简化的连续删除译码SSC(Simplified Successive Cancellation)算法[14]、ML-SSC(Maximum Likelihood SSC)译码算法[15]、Fast-SSC 译码算法[16]等。但此类译码算法依赖于特殊的节点结构,并且需要针对不同的节点设计不同的译码算法。而节点的结构随着码长码率等参数的变化而变化,导致此类译码算法不能很好地适应多码长码率等应用场景的需要。

为降低对于节点结构的依赖,有关学者提出依据节点可靠性实现部分比特并行译码的思路。其代表性方法有NEP-SSC[17]算法与HTHD-SSC[18]译码算法。此类算法从节点可靠性的角度对节点进行分类,选取可靠性高的节点执行多比特硬判决译码,降低译码延时。此类算法给出了适用于任意节点的通用简化译码方法,在进一步降低SC 类译码延时的同时有效提升了简化方法对于不同码长码率的普适性。此外,文献[19]提出一种预计算技术(Pre-computation Look-ahead Technology),通过预先设定部分和的取值,同时完成多个节点上的译码消息更新过程,提升译码并行度。该方法不依赖于特殊的节点结构,能够减少50%的译码延时。

2.1.2 SCL 译码算法

由于存在极化不充分的问题,有限长极化码的SC 译码性能较差。为了提升SC 译码性能,文献[20]和文献[21]提出了基于列表的SCL(list-SC)译码算法。在译码过程中,不再根据每一个比特进行判决,而是保留最有可能的多条路径。该算法减少了SC 算法带来的误码扩散现象,并且可以根据后续译码结果纠正译码中的错误比特,大幅提升了极化码的译码性能。文献[22]提出一种基于队列结构的栈译码算法SCS(Successive Cancellation Stack)。文献[23]将SCL 与SCS 思想结合,提出新的混合SC Hybrid(Successive Cancellation Hybrid)译码方案,在极化码码树上交替地进行广度与深度搜索,以获取时间复杂度与空间复杂度的均衡。此外,将极化码与循环冗余校验CRC(Cyclic Redundancy Check)码级联[24,25],采用CASCL(CRC-aided SCL)算法译码能够进一步提升SCL 译码性能。

由于SCL 译码算法也具有串行译码特性,译码延时较大。为解决SCL 算法延时过高的问题,文献[26]到文献[28]提出多比特译码方法,该方法同时对极化码相邻的若干个比特进行译码,将一部分的串行计算转换为并行计算,达到提升译码速率的目的。文献[29]提出了一种简化的多比特SMSCL(Simplified Multibit SC List)译码方法。SMSCL 译码方法优化了比特分组方式,在每次判决过程都能够完成多个信息位的译码。此方法在译码延时与存储方面都实现了对现有SCL 算法的简化。相比于MSCL 译码器,SMSCL 译码器减少了4%~75%的译码延时,存储量减少30%~33%。多比特译码方法的优点是利用极化编码的递归结构,对多个比特同时执行译码判决,突破了SC 串行逐比特译码的缺陷,降低了译码延时。但基于SCL 的多比特译码存在路径扩展数量过大的问题,造成较大的译码资源开销,因此限制了分组长度的进一步提升。文献[30]提出了一种极化码简化的多比特译码方法,有效降低了译码延时。在保证性能几乎无损的情况下,译码时钟周期数较传统算法最高可降低58%。

在SCL 以及多比特译码算法中,路径数量的增加将导致译码资源开销过大。为降低SCL 类算法的路径数量,减少不必要的路径扩展操作,文献[31]提出一种基于路径分裂PSS(Path Splitting Selecting)策略的低复杂度SCL 译码方法。由于不同比特的可靠性之间存在显著的差异性,不需要对全部信息比特进行路径扩展。因此,PSS 策略仅在容易出错的比特做路径扩展,可以将SCL 译码复杂度降低20%~50%,同时基本无损译码性能。针对现有的多比特SCL 译码码字划分方法不灵活,导致译码复杂度高的问题,文献[32]提出了Fast-SMSCL 方法,采用改进的码组划分方式,将基于多比特与特殊节点译码的两种简化思路结合,在普通多比特码组划分的基础上结合了Rate-1 以及SPC(Single Parity Check)码组,使单个码组的长度更长,进一步降低了多比特SCL 算法的译码延时。

2.1.3 BP 译码算法

虽然通过多比特译码,优化路径扩展位置等方法可以在一定程度上降低SC 类译码的延时与复杂度,但SC 类算法串行性质由算法本身决定,并行度依然较低。有关学者提出基于置信传播BP(Belief propagation)算法的极化码译码方法,可实现并行译码。在BP 译码器设计与实现方面,Pamuk A 用Xilinx Virtex-4 FPGA 实现了(1024,512)极化码BP 译码器[33],在160MHz 时钟频率下、采用5 次迭代和6bit 量化,译码速率达到27.83Mbps。BP 类译码算法的优势在于并行度高,每个迭代过程可以同时译码全部比特,但缺点是译码性能较差。Bo Yuan 等人[34]提出一种简化的BP 译码器结构,有效提升了译码性能。鉴于BP 译码的并行特性,可以采用神经网络对极化码的BP 译码方法进行优化。文献[35]首次将偏移最小和OMS(Offset MS)用于基于神经网络的极化译码,提出的OMS 算法仅需要执行加法运算,便于硬件实现。基于SOMS 神经网络的译码算法利用DNN 神经网络训练BP 译码网络参数,采用随机梯度下降方法对网络参数进行优化,获得了相比现有BP 译码算法更优的译码性能。文献[36]提出一种高效的极化码BP 译码方法与存储结构,有效降低了BP 译码的空间复杂度与延时。

2.2 极化译码器硬件实现

由于信道译码在基带芯片中资源占用率很高,设计高效的译码器硬件实现方案在实际应用中尤为重要。目前,学界与工业界提出了多种平台下的极化码译码器实现方案,主要有基于专用集成电路ASIC(Application-specific integrated circuit)、ARM(Advanced RISC Machine)、图形处理器GPU(Graphics Processing Unit)等平台的极化译码器实现方案。

基于不同硬件平台设计的译码器具有各自独特的优势与特点:应特定用户要求和特定电子系统的需要而设计制造的专用集成电路ASIC 具有体积小、重量轻、功耗低、可靠性高、成本低等优点。目前,用现场可编程门阵列FPGA(Field-Programmable Gate Array)来进行ASIC 设计是最为流行的方式之一。作为专用集成电路领域中的一种半定制电路,FPGA 既克服了定制电路的缺点,又解决了原有可编程器件门电路数有限的不足。随着半导体工艺水平的进步,FPGA 的功耗和芯片价格持续下降。ARM 作为一种精简指令集芯片,具有可移植性强、高性能、低功耗的优势。由于ARM 核采用向上兼容的指令集系统,用户开发的软件可以方便地移植到更高的ARM 平台。近年来,由于大数据应用与图形引擎领域发展的需要,GPU 的处理性能获得了长足提升。GPU 提供了多核并行计算的基础结构,可以支撑大量数据的并行计算。

总之,基于FPGA 的译码器具有灵活性强、可重复编程操作等优势,适用于高速采样系统与产品的设计开发与验证,充分满足客户的定制化需求,在机顶盒的编解码器芯片、无线应用的RF 芯片、高档汽车电子芯片等领域获得了广泛应用。与此同时,通过重新定义极化码SC 类译码的路径修剪与度量值计算过程,可显著提升基于FPGA 的译码器处理速率并有效降低芯片面积。ARM 则具有较强的事务管理能力,适用于应用程序以及人机交互界面开发等。而GPU 则极大的提高了计算机图形处理的速度和质量,促进了图像处理、虚拟现实、计算机仿真等相关应用领域的快速发展。此外,得益于GPU 并行计算能力,基于GPU 的译码器在提升译码器吞吐率方面具有巨大潜力。

在GPU 译码方面,北京航空航天大学刘荣科教授团队较早开始相关研究,针对SC 译码的串行译码结构和存储需求,借助于GPU 的单指令多线程结构,设计了基于GPU 平台的极化码并行译码架构。表2 给出了基于K20GPU 平台的极化码SC 高速译码器吞吐率与延时。对于常用的码长为256 比特以及512 比特的极化码,基于GPU 实现的译码器可达到1.2Gbps 以上的吞吐率。文献[37]根据极化码译码器存储和计算单元的特点,选取 GPU 的整体并行结构,在GPU 内部进行更新判决,将译码结果传输到CPU,将全局内存的访问次数降低到传统方法的1/16。在K20 平台上测试所提方案的吞吐率可达1.79Gbps。为提升SCL 译码器吞吐率,文献[38]对数据结构进行了优化,提高了访存效率,还提出路径筛选算法,采用lazy-copy 策略优化路径信息复制,达到了对并行度、存储访问、信息传输过程的联合优化。在Titan X 平台上实现的码率1/2、码长512 比特List=32 的SCL 译码器的延迟为6.9 毫秒。针对GPU 流式多处理器之间负载不均衡以及传统BP 译码硬件实现中存储效率低的问题,文献[39]提出两种高效的基于码长的映射策略,在降低译码延时的同时获得了更高的资源利用率。通过8 比特量化,采用异步数据传输技术解决了GPU 多处理器之间负载的均衡问题。在5dB 水平,基于GPU 的BP 译码获得了1 Gbps 吞吐率。

表2 基于K20-GPU 平台的极化码SC 高速译码器吞吐率与延时Table 2 The decoding latency and throughput rate of SC decoder based on K20-GPU

表3 给出了基于ASIC 或FPGA 平台的极化码译码器吞吐率。其中,基于ASIC 平台的快速SCL译码器在时钟频率为1031MHz 条件下达到了1.2Gbps 的吞吐率。在基于FPGA 平台的极化译码器架构设计方面,文献[40]提出了一种基于FPGA 的快速SMSCL 译码算法,利用连续信息位结构,提升SCL译码的并行度。快速SMSCL 译码结构将连续信息比特作为1 节点,选取最不可靠的比特进行路径扩展,与传统的SMSCL 译码算法相比,可减少3%~58%的时钟周期。Stimming 等人设计的SCL 译码器结构,提出了增加pointer 存储器来避免复杂的似然信息的复制过程,并最终在ASIC 平台,采用UMC 90nm 技术,实现了码长为1024、list 数目为2 的极化码译码器。该译码器在时钟频率459MHz 下,译码吞吐率达181Mbps。文献[41]到文献[43]针对SCL 译码,提出一种部分和计算算法,采用部分和指数的复制替代部分和复制。同时,还提出一种混合部分和网络结构,提高了译码器整体的效率。与现有SCL 译码器中的部分和网络相比,在list=4 时,对于码长为8192 比特和32768 比特的极化码,部分和网络分别节约了23%和63%的面积。文献[44]设计了基于ASIC 平台的极化译码器,采用CMOS 90nm 工艺,在码长为1024 比特、list数目为16、时钟频率为641MHz 的条件下,译码器吞吐率可达220Mbps。文献[45]设计了基于ASIC 平台的SCL 译码器。采用TSMC 65 nm 工艺,在list 数目为2、时钟频率为885MHz 条件下,译码器吞吐率可达1.8Gbps。鉴于ARM 平台的低功耗优势,近年来有关学者也提出了一些基于ARM 平台的译码器实现架构。基于ARM 的极化译码器在提升吞吐率方面具有巨大潜力与广阔研究空间。文献[46]提出一种基于ARM 平台的LDPC 码的优化水平分层结构的最小和译码算法及单核多帧并行译码架构,并采用循环展开配合处理器架构来提升译码速度。在ARM A15平台上实现了58Mbps~160Mbps 的译码速率。相较传统方法,所提译码器的吞吐率提升80%。

表3 基于ASIC 平台的极化译码器吞吐率Table 3 The decoding throughput rate of polar decoders based on ASIC

综上,极化码的SC 类译码算法具有更优的译码性能,并且理论证明在码长无穷长时SC 类算法可以达到香农限。但SC 类算法的串行译码特性导致译码延时较大。因此,在对延时要求严格的场景下,需采用诸如多比特方法等改进策略,提升SC 类译码算法的并行度。此外,BP 算法具有并行度高的优点。通过多次并行译码迭代,可以获得良好的译码性能。但相比SC 类算法,BP 译码的性能较差。多样化的极化译码算法以及高效的硬件实现方案为极化码在不同场景下的应用提供了多样化的灵活可选方案。

3 特殊信道下极化理论研究

传统极化码的编译码方法多针对离散无记忆对称信道设计。实际应用中,由于通信环境的多变与复杂性,信道通常具有记忆特性。同时,在磁存储、卫星通信等场景下,信道中存在的插入删除错误将导致接收序列长度的变化。极化码的设计依赖于具体的信道特性,在传统离散无记忆信道下设计的极化编译码方法不能直接适用于实际应用场景中复杂多样的信道类型。考虑到实际信道中的记忆特性以及插入/删除错误,需重新设计极化编译码算法。

3.1 记忆信道下极化理论研究

在实际通信系统中,由于通信环境的复杂性和信道带宽的限制,信道通常出现记忆特性。例如,由于带宽限制导致的码间干扰ISI 信道、硬盘存储系统中的PR 信道等。

输入为均匀分布的dicode 信道是一种常见的记忆信道。采用状态变量S表示输入序列和信道的联合状态变量。该信道可以用网格图6 表示。如果没有噪声,发送信息映射到+1、-1 时,接收符号只可能有两种可能+1、-1。而记忆信道与无记忆信道不同,如图6 所示,即使在没有噪声的情况下,dicode信道的接收符号也会产生0、+2 和-2 三种取值,信道转移概率与信道状态有关。这导致传统的SC 译码算法无法在这种信道中使用。虽然极化码已被证明可以达到B-DMCs 等多种信道的容量,但研究极化码如何达到记忆信道的容量依然是具有挑战性的课题。文献[52]提出记忆信道下极化码的编译码方法,使得在给定码字分布时,极化码可以达到最大互信息。其他包括两种极化码记忆信道下构造方法:定长到定长构造以及定长到变长构造的部分极化方法。此外,文献[52]在记忆信道极化原理的基础上,给出了多项式复杂度的SC 译码算法。不同于无记忆信道的SC 算法,记忆信道的译码算法利用记忆信道的状态变量建立译码网格图,将SC 算法在网格图上进行。利用该算法,可以直接针对记忆信道设计信道编码,而不需要额外的均衡和迭代操作。

图6 Dicode 信道网格示意图Fig.6 The grid graph of the dicode channel

3.2 插入/删节信道极化理论研究

在卫星通信等无线通信系统的群同步或者位同步过程中,如果接收端的采样装置存在欠采样的情况,采样器将漏采样部分码元,发生删节错误;当接收端采样装置发生过采样时,一些接收到的码元符号会被重复采样,出现插入错误。插入/删节错误将导致系统失同步。在多码率兼容的无线通信系统中,接收端采样器的采样率变化也可能导致接收端采样率与信道发送数据速率的不匹配,导致同步错误的出现。在无线光通信系统普遍采用的脉冲位置调制技术中,每个发送符号的长度可能不一样,加性噪声可能导致接收端无法正确检测发送符号的边界,从而导致插入/删节错误的发生。插入/删节错误同样会出现在一些存储设备中。在新兴的斯格明子的赛道存储器(SK-racetrack memory)中,存储器通过斯格明子的出现或缺失来代表二进制比特1 或0 信息。在读取过程中,电流脉冲驱动斯格明子通过读取头,读取存储信息。如果驱动斯格明子的自旋电流过大或者过小,都会导致同步错误的发生。如图7 所示,在磁存储系统的磁头读取过程中,驱动电流Idetect过大将导致多个符号在一个读取周期内通过磁头,导致磁头漏检部分码元,产生删节错误。为了保证收发双端精确的时钟同步,在通信前发端需要传输一些冗余数据。这些冗余数据会降低频谱效率,增大通信的开销和延时。除通过增加冗余信号对抗同步错误外,现有无线通信系统还常通过混合自动重传请求HARQ(Hybrid Automatic Repeat Request)机制让发送端重传存在同步错误的帧。然而在卫星通信这种重传代价很高的无线通信场景中,重传的资源开销与延时较大。如果接收端可以自动纠正这些同步错误就可以避免重传,有效降低通信延时和成本。因此,采用信道编码纠正插入/删节错误是行之有效的方法。

图7 SK-RM 存储器磁头读取示意图Fig.7 The reading process of SK-racetrack memory based on polar codes

针对现有重传机制资源代价大、纠错能力弱的问题,文献[53]提出了一种删节信道下的连续删除译码算法,运用极化码纠正删节错误。但此方法译码复杂度随着删节数量呈指数级增长。为降低删节信道极化译码复杂度,文献[54]基于极化码的递归构造结构和原始SC 译码算法中节点与编码码字之间的对应关系提出一种可以纠正同步错误的改进SC 译码算法。在所提算法中,上层节点对应的同步错误图样被递归分解为下层相邻节点的同步错误图样。此外,文献[55]证明了存在删节错误的信道中同样存在信道极化现象,为进一步研究插入/删节信道下的极化码编译码方法提供了理论依据。文献[56]通过对删节图样对应场景的剪枝有效降低了删节信道译码所需计算的删节图样场景数量,可以在保证性能的前提下降低极化码译码复杂度。

4 极化码应用

根据第1、2、3 节的介绍,极化码具有多样化的编译码方法,并且适用于高斯、记忆、插入/删节等多种信道。极化码自身的固定编译码结构以及灵活的编译码策略为极化码在不同场景下的应用创造了条件。作为性能优良结构简单的编码方法,极化码在差错控制、信源压缩与物理层安全等场景下得到了广泛应用。在新一代移动通信、深空探测、卫星通信、无人机等领域与场景下,极化码有广阔的应用前景。

4.1 极化码用于差错控制

自极化码问世以来,很多学者致力于其在差错控制系统方面的应用研究。例如,极化编码调制、基于极化码的HARQ 重传技术、基于极化码的控制信道盲检测技术、基于极化码的多输入多输出系统MIMO(Multiple-Input Multiple-Output)检测[57-59]以及非正交多址接入 NOMA(Non-orthogonal Multiple-access)等[60]场景下的极化编译码与检测技术研究。

4.1.1 基于极化码的HARQ 重传技术

在航空航天领域,常需要采用混合自动重传技术保障通信可靠性。现有的无线通信协议也常常采用HARQ 来提升系统吞吐量和用户体验,例如电气和电子工程师协会IEEE (Institute of Electrical and Electronics Engineers) 802.16m 协议。在HARQ 系统中,当第一次译码失败后需要发送端发送一些额外的信息来辅助接收端完成译码。在每次重传时,重传不同的信息会影响再次译码的错误概率。因此,选择恰当的重传比特是提升HARQ 传输性能的关键问题之一。通过合理设计编译码器,可以利用重传比特带来额外的编码增益,提升系统吞吐率。得益于极化编译码复杂度低、性能优越、使用灵活等特点,研究基于极化码的HARQ 方案具有重要的实际意义。文献[61]提出了一种基于极化码的HARQ 方案,利用高阶调制中的不等错误保护特性和极化子信道可靠性的差异性,设计了非线性整数规划模型来确定重传比特序列。仿真结果表明,所提方法的吞吐量性能相较于现有极化码HARQ 方案更优。

4.1.2 极化码比特交织编码调制方法

在测控与无线通信系统中,高阶调制技术是提升频谱效率的关键技术之一。在高阶调制中,多个二进制编码码字比特被映射为二维欧式空间中的一个星座点。星座点的排布准则为尽可能最大化星座点之间的最小欧氏距离。在早期的通信系统中,编码方案和高阶调制是独立设计的。如果可以联合设计编码和星座点之间的映射关系来最大化信号序列之间的最小自由欧氏距离,就可以在不增加星座图的平均功率的前提下获得额外的性能增益。因此,将编码与调制联合优化是极化码应用研究领域中的一个重要方向。比特交织编码调制BICM (Bit Interleaved Coded Modulation)技术是被学界与工业界广泛采用的高阶调制技术之一。在传统极化码比特交织编码调制模型[62]中,当给定接受符号和映射关系后,映射进同一个符号内的编码码字是不独立的,计算每个码字的似然比会有性能损失。针对现有极化码编码调制方法的误帧率性能较差的问题,文献[63]提出了一种适用于比特交织编码调制的极化码联合译码算法。基于极化码的递归结构,将解调和解交织联合设计,信息比特直接由接收到的符号译出。文献[63]所提极化码比特交织编码调制方法的误帧率性能相比传统方法提升0.75dB~1.25dB。

4.1.3 极化码信道估计方法

在实际通信系统中一般都要进行信道估计来确定信道信噪比SNR(Signal Noise Ratio)信息,从而更好地选择整个通信系统以及参数设定。尤其是在极化码的编码过程中,冻结集的选择依赖于信道状态息CSI(Channel state information)。这个特性对信道状态的已知性提出了较高要求。通信系统一般都使用导频或者非导频的方法进行信道估计,从而更好地选择整个通信系统以及完成参数设定。传统采用数据辅助的估计算法需要导频信号,估计精度较高,但需要额外的信令开销。采用非数据辅助的估计方法无需导频,但计算复杂。文献[64]利用极化码冻结集对于收发双方都已知的特点,提出一种基于冻结集的SNR 估计方法。该算法比现有SNR 估计算法计算复杂度低,估计性能高,得到的SNR值可使极化编译码系统获得更高的译码性能。与现有方案相比,所提方法的NMSE 性能低一到两个数量级。

4.1.4 基于极化码的控制信道盲检测

在5G 控制信道中,下行控制信道用于传输基站下发给用户的下行控制信息DCI(Downlink Control Information)。为提升传输效率,基站采用多用户复用同一块资源域的方式承载下行控制信息。在接收端,用户不清楚自己的控制信息所在的位置,需要通过盲检测尝试译码多个可能的候选码块,从中识别出属于自己的控制信息。传统检测方法采用穷举型搜索的方式译码全部可能的候选,译码开销巨大,效率低下。不同于传统信道编码,极化码所独有的冻结集可提供译码所需的先验信息。合理利用极化码的冻结集信息可提升检测效率。根据3GPP 发布的5G 通信标准,eMBB 场景的控制信道采用极化编码保护控制信息。研究设计基于极化码的控制信道解决方案成为近年来信道编码领域的研究热点之一,也是推动极化码在5G 系统中实际应用的必要环节。近年来,国内外学者设计了多种基于极化码的盲检测方法[65-77]。当前,主要的基于极化码的盲检测方案可以分为两类,其一是采用二阶检测框架,重点优化检测过程所需的译码算法。例如,文献[69]提出一种基于极化码的Two-stage 检测方案。首先,定义了基于SC 算法的候选可靠性度量值,在第一阶段依据度量值确定各个候选位置上承载的DCI 信息长度,减小第二阶段需检测的候选数量,获得了相比其他盲检测方案更低的检测复杂度与更优的译码性能。其二是将信道译码与信号检测过程进行联合优化。例如,文献[71]提出了一种基于极化码的5G 控制信道联合检测与译码方法。建立了MIMO 信道检测与极化译码模型,采用线性规划方法完成求解,在提升检测性能的同时获得了良好的鲁棒性。在提升检测性能方面,文献[74]提出了一种基于神经网络的盲检测算法。此方法利用CRC 的校验结果辅助判断是否码块中承载着有效的DCI 信息,获得了良好的虚警率性能。文献[75]提出了一种基于嵌套结构的极化码编码与检测方案,通过优化极化编码端的码字构造,实现了不同聚合等级码块间译码信息的共享,获得了良好的漏检性能与较低的译码复杂度。

4.2 极化码应用于物理层安全保密通信

随着信息社会的发展,人们的通信需求不断增加,通信系统的应用也深入到生产生活的方方面面。由于无线传输系统在物理层的开放性,使得在物理层传输的通信信号相比有线传输的信号更容易被截获与窃听。物理层安全技术是实现信息安全与通信一体化的关键技术,也是对传统安全体制的重要补充。为方便描述窃听端与合法宿主之间的关系,1975 年Wyner 提出了wiretap 信道模型。Wiretap 信道模型如图8 所示。在传统wiretap 模型中,窃听者与发送者之间的信道是合法收发对之间的主信道的退化信道。借助于无线信道的内在结构建立安全传输机制,物理层安全技术能够对无线传输过程中的信息形成有力保护,有效阻止窃听者通过非法窃听活动获取有效信息。

基于极化码的wiretap 信道“三段分集论”根据主信道和窃听信道的信道条件带来的极化码码元分集差异,以Bhattacharyya 参数作为划分依据,将极化信道分为对于合法接收者和非法窃听者都是信息位的信道、对合法接收者是信息位而对非法窃听者是冻结集的信道以及对于合法接收者和窃听者都是冻结集的信道。三个信道分别用于传输随机码元、信息码元与冻结集。三段分类法在极化码长趋于无限时能够充分利用信道的安全容量。但在极化码长有限时,由于一些码元的极化程度有限,传统三段式方法的实用性有待改善。另外,极化码随机码元无法传输信息,降低了系统效率。

图8 Wiretap 信道模型Fig.8 The model of wiretap channel

为了提升基于极化码的物理层安全传输效率与安全性能,文献[78]提出了一种基于极化码的窃听信道混淆结构,可将极化码中对主信道可靠而对窃听信道不可靠的码元进行扩散。在编码之前,将秘密信息码元送入交织器中,将输出的码元用于极化编码。接收端的解混淆结构与发送端对称,可在同一套设备上完成。接收端极化译码之后,将秘密信息码元所对应的序列进行解混淆。此外,该方法将混淆结构推广到AWGN 信道中,采用高斯密度进化取代Bhattacharyya 参数作为码元分类标准,克服了传统基于Bhattacharyya 参数的安全传输方法仅适合BEC 信道的不足。此方案针对长码与短码设置了不同的解决方案。对长极化码,在发送端和合法接收端设置混淆和解混淆结构,设计链式加密结构,发送端将下一帧的信息位密钥和冻结集信息存入当前帧的预设位置。除每一帧进行混淆和编码外,在帧与帧之间进行加密和冻结集替换。对短极化码,设计了二维混淆结构,将连续多帧划为一组,对组内每帧先进行帧内混淆,再进行帧间关键位置混淆,然后第二次帧内混淆,最后进行极化编码。对一组短极化码可结合长极化码的链式加密方法进行数据传输。此方法降低了窃听者完全无法译码时对窃听信道退化程度的要求,提高了信道安全性,并且与wiretap 信道条件下的极化码结构相适应,混淆速度快,结构简单,复杂度低。

4.3 极化码在信源编码领域的应用研究

分布式信源编码DSC(Distributed Source Coding)是对信息互相关联但不互相通信的信源的一种信息压缩方式。主要应用于传感器网络和图像、视频等多媒体信息的压缩。但在传感器网络等应用场景中,传感器之间存在不稳定的相关性,需要设计可以自适应调整速率的信源编码方案。而极化码有灵活的速率适配能力。通过将一个或多个信息位切换为零,可以灵活调节极化码码速率,同时保证获得良好的译码性能。文献[79]提出了一种新的码率自适应调整的分布式信源编码方案,假设译码器可以通过LLR 阈值正确地检测错误比特,如果源向量不正确,则根据Bhattacharyya 参数选择重传比特。如图9 所示,信源信号序列被编码为。比特下方的数字表示按照Bhattacharyya 参数降序排列的比特索引顺序。当源向量无法被译码器正确译码时,则根据Bhattacharyya 参数选择u5作为新增的信源向量元素。在选择重传比特过程中,传统LDPCA 的分布式信源编码方案以多比特段为单位进行码率调节。而得益于极化码码率灵活可调节的特性,基于极化码的分布式信源编码方案可以实现逐比特的码率调节,相比基于LDPCA 的信源编码方案灵活性更强,性能更优。

图9 基于极化码的分布式信源编码码率自适应调节示意图Fig.9 Diagram of rate-adaptive distributed source coding based on polar codes

极化码可以达到非均匀信源或非对称失真度量的率失真(RD)界。依据信道极化性质,在码长趋近于无穷长时,极化码的原始信息将分裂为两部分。一部分可由信道输出信息以及前面的比特决定,另一部分则近似于完全随机码字。这些随机码字具有重要的信息论意义,在压缩编码中,希望将信息压缩到完全随机状态,而极化码中的随机部分恰好可以实现近似完全随机的状态。因此极化码在信源压缩编码中具有巨大的应用潜力。但极化是一种渐近性质,完美极化需要无限长码长。在有限码长下,基于极化码的信源压缩编码方案的性能存在较大的优化空间。针对短码长极化码信源压缩编码性能不理想的问题,文献[80]提出一种基于极化码的有损信源压缩编码结构,在极化码的基础上结合了算术编码。此方法首先用极化码对信源信息进行有损压缩,然后用算术编码进行无损压缩。该方法可以渐近达到RD 界,有效提升了压缩编码性能。

5 结束语

本文针对极化理论与应用研究中的几个热点问题,对极化码的研究现状进行了综述和分析,主要包括:极化编译码算法与硬件实现;在特殊信道下的极化编译码理论研究;以及极化码在差错控制、信源编码以及信息安全等领域的应用等。随着极化码在5G 通信与卫星通信等场景下的应用,极化码的研究日新月异,限于篇幅,本文针对上述研究领域中选取的部分代表性成果进行了简要总结概述。

在未来通信系统中,极化编码是极具竞争力的一种候选技术。作为性能优良实现简单的编码方案,极化码能显著提升无线传输性能。极化码本身同图形处理单元、专用集成电路等平台的良好契合为设计实现高速高性能的极化编译码硬件架构与芯片创造了广阔前景。得益于极化译码算法的多样性以及极化容量分布的差异性,灵活选用极化译码算法可以实现高效的控制信道盲检测并进一步提升移动通信系统的容量。鉴于极化码独特的容量可达性能、简单的编译码实现方法以及灵活的速率适配方案,极化码可以同物理层安全通信、多天线传输等实际通信系统有机结合,支持高效的重传机制实现传输效率的提升。而空间信息网络的传播距离较长,对信道编码的纠错性能要求较高。极化码的信道可达特性使其在空天信息网络中有巨大潜力。总之,极化码的研究方兴未艾,在新一代移动通信、卫星通信、深空探测等领域具有广阔的应用前景。

猜你喜欢
译码器译码复杂度
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
一种低复杂度的惯性/GNSS矢量深组合方法
编码器和译码器综合实现数字显示
跟踪导练(一)5
求图上广探树的时间复杂度
数字电路环境下汽车控制电路信号设计
某雷达导51 头中心控制软件圈复杂度分析与改进
LDPC 码改进高速译码算法