本发明实施例涉及通信领域,尤其涉及一种编码方法及编码设备。
背景技术:
通信系统通常采用信道编码提高数据传输的可靠性,保证通信的质量。极化(polar)码是一种理论上证明可以取得香农容量且具有低编译码复杂度(编译码复杂度均为o(nlogn),其中n为码长)的好码。当polar码的码长很大时,采用连续相消(successive-cancellation,sc)译码就能够取得好的性能,如sc译码和sc-list译码,该sc-list译码大大提高了sc译码性能,并接近最好的最大似然译码(maximum-likelihood,简称ml)性能。但是,当polar码较短或中等长度时,所提出的sc译码和sc-list译码的性能不是很优,需要提高性能。也就是说,sc译码在码长n很长的情况下能够取得好的性能,逼近香农限;但是当n较短或者中等长度的时候,polar码的sc译码的性能没有超过turbo和低密度奇偶校验码(lowdensityparitycheckcode,简称ldpc码)的性能,需要进一步提高译码性能。
为此,业内人士提出一种改进的编码方法用以提高后续的译码性能,例如,将crc编码和polar码编码级联以提高最后的polar码的最小码距,进而实现码长n较短或者中等长度的时候,polar码的sc译码/sc-list译码的性能得到提高。上述的crc编码方法生成的矩阵有如下形式:gcrc=[ipcrc】
然而,采用级联crc编码的polar码生成方法不一定能够提高整个码的最小距离,如,polar码在某种生成多项式的crc校验码下不能够提高最小码距。
技术实现要素:
有鉴于此,本发明实施例提供一种编码方法及编码设备,用以解决现有技术中polar码较短或中等长度时,polar码的最小码距不是足够大的问题。
第一方面,本发明实施例提供一种编码方法,包括:
将待编码的信息比特经由循环冗余校验crc编码之后,输入用于由polar码的构造参数决定的交织器,所述交织器用于对所述crc编码后的比特进行交织,并输出交织后的比特;
将输出的交织后的比特进行polar码编码,得到编码后的polar码。
结合第一方面,在第一种可能的实现方式中,所述将输出的交织后的比特进行polar码编码,包括:
将所述交织器输出的交织后的比特按照系统的polar码的信息比特集排列的集合进行polar码编码。
结合第一方面,在第二种可能的实现方式中,若待编码的信息比特为k1,则经由crc编码之后的比特为b[i],其中,i=1,…,k,k=k1+l,l为循环冗余校验的数目;
将k输入交织器u[a(i)]=b[i],得到输出的u[a(i)],a为信息比特索引的集合;
对u[a(i)]进行polar码编码,得到编码后的polar码;
其中,a(i)是第i个信息比特的索引,是polar码的构造参数。
结合第一方面及第二种可能的实现方式,在第三种可能的实现方式中,所述对u[a(i)]进行polar码编码,包括:
对u[a(i)]采用系统的polar码编码方式进行编码;
或者,对对u[a(i)]采用非系统的polar码编码方式进行编码。
第二方面,本发明实施例还提供一种编码设备,包括:
crc校验模块,用于将待编码的信息比特进行循环冗余校验crc编码;
交织器,用于将crc编码后的比特进行交织,得到交织后的比特;
polar码编码模块,用于对所述交织后的比特进行polar码编码,得到编码后的polar码。
结合第二方面,在第一种可能的实现方式中,所述polar码编码模块,具体用于
将所述交织器输出的交织后的比特按照系统的polar码的信息比特集排列的集合进行polar码编码。
结合第二方面,在第二种可能的实现方式中,所述polar码编码模块为系统的polar码编码器或非系统的polar码编码器。
结合第二方面及上述可能的实现方式,在第三种可能的实现方式中,所述交织器为采用所述polar码的构造参数确定的。
由上述技术方案可知,本发明实施例的编码方法及编码设备,通过将待编码的信息比特进行crc编码,进而将crc编码后的比特输入交织器,以使交织器对crc编码后的比特进行交织,并将交织后的比特进行polar码编码,得到编码后的polar码,进而解决了现有技术中polar码较短或中等长度时,polar码的最小码距不是足够大的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地:下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明技术方案的其它附图。
图1为本发明一实施例提供的编码方法的流程示意图;
图2为本发明一实施例提供的编码方法的流程示意图;
图3为本发明一实施例提供的编码设备的结构示意图;
图4为各种编码方法的最小码距的仿真图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。显然,下述的各个实施例都只是本发明一部分的实施例。基于本发明下述的各个实施例,本领域普通技术人员即使没有作出创造性劳动,也可以通过等效变换部分甚至全部的技术特征,而获得能够解决本发明技术问题,实现本发明技术效果的其它实施例,而这些变换而来的各个实施例显然并不脱离本发明所公开的范围。
为了方便理解本发明,先对polar编码进行描述。
polar码是一种线性块码。其生成矩阵为gn,其编码过程为
bn是转置矩阵,例如比特反转(bitreversal)矩阵。
polar码用陪集码可以表示为(n,k,a,uac),其编码过程为:
为了提高polar码的最小码距,本发明实施例提出了一种新的编码方法,本发明实施例中的编码方法引入与polar码编码的构造参数相关的交织器,用以提高最后得到的polar码的最小距离。
图1示出了本发明一实施例提供的编码方法的流程示意图,如图1所示,本实施例中的编码方法如下所述。
101、将待编码的信息比特经由循环冗余校验(cyclicalredundancycheck,简称crc)编码之后,输入用于由polar码的构造参数决定的交织器,所述交织器用于对所述crc编码后的比特进行交织,并输出交织后的比特。
在本实施例中,交织器是用于提高最后获得的polar码的最小码距的。
102、将输出的交织后的比特进行polar码编码,得到编码后的polar码。
上述实施例中的编码方法,通过将待编码的信息比特进行crc编码,进而将crc编码后的比特输入交织器,以使交织器对crc编码后的比特进行交织,并将交织后的比特进行polar码编码,得到编码后的polar码,进而解决了现有技术中polar码较短或中等长度时,polar码的最小码距不是足够大的问题。
在一种可选的实施例中,上述步骤102中的“将输出的交织后的比特进行polar码编码”,包括图中未示出的步骤1021:
1021、将所述交织器输出的交织后的比特按照系统的polar码的信息比特集排列的集合进行polar码编码。
在另一种可选的实施例中,参照图2所示,本实施例的编码方法包括:
s01、若待编码的信息比特为k1,则经由crc编码之后的比特为b[i],其中,i=1,…,k,k=k1+l,l为循环冗余校验的数目;
s02、将k输入交织器u[a(i)]=b[i],得到输出的u[a(i)],a为信息比特索引的集合。
通常,a的集合是根据信息比特的可靠性从高道低的排列。由上可知,从crc编码比特先后顺序(系统位在前,校验位在后)映射到按可靠排序的polar码(如polar系统码)的信息比特集。
s03、对u[a(i)]进行polar码编码,得到编码后的polar码;
其中,a(i)是是第i个信息比特的索引,是polar码的构造参数。
举例来说,对u[a(i)]进行polar码编码,可包括:对u[a(i)]采用系统的polar码编码方式进行编码;或者,对u[a(i)]采用非系统的polar码编码方式进行编码。
另外,对于图1或图2所示的编码方法对应的crc级联的polar码的译码可以如下:
可在sclist译码和crc校验加入逆交织模块就可以实行本实施例提出的和crc级联的polar码的译码。
上述实施例中的编码方法,可有效解决现有技术中polar码较短或中等长度时,polar码的最小码距不是足够大,性能不足以和turbo码的性能竞争的问题。
图3为本发明一实施例提供的编码设备的结构示意图,如图3所示,本实施例中的编码设备包括:crc校验模块31、交织器32和polar码编码模块33;
其中,crc校验模块31用于将待编码的信息比特进行crc编码;
交织器32用于将crc编码后的比特进行交织,得到交织后的比特;
polar码编码模块33用于对所述交织后的比特进行polar码编码,得到编码后的polar码。
在一种可选的实施例中,前述的polar码编码模块33具体用于
将所述交织器输出的交织后的比特按照系统的polar码的信息比特集排列的集合进行polar码编码。
在具体的应用过程中,所述polar码编码模块为系统的polar码编码器或非系统的polar码编码器。
特别地,本实施例中的交织器32可为采用所述polar码的构造参数确定的。
上述实施例中的编码设备,可有效解决现有技术中polar码较短或中等长度时,polar码的最小码距不是足够大,性能不足以和turbo吗的性能竞争的问题。
以下通过仿真的数据和相关内容进行说明,在crc校验模块和polar码编码模块之间引入交织器,从而提高整个码的最小码距的编码方法。
在仿真中我们采用itu的16位和24位的crc生成多项式如下:
gcrc24(d)=[d24+d23+d6+d5+d+1]foracrclengthl=24
gcrc16(d)=[d16+d12+d5+1]foracrclengthl=16.
在仿真实验中,计算整个polar码的最小码距时,采用annecanteaut’算法。
应说明的是,上述的annecanteaut’为现有技术中公开的算法,本实施例仅在仿真实验中使用。
与现有技术中的方法相比较,计算得到的最小码距如下表一所示:
表一
其中,上述表格中的系统的polar码(2048,683)表示码长n=2048,信息比特长度k=683的系统的polar码。
图4示出了各种编码方法的最小码距的仿真图,如图4所示,图4是利用联合界的一阶近似得到的各种最小码距的误包率(frameerrorrate,fer)的unionbound。由图4所示,若采用最大似然译码ml,由最小码距24提高到32的时候fer有很大的提高。
由上的仿真实验证明了本发明实施例中的编码方法可有效解决现有技术中polar码较短或中等长度时,polar码的最小码距不是足够大,性能不足以和turbo吗的性能竞争的问题。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。