CN112054808A - Polar码的编码方法及装置 - Google Patents

Polar码的编码方法及装置 Download PDF

Info

Publication number
CN112054808A
CN112054808A CN202011048580.3A CN202011048580A CN112054808A CN 112054808 A CN112054808 A CN 112054808A CN 202011048580 A CN202011048580 A CN 202011048580A CN 112054808 A CN112054808 A CN 112054808A
Authority
CN
China
Prior art keywords
code length
output
bit
circuit
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011048580.3A
Other languages
English (en)
Other versions
CN112054808B (zh
Inventor
张达
赵旭莹
张丽雅
石晶林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202011048580.3A priority Critical patent/CN112054808B/zh
Publication of CN112054808A publication Critical patent/CN112054808A/zh
Application granted granted Critical
Publication of CN112054808B publication Critical patent/CN112054808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供一种Polar码的编码方法,包括:一种Polar码编码方法,利用码长为2N的Polar编码模块
Figure DDA0002708799200000011
实现码长为2N+1的编码,N为任意正整数,所述方法包括下列步骤:步骤100:将将待编码的数字序列
Figure DDA0002708799200000012
分为
Figure DDA0002708799200000013
Figure DDA0002708799200000014
两部分,其中
Figure DDA0002708799200000015
Figure DDA00027087992000000117
步骤200:对
Figure DDA0002708799200000016
输入
Figure DDA0002708799200000017
获得输出
Figure DDA0002708799200000018
Figure DDA0002708799200000019
步骤300:对
Figure DDA00027087992000000110
输入
Figure DDA00027087992000000111
获得输出
Figure DDA00027087992000000112
Figure DDA00027087992000000113
步骤400:将
Figure DDA00027087992000000114
Figure DDA00027087992000000115
按位模2相加的结果作为码长为2N+1编码输出的低2N位,将
Figure DDA00027087992000000116
作为码长为2N+1编码输出的高2N位。基于本发明的实施例,在不增加硬件的情况下,缩短了关键路径,大大提升编码器的速率。

Description

Polar码的编码方法及装置
技术领域
本发明涉及无线通信系统,尤其涉及Polar码的编码方法与编码器。
背景技术
为了实现可靠的信号传输,编码学家在过去的半个多世纪提出多种纠错码技术如里所码(RS码)、卷积码,Turbo码等,并在各种通信系统中取得了广泛的应用。但是以往所有实用的编码方法都未能达到香农于1948年所给出的信道传输的容量极限(也称为香农界)。2008年在国际信息论ISIT会议上,Arikan首次提出了信道极化的概念,基于该理论,他给出了人类已知的第一种能够被严格证明达到信道容量的信道编码方法,并命名为极化码(Polar Code)。Polar码具有明确而简单的编码及译码算法。通过信道编码学者的不断努力,当前Polar码所能达到的纠错性能超过目前广泛使用的Turbo码、LDPC码。因此Polar码在5G标准中被采用,被确定为5G eMBB场景控制信道的编码方案。
在数字通信系统中,当有发送信源信息的需求产生后,首先进行信源编码将其变成能够传输的数字序列,然后对这一段序列进行信道编码。Polar码属于线性分组码,它通过生成矩阵来实现编码。Polar码的码长只能为2的正整数幂,当码长为2N时,它的生成矩阵
Figure BDA0002708799180000011
为核心矩阵F的N次克罗内克积(nth Kronecker power),F定义如下
Figure BDA0002708799180000012
给定生成矩阵后,通过
Figure BDA0002708799180000013
计算出编码后的码字,其中u为待编码的信息,x为对u进行编码后得到的码字。
当码长为21时,可表示为如下
Figure BDA0002708799180000014
因此x0=u0+u1,x1=u1,其中加法为模2加法,即异或运算,本发明所称的加法均为模2加法,由此可得到码长为2时的编码图,如图1所示,图中y0,y1为经过信道传输后的信号,W为信道转移概率。
当码长为22时,生成矩阵G4
Figure BDA0002708799180000021
[x0,x2,x1,x3]=[u0,u1,u2,u3]G4
因此有
x0=u0+u1+u2+u3
x2=u1+u3
x1=u2+u3
x3=u3
由此可得到码长为4时的编码图,如图2所示,图2中略去了信道部分,此图包含两级,注意编码结果不是[x0,x1,x2,x3],而是[x0,x2,x1,x3],这是因为Polar编码中的倒序重排(reverse shuffle)形成的。
按照这种方式可以得出码长为任意时的编码图,图3(a)示出了码长为16时的编码图,它需要32个异或门,它的关键电路跨越4级,长度为4,图3(b)中的粗黑实线示出了它的关键电路。
以上方式为根据生成矩阵直接设计出的全并行编码器。Polar码长越长,越接近香农极限,因此码长越长越好,在5G标准中编码序列码长最大为1024,随着码长变长,全并行方式所需的存储器和异或门的数量迅速增长,关键路径也相应变长,在1024位码长全并行电路中,关键路径为10。
为解决关键路径和异或门的数量迅速增长的问题,通常需要对电路进行复用,利用同一电路反复计算,因此采用部分并行的方式,减少异或门的数量,从而减少硬件体积。图4示出了部分并行电路的电路图,它可以处理16位码长,但仅是4位并行,此图包含4级。在该方案中存在一条关键路径,图5中黑色粗实线示出了图4方案中从输入到输出经过的运算最长的逻辑路径,此关键路径跨越了4级,长度为4。利用此种方式设计的处理码长为1024的电路,关键路径将达到10。
在集成电路设计中,关键路径过长,会带来很多问题,例如,延长编码器的处理时间,大大降低了编码器的通量,严重影响了编码器的性能。而图4这种电路复用方式与全并行电路相比,并没有能缩短关键路径。
发明内容
本发明针对上述问题,根据本发明的第一方面,提出一种Polar码编码的方法,包括:
利用码长为2N的Polar编码模块
Figure BDA0002708799180000031
实现码长为2N+1的编码,N为任意正整数,所述方法包括下列步骤:
步骤100:将将待编码的数字序列
Figure BDA0002708799180000032
分为
Figure BDA0002708799180000033
Figure BDA0002708799180000034
两部分,其中
Figure BDA0002708799180000035
Figure BDA0002708799180000036
步骤200:对
Figure BDA0002708799180000037
输入
Figure BDA0002708799180000038
获得输出
Figure BDA0002708799180000039
步骤300:对
Figure BDA00027087991800000310
输入
Figure BDA00027087991800000311
获得输出
Figure BDA00027087991800000312
Figure BDA00027087991800000313
步骤400:将
Figure BDA00027087991800000314
Figure BDA00027087991800000315
按位模2相加的结果作为码长为2N+1编码输出的低2N位,将
Figure BDA00027087991800000316
作为码长为2N+1编码输出的高2N位。
根据本发明的第二方面,提供一种Polar码编码电路,包括一个码长为2N的全并行Polar编码电路
Figure BDA00027087991800000317
两个2N的寄存器,一个2N异或门,其中将待编码的数字序列
Figure BDA00027087991800000318
分为
Figure BDA00027087991800000319
Figure BDA00027087991800000320
两部分,其中
Figure BDA00027087991800000321
Figure BDA00027087991800000322
输入
Figure BDA00027087991800000323
获得输出
Figure BDA00027087991800000324
存储到第一个寄存器;
Figure BDA00027087991800000325
输入
Figure BDA00027087991800000326
获得输出
Figure BDA00027087991800000327
存储到第二个寄存器;
使用2N异或门将
Figure BDA00027087991800000328
Figure BDA00027087991800000329
按位模2相加,相加结果作为码长为2N+1编码输出的低2N位,将
Figure BDA00027087991800000330
作为码长为2N+1编码输出的高2N位。
在本发明的一个实施例中,还包括逐次扩展电路,其中用于每一次扩展的电路包括一个2T位的寄存器,T为大于N的任意正整数,一个2TXOR异或门,其中2T为本次扩展前的码长,将待编码的数字序列
Figure BDA00027087991800000331
Figure BDA00027087991800000332
分为
Figure BDA00027087991800000333
Figure BDA00027087991800000334
两部分,其中
Figure BDA00027087991800000335
Figure BDA00027087991800000336
使用所述全并行编码器与本次扩展之前的扩展电路
Figure BDA00027087991800000337
以及所述寄存器和异或门:
Figure BDA00027087991800000338
输入
Figure BDA00027087991800000339
获得输出
Figure BDA00027087991800000340
存储到寄存器;
Figure BDA00027087991800000341
输入
Figure BDA00027087991800000342
获得输出
Figure BDA00027087991800000343
输出到数据线;
使用2T异或门将
Figure BDA0002708799180000041
Figure BDA0002708799180000042
按位模2相加,相加结果作为码长为2T+1编码输出的低2T位,将
Figure BDA0002708799180000043
作为码长为2T+1编码输出的高2T位。
在本发明的一个实施例中,扩展前的编码输出和每一次扩展的编码输出,可以直接输出。
根据本发明的第三方面,提供一种计算机可读存储介质,其中存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现本发明的Polar码编码方法。
根据本发明的第四方面,提供一种计算系统,包括:存储装置、以及一个或者多个处理器;其中,所述存储装置用于存储一个或者多个计算机程序,所述计算机程序在被所述处理器执行时用于实现本发明的Polar码编码方法。
与现有技术相比,本发明的实施例的优点在于:在不增加硬件的情况下,缩短了关键路径,大大提升编码器的速率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了码长为2的Polar码编码示意图;
图2示出了码长为4的Polar码编码示意图;
图3(a)示出了码长为16的Polar码全并行编码电路示意图;
图3(b)示出了码长为16的Polar码全并行编码电路关键路径示意图;
图4示出了码长为16的4位并行Polar码编码电路示意图;
图5示出了码长为16的4位并行Polar码编码电路关键路径示意图;
图6示出了电路C8的示意图;
图7示出了根据本发明实施例的电路C3+1的示意图;
图8示出了根据本发明实施例的电路C5+5的示意图。
图9示出了根据本发明实施例的电路C5+5的扩展电路的关键路径示意图。
具体实施方式
如背景技术中所介绍,目前的Polar编码器存在关键路径过长的问题。为此,本专利发明人进行了研究,提出了一种Polar码编码电路的构建方法。
以图3(a)所示码长16的全并行电路为例介绍此构建方法,图3(a)电路包含4级,图中wx,y表示第x级的第y比特输出。
用CL表示码长为L的编码电路,对于图3(a)所示的16位全并行编码电路,其电路表示为C16,不考虑第四级,仅看前三级,上半部分电路与下半部分电路是相同的,因此可以将前三级上半部分电路与下半部分电路复用,只保留一半的电路,例如只留下前三级上半部分的电路,令其为电路C8,如图6所示。当由C8处理图3(a)的C16的输入u0,u1,u2...u15时,需分两次处理,第一次输入u0,u1,u2...u7,得到输出w3,0,w3,1,w3,2,...w3,7,第二次输入u8,u9,u10...u15,得到输出w3,8,w3,9,w3,10,...w3,15。注意本发明无需考虑Polar编码的倒序重排问题。
对于C16中第四级的电路,需要将两次输出保存起来,再将两次输出按位异或操作获得第四级低8位的输出,即x0,x8,x4,x12,x2,x10,x6,x14,而第二次输出的w3,8,w3,9,w3,10,...w3,15直接为第四级高8位的输出,即x1,x9,x5,x13,x3,x11,x7,x15
由此,可以获得图7所示的电路,其中8位Polar编码器即为图6中的C8电路,两个8位寄存器分别存储两次计算结果,将两个8位寄存器按位异或后输出到16位寄存器的低8位,将存储第二次输出结果的寄存器中的值直接输出到16位寄存器的高8位。
通过这种方法将码长为8的编码电路C8扩展为码长16位的编码电路。此方法也可对任意码长的电路进行扩展。
首先定义1x k的矩阵上的扩展运算符#,对于两个1x k的矩阵a=(a1,a2...ak)和b=(b1,b2...bk),扩展运算结果为一个长度为1x 2k的矩阵c=(c1,c2...ck,ck+1...c2k),
即c=a#b,其中
Figure BDA0002708799180000051
i=1,2...k,
Figure BDA0002708799180000052
为异或
ci=bi,i=k+1,k+2...2k
将以下称为扩展1:
Figure BDA0002708799180000053
i=1,2...k
将以下称为扩展2:ci=bi,i=k+1,k+2...2k
扩展运算包括扩展1和扩展2。
则有以下利用码长为2N的Polar编码模块
Figure BDA00027087991800000617
实现码长为2N+1的编码的方法,N为任意正整数,所述方法包括下列步骤:
步骤100:将待编码的数字序列
Figure BDA0002708799180000061
分为
Figure BDA0002708799180000062
Figure BDA0002708799180000063
两部分,其中
Figure BDA0002708799180000064
步骤200:对
Figure BDA0002708799180000065
输入
Figure BDA0002708799180000066
获得输出
Figure BDA0002708799180000067
步骤300:对
Figure BDA0002708799180000068
输入
Figure BDA0002708799180000069
获得输出
Figure BDA00027087991800000610
步骤400:将x1#x2作为码长为2N+1的编码输出
根据本发明的一个实施例,上述编码模块
Figure BDA00027087991800000611
可以采用硬件电路实现,如图7中的8位Polar编码器,也可以为任意硬件、软件以及软硬件的结合,用
Figure BDA00027087991800000612
实现码长为2N+1的编码时也可以采用任意硬件、软件以及软硬件的结合的方法。
图7中电路分为两部分,一部分为码长2N全并行编码器,另一部分为扩展电路,扩展电路在码长2N全并行编码器的基础上实现码长2N+1的编码。图7中全并行编码器完成码长8的编码,扩展电路实现了码长16的编码,扩展了一次。可以根据需要选择全并行编码器支持的码长2N,码长2N可以为任意2的正整数次幂,而扩展电路部分可以扩展多次,在全并行编码器的基础上实现长于2N的任意码长的编码。
例如针对5G标准的1024码长的需求,可以选择32位码长的全并行编码器,以及扩展5次的扩展电路,如图8所示。
因此可以在前述步骤400后再将编码电路扩展一次或多次以实现码长为2N+1+z的编码,z为任意正整数,所述方法需执行步骤500z次:
步骤500:用N+1替换N,执行步骤100、200、300和400
此外图8中的电路还可以实现码长32、64、128、256、512的编码,标示为1的数据线可输出码长为32的编码,标示为2的数据线可输出码长为64的编码,标示为3、4、5的数据线可分别输出码长为128、256、512的编码。
当使用图8电路进行编码时,先使用全并行32位Polar编码器两次,两次结果
Figure BDA00027087991800000613
Figure BDA00027087991800000614
分别存在两个32位的寄存器中,然后求取64位编码结果
Figure BDA00027087991800000615
利用异或门32XOR完成
Figure BDA00027087991800000616
的扩展1,并输出到64位数据线的低32位,
Figure BDA0002708799180000071
的扩展2则是将
Figure BDA0002708799180000072
直接输出到64位数据线的高32位,则此时64位数据线上为
Figure BDA0002708799180000073
即完成64位码长编码,完成了第一次扩展,编码结果
Figure BDA0002708799180000074
可以通过标示为2的数据线输出。
如果要进行128位码长的编码,需将
Figure BDA0002708799180000075
经64位数据线存入64寄存器中。再使用全并行32位Polar编码器两次,两次编码结果
Figure BDA0002708799180000076
Figure BDA0002708799180000077
分别存在两个32位寄存器中,覆盖掉原有的
Figure BDA0002708799180000078
Figure BDA00027087991800000710
Figure BDA00027087991800000711
扩展运算后,输出64位码长的编码结果
Figure BDA00027087991800000712
至64位数据线,这和从
Figure BDA00027087991800000713
Figure BDA00027087991800000714
获取
Figure BDA00027087991800000715
方法相同。
再对64位数据线上的
Figure BDA00027087991800000716
与存储在64位寄存器中的
Figure BDA00027087991800000717
进行扩展运算求取128位编码结果
Figure BDA00027087991800000718
利用异或门64XOR完成
Figure BDA00027087991800000719
的扩展1,并输出到128位数据线的低64位,
Figure BDA00027087991800000720
的扩展2则是将
Figure BDA00027087991800000721
直接输出到128位数据线的高64位,则此时128位数据线上为
Figure BDA00027087991800000722
即完成128位码长编码,完成了第二次扩展,编码结果
Figure BDA00027087991800000723
可以通过标示为3的数据线输出。
当使用图8电路进行128位码长编码时,全并行32位Polar编码器需要编码128/32=4次,以获得
Figure BDA00027087991800000724
Figure BDA00027087991800000725
如果要进行256位码长的编码,需将
Figure BDA00027087991800000726
经128位数据线存入128位寄存器中,再用获取
Figure BDA00027087991800000727
的方法获取
Figure BDA00027087991800000728
Figure BDA00027087991800000729
输出到128位数据线上,对128位数据线上的
Figure BDA00027087991800000730
和128位寄存器中的
Figure BDA00027087991800000731
求取256位编码结果
Figure BDA00027087991800000732
当使用图8电路进行256位码长编码时,全并行32位Polar编码器需要编码256/32=8次,其它依次类推。
从第二次扩展开始,将本次扩展前的编码结果
Figure BDA00027087991800000733
存放在2T位的寄存器中,T为大于N的任意正整数,采用和
Figure BDA00027087991800000734
相同的编码方法获取
Figure BDA00027087991800000735
Figure BDA00027087991800000736
输出到2T位数据线上,对2T位数据线上的
Figure BDA00027087991800000737
和2T位的寄存器中
Figure BDA00027087991800000738
求取扩展运算结果
Figure BDA00027087991800000739
使用2TXOR异或门进行
Figure BDA00027087991800000740
扩展1,并输出到2T+1位数据线的低2T位,
Figure BDA00027087991800000741
扩展2则是将
Figure BDA00027087991800000742
输出到2T+1位数据线的高2T位,此时2T+1位数据线上的
Figure BDA00027087991800000743
为码长为2T+1的编码结果。
图8中的电路32位寄存器有两个,而64位、128位、256位、512位寄存器各有一个。32位寄存器可以仿照其它位的寄存器只设置一个,但是在扩展电路中由数据线和异或门连接也形成的关键路径,图9中的粗黑实线示出了图8电路的扩展电路中的关键路径,长度为5,而全并行32位Polar编码器中关键路径为5,如果不断开两条关键路径,关键路径长度将达10。通过设置寄存器可以防止两条关键路径连通,使整个电路的关键路径仍为5。图9左侧的32位寄存器断开了全并行32位Polar编码器中的关键路径与扩展电路中的关键路径的连接。
用CN+E表示上述全并行编码电路+扩展电路,N表示全并行编码电路部分码长为2N,E表示扩展电路部分扩展的次数,则图7为C3+1,图8为C5+5,根据上述可知,N和E可根据需要设为任意正整数,例如,可以选用C4+6,C3+7,C6+4,C7+3等的电路。同样地,扩展电路中数据线和异或门连接会形成关键路径,需要在对全并行编码电路的第一次扩展中,使用寄存器将全并行编码电路中的关键路径与扩展电路中的关键路径断开。
在CN+E中对全并行编码电路的第一次扩展总结为将全并行编码
Figure BDA0002708799180000081
Figure BDA0002708799180000082
分别存放在2N位的寄存器中,求取扩展运算结果
Figure BDA0002708799180000083
使用2NXOR异或门进行
Figure BDA0002708799180000084
扩展1,并输出到2N+1位数据线的低2N位,
Figure BDA0002708799180000085
扩展2则是将
Figure BDA0002708799180000086
输出到2N+1位数据线的高2N位,此时2N+1位数据线上的
Figure BDA0002708799180000087
为码长为2N+1的编码结果。
CN+E电路中的全并行编码电路部分也可以用其它电路代替,例如C4+6的电路中,码长16位的全并行编码电路可以用图4中的电路代替。
图7所示的C3+1电路与图4相比,硬件没有增加,图7电路关键路径为3,而图4电路关键路径为4。为支持5G标准要求的最大码长1024的Polar码,以图4方式扩展后,关键路径为10,而图8中的关键路径仅为5。图8电路在主频为1Ghz时该编码器的吞吐量达到32Gbps。采用这种方式的编码架构,实现高吞吐量的同时并没有增加硬件代价,最关键的是避免了长关键路径的存在。
应当理解,可以使用编程和/或工程技术来生产软件、固件、硬件或其任何组合的方式,将上述系统和方法实现为方法、设备或制造产品。另外,可以将上述系统和方法作为嵌入在一个或多个制造产品之上或之中的一个或多个计算机可读程序来提供。本文所使用的术语“制造产品”旨在包括可从一个或多个计算机可读装置、固件、可编程逻辑、存储装置(例如EEPROM、ROM、PROM、RAM、SRAM等)、硬件(例如集成电路芯片、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)、电子装置、计算机可读非易失性存储单元(例如CD-ROM、USB闪存、硬盘驱动器等)可访问的或嵌入其中的代码或逻辑。可以从文件服务器访问该制造产品,该文件服务器经由网络传输线、无线传输介质、在空间传播的信号、无线电波、红外信号等提供对计算机可读程序的访问。该制造产品可以是闪存卡或磁带。该制造产品包括硬件逻辑以及嵌入在计算机可读介质中的由处理器执行的软件或可编程代码。通常,计算机可读程序可以以任何编程语言(例如LISP、PERL、C、C++、C#、PROLOG)或任何字节代码语言(例如JAVA)实现。软件程序可以作为目标代码存储在一个或多个制造产品之上或之中。上述系统可以提供那些组件中的任意的多个组件或那些组件中的每一个组件,并且这些组件可以在独立的机器上或者在一些实施例中在分布式系统中的多个机器上提供。
为使本领域任何普通技术人员能够实现或者使用本公开内容,上面围绕本公开内容进行了描述。对于本领域普通技术人员来说,对本公开内容进行各种修改是显而易见的,并且,本文定义的通用原理也可以在不脱离本公开内容的精神或保护范围的基础上适用于其它变型。此外,除非另外说明,否则任何方面和/或实施例的所有部分或一部分可以与任何其它方面和/或实施例的所有部分或一部分一起使用。因此,本公开内容并不限于本文所描述的例子和设计方案,而是与本文公开的原理和新颖性特征的最广范围相一致。

Claims (6)

1.一种Polar码编码方法,利用码长为2N的Polar编码模块
Figure FDA00027087991700000139
实现码长为2N+1的编码,N为任意正整数,所述方法包括下列步骤:
步骤100:将将待编码的数字序列
Figure FDA0002708799170000011
分为
Figure FDA0002708799170000012
Figure FDA0002708799170000013
两部分,其中
Figure FDA0002708799170000014
Figure FDA0002708799170000015
步骤200:对
Figure FDA00027087991700000140
输入
Figure FDA0002708799170000016
获得输出
Figure FDA0002708799170000017
Figure FDA0002708799170000018
步骤300:对
Figure FDA00027087991700000141
输入
Figure FDA0002708799170000019
获得输出
Figure FDA00027087991700000110
Figure FDA00027087991700000111
步骤400:将
Figure FDA00027087991700000112
Figure FDA00027087991700000113
按位模2相加的结果作为码长为2N+1编码输出的低2N位,将
Figure FDA00027087991700000114
作为码长为2N+1编码输出的高2N位。
2.一种Polar码编码电路,包括一个码长为2N的全并行Polar编码电路
Figure FDA00027087991700000142
两个2N的寄存器,一个2N异或门,其中将待编码的数字序列
Figure FDA00027087991700000115
分为
Figure FDA00027087991700000116
Figure FDA00027087991700000117
两部分,其中
Figure FDA00027087991700000118
Figure FDA00027087991700000143
输入
Figure FDA00027087991700000119
获得输出
Figure FDA00027087991700000120
Figure FDA00027087991700000121
存储到第一个寄存器;
Figure FDA00027087991700000144
输入
Figure FDA00027087991700000122
获得输出
Figure FDA00027087991700000123
Figure FDA00027087991700000124
存储到第二个寄存器;
使用2N异或门将
Figure FDA00027087991700000125
Figure FDA00027087991700000126
按位模2相加,相加结果作为码长为2N+1编码输出的低2N位,将
Figure FDA00027087991700000127
作为码长为2N+1编码输出的高2N位。
3.根据权利要求2所述的电路,还包括逐次扩展电路,其中用于每一次扩展的电路包括一个2T位的寄存器,T为大于N的任意正整数,一个2TXOR异或门,其中2T为本次扩展前的码长,将待编码的数字序列
Figure FDA00027087991700000128
分为
Figure FDA00027087991700000129
Figure FDA00027087991700000130
两部分,其中
Figure FDA00027087991700000131
Figure FDA00027087991700000132
使用所述全并行编码器与本次扩展之前的扩展电路
Figure FDA00027087991700000145
以及所述寄存器和异或门:
Figure FDA00027087991700000146
输入
Figure FDA00027087991700000133
获得输出
Figure FDA00027087991700000134
Figure FDA00027087991700000135
存储到寄存器;
Figure FDA00027087991700000147
输入
Figure FDA00027087991700000136
获得输出
Figure FDA00027087991700000137
Figure FDA00027087991700000138
输出到数据线;
使用2T异或门将
Figure FDA0002708799170000021
Figure FDA0002708799170000022
按位模2相加,相加结果作为码长为2T+1编码输出的低2T位,将
Figure FDA0002708799170000023
作为码长为2T+1编码输出的高2T位。
4.根据权利要求2或3所述的电路,扩展前的编码输出和每一次扩展的编码输出,可以直接输出。
5.一种计算机可读存储介质,其中存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现如权利要求1所述的方法。
6.一种计算系统,包括:
存储装置、以及一个或者多个处理器;
其中,所述存储装置用于存储一个或者多个计算机程序,所述计算机程序在被所述处理器执行时用于实现如权利要求1所述的方法。
CN202011048580.3A 2020-09-29 2020-09-29 Polar码的编码方法及装置 Active CN112054808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011048580.3A CN112054808B (zh) 2020-09-29 2020-09-29 Polar码的编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011048580.3A CN112054808B (zh) 2020-09-29 2020-09-29 Polar码的编码方法及装置

Publications (2)

Publication Number Publication Date
CN112054808A true CN112054808A (zh) 2020-12-08
CN112054808B CN112054808B (zh) 2024-03-08

Family

ID=73606409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011048580.3A Active CN112054808B (zh) 2020-09-29 2020-09-29 Polar码的编码方法及装置

Country Status (1)

Country Link
CN (1) CN112054808B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710264A (zh) * 2012-06-29 2012-10-03 华为技术有限公司 译码方法和装置
CN105897279A (zh) * 2016-03-29 2016-08-24 中山大学 一种基于分组马尔可夫叠加传输的系统化编码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710264A (zh) * 2012-06-29 2012-10-03 华为技术有限公司 译码方法和装置
CN105897279A (zh) * 2016-03-29 2016-08-24 中山大学 一种基于分组马尔可夫叠加传输的系统化编码方法

Also Published As

Publication number Publication date
CN112054808B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
KR100502609B1 (ko) Ldpc 코드를 이용한 부호화기 및 부호화 방법
US8745472B2 (en) Memory with segmented error correction codes
KR102386191B1 (ko) 폴라 코드용의 블록 단위의 병렬 동결 비트 생성
US11165448B2 (en) Low latency polar coding and decoding by merging of states of the polar code graph
US8700971B2 (en) Parallel residue arithmetic operation unit and parallel residue arithmetic operating method
CN110741558B (zh) 具有逻辑三维存储器的极化编码器、通信单元、集成电路及其方法
CN113110954A (zh) 一种crc码并行计算方法、装置及其应用
JP2019525638A (ja) 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化
Alhassan et al. The Huffman’s method of secured data encoding and error correction using residue number system (RNS)
US11075715B2 (en) Encoding method and apparatus
EP2309650A1 (en) A systematic encoder with arbitrary parity positions
CN109245775B (zh) 一种译码器及其实现译码的方法
CN112054808A (zh) Polar码的编码方法及装置
CN100417031C (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
US11677419B2 (en) Cyclic redundancy check, CRC, decoding using the inverse CRC generator polynomial
CN114342265A (zh) 使用存储在查找表lut中的生成器矩阵的部分并行循环冗余校验crc计算
CN111600613B (zh) 一种校验方法、装置、译码器、接收机及计算机存储介质
CN111082889A (zh) 一种Gold序列生成方法及系统
CN116186745B (zh) 哈希加密方法、非易失性可读存储介质及电子设备
WO2022022311A1 (zh) 产生伪随机序列的方法和装置、电子设备、存储介质
Lakshmi et al. Area efficient implementation of short length QC-LDPC codes for Ultra-Reliable Low-Latency Communication (URLLC) application
CN116722967A (zh) 一种轻量级联合编码的密码实现方法及系统
CN116208180A (zh) 一种bch码高效并行编解码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant