极化Polar码的编译码方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种极化Polar码的编译码方法及装置。
背景技术
在通信传输系统中,通常将待传输的信息进行信道编码以提高数据传输的可靠性,保证通信的质量。信道编码技术通过在发射端发送信息序列的基础上增加额外的校验比特,并在接收端采用一定的译码技术以较高的概率对传输过程中产生的差错进行纠正,从而实现发送信息序列的正确接收。
为了能够降低传输过程中的错误概率,并且增加对无线通信链路的利用,2008年在国际信息论ISIT会议上,Arikan首次提出了信道极化的概念,基于该理论,他给出了人类已知的第一种理论上可达到信道传输的容量极限(也称为香农界)且具有低复杂度的信道编码方法,并命名为极化码(Polar Code)。通过信道极化(channel polarization),通信信道可被极化为全噪比特信道(pure noisy bit-channel)和无噪比特信道(noiseless bit-channel)。极化Polar码的构造将使信息仅通过无噪比特信道进行传输,这样可达到信道传输的最高传输速率。
现有技术中,对极化Polar码进行译码的方式主要包括,串行抵消(Successive Cancellation,SC)译码和基于SC译码算法改进得到的增强SC译码,而增强SC译码又包括如串行抵消列表(Successive Cancellation List,SCL)译码、串行抵消堆栈(Successive Cancellation Stack,SCS)译码和串行抵消混合(Successive Cancellation Hybrid,SCH)译码等。然而,传统的SC译码算法和增强SC译码算法的性能并不理想,各有缺陷。
例如,对于一个码长为N的极化Polar码,用二进制行矢量表示为uN=(u1,u2,…,uN,),可以对应一个由N层边构成的二叉译码码树,SC译码能够被描述为在该码树上的路径搜索过程。
如图1所示,给出了一个简单的N=4时的例子,SC译码从根节点开始,在码树上逐步扩展,每次从两条候选路径(一条对应ui=0,另一条对应ui=1)中选择具有相对大概率值的一条,并在那一条路径的基础上进行下一层的路径扩展。图1所示的为一个码长N=4的极化Polar码的码树。图中黑实线指示了一条串行抵消译码得到的路径,对应的比特估计序列为(0110)。经过实践证明,SC译码算法在码长较长时性能较优越,但是码长较短时性能不理想。
作为SC译码的改良,SCL译码允许保留L条幸存路径,以此扩大搜索的范围,减小在搜索过程中离开正确路径的概率。如图2所示,给出了一个码长N=4的极化Polar码的码树,图中黑实线指示了一组当幸存路径数L=4时SCL译码的搜索路径,最终得到的比特估计序列集合为(0010)、(0110)、(1001)和(1010)。在SCL译码时,所有的幸存路径与其对应的可靠性度量值都被存储在一个表中,列表中所有的幸存路径被同步地扩展,所以每次扩展之后,列表中幸存路径数量就会翻倍,丢弃那可靠性度量值较小的部分幸存路径,以保证幸存路径数始终不大于列表大小的一半。在译码结束时,从列表中找出可靠性度量值最大的那条路径,其对应的比特估计序列即为译码结果。为了获得较好的性能,需要设定为一个较大的搜索宽度,即码树每一层允许的最大幸存路径数量L,设定为同一个较大的值,一般设定为32,但是较大的将使得译码复杂度大大提高,能耗增加。
发明内容
本发明实施例所要解决的技术问题在于,提供一种极化Polar码的编译码方法及装置,解决了现有技术中极化Polar码译码幸存路径数L固定不变而导致的译码复杂度较大的缺陷。
第一方面,本发明实施例提供了一种极化Polar码的译码方法:接收端接收发射端发送的极化Polar码和指示该极化Polar码长度为N的指示信息,并根据接收极化Polar码的信噪比SNR(Signal to Noise Ratio)和极化Polar码的码长N,确定所述Polar码的幸存路径数L,L为正整数。按照所述幸存路径数L对极化Polar码进行串行抵消列表SCL译码,从而得到L条幸存路径,并对得到的L条幸存路径中的至少一条进行校验,以获取该极化Polar码的译
码结果。通过本方法,根据接收极化Polar码的信噪比、极化Polar码码长自适应地选择极化Polar码译码幸存路径数L,在保证性能的同时,又可以选择较小的幸存路径值,从而使得系统复杂度降低,解决了现有技术中,极化Polar码译码时只根据固定不变的幸存路径数进行译码可能导致的译码复杂度较大的缺陷。可选地,指示该极化Polar码长度为N的指示信息,可以包括编码前的信息序列X的长度K,码率K/N等。
结合第一方面,在第一种可能的实现方式中,接收端根据接收极化Polar码的信噪比SNR和Polar码的码长N,确定Polar码的幸存路径数L的具体实施方式为:接收端根据预先存储的信噪比SNR和Polar码的码长N与幸存路径数L之间的幸存路径数映射关系,确定该极化Polar码所对应的幸存路径数L,其中,在幸存路径数映射关系中,接收极化Polar码的信噪比SNR较大的Polar码对应的L值小于或等于接收极化Polar码的信噪比SNR较小的Polar码对应的L值,并且,码长较长Polar码对应的L的值大于或等于码长较短Polar码对应的L。通过本方法,接收端根据接收极化Polar码的信噪比及Polar码码长与幸存路径数之间的对映射关系,自适应的调整L的值,从而实现了按需设置L的值的目的。
结合第一方面,或者,结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,接收端对L条幸存路径中的至少一条进行校验的具体实施方式为:接收端对L条幸存路径中的至少一条进行CRC(Cyclic Redundancy Check,循环冗余校验)校验,通过本方法,结合了CRC校验,保证了Polar码传输的正确性,并且,如果在传输过程中出了错误,可以通过CRC进行纠正,从而提高Polar码的译码的准确性。可选地,接收端也可以对L条幸存路径中的至少一条进行其它纠错算法的校验。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,接收端对L条幸存路径中的至少一条进行循环冗余CRC校验的具体实施方式为:接收端对L条幸存路径中具有最高概率值的幸存路径进行CRC校验,若通过校验,则将具有最高概率值的幸存路径作为Polar码的译码结果。通过本方法,将概率值最高的幸存路径进行CRC校验,若校验通过则可以确定该条幸存路径即为正确译码结果,避免对多条概率值较低的幸存路径进行校验,从而避免
过多的浪费校验功耗。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,接收端对L条幸存路径中具有最高概率值的幸存路径进行CRC校验之后,若未通过校验,则通知发射端进行重传;或者若未通过校验,在L的门限范围值内增加L的值,并按照增加后的L对Polar码进行SCL译码,以获取该极化Polar码的译码结果。通过本方法,若在概率值最高的幸存路径未通过CRC校验的情况下,则说明译码的过程中可能出现了误差或错误,则需要通知发射端进行重新换,或增加L的值(挽救一些被抛弃的路径),从而提高最终能获得正确的Polar码的译码结果的可能性。
结合第一方面的第二种可能的实现方式,在第五种可能的实现方式中,接收端对L条幸存路径中的至少一条进行循环冗余CRC校验的具体实施方式为:接收端对L条幸存路径中的w条幸存路径进行循环冗余CRC校验,其中w为大于1且小于或等于L的整数;若w条幸存路径中存在通过校验的幸存路径,则将通过校验的幸存路径中具有最高概率值的幸存路径作为Polar码的译码结果。通过本方法,可以对L条中的多条甚至是L条幸存路径进行CRC校验,虽然校验成本较高,但是因为校验的对象有所增加,因此最终可以获得Polar码的正确译码结果的可能性也大大提高。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,对L条幸存路径中的至少一条进行循环冗余CRC校验之后,若w条幸存路径均未通过校验,则通知发射端进行重传;或者,若w条幸存路径均未通过校验,在L的门限范围值内增加L的值,并按照增加后的L对Polar码进行SCL译码,以获取Polar码的译码结果。通过本方法,若在L条幸存路径中的多条未通过CRC校验的情况下,则说明译码的过程中可能出现了误差或错误,则需要通知发射端进行重新换,或增加L的值(挽救一些被抛弃的路径),可以理解的是,需要在L的门限值范围内增加,如果此前已经是对L条进行了校验,则无法再增加L的值了,此时,只有通知发射端进行重传了,其最终目的都是为了提高能获得正确的Polar码的译码结果的概率。
结合第一方面的第四种可能的实现方式,或者,结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,增加L的值的具体实施方式为将
L值增加u,u为正整数,或者将L乘以v,v大于1。通过本方法,可以通过多种途径进行L值的增加,可以成倍数的增加,也可以是逐个增加或多个增加,即本方法不作具体限定。
第二方面,本发明实施例提供了一种极化Polar码的编码方法,可包括:
发射端接收目标信息序列,所述目标信息序列的长度为K;
根据所述长度K确定所述目标信息序列的循环冗余校验CRC的长度M;
对所述目标信息序列添加长度为M的CRC校验码,并对所述添加校验码后的信息序列进行Polar编码,得到长度为N的Polar码;
将所述Polar码以及指示所述Polar码长度为N的指示信息发送给接收端。
本发明实施例通过在发射端根据需要发射的目标信息序列的长度K,自适应的确定CRC校验码的长度M,避免了在一些情况下由于CRC校验码M值偏大或偏小导致的编码过于复杂或过于简单的问题,进而提升了Polar码编码的性能。
结合第二方面,在第一种可能的实现方式中,所述根据所述长度K确定所述目标信息序列的循环冗余校验CRC的长度M,包括:
根据预先存储的信息序列长度K与CRC校验码长度M之间的校验码映射关系,确定所述目标信息序列所对应的CRC校验码长度M,其中,在所述校验码映射关系中,长度K较长的信息序列对应的CRC校验码的M大于或等于长度K较短的信息序列对应的CRC校验码的M。
第三方面,本发明实施例提供了一种译码器,可包括:
译码接收模块,用于接收发射端发送的极化Polar码和指示所述Polar码长度为N的指示信息;
译码确定模块,用于根据接收所述Polar码的信噪比SNR和所述Polar码的码长N,确定所述Polar码的幸存路径数L,所述L为正整数;
译码模块,用于按照所述幸存路径数L对所述Polar码进行串行抵消列表SCL译码,得到L条幸存路径,并对所述L条幸存路径中的至少一条进行校验,以获取所述Polar码的译码结果。
结合第三方面,在第一种可能的实现方式中,所述确定模块,具体用于:
根据预先存储的信噪比SNR和Polar码的码长N与幸存路径数L之间的幸存路径数映射关系,确定所述Polar码所对应的幸存路径数L,其中,在所述幸存路径数映射关系中,接收极化Polar码的信噪比SNR较大的Polar码对应的L值小于或等于接收极化Polar码的信噪比SNR较小的Polar码对应的L值,并且,码长较长Polar码对应的L的值大于或等于码长较短Polar码对应的L。
结合第三方面,或者,结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述译码模块,具体用于:
对所述L条幸存路径中的至少一条进行循环冗余CRC校验。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述译码模块,包括:
第一校验单元,用于对所述L条幸存路径中具有最高概率值的幸存路径进行CRC校验;
第一译码单元,若通过校验,则将所述具有最高概率值的幸存路径作为所述Polar码的译码结果。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述译码模块,还包括:
第二译码单元,用于若未通过校验,在所述L的门限范围值内增加所述L的值,并按照增加后的L对所述Polar码进行SCL译码,以获取所述Polar码的译码结果。
结合第三方面的第二种可能的实现方式,在第五种可能的实现方式中,所述译码模块,包括:
第二校验单元,用于对所述L条幸存路径中的w条幸存路径进行循环冗余CRC校验,其中w为大于1且小于或等于L的整数;
第三译码单元,用于若所述w条幸存路径中存在通过校验的幸存路径,则将所述通过校验的幸存路径中具有最高概率值的幸存路径作为所述Polar码的译码结果。
结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所
述译码模块,还包括:
第四译码单元,用于若所述w条幸存路径均未通过校验,在所述L的门限范围值内增加所述L的值,并按照增加后的L对所述Polar码进行SCL译码,以获取所述Polar码的译码结果。
结合第三方面的第四种可能的实现方式,或者,结合第三方面的第六种可能的实现方式,在第七种可能的实现方式中,所述第二译码单元或第四译码单元增加所述L的值,具体为:
将所述L值增加u,u为正整数,或者将所述L乘以v,v大于1。
第四方面,本发明实施例提供了一种编码器,可包括:
编码接收模块,用于接收目标信息序列,所述目标信息序列的长度为K;
编码确定模块,用于根据所述长度K确定所述目标信息序列的循环冗余校验CRC的长度M;
编码模块,用于对所述目标信息序列添加长度为M的CRC校验码,并对所述添加校验码后的信息序列进行Polar编码,得到长度为N的Polar码;
发送模块,用于将所述Polar码以及指示所述Polar码长度为N的指示信息发送给接收端。
结合第四方面,在第一种可能的实现方式中,所述编码确定模块,具体用于:
根据预先存储的信息序列长度K与CRC校验码长度M之间的校验码映射关系,确定所述目标信息序列所对应的CRC校验码长度M,其中,在所述校验码映射关系中,长度K较长的信息序列对应的CRC校验码的M大于或等于长度K较短的信息序列对应的CRC校验码的M。
本发明实施例,通过接收端接收发射端发送的极化Polar码和指示所述Polar码长度为N的指示信息,并根据接收所述Polar码的信噪比SNR和所述Polar码的码长N,确定所述Polar码的幸存路径数L,再按照所述幸存路径数L对所述Polar码进行串行抵消列表SCL译码,得到L条幸存路径,最终对所述L条幸存路径中的至少一条进行校验,以获取所述Polar码的译码结果。即
本发明通过提出了一种Polar码译码的方法,根据接收极化Polar码的信噪比、Polar码码长自适应地选择Polar码译码幸存路径数L,在保证性能的同时,又可以选择较小的幸存路径值,从而使得系统复杂度降低,解决了现有技术中,Polar码译码时只根据固定不变数目的幸存路径进行译码可能导致的译码复杂度较大的缺陷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是Polar码的SC译码码树示意图;
图2是Polar码的SCL译码码树示意图;
图3是本发明提供的Polar码编译码方法所基于的系统架构图;
图4是本发明提供的一种极化Polar码的编译码方法的流程示意图;
图5是本发明提供的Polar码译码在不同L值下的性能曲线;
图6是本发明提供的译码装置的一实施例的结构示意图;
图7是本发明提供的编码装置另一实施例的结构示意图;
图8是本发明提供的译码器的一实施例的结构示意图;
图9是本发明提供的编码器的一实施例的结构示意图;
图10是本发明提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的技术方案可以应用于各种通信系统,因此,后续的描述不
限制于特定通信系统。例如:全球移动通讯(Global System of Mobile communication,GSM)系统、码分多址(Code Division Multiple Access,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)等。上述系统中的基站或者终端使用Turbo码、LDPC码编码处理的信息或者数据都可以使用本发明实施例中的Polar码编码。还应当理解的是,其中
基站可以是GSM或CDMA中的基站(Base Transceiver Station,BTS),也可以是WCDMA中的基站(NodeB),还可以是LTE中的演进型基站(Evolutional Node B,eNB或eNodeB),或者是未来5G网络中的基站设备等,本发明对此并不限定。
终端可以是能与基站等网络设备进行通信交互的蜂窝电话、无绳电话、智能手机、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、平板电脑、媒体播放器、智能电视、智能手环、智能穿戴设备、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备以及未来5G网络中的终端设备等。
为了便于理解本发明实施例,下面先对本发明实施例所基于的发射端和接收端的网络架构进行描述。请参阅图3,图3是本发明中Polar码编译码方法所基于的系统架构图,本发明各实施例中,执行编译码方法的执行主体可以是通信系统中的基站或终端,且基站或终端内部均包含本发明所涉及的发射端和接收端。其中,发射端用于对目标信息序列进行编码,接收端用于对编码后的目标信息序列进行解码。可以理解的是,在本发明中,当发射端为基站时,则
接收端可为终端,当发射端为终端时,则接收端可为基站。需要说明的是,本发明实施例中的系统架构包括但不仅限于以上系统架构,只要能够实现Polar码编译码的系统架构均属于本发明所保护和涵盖的范围。
参见图4,是本发明实施例中的一种极化Polar码的编译码方法的流程示意图,下面将结合附图4从基站或终端的发射端以及接收端的交互侧进行描述,如图4所示,该方法可以包括以下步骤S401-步骤S407。
步骤S401:接收目标信息序列。
具体地,基站或者终端(如UE,User Equipment)的发射端获取或采集目标信息序列(如经过采样量化后的语音信号),其中目标信息序列的长度为K,K为正整数。其中K的取值一般为2的n次幂,n为正整数,如K的取值可为128、256、512、1024、2048等等。
步骤S402:根据所述长度K确定所述目标信息序列的循环冗余校验CRC的长度M。
具体地,由于现有技术中同一发射端针对不同的信息序列设定的CRC校验码的长度M是固定的,因此无论目标信息序列的长度的K的大小,都使用同一个M值。然而M的值越大,编码的复杂度就越高,当信息序列的长度K较短,M的长度却比较长时,则显然增加了不必要的编码复杂度从而无法获得较优的编码性能。因此本发明实施例中,提出一种根据目标序列的长度K确定步骤S401中接收到的目标信息序列的循环冗余校验CRC的长度M的方法,其中,依据的规则可以是,目标信息序列的长度K越长,对应的CRC校验码的M越大,目标信息序列的长度K越短,对应的CRC校验码的M越小;也可以是,目标信息序列的长度K在第一范围内时对应的CRC校验码的M大于在第二范围内时对应的CRC校验码的M,其中,第一范围内的K值大于第二范围内的K值。
在一种可能的实现方式中,发射端根据预先存储的信息序列长度K与CRC校验码长度M之间的校验码映射关系,确定所述目标信息序列所对应的CRC校验码长度M,其中,在所述校验码映射关系中,长度K较长的信息序列对应的CRC校验码的M大于或等于长度K较短的信息序列对应的CRC校验码的M。可以理解的是,映射关系可以是指列表关系,也可以是函数关系,本
发明对此不作具体限定。可以理解的是,映射关系可以是根据历史经验值,也可以是根据Polar码编译码仿真性能等相关数据中性能较优的方案,进行的映射关系的设定。
步骤S403:对所述目标信息序列添加长度为M的CRC校验码,并对所述添加校验码后的信息序列进行Polar编码,得到长度为N的Polar码。
具体地,在K位目标信息序列后再拼接M位的校验码(一般情况下M的取值可为8、16、24或32等),再对添加了校验码之后的信息序列进行Polar编码,得到长度为N的Polar码。一般情况下N的取值根据采样量化的信号长度来决定,其中N的取值一般为2的n次幂,n为正整数。一般情况下,常用的N的取值可为128、256、512、1024、2048等。
步骤S404:将所述Polar码以及指示所述Polar码长度为N的指示信息发送给接收端。
具体地,将所述Polar码以及指示所述Polar码长度为N的指示信息发送给接收端。其中,指示信息可以是Polar码的长度N,也可以是目标信息序列的长度K以Polar码的码率(信道编码中,K符号大小的信息序列通过编码映射为N符号大小的码字,则K/N称为码率,其中假设编码前后的符号表没有变化)等相关信息,以便于接收端根据该指示信息可以获知接收到的Polar码的码长为N。
步骤S405:接收端接收发射端发送的极化Polar码和指示所述Polar码长度为N的指示信息。
具体地,基站或UE的接收端接收步骤S404中发射端发送的极化Polar码和指示所述Polar码长度为N的指示信息,并根据其中的指示信息获知该极化Polar码的长度为N。结合前述可知,接收端可以根据指示信息直接获取Polar码的长度N(例如指示信息中直接包含了Polar码的长度N的值),或者,可以通过计算获知Polar码的长度N(例如指示信息中包含目标信息序列的长度K以Polar码的码率,可以根据目标信息序列的长度K以Polar码的码率计算得到Polar码的长度N的值)。
步骤S406:根据接收所述Polar码的信噪比SNR和所述Polar码的码长N,确定所述Polar码的幸存路径数L。
具体地,由于现有技术中同一接收端针对接收到的长度为N的不同的Polar码,均设置为较大的幸存路径数L,因此无论接收到的Polar码的长度N的大小,都使用同一个较大的L值。然而L的值越大,译码的复杂度就越高,相对应的能耗也越大,当Polar码的长度N较小,L的长度却比较大时,则显然增加了不必要的译码复杂度从而无法获得较优的译码性能。因此本发明实施例中,提出一种根据接收所述Polar码的信噪比SNR和所述Polar码的码长N,确定所述Polar码的幸存路径数L,所述L为正整数,L的取值一般为2的n次幂,n为正整数。一般情况下,常用的L的取值可为2、4、8、16、32等。其中,由于信噪比可反映接收到的信号(所述极化Polar码)的质量好坏,当信噪比较大时,表示噪声干扰较少,信号质量较好,则需要保留的幸存路径可以较小;当信噪比较小时,则表示噪声干扰较大,信号质量较差,此时不确定因素较多,因此,需要保留下来的幸存路径需要较大。同样,Polar码越长,则译码的复杂度和不定因素越多,需要保留下来的幸存路径较多;相反,Polar码越短,则译码的复杂度和不定因素越少,因此需要保留下来的幸存路径较少,即本发明实施例可以根据此规则来动态设定码长N以及信噪比SNR与幸存路径数L之间的关系。需要说明的是,接收所述极化Polar码的信噪比的计算方法根据现有技术中的相关参数和计算公式计算(如对接收极化Polar码的功率以及噪声的功率的比取以10为底的对数)即可,本发明对此不作具体限定。
在一种可能的实现方式中,接收端根据预先存储的信噪比SNR和Polar码的码长N与幸存路径数L之间的幸存路径数映射关系,确定所述极化Polar码所对应的幸存路径数L,其中,在所述幸存路径数映射关系中,接收极化Polar码的信噪比SNR较大的Polar码对应的L值小于或等于接收极化Polar码的信噪比SNR较小的Polar码对应的L值,并且,码长较长Polar码对应的L的值大于或等于码长较短Polar码对应的L。可以理解的是,映射关系可以是指列表关系,也可以是函数关系,本发明对此不作具体限定。
步骤S407:按照所述幸存路径数L对所述极化Polar码进行串行抵消列表SCL译码,得到L条幸存路径,并对所述L条幸存路径中的至少一条进行校验,以获取所述极化Polar码的译码结果。
具体地,按照步骤S406中确定的幸存路径数L对所述极化Polar码进行
串行抵消列表SCL译码(前述背景技术中对该译码算法进行了相关介绍),得到L条幸存路径,并对所述L条幸存路径中的至少一条进行校验,以获取所述极化Polar码的译码结果。可以理解的是,具体的校验方式取决于发射端发射所述极化Polar码之前添加校验码的具体方式。
在一种可能的实现方式中,接收端对所述L条幸存路径中的至少一条进行循环冗余CRC校验。进一步地,接收端对所述L条幸存路径中具有最高概率值的幸存路径进行CRC校验;若通过校验,则将所述具有最高概率值的幸存路径作为所述极化Polar码的译码结果。再进一步地,若未通过校验,则通知所述发射端进行重传;或者,若未通过校验,在所述L的门限范围值(由于L值不可能大于总的路径数,因此L值有一定的范围)内增加所述L的值,并按照增加后的L对所述极化Polar码进行SCL译码,以获取所述极化Polar码的译码结果。即增加L后,可以将可能遗漏的Polar码的译码结果从增加的幸存路径中重新挽救回来,以增加最终获得译码结果的概率。其中,增加L值的方式可以是将所述L值增加u,u为正整数,或者将所述L乘以v,v大于1。
在一种可能的实现方式中,接收端对所述L条幸存路径中的w条幸存路径进行循环冗余CRC校验,其中w为大于1且小于或等于L的整数;若所述w条幸存路径中存在通过校验的幸存路径,则将所述通过校验的幸存路径中具有最高概率值的幸存路径作为所述极化Polar码的译码结果。其中,如何选择出w条幸存路径,可以是按照概率值的大小选出概率值较大w条幸存路径;也可以是随机选择出w条幸存路径,还可以是按照预先设置好的规则来选择出w条幸存路径,本发明对此不作具体限定。进一步地,若所述w条幸存路径均未通过校验,则通知所述发射端进行重传;或者,若所述w条幸存路径均未通过校验,在所述L的门限范围值内增加所述L的值,并按照增加后的L对所述极化Polar码进行SCL译码,以获取所述极化Polar码的译码结果。即增加L后,可以将可能遗漏的Polar码的译码结果从增加的幸存路径中重新挽救回来,以增加最终获得译码结果的概率。其中,增加L值的方式可以是将所述L值增加u,u为正整数,或者将所述L乘以v,v大于1。
本发明实施例,通过接收端接收发射端发送的极化Polar码和指示所述极化Polar码长度为N的指示信息,并根据接收所述极化Polar码的信噪比SNR
和所述极化Polar码的码长N,确定所述极化Polar码的幸存路径数L,再按照所述幸存路径数L对所述极化Polar码进行串行抵消列表SCL译码,得到L条幸存路径,最终对所述L条幸存路径中的至少一条进行校验,以获取所述极化Polar码的译码结果。即本发明通过提出了一种Polar码译码的方法,根据接收极化Polar码的信噪比、极化Polar码码长自适应地选择Polar码译码幸存路径数L,在保证性能的同时,又可以选择较小的幸存路径值,从而使得系统复杂度降低,解决了现有技术中,极化Polar码译码时只根据固定不变的幸存路径数进行译码可能导致的译码复杂度较大的缺陷。进一步地,本发明实施例通过在发射端根据需要发射的目标信息序列的长度K,自适应的确定CRC校验码的长度M,避免了在一些情况下由于CRC校验码M值偏大或偏小导致的编码过于复杂或过于简单的问题,进而提升了极化Polar码编码的性能。
在具体的应用场景中,本发明实施例中的发射端和接收端的具体处理过程可以如下:
(1)发射端获取长度为K的信息序列X;
(2)发射端根据信息序列X的长度K,确定CRC的长度M。CRC长度M可取值8,16,24或32,一般地,M的值根据信息序列X的长度K确定。如果信息序列X的长度比较小,可以采用长度为8的CRC,如果信息序列X的长度比较长,可以采用长度为32的CRC,否则采用长度为16或24的CRC。具体的我们给出如下表格对应关系:
K |
K≤128 |
128<K≤512 |
512<K≤8192 |
K>8192 |
M |
8 |
16 |
24 |
32 |
(3)发射端对长度为K的信息序列X,添加长度为M的CRC校验码,得到长度为(K+M)的信息序列Y;
(4)发射端对信息序列Y进行Polar编码,得到长度为N的Polar编码序列,N即为Polar编码码长;
(5)发射端将Polar编码后的编码序列通过无线空间信道发送给接收端;同时也将信息序列X的长度K以及Pola码的码率等相关信息发送给接收端;
(6)接收端接收发射端传输的Polar编码序列、信息序列X的长度K以
及Polar编码码率等信息;
(7)接收端根据信息序列X的长度K、Polar编码码率等确定Polar编码码长N,以及CRC长度M;
(8)接收端计算接收信号的信噪比SNR,获取Polar译码幸存路径数量L的值;具体地幸存路径数量L的值,可根据幸存路径L与接收信号的信噪比SNR、Polar码码长N的关系得到,所述关系可用表格、或函数等表示,可存储在接收端。如图5所示,为码长N为8192时,不同L值下的性能曲线。
其中,横坐标轴为信噪比SNR(Signal-to-Noise Ratio),纵坐标轴为误码率,根据该仿真结果,我们可以确定幸存路径L与信噪比SNR及Polar码码长L的关系用表格表示如下:
即当码长为8192时,SNR≤1.1dB时L值取32;SNR在1.1~2.5dB时,L值取16;SNR在1.25~1.4dB时,L值取8;SNR在1.4~1.8dB时,L值取4;SNR≥1.8dB时,L值取2;
(9)接收端按照幸存路径数L对接收的信息序列进行Polar码译码,得到L条幸存路径;
(10)接收端输出L条幸存路径中概率最高的路径,并进行CRC校验;
(11)若通过CRC校验,则为译码结果,若未通过校验则通知发射端进行重传。
在另外一个应用场景中,上述应用场景中的步骤(10)和(11)可以以如下步骤(12)~步骤(13)的方式执行:
(12)接收端对L条幸存路径进行长度为M的CRC校验;如果有幸存路径通过CRC校验,则输出通过CRC校验的幸存路径中概率最高的路径;否则转步骤(13);
(13)接收端根据幸存路径L与接收信号的信噪比SNR、Polar码码长N
的关系,调整L值到下一级L值。比如表一中,如果当前L值为4,则调整L值到下一级L值为8;如果当前L值为16,则调整L值到下一级L值为32;如果L值已经为最大的L值,则不调整,如表一中,如果当前L值为32,为L的最大值,则不调整,输出L条幸存路径中概率最高的一条路径;否则根据调整后的L值则转步骤(9);
在又一个应用场景中,上述应用场景中的步骤(10)和(11)可以由如下步骤(14)~步骤(16)的方式执行:
(14)接收端输出L条幸存路径中概率最高的路径;
(15)接收端对(14)中输出的路径进行CRC校验,如果通过CRC校验,则结束;如果不通过CRC校验,则转步骤(16);
(16)接收端根据幸存路径L与接收信号的信噪比SNR、Polar码码长N的关系,调整L值到下一级L值。比如表一中,如果当前L值为4,则调整L值到下一级L值为8;如果当前L值为16,则调整L值到下一级L值为32;如果L值已经为最大的L值,则不调整,如表一中,如果当前L值为32,为L的最大值,则不调整,输出L条幸存路径中概率最高的一条路径;否则根据调整后的L值则转步骤(4)。可以理解的是,本发明包括但不仅仅局限于以上的具体应用场景,更多的实现细节,请参照上述图4中的方法实施例,这里不再一一列举。
参见图6,对本发明实施例中的一种译码装置的一实施例的结构示意图进行详细介绍。译码装置10可包括:译码接收模块101、译码确定模块102和译码模块103,其中
译码接收模块101,用于接收发射端发送的极化Polar码和指示所述极化Polar码长度为N的指示信息;
译码确定模块102,用于根据接收所述极化Polar码的信噪比SNR和所述极化Polar码的码长N,确定所述极化Polar码的幸存路径数L,所述L为正整数;
译码模块103,用于按照所述幸存路径数L对所述极化Polar码进行串行抵消列表SCL译码,得到L条幸存路径,并对所述L条幸存路径中的至少一
条进行校验,以获取所述极化Polar码的译码结果。
具体地,译码确定模块102用于:根据预先存储的信噪比SNR和Polar码的码长N与幸存路径数L之间的幸存路径数映射关系,确定所述极化Polar码所对应的幸存路径数L,其中,在所述幸存路径数映射关系中,接收极化Polar码的信噪比SNR较大的Polar码对应的L值小于或等于接收极化Polar码的信噪比SNR较小的Polar码对应的L值,并且,码长较长Polar码对应的L的值大于或等于码长较短Polar码对应的L。
进一步地,译码模块103,具体用于:对所述L条幸存路径中的至少一条进行循环冗余CRC校验。
进一步地,译码模块103,可包括:第一校验单元和第一译码单元,其中
第一校验单元,用于对所述L条幸存路径中具有最高概率值的幸存路径进行CRC校验;
第一译码单元,若通过校验,则将所述具有最高概率值的幸存路径作为所述极化Polar码的译码结果。
进一步地,译码模块103,可包括:第二译码单元,其中
第二译码单元,用于若未通过校验,在所述L的门限范围值内增加所述L的值,并按照增加后的L对所述极化Polar码进行SCL译码,以获取所述极化Polar码的译码结果。
再进一步地,译码模块103,可包括:第二校验单元和第三译码单元,其中
第二校验单元,用于对所述L条幸存路径中的w条幸存路径进行循环冗余CRC校验,其中w为大于1且小于或等于L的整数;
第三译码单元,用于若所述w条幸存路径中存在通过校验的幸存路径,则将所述通过校验的幸存路径中具有最高概率值的幸存路径作为所述极化Polar码的译码结果。
再进一步地,译码模块103,还可包括:第四译码单元,其中
第四译码单元,用于若所述w条幸存路径均未通过校验,在所述L的门限范围值内增加所述L的值,并按照增加后的L对所述极化Polar码进行SCL译码,以获取所述极化Polar码的译码结果。
再进一步地,所述第二译码单元或第四译码单元增加所述L的值,具体为:
将所述L值增加u,u为正整数,或者将所述L乘以v,v大于1。
可理解的是,译码装置10中各模块的功能可对应参考上述图4中的各方法实施例中的具体实现方式,这里不再赘述。
参见图7,对本发明实施例中的一种编码装置的一实施例的结构示意图进行详细介绍。该编码装置20可包括:编码接收模块201、编码确定模块202、编码模块203和发送模块204。
编码接收模块201,用于接收目标信息序列,所述目标信息序列的长度为K;
编码确定模块202,用于根据所述长度K确定所述目标信息序列的循环冗余校验CRC的长度M;
编码模块203,用于对所述目标信息序列添加长度为M的CRC校验码,并对所述添加校验码后的信息序列进行Polar编码,得到长度为N的Polar码;
发送模块204,用于将所述极化Polar码以及指示所述极化Polar码长度为N的指示信息发送给接收端。
具体地,编码确定模块202用于:
根据预先存储的信息序列长度K与CRC校验码长度M之间的校验码映射关系,确定所述目标信息序列所对应的CRC校验码长度M,其中,在所述校验码映射关系中,长度K较长的信息序列对应的CRC校验码的M大于或等于长度K较短的信息序列对应的CRC校验码的M。
可理解的是,编码装置20中各模块的功能可对应参考上述图4中的各方法实施例中的具体实现方式,这里不再赘述。
为了便于更好地实施本发明实施例的上述方案,本发明还提供了用于配合实施上述方案的相关编译码器。下面结合图8和9所示的本发明提供的编译码器的实施例的结构示意图,进行详细说明:
图8是本发明的译码器的结构示意图。图8的译码器30可用于实现上述方法实施例中各步骤及方法。译码器30可应用于各种通信系统中的基站或者
终端。图8的实施例中,译码器30包括输入单元301、输出单元302、存储单元303、译码处理单元304。译码处理单元304控制译码器30的操作,并且可用于处理信号。存储单元303可以包括只读存储器和随机存取存储器,并向译码处理单元304提供指令和数据。存储单元303的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,译码器30可以嵌入或者本身可以就是例如移动电话之类的无线通信设备,还可以包括容纳输入单元301和输出单元302的载体,以允许译码器30和远程位置之间进行数据接收和发射。其中,输入单元301和输出单元302可以耦合到天线进行信号的发射与接收。译码器30的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统。
其中,存储单元303可存储使得译码处理单元304执行以下过程的指令:
接收发射端发送的极化Polar码和指示所述极化Polar码长度为N的指示信息;
根据接收所述极化Polar码的信噪比SNR和所述极化Polar码的码长N,确定所述极化Polar码的幸存路径数L,所述L为正整数;
按照所述幸存路径数L对所述极化Polar码进行串行抵消列表SCL译码,得到L条幸存路径,并对所述L条幸存路径中的至少一条进行校验,以获取所述极化Polar码的译码结果。
进一步地,存储单元303还存储使得译码处理单元304执行以下过程的指令:根据预先存储的信噪比SNR和Polar码的码长N分别与幸存路径数L之间的幸存路径数映射关系,确定所述极化Polar码所对应的幸存路径数L,其中,在所述幸存路径数映射关系中,接收极化Polar码的信噪比SNR较大的Polar码对应的L值小于或等于接收极化Polar码的信噪比SNR较小的Polar码对应的L值,并且,码长较长Polar码对应的L的值大于或等于码长较短Polar码对应的L。
再进一步地,存储单元303还存储使得译码处理单元304执行以下过程的指令:对所述L条幸存路径中的至少一条进行循环冗余CRC校验。
再进一步地,存储单元303还存储使得译码处理单元304执行以下过程的
指令:对所述L条幸存路径中具有最高概率值的幸存路径进行CRC校验;
若通过校验,则将所述具有最高概率值的幸存路径作为所述极化Polar码的译码结果。
再进一步地,存储单元303还存储使得译码处理单元304执行以下过程的指令:若未通过校验,则通知所述发射端进行重传;或者
若未通过校验,在所述L的门限范围值内增加所述L的值,并按照增加后的L对所述极化Polar码进行SCL译码,以获取所述极化Polar码的译码结果。
再进一步地,存储单元303还存储使得译码处理单元304执行以下过程的指令:对所述L条幸存路径中的w条幸存路径进行循环冗余CRC校验,其中w为大于1小于或等于L的整数;
若所述w条幸存路径中存在通过校验的幸存路径,则将所述通过校验的幸存路径中具有最高概率值的幸存路径作为所述极化Polar码的译码结果。
再进一步地,存储单元303还存储使得译码处理单元304执行以下过程的指令:若所述w条幸存路径均未通过校验,则通知所述发射端进行重传;或者
若所述w条幸存路径均未通过校验,在所述L的门限范围值内增加所述L的值,并按照增加后的L对所述极化Polar码进行SCL译码,以获取所述极化Polar码的译码结果。
再进一步地,将所述L值增加u,u为正整数,或者将所述L乘以v,v大于1。
可以理解的是,Polar码译码器30中各功能单元的功能可对应参考上述图4中的各方法实施例中的具体实现方式,这里不再赘述。
图9是本发明的编码器的结构示意图。图9的编码器40可用于实现上述方法实施例中各步骤及方法。码编器40可应用于各种通信系统中的基站或者终端。图9的实施例中,码编器40包括输入单元401、输出单元402、存储单元403、编码处理单元404。编码处理单元404控制码编器40的操作,并且可用于处理信号。存储单元403可以包括只读存储器和随机存取存储器,并向编
码处理单元404提供指令和数据。存储单元403的一部分还可以包括非易失行随机存取存储器(NVRAM)。具体的应用中,编码器40可以嵌入或者本身可以就是例如移动电话之类的无线通信设备,还可以包括容纳输入单元401和输出单元402的载体,以允许编码器40和远程位置之间进行数据接收和发射。其中,输入单元401和输出单元402可以耦合到天线进行信号的接收与发射。编码器40的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统。
其中,存储单元403可存储使得编码处理单元404执行以下过程的指令:
接收目标信息序列,所述目标信息序列的长度为K;
根据所述长度K确定所述目标信息序列的循环冗余校验CRC的长度M;
对所述目标信息序列添加长度为M的CRC校验码,并对所述添加校验码后的信息序列进行Polar编码,得到长度为N的Polar码;
将所述极化Polar码以及指示所述极化Polar码长度为N的指示信息发送给接收端。
具体地,存储单元403还存储使得编码处理单元404执行以下过程的指令:
根据预先存储的信息序列长度K与CRC校验码长度M之间的校验码映射关系,确定所述目标信息序列所对应的CRC校验码长度M,其中,在所述校验码映射关系中,长度K较长的信息序列对应的CRC校验码的M大于或等于长度K较短的信息序列对应的CRC校验码的M。
可以理解的是,码编器40中各功能单元的功能可对应参考上述图4中的各方法实施例中的具体实现方式,这里不再赘述。
需要说明的是,上述本发明实施例揭示的编译码器中,译码处理单元304或编码处理单元404可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过译码处理单元304或编码处理单元404中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以也通过其它相关处理器以配合实现及控制。用于执行本发明实施例揭示的方法,上述的译码处理单元304或编码处理单元404可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编
程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
参见图10,图10为本发明提供的终端50的结构示意图,该终端可集成本发明实施例中的译码器30和编码器40以执行本发明实施例中的极化Polar码的编译码的相关方法流程。其中,终端50包括:基带芯片501、射频/天线模块502、存储器503(可包括一个或多个计算机可读存储介质)以及外围系统如显示器(LCD)、摄像头、音频电路、触摸屏以及传感器(可包括一个或多个传感器)。其中,基带芯片501可集成包括:一个或多个处理器5011、时钟模块5012以及电源管理模块5013以及编码/译码器5014(集成有译码器30和编码器40相关的功能)。这些部件可在一个或多个通信总线上通信。
存储器503与处理器5011耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器503可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。
射频/天线模块502用于接收和发送射频信号。射频/天线模块502通过射频信号或天线与通信网络和其他通信设备通信。具体实现中,射频/天线模块502可包括但不限于:天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片、SIM卡和存储介质等。在一些实施例中,可在单独的芯片上实现射频/天线模块502。
外围系统504主要用于实现终端50和用户/外部环境之间的交互功能,主要包括客户端50的输入/输出装置。具体实现中,外围系统504可包括:显示器(LCD)控制器、摄像头控制器、音频控制器、触摸屏控制器以及传感器管理模块。其中,各个控制器可与各自对应的外围设备耦合。在一些实施例中,外围系统504还可以包括其他I/O外设的控制器。
集成于基带芯片501中的时钟模块5012主要用于为处理器5011产生数据传输和时序控制所需要的时钟。集成于基带芯片501中的电源管理模块5013主要用于为处理器5011、射频模块502以及外围系统提供稳定的、高精确度的电压。
可以理解的是,其中关于基带芯片中的编码/译码器5014所执行的功能,可以对应的参考图4所述的方式实施例中的方法步骤,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括
若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。