本发明实施例涉及通信技术,尤其涉及一种极化码(Polar Code)的编码装置、方法以及电子设备。
背景技术:
极化码由土耳其毕尔肯大学(Bilkent)的Erdal Arikan教授于2008年首次提出,其论文从理论上第一次严格证明了在二进制输入对称离散无记忆信道下,极化码可以达到香农容量,并且有着低的编码和译码复杂度。从某种意义上说,极化码理论上解决了近60年来信息论和编码领域一直想要解决的问题。
虽然极化码的理论很优美,但实际性能从刚出现时还不太理想(理论上是指当码长趋向于无穷时的性能;实际是指有限长度的码长的性能)。但近年来,随着极化码实际构造方法和列表连续消去译码(list successive cancellation decoding)算法等技术的提出,极化码的整体性能在某些应用场景中取得了和当前最先进的信道编码技术,例如Turbo码和低密度奇偶校验(LDPC,Low-Density Parity Check)码等,相同或更优的性能。
由于理论和实际两方面的优越性,极化码的研究已成为信息论与编码以及通信领域中的一个研究热点。由于极化码是一种线性分组编码,它的生成矩阵G维度为N×N,其中N是码字长度。对于不同的N,有不一样的生成矩阵G。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
技术实现要素:
但是,发明人发现:在实际系统中,往往需要码字长度有一定的灵活度,来适应不同的业务需要和信道质量,码字长度可能有上百种或者上千种。按照传统方法,需要同时保存成百上千种维度的生成矩阵。因此,目前的极化码编码方案需要较大的存储空间,编码复杂度也较高。
本发明实施例提供了一种极化码的编码装置、方法以及电子设备。期待降低极化码编码需要的存储空间,同时降低编码的复杂度并增加编码器的灵活度。
根据本实施例的第一方面,提供了一种极化码的编码装置,所述极化码的编码装置包括:
编码器,其根据预定的维度值N被预先生成;其中所述维度值N大于或等于待输入所述编码器的极化码的码字长度M;
输入单元,其将码字长度为M的极化码输入所述编码器的M个输入端口,并将所述编码器中其余的N-M个输入端口输入零;以及
输出单元,其从所述编码器的对应所述极化码的M个输出端口获得编码结果。
根据本实施例的第二方面,提供了一种极化码的编码方法,所述极化码的编码方法包括:
根据预定的维度值N预先生成编码器;其中所述维度值N大于或等于待输入所述编码器的极化码的码字长度M;
将码字长度为M的极化码输入所述编码器的M个输入端口,并将所述编码器中其余的N-M个输入端口输入零;以及
从所述编码器的对应所述极化码的M个输出端口获得编码结果。
根据本实施例的第三方面,提供了一种电子设备,所述电子设备配置有如上所述的极化码的编码装置。
本发明实施例的有益效果在于:预先生成维度值较大的编码器,该维度值大于或等于待输入极化码的码字长度;并且在对应极化码输入端口的输出端口获得编码结果。由此,可以仅保存一个统一的生成矩阵,不但可以降低极化码编码需要的存储空间,而且可以降低编码的复杂度并增加编码器的灵活度。
参照后文的说明和附图,详细公开了本发明实施例的特定实施方式,指明了本发明实施例的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施方式,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是极化码的一示例图;
图2是本发明实施例1的极化码的编码方法的一示意图;
图3是本发明实施例1的集中式输入的一示意图;
图4是本发明实施例1的分布式输入的一示意图;
图5是本发明实施例1的提前获得编码结果的一示意图;
图6是本发明实施例1的并行编码的一示意图;
图7是本发明实施例2的极化码的编码装置的一示意图;
图8是本发明实施例2的极化码的编码装置的另一示意图;
图9是本发明实施例2的极化码的编码装置的另一示意图;
图10是本发明实施例3的电子设备的一示意图。
具体实施方式
参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本发明的特定实施方式,其表明了其中可以采用本发明实施例的原则的部分实施方式,应了解的是,本发明不限于所描述的实施方式,相反,本发明实施例包括落入所附权利要求的范围内的全部修改、变型以及等同物。下面结合附图对本发明的各种实施方式进行说明。这些实施方式只是示例性的,不是对本发明的限制。
在本申请中,一个特定的极化码可以由一个数组表示:(N,K,μA),其中N是码字长度,K是信息比特长度,μA是信息位的序列号集合,长度也是K。极化码的生成矩阵可以表示为:
其中,为kronecker积,矩阵维度为N╳N,
极化码的输入总共为N个比特,其中包括K个信息比特和(N-K)个冷冻比特,信息比特是需要传输的比特,是随机值;冷冻比特为固定的值(例如固定为0或者1,在接收和发送两端预先定义),信息比特的序号由μA定义,其他(N-K)位全部为冷冻比特。
图1是极化码的一示例图,示意性示出了极化码(8,4,{3,5,6,7})的情况。
极化码的编码器可以完全由生成矩阵定义,其中编码器包括N个输入端口和N个输出端口。因此目前的方案中,需要同时保存成百上千种维度的生成矩阵。
在本申请中,针对编码器,不对μA产生方法或者K进行任何限制。假设一个通信系统中需要信道编码的编码器提供多种码字长度,且最大的码字长度为N,只需要一个维度为N的母编码器,任意码字长度小于或等于N的极化码都可以复用该母编码器。以下对本发明实施例进行详细说明。
实施例1
本发明实施例提供一种极化码的编码方法。
图2是本发明实施例的极化码的编码方法的一示意图,如图2所示,所述极化码的编码方法包括:
步骤201,根据预定的维度值N预先生成编码器;其中所述维度值N大于或等于待输入所述编码器的极化码的码字长度M;
步骤202,将码字长度为M的极化码输入所述编码器的M个输入端口,并将所述编码器中其余的N-M个输入端口输入零;以及
步骤203,从所述编码器的对应所述极化码的M个输出端口获得编码结果。
在本实施例中,还可以将所述编码器的其余N-M个输出端口的结果删除。其中N和M以及后述的n、n0和N0等为自然数;例如为2的幂次方。
在本实施例中,编码器的维度值N可以预先被确定,例如可以根据经验值确定。然后可以根据生成矩阵预先生成维度为N的编码器;可以仅保存该维度为N的编码器的生成矩阵。关于具体如何生成编码器、如何保存生成矩阵等内容可以参考与极化码相关的任意方式,本发明不再赘述。
在一个实施方式中,可以使用集中式的方式输入待编码的极化码。即,可以将码字长度为M的极化码输入到所述编码器中连续M个输入端口;并且在所述编码器中对应的连续M个输出端口获得所述编码结果。
例如,连续M个输入端口为所述编码器的前M个输入端口。
图3是本发明实施例的集中式输入的一示意图,如图3所示,假设需要对一个码字长度为N0的极化码进行编码,n0=log2N0,且n0<n;该极化码的信息比特和冷冻比特一共为N0位(信息比特的序列号集合μA不做限制),依次输入该编码器的编号为0至N0-1的输入端口,其余输入端口全部设置为零。可以在该编码器的编号为0至N0-1的输出端口上获得编码结果,其余输出端口上的结果可以删除。
在另一个实施方式中,可以使用分布式的方式输入待编码的极化码。即,可以将码字长度为M的极化码输入到所述编码器中非连续M个输入端口;并且在所述编码器中对应的非连续M个输出端口获得所述编码结果。
例如,可以将码字长度为M的极化码映射到该编码器中的非连续M个输入端口。
图4是本发明实施例的分布式输入的一示意图,如图4所示,假设需要对一个码字长度为N0的极化码进行编码,n0=log2N0,且n0<n;该极化码的信息比特和冷冻比特一共为N0位(信息比特的序列号集合μA不做限制),可以将该N0位映射到该编码器中的非连续N0个输入端口。
如图4所示,可以依次输入该编码器的编号为k·2n-n0(其中k=0,1,……,(2n0-1))的输入端口,其余输入端口全部设置为零。可以在该编码器的编号为k·2n-n0(其中k=0,1,……,(2n0-1))的输出端口上获得编码结果,其余输出端口上的结果可以删除。
由此,可以仅保存一个统一的生成矩阵,不但可以降低极化码编码需要的存储空间,同时可以降低编码的复杂度。
以上对于如何输入极化码进行了说明。在本实施例中,在采用集中式输入的情况下,还可以提前获得编码结果和/或并行输入多个极化码,以下进行示意性说明。
在本实施例中,可以根据码字长度M确定所述极化码的编码输出阶段;并且在所述编码输出阶段从对应的输出端口获得所述码字长度为M的所述极化码的编码结果。
即,在编码器的维度为N时,编码过程可以分为n个阶段(stage);其中n=log2N。在每个阶段都设置N个输出,表示为其中m=1,2,……n;l=0,1,2,……,N-1。长度为N0的极化码的编码输出结果,可以由至表示,这样可以降低编码延迟和计算量。
例如可以根据码字长度M确定所述极化码的编码输出阶段为log2M。
图5是本发明实施例的提前获得编码结果的一示意图,如图5所示,假设编码器的维度N=8,则可以将编码过程分为3个阶段。其中如果极化码的码字长度为2,则可以在第1阶段就获得编码结果;如果极化码的码字长度为4,则可以在第2阶段就获得编码结果。
值得注意的是,图5仅示意性示出了编码过程的各编码阶段,但本发明不限于此。关于输出结果如何进行连线等具体内容,可以根据编码器的内部构造具体确定,可以参考现有的方法,本发明对此不再赘述。
在本实施例中,还可以在所述编码器中连续的多个输入端口上并行输入多个极化码,所述多个极化码的码字长度之和小于或等于N;并且在所述编码器中对应的连续多个输出端口分别获得所述多个极化码的编码结果。由此,多个极化码能同时进行编码,可以提高编码效率。
图6是本发明实施例的并行编码的一示意图,如图6所示,假设编码器的维度N=8,可以在前4个输入端口输入一个极化码(4,1,{3})(共4个比特,包括3个冷冻比特和1个信息比特),在接下来的4个输入端口输入另一个极化码(4,2,{2,3})(共4个比特,包括2个冷冻比特和2个信息比特),可以在对应端口分别获得编码结果。
此外,并行编码和提前获得编码结果还可以结合起来。如图6所示,可以在第2个阶段就获得这两个极化码的编码结果,即至是极化码(4,1,{3})的编码结果,至是极化码(4,2,{2,3})的编码结果。
值得注意的是,以上仅对与本发明相关的各流程或步骤进行了说明,但本发明不限于此,对于极化码的编码方法的其他流程或步骤,还可以参考相关技术。
由上述实施例可知,预先生成维度值较大的编码器,该维度值大于或等于待输入极化码的码字长度;并且在对应极化码输入端口的输出端口获得编码结果。由此,可以仅保存一个统一的生成矩阵,不但可以降低极化码编码需要的存储空间,而且可以降低编码的复杂度并增加编码器的灵活度。
实施例2
本发明实施例提供一种极化码的编码装置,与实施例1相同的内容不再赘述。
图7是本发明实施例的极化码的编码装置的一示意图,如图7所示,极化码的编码装置700包括:
编码器701,其根据预定的维度值N被预先生成;其中所述维度值N大于或等于待输入所述编码器的极化码的码字长度M;
输入单元702,其将码字长度为M的极化码输入所述编码器的M个输入端口,并将所述编码器中其余的N-M个输入端口输入零;以及
输出单元703,其从所述编码器的对应所述极化码的M个输出端口获得编码结果。
在本实施例中,输出单元703还可以将所述编码器的其余N-M个输出端口上的结果删除。
在一个实施方式中,输入单元702可以将所述码字长度为M的极化码输入到编码器701中连续M个输入端口;并且输出单元703在编码器701中对应的连续M个输出端口获得所述编码结果。
其中,所述连续M个输入端口可以为所述编码器的前M个输入端口。
图8是本发明实施例的极化码的编码装置的另一示意图,如图8所示,极化码的编码装置800包括:编码器701,输入单元702以及输出单元703,如上所述。
如图8所示,极化码的编码装置800还可以包括:
阶段确定单元801,其根据所述码字长度M确定所述极化码的编码输出阶段;
输出单元703还可以用于在所述编码输出阶段从对应的输出端口获得所述码字长度为M的所述极化码的编码结果。
在本实施方式中,输入单元702还可以用于在编码器701中连续的多个输入端口上并行输入多个极化码,所述多个极化码的码字长度之和小于或等于N;并且输出单元703可以在编码器701中对应的连续多个输出端口分别获得所述多个极化码的编码结果。
在另一个实施方式中,输入单元702可以将所述码字长度为M的极化码输入到编码器701中非连续M个输入端口;并且输出单元703可以在所述编码器中对应的非连续M个输出端口获得所述编码结果。
图9是本发明实施例的极化码的编码装置的另一示意图,如图9所示,极化码的编码装置900包括:编码器701,输入单元702以及输出单元703,如上所述。
如图9所示,极化码的编码装置900还可以包括:
映射单元901,其将所述码字长度为M的极化码映射到编码器701中的所述非连续M个输入端口。
值得注意的是,以上仅对与本发明相关的各部件或模块进行了说明,但本发明不限于此,对于极化码的编码装置的其他部件或模块,还可以参考相关技术。
由上述实施例可知,预先生成维度值较大的编码器,该维度值大于或等于待输入极化码的码字长度;并且在对应极化码输入端口的输出端口获得编码结果。由此,可以仅保存一个统一的生成矩阵,不但可以降低极化码编码需要的存储空间,而且可以降低编码的复杂度并增加编码器的灵活度。
实施例3
本发明实施例还提供一种电子设备,配置有如实施例2所述的极化码的编码装置,其内容被合并于此。该电子设备可以是通信系统中的用户设备(UE,User Equipment),也可以通信系统中的基站,或者是通信系统中的其他设备,本发明不限于此。
图10是本发明实施例的电子设备的一示意图。如图10所示,电子设备1000可以包括:中央处理器(CPU)200和存储器210;存储器210耦合到中央处理器200。其中该存储器210可存储各种数据;此外还存储信息处理的程序,并且在中央处理器200的控制下执行该程序。
例如,中央处理器200可以被配置为进行如下的控制:根据预定的维度值N预先生成编码器;其中所述维度值N大于或等于待输入所述编码器的极化码的码字长度M;将码字长度为M的极化码输入所述编码器的M个输入端口,并将所述编码器中其余的N-M个输入端口输入零;以及从所述编码器的对应所述极化码的M个输出端口获得编码结果。
存储器210中可以存储该维度为N的编码器的生成矩阵。
此外,如图10所示,电子设备1000还可以包括:收发机220和天线230等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,电子设备1000也并不是必须要包括图10中所示的所有部件;此外,电子设备1000还可以包括图10中没有示出的部件,可以参考现有技术。
本发明实施例还提供一种计算机可读程序,其中当在极化码的编码装置或电子设备中执行所述程序时,所述程序使得计算机在所述极化码的编码装置或电子设备中执行实施例1所述的极化码的编码方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在极化码的编码装置或电子设备中执行实施例1所述的极化码的编码方法。
本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、DVD、flash存储器等。
结合本发明实施例描述的方法/装置可直接体现为硬件、由处理器执行的软件模块或二者组合。例如,图7中所示的功能框图中的一个或多个和/或功能框图的一个或多个组合(例如,输入单元和输出单元等),既可以对应于计算机程序流程的各个软件模块,亦可以对应于各个硬件模块。这些软件模块,可以分别对应于图2所示的各个步骤。这些硬件模块例如可利用现场可编程门阵列(FPGA)将这些软件模块固化而实现。
软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域已知的任何其它形式的存储介质。可以将一种存储介质耦接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该软件模块可以存储在移动终端的存储器中,也可以存储在可插入移动终端的存储卡中。例如,若设备(如移动终端)采用的是较大容量的MEGA-SIM卡或者大容量的闪存装置,则该软件模块可存储在该MEGA-SIM卡或者大容量的闪存装置中。
针对附图中描述的功能方框中的一个或多个和/或功能方框的一个或多个组合,可以实现为用于执行本申请所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。针对附图描述的功能方框中的一个或多个和/或功能方框的一个或多个组合,还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP通信结合的一个或多个微处理器或者任何其它这种配置。
以上结合具体的实施方式对本发明进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本发明保护范围的限制。本领域技术人员可以根据本发明的精神和原理对本发明做出各种变型和修改,这些变型和修改也在本发明的范围内。
关于包括以上实施例的实施方式,还公开下述的附记:
(附记1)一种极化码的编码装置,所述极化码的编码装置包括:
编码器,其根据预定的维度值N预先生成;其中所述维度值N大于或等于待输入所述编码器的极化码的码字长度M;
输入单元,其将码字长度为M的极化码输入所述编码器的M个输入端口,并将所述编码器中其余的N-M个输入端口输入零;以及
输出单元,其从所述编码器的对应所述极化码的M个输出端口获得编码结果。
(附记2)根据附记1所述的极化码的编码装置,其中,所述输出单元还用于将所述编码器的其余N-M个输出端口上的结果删除。
(附记3)根据附记1所述的极化码的编码装置,其中,所述输入单元将所述码字长度为M的极化码输入到所述编码器中连续M个输入端口;并且所述输出单元在所述编码器中对应的连续M个输出端口获得所述编码结果。
(附记4)根据附记3所述的极化码的编码装置,其中,所述连续M个输入端口为所述编码器的前M个输入端口。
(附记5)根据附记3所述的极化码的编码装置,其中,所述极化码的编码装置还包括:
阶段确定单元,其根据所述码字长度M确定所述极化码的编码输出阶段;
所述输出单元还用于在所述编码输出阶段从对应的输出端口获得所述码字长度为M的所述极化码的编码结果。
(附记6)根据附记3所述的极化码的编码装置,其中,所述输入单元还用于在所述编码器中连续的多个输入端口上并行输入多个极化码,所述多个极化码的码字长度之和小于或等于N;并且所述输出单元在所述编码器中对应的连续多个输出端口分别获得所述多个极化码的编码结果。
(附记7)根据附记1所述的极化码的编码装置,其中,所述输入单元将所述码字长度为M的极化码输入到所述编码器中非连续M个输入端口;并且所述输出单元在所述编码器中对应的非连续M个输出端口获得所述编码结果。
(附记8)根据附记7所述的极化码的编码装置,其中,所述极化码的编码装置还包括:
映射单元,其将所述码字长度为M的极化码映射到所述编码器中的所述非连续M个输入端口。
(附记9)一种极化码的编码方法,所述极化码的编码方法包括:
根据预定的维度值N预先生成编码器;其中所述维度值N大于或等于待输入所述编码器的极化码的码字长度M;
将码字长度为M的极化码输入所述编码器的M个输入端口,并将所述编码器中其余的N-M个输入端口输入零;以及
从所述编码器的对应所述极化码的M个输出端口获得编码结果。
(附记10)根据附记9所述的极化码的编码方法,其中,所述极化码的编码方法还包括:
将所述编码器的其余N-M个输出端口的结果删除。
(附记11)根据附记9所述的极化码的编码方法,其中,将所述码字长度为M的极化码输入到所述编码器中连续M个输入端口;并且在所述编码器中对应的连续M个输出端口获得所述编码结果。
(附记12)根据附记11所述的极化码的编码方法,其中,所述连续M个输入端口为所述编码器的前M个输入端口。
(附记13)根据附记11所述的极化码的编码方法,其中,所述极化码的编码方法还包括:
根据所述码字长度M确定所述极化码的编码输出阶段;
并且在所述编码输出阶段从对应的输出端口获得所述码字长度为M的所述极化码的编码结果。
(附记14)根据附记11所述的极化码的编码方法,其中,所述极化码的编码方法还包括:
在所述编码器中连续的多个输入端口上并行输入多个极化码,所述多个极化码的码字长度之和小于或等于N;并且在所述编码器中对应的连续多个输出端口分别获得所述多个极化码的编码结果。
(附记15)根据附记9所述的极化码的编码方法,其中,将所述码字长度为M的极化码输入到所述编码器中非连续M个输入端口;并且在所述编码器中对应的非连续M个输出端口获得所述编码结果。
(附记16)根据附记15所述的极化码的编码方法,其中,所述极化码的编码方法还包括:
将所述码字长度为M的极化码映射到所述编码器的所述非连续M个输入端口。
(附记17)一种电子设备,所述电子设备配置有如附记1所述的极化码的编码装置。