交织方法、交织器及存储介质转让专利

申请号 : CN202110648005.5

文献号 : CN113381770B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘福良房旭张丽君张汇洋

申请人 : OPPO广东移动通信有限公司

摘要 :

本发明实施例公开了一种交织方法、交织器及存储介质,应用于通信技术领域,可以解决目前的交织方法需要的存储器的存储空间较大,对存储器硬件的要求较高的问题。该方法包括:根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度;根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,交织总行数为等腰直角三角形交织方式所对应的总行数。

权利要求 :

1.一种交织方法,其特征在于,包括:根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,所述目标序列长度为所述Polar编码核的输出比特通过速率匹配后的比特序列长度;

根据所述每一列的比特数以及交织总行数,确定所述Polar编码核的输出比特进行比特交织后的输出比特序号,所述交织总行数为所述等腰直角三角形交织方式对应的总行数;

所述根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,包括:根据所述目标序列长度,确定所述交织总行数;根据所述目标序列长度,确定剩余行数,所述剩余行数为所述交织总行数与写入行数的差值,所述写入行数为所述Polar编码核的输出比特按照所述等腰直角三角形交织方式写入时占用的行数;根据所述目标序列长度、所述交织总行数和所述剩余行数,确定每一列的比特数。

2.根据权利要求1所述的方法,其特征在于,所述根据目标序列长度,确定所述交织总行数,包括:根据所述目标序列长度与公式一,确定所述交织总行数;

所述公式一为:

其中,E表示所述目标序列长度,T表示交织总行数,round表示四舍五入取整。

3.根据权利要求2所述的方法,其特征在于,所述根据所述目标序列长度,确定剩余行数,包括:根据所述目标序列长度、所述交织总行数与公式二,确定所述剩余行数;

所述公式二为:

其中,E表示所述目标序列长度,T表示所述交织总行数,T′表示所述剩余行数。

4.根据权利要求1所述的方法,其特征在于,所述根据所述目标序列长度、所述交织总行数和所述剩余行数,确定每一列的比特数,包括:令

当l<M时,

当M≤l<T′时,

当l≥T′时.

其中,E表示所述目标序列长度,T表示所述交织总行数,T′表示所述剩余行数、 表示第l列的比特数。

5.根据权利要求1所述的方法,其特征在于,所述根据所述每一列的比特数以及所述交织总行数,确定所述Polar编码核的输出比特进行比特交织后的输出比特序号,包括:对于第l列的所述Polar编码核的输出比特,l=0,1,...,T‑1,T表示所述交织总行数;

在r=0时,第j个输出比特的输出比特序号为当前列的编号l;

在r≥1时,所述第j个输出比特的输出比特序号为第j‑1个输出比特的输出比特序号与目标累加值的和,所述目标累加值为所述T与r‑1的差值;

其中,r表示第l列的第几个比特数, l=0时,j=r;l≥1时,

6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:n

通过2个寄存器缓存所述Polar编码核的输出比特;

n

其中,2根据所述Polar编码核的输出比特的序列长度确定,n为大于或等于1的整数。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:p

根据所述输出比特序号,对所述Polar编码核的输出比特,进行2路并行输出;

其中,p为大于或等于0的整数。

8.根据权利要求7所述的方法,其特征在于,所述根据所述输出比特序号,对所述Polarp编码核的输出比特,进行2路并行输出,包括:p n

根据所述输出比特序号,通过2个 选1的MUX,从所述2个寄存器中选择所述Polar编码p核的输出比特中的2个比特;

p p

将所述2个比特,进行2路并行输出;

n p w

其中,通过一个 选1的MUX从所述2个寄存器中选择一个比特,其中,2m≤2 ,且m=2,w大于或等于0。

p

9.根据权利要求8所述的方法,其特征在于,所述根据所述输出比特序号,通过2个 选n p

1的MUX.从所述2个寄存器中选择所述Polar编码核的输出比特中的2个比特,包括:p p 2

根据所述输出比特序号,通过所述2个 选1的MUX,以及(10‑log2m)2个m选1的MUX,从n p所述2个寄存器中选择所述Polar编码核的输出比特中的2个比特。

p

10.根据权利要求8所述的方法,其特征在于,所述通过所述2 个 选1的MUX,以及(10‑p 2 n plog2m)2个m选1的MUX,从所述2个寄存器中选择所述Polar编码核的输出比特中的2个比特之前,还包括:p p

从所述输出比特序号中,确定2路并行输出所对应的2个输出比特序号;

p 2 2

对所述2个输出比特序号对m取模,得到取模后的取值状态个数为m ;m 用于确定使用2

所述m选1的MUX。

11.根据权利要求9所述的方法,其特征在于,所述m的取值包括以下任一种情况:m=1,m=2,m=4,m=8。

12.一种交织器,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至11中任一项所述的交织方法。

13.一种交织器,其特征在于,包括:n n

2个寄存器,用于缓存Polar编码核的输出比特,2是根据所述Polar编码核的输出比特的序列长度确定的;

p n p

2个 选1的MUX,每个 选1的MUX的连接所述2个寄存器中的 个寄存器,所述2 个 选n p p

1的MUX用于从所述2个寄存器中选择所述Polar编码核的输出比特中的2个比特,将所述2p个比特,进行2路并行输出;

p 2

所述交织器还包括:(n‑log2m)*2个m选1的MUX;

p 2 p 2 p

所述(n‑log2m)*2个m选1的MUX,所述(n‑log2m)*2个m 选1的MUX的输出为所述2 个n选1的MUX的控制信号,所述控制信号用于从所述2个寄存器中选择一个比特作为输出,每一个所述 选1的MUX的所述控制信号对应于一个(n‑log2m)比特的地址;

2 2

所述m选1的MUX的输入是m个(n‑log2m)的地址,所述(n‑log2m)比特的地址为根据所述Polar编码核的输出比特的比特输出序号确定的。

14.根据权利要求13所述的交织器,其特征在于,p

2=16,m=1;所述交织器包括:1024个寄存器,以及16个1024选1的MUX。

15.根据权利要求13所述的交织器,其特征在于,p

2 =16,m=2;所述交织器包括:1024个寄存器、16个512选1的MUX,以及144个4选1的MUX。

16.根据权利要求13所述的交织器,其特征在于,P

2=16,m=4;所述交织器包括:1024个寄存器、16个256选1的MUX,以及128个16选1的MUX。

17.根据权利要求13至16任一项所述的交织器,其特征在于,所述交织器还包括:处理器,所述处理器用于执行如权利要求1至11中任一项所述的交织方法。

18.一种交织器,其特征在于,包括:处理模块,用于根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,所述目标序列长度为所述Polar编码核的输出比特通过速率匹配后的比特序列长度;

根据所述每一列的比特数以及交织总行数,确定所述Polar编码核的输出比特进行比特交织后的输出比特序号,所述交织总行数为所述等腰直角三角形交织方式所对应的总行数;

所述处理模块,具体用于根据所述目标序列长度,确定所述交织总行数;根据所述目标序列长度,确定剩余行数,所述剩余行数为所述交织总行数与写入行数的差值,所述写入行数为所述Polar编码核的输出比特按照所述等腰直角三角形交织方式写入时占用的行数;

根据所述目标序列长度、所述交织总行数和所述剩余行数,确定每一列的比特数。

19.一种计算机可读存储介质,其特征在于,包括:所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述的交织方法。

说明书 :

交织方法、交织器及存储介质

技术领域

[0001] 本发明实施例涉及通信技术领域,尤其涉及一种交织方法、交织器及存储介质。

背景技术

[0002] 极化码(即Polar码)是一种高性能的信道编码方法,在3GPP协议38.212中被确定为5G新无线(New Radio,NR)上下行控制信道的编码方案。Polar码利用比特交织能够显著提高信道编码性能的技术,通过调整编码输出序列比特的顺序,能够有效降低信道突发错误对于译码性能的影响。
[0003] 3GPP协议38.212中规定上行Polar码的编码输出序列采用等腰直角三角形交织方法,即将速率匹配后的编码比特序列按行写入一个等腰直角三角形交织器,然后按列将编码比特序列读出。例如,Polar编码核输出的编码比特序列的长度最大可以为1024,假设速率匹配之后的编码比特序列长度为8192,实际中需要采用矩形存储器实现等腰直角三角形交织,为了满足最大8192比特编码序列的交织,该矩形存储器的大小至少为8192*2=16384比特,该交织方法需要的存储器的存储空间较大,对存储器硬件的要求较高。

发明内容

[0004] 本发明实施例提供一种交织方法、交织器及存储介质,用以解决现有技术中目前的交织方法需要的存储器的存储空间较大,对存储器硬件的要求较高的问题。
[0005] 为了解决上述技术问题,本发明实施例是这样实现的:
[0006] 第一方面,提供一种交织方法,包括:
[0007] 根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度;
[0008] 根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,交织总行数为等腰直角三角形交织方式所对应的总行数。
[0009] 第二方面,提供一种交织器,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如第一方面的基于Polar编解码的交织方法。
[0010] 第三方面,提供一种交织器,包括:
[0011] 2n个寄存器,用于缓存Polar编码核的输出比特,2n是根据Polar编码核的输出比特的序列长度确定的;p n p
[0012] 2个 选1的MUX,每个 选1的MUX的连接2个寄存器中的 个寄存器,2个 选1的n p p pMUX用于从2 个寄存器中选择Polar编码核的输出比特中的2个比特,将2个比特,进行2 路并行输出。
[0013] 第四方面,提供一种交织器,包括:
[0014] 处理模块,用于根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度;
[0015] 根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,交织总行数为等腰直角三角形交织方式所对应的总行数。
[0016] 第五方面,提供一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面的基于Polar编解码的交织方法。
[0017] 第六方面,提供一种计算程序产品,该计算机程序产品存储有计算机程序,计算机程序被处理器执行时实现如第一方面的交织方法。
[0018] 第七方面,提供一种芯片,芯片与通信设备中的存储器耦合,使得芯片在运行时调用存储器中存储的程序指令,实现如上述第一方面的交织方法。
[0019] 第八方面,提供一种通信设备,包括:以下中的一种交织器:
[0020] 如上述第二方面的交织器;
[0021] 如上述第三方面的交织器;
[0022] 如上述第四方面的交织器。
[0023] 在本发明实施例中,根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度;根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,交织总行数为等腰直角三角形交织方式所对应的总行数。通过该方案,由于可以根据已知的目标序列长度,确定出每一列的比特数以及交织总行数,从而确定出比特交织后的输出比特序号,如此无需将Polar编码核的输出比特写入实体的等腰直角三角形交织器,而是可以通过计算过程模拟该等腰直角三角形交织方法,这样可以通过计算Polar编码核的输出比特进行比特交织后的输出比特序号,通过虚拟交织方法,实现与现有技术同样的等腰直角三角形交织效果,并且这样的方法由于不需要实体的等腰直角三角形交织器,因此只需缓存Polar编码核的输出比特,例如,Polar编码核的输出比特为1024,那么仅需要1024比特的寄存器就可以实现缓存Polar编码核的输出比特,从而该交织方法可以减少对存储器的存储空间的要求,降低对于存储器硬件的要求。

附图说明

[0024] 图1为本发明实施例提供的一种无线通信系统之中的基本工作流程示意图;
[0025] 图2为本发明实施例提供的一种Polar编码流程的示意图;
[0026] 图3为本发明实施例提供的一种等腰直角三角形交织器的示意图;
[0027] 图4为本发明实施例提供的一种虚拟交织方法示意图一;
[0028] 图5为本发明实施例提供的一种虚拟交织方法示意图二;
[0029] 图6为本发明实施例提供的一种交织方法的流程示意图一;
[0030] 图7为本发明实施例提供的一种交织方法的流程示意图二;
[0031] 图8为本发明实施例提供的一种输出比特序号和对应累加值的状态转换示意图一;
[0032] 图9为本发明实施例提供的一种针对2p=16,m=2时的交织器的硬件结构示意图;
[0033] 图10为本发明实施例提供的一种输出比特序号和对应累加值的状态转换示意图二;
[0034] 图11为本发明实施例提供的一种交织器的结构示意图;
[0035] 图12为本发明实施例提供的一种交织器的硬件结构示意图一;
[0036] 图13A为本发明实施例提供的一种交织器的硬件结构示意图二;
[0037] 图13B为本发明实施例提供的一种交织器的硬件结构示意图三;
[0038] 图13C为本发明实施例提供的一种交织器的硬件结构示意图四。

具体实施方式

[0039] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0041] 首先对本发明实施例的相关技术内容进行介绍:
[0042] 如图1所示,为无线通信系统之中的基本工作流程示意图,其中主要流程包括:
[0043] 发射机(即发射端设备)对信源比特流进行信道编码和调制,获得调制符号;然后在获得的调制符号中可以插入导频符号,以用于接收端的信道估计和符号检测;最后形成发送信号,经过信道到达接收端。
[0044] 接收机(即接收端设备)接收信号并利用导频进行信道估计;然后通过反馈链路将信道信息反馈给发射机,以供发射机调整信道编码方式、调制方式,及预编码方式等;最后接收机通过符号检测、解调以及信道解码等步骤,获得最终的恢复比特流。其中,本申请实施例中涉及信道信息可以为信道状态信息(Channel‑State Information,CSI)。
[0045] 图1是对无线通信系统之中的基本工作流程的一个简单的示意,传统通信系统中还可以有其他未列举的模块和工作流程。例如,还可以包括:资源映射、预编码、干扰消除、CSI测量等功能模块,这些模块可以单独设计实现,这些独立模块整合后可构成一个完整的无线通信系统。
[0046] 为了在无线通信系统中实现可靠的信号传输,编码学家在过去的半个多世纪提出多种编码技术如:纠错(Reed‑Solomon,RS)码、卷积码、低密度奇偶校验(Low‑density Parity‑check,LDPC)码、级联(Turbo)码等,并在各种通信系统中取得了广泛的应用。但是以往的编码方法都未能达到香农于1948年所给出的信道传输的容量极限(也称为香农极限)。而极化码(Polar码)是基于信道极化所给出的一种新的编码方式,具有确定性的构造方法,并且是已知的唯一可以被严格证明可以达到信道容量极限的信道编码方法。
[0047] Polar码是一种高性能的信道编码方法,在3GPP协议38.212中被确定为5G NR上下行控制信道的编码方案。Polar码利用比特交织能够显著提高信道编码性能的技术,通过调整编码输出序列比特的顺序,能够有效降低信道突发错误对于译码性能的影响。3GPP协议38.212中规定上行Polar码的编码输出序列采用等腰直角三角形交织方法,即将速率匹配后的编码比特序列按行写入一个等腰直角三角形交织器,然后按列将编码比特序列读出。
如图2所示,为一种Polar编码流程的示意图,从图中可以看出速率匹配和比特交织在Polar编码流程中的位置。图2中所示的Polar编码流程包括:
[0048] 201、对上行控制信息比特流进行CRC效验。
[0049] 202、通过Polar编码核对效验后的比特流进行编码,得到编码后的比特信息;
[0050] 203、对编码后的比特信息进行速率匹配和比特交织,得到比特交织后的比特序列;
[0051] 204、对比特交织后的比特序列进行星座图调制和快速傅里叶变换(fast Fourier transform,FFT),得到调制后的频率信号。
[0052] 205、针对调制后的频率信号进行上行变频发送。
[0053] 本发明实施例中,可以用N表示Polar编码核输出的编码比特序列的长度,通常N可以为32、64、128、256、512或1024等。用E表示速率匹配后的编码比特序列长度,E可以为小于8192的正整数,使用的等腰直角三角形交织器的总行数应设置为T,T为满足 的最
小正整数。
[0054] 如图3所示为一种等腰直角三角形交织器的示意图,在将编码比特序列在等腰直角三角形交织器中写入时,是按行写入一等腰直角三角形交织器的,在将编码比特序列进行读出时,是按列从等腰直角三角形交织器中将编码比特序列读出的,具体的,如图3中箭头所示意的方式写入和读出。进一步的,在N小于E时,由于N个比特无法填充E个比特位置,因此需要重复的将Polar编码核的输出比特写入到等腰直角三角形交织器中,以填充满这E个比特位置。
[0055] 若采用一块矩形存储器实现等腰直角三角形交织,则矩形存储器的大小至少为8192*2=16384比特。在采用矩形存储器实现等腰直角三角形交织方法时,为了满足最大
8192比特编码序列的交织,矩形存储器的大小至少为8192*2=16384比特,这在实际通信系统中难以得到硬件支持。上述传统的交织方法需要的存储器的存储空间较大,对存储器硬件的要求较高。
[0056] 为了解决上述问题,本发明实施例提供一种交织方法,该交织方法可以根据已知的目标序列长度,确定出每一列的比特数以及交织总行数,从而确定出比特交织后的输出比特序号,如此无需将Polar编码核的输出比特写入实体的等腰直角三角形交织器,而是可以通过计算过程模拟该等腰直角三角形交织方法,这样可以通过计算Polar编码核的输出比特进行比特交织后的输出比特序号,通过虚拟交织方法,实现与现有技术同样的等腰直角三角形交织效果,并且这样的方法由于不需要实体的等腰直角三角形交织器,因此只需缓存Polar编码核的输出比特,例如,Polar编码核的输出比特为1024,那么仅需要1024比特的寄存器就可以实现缓存Polar编码核的输出比特,从而该交织方法可以减少对存储器的存储空间的要求,降低对于存储器硬件的要求。
[0057] 上述交织方法可以应用于交织器,或者通信设备。该通信设备可以为需要实现信道编码的终端设备或者网络设备。
[0058] 本发明实施例中,终端设备可以是WLAN中的站点(STAION,ST),也可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备、下一代通信系统例如NR网络中的终端设备,或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的终端设备等。
[0059] 在本申请实施例中,终端设备可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。
[0060] 在本申请实施例中,终端设备可以是手机(Mobile Phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端设备、无人驾驶(self driving)中的无线终端设备、远程医疗(remote medical)中的无线终端设备、智能电网(smart grid)中的无线终端设备、运输安全(transportation safety)中的无线终端设备、智慧城市(smart city)中的无线终端设备或智慧家庭(smart home)中的无线终端设备等。
[0061] 作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
[0062] 其中,网络设备又可以包括接入网设备和核心网设备。即无线通信系统还包括用于与接入网设备进行通信的多个核心网。接入网设备可以是长期演进(long‑term evolution,LTE)系统、下一代(移动通信系统)(next radio,NR)系统或者授权辅助接入长期演进(authorized auxiliary access long‑term evolution,LAA‑LTE)系统中的演进型基站(evolutional node B,简称可以为eNB或e‑NodeB)宏基站、微基站(也称为“小基站”)、微微基站、接入站点(access point,AP)、传输站点(transmission point,TP)或新一代基站(new generation Node B,gNodeB)等。
[0063] 在本申请实施例中,网络设备可以是用于与移动设备通信的设备,网络设备可以是WLAN中的接入点(Access Point,AP),GSM或CDMA中的基站(Base Transceiver Station,BTS),也可以是WCDMA中的基站(NodeB,NB),还可以是LTE中的演进型基站(Evolutional Node B,eNB或eNodeB),或者中继站或接入点,或者车载设备、可穿戴设备以及NR网络中的网络设备(gNB)或者未来演进的PLMN网络中的网络设备或者NTN网络中的网络设备等。
[0064] 作为示例而非限定,在本申请实施例中,网络设备可以具有移动特性,例如网络设备可以为移动的设备。可选地,网络设备可以为卫星、气球站。例如,卫星可以为低地球轨道(low earth orbit,LEO)卫星、中地球轨道(medium earth orbit,MEO)卫星、地球同步轨道(geostationary earth orbit,GEO)卫星、高椭圆轨道(High Elliptical Orbit,HEO)卫星等。可选地,网络设备还可以为设置在陆地、水域等位置的基站。
[0065] 在本申请实施例中,网络设备可以为小区提供服务,终端设备通过该小区使用的传输资源(例如,频域资源,或者说,频谱资源)与网络设备进行通信,该小区可以是网络设备(例如基站)对应的小区,小区可以属于宏基站,也可以属于小小区(Small cell)对应的基站,这里的小小区可以包括:城市小区(Metro cell)、微小区(Micro cell)、微微小区(Pico cell)、毫微微小区(Femto cell)等,这些小小区具有覆盖范围小、发射功率低的特点,适用于提供高速率的数据传输服务。
[0066] 本文提出了一种交织方法,该交织方法中包括虚拟交织方法和并行输出方法,下面分别针对虚拟交织方法和并行输出方法进行说明。
[0067] 虚拟交织方法:
[0068] 该虚拟交织方法无需将Polar编码核的输出比特写入到存储器中,可以通过计算速率匹配和交织后的输出比特序号(可以指示输出比特顺序)从Polar编码核的输出比特中挑选相应的比特进行输出。这样在Polar编码核的输出比特为1024时,可以避免使用16384比特大小的矩形存储器,只需要1024比特的寄存器作为缓冲器,寄存器的大小只有矩形存储器大小的1/16。
[0069] 如图4和5所示,是以N=128,E=192,T=20为例的虚拟交织方法,其中,图4示出的是Polar编码核的输出比特按照等腰直角三角形交织方式写入时的写入顺序编号,图5示出的是Polar编码核的输出比特按照等腰直角三角形交织方式输出时的顺序编号。
[0070] 如图6所示,为本发明实施例提供的一种交织方法的流程示意图,该方法包括:
[0071] 601、根据目标序列长度,确定交织总行数。
[0072] 其中,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度,交织总行数为等腰直角三角形交织方式所对应的总行数。
[0073] 本发明实施例中,该交织总行数也可以认为是等腰直角三角形交织方式所对应的等腰三角形的直角边长。
[0074] 如图3所示,其中示出了交织总行数,即等腰直角三角形交织方式所对应的总行数T。
[0075] 可选的,可以根据目标序列长度,确定交织总行数,包括:根据目标序列长度与公式一,确定交织总行数;
[0076] 公式一为:
[0077] 其中,其中,表示目标序列长度,T表示交织总行数,round表示四舍五入取整。
[0078] 示例性的,以图4所示的虚拟交织方法为例,
[0079] 602、根据目标序列长度,确定剩余行数。
[0080] 其中,剩余行数为交织总行数与写入行数的差值,写入行数为Polar编码核的输出比特按照等腰直角三角形交织方式写入时占用的行数,也就是说,按照等腰直角三角形交织方式写入等腰直角三角形交织器时,等腰直角三角形交织器末端所剩余的行数。
[0081] 本发明实施例中,该剩余行数也可以认为是按照等腰直角三角形交织方式写入等腰直角三角形交织器时,等腰直角三角形交织器末端所剩余的等腰直角三角形的直角边长。
[0082] 如图3所示,其中示出了剩余行数,即按照等腰直角三角形交织方式写入,等腰直角三角形交织器末端所剩余的行数T′。
[0083] 可选的,可以根据目标序列长度、交织总行数与公式二,确定剩余行数;
[0084] 公式二为:
[0085] 其中,E表示目标序列长度,T表示交织总行数,T′表示剩余行数,round表示四舍五入取整。
[0086] 示例性的,以图4和图5所示的虚拟交织方法为例,
[0087] 603、根据目标序列长度、交织总行数和剩余行数,确定每一列的比特数。
[0088] 令
[0089] 计算每一列的比特数具体可以包括:
[0090] 当l
[0091] 当M≤l
[0092] 当l≥T′时,
[0093] 其中,E表示目标序列长度,T表示交织总行数,T′表示剩余行数、 表示第l列的比特数。
[0094] 示例性,以图4所示的虚拟交织方法为例,
[0095] 当l<3时,
[0096] 当3≤l<6时,
[0097] 当l≥6时,
[0098] 其中,l=6时, l=7时, 往后每列的比特数依次减1,直到l=19时,
[0099] 604、根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号。
[0100] 可选的,根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,包括:
[0101] 对于第l列的Polar编码核的输出比特,l=0,1,…,T‑1;
[0102] 在r=0时,第j个输出比特的输出比特序号为当前列的编号l;
[0103] 在r≥1时,第j个输出比特的输出比特序号为第j‑1个输出比特的输出比特序号与目标累加值的和,目标累加值为交织总行数T与r‑1的差值;
[0104] 其中,r表示第l列的第几个比特数, l=0时,j=r;l≥1时,
[0105] 可选的,可以令 表示交织器的第j个输出比特对应的Polar编码核的输出比特序号。对于每一列的起点, 等于该列编号,然后对 进行累加,累加值依次为T,T‑1,T‑2…,直到该列读完转入下一列。
[0106] 示例性的,具体的伪代码可以如下所示:
[0107]
[0108] 示例性的,以图4所示的虚拟交织方法为例,l=0,r=0,1,…14;那么该列中输出比特序号:令 表示交织器的第j个输出比特对应的Polar编码核的输出比特序号:
[0109] 在r=0时,第0个输出比特序号
[0110] 在r=1时,第1个输出比特序号
[0111] 在r=2时,第2个输出比特序号
[0112] 在r=3时,第3个输出比特序号
[0113] ……
[0114] 在r=14时,第14个输出比特序号
[0115] 对于每一列的输出比特序号的计算方法,均与上述计算第l=0列中的输出比特对应的输出比特序号的方法类似,此处不再赘述。
[0116] 在本发明实施例中,可以根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度;根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,交织总行数为按照等腰直角三角形交织方式所对应的总行数。通过该方案,由于可以根据已知的目标序列长度,确定出每一列的比特数以及交织总行数,从而确定出比特交织后的输出比特序号,如此无需将Polar编码核的输出比特写入实体的等腰直角三角形交织器,而是可以通过计算过程模拟该等腰直角三角形交织方法,这样可以通过计算Polar编码核的输出比特进行比特交织后的输出比特序号,通过虚拟交织方法,实现与现有技术同样的等腰直角三角形交织效果,并且这样的方法由于不需要实体的等腰直角三角形交织器,因此只需缓存Polar编码核的输出比特,例如,Polar编码核的输出比特为1024,那么仅需要1024比特的寄存器就可以实现缓存Polar编码核的输出比特,从而该交织方法可以减少对存储器的存储空间的要求,降低对于存储器硬件的要求。
[0117] 本发明实施例提供的交织方法,将所需存储资源开销降低为原来的1/16,大大降低了对于存储器硬件的要求。
[0118] 如图7所示,为本发明实施例提供的一种交织方法的流程示意图,该方法包括:
[0119] 701、根据目标序列长度,确定交织总行数。
[0120] 702、根据目标序列长度,确定剩余行数。
[0121] 703、根据目标序列长度、交织总行数和剩余行数,确定每一列的比特数。
[0122] 704、根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号。
[0123] 上述针对701至704的描述,可以参考对上述601至604的描述,此处不再赘述。
[0124] 705、通过多个寄存器缓存Polar编码核的输出比特。
[0125] 本发明实施例中,可以通过2n个寄存器缓存Polar编码核的输出比特。
[0126] 其中,2n为根据Polar编码核的输出比特的序列长度确定,m为大于或等于0的整数,n为大于或等于1的整数。
[0127] 706、根据输出比特序号,对Polar编码核的输出比特,进行多路并行输出。
[0128] 本发明实施例中,可以根据输出比特序号,对Polar编码核的输出比特,进行2p路并行输出。
[0129] 其中,p为大于或等于0的整数。
[0130] 可选的,上述705和706具体可以根据以下方式实现:
[0131] 本发明实施例中,可以令输出并行度为P=2p,P一般被设置为2的整数次幂,例如,P=2,P=4,P=8,P=16,P=32等。由于 理论上T可以取任意不大于128的正整数,这意味着每一路输出都可能取到Polar编码核的任意一个输出比特,采用1024个寄存器缓存Polar编码核的任意一个输出比特,即每一路输出和1024个寄存器之间均需要一个
1024选1的MUX。例如,在16路并行的情况下,需要16个1024选1的MUX。
[0132] 可选的,上述m的取值包括以下任一种情况:
[0133] m=1,m=2,m=4,m=8。
[0134] 一种可能的实现方式中:
[0135] (1)通过2n个寄存器缓存Polar编码核的输出比特;根据输出比特序号;
[0136] (2)通过2p个 选1的MUX,从2n个寄存器中选择Polar编码核的输出比特中的2p个比特;
[0137] (3)将2p个比特,进行2p路并行输出。
[0138] 其中,通过一个 选1的MUX从2n个寄存器中选择一个比特,其中,2m≤2p,且m=2w,w大于或等于0。
[0139] 情况1:2p=16,m=1,交织器至少包括:1024个寄存器,以及16个1024选1的MUX。此时上述实现方式具体为:通过1024个寄存器缓存Polar编码核的输出比特;根据输出比特序号;并通过16个1024选1的MUX,从1024个寄存器中选择Polar编码核的输出比特中的16个比特;以及将16个比特,进行16路并行输出。
[0140] 另一种可能的实现方式中:
[0141] (1)从输出比特序号中,确定2p路并行输出所对应的2p个输出比特序号;
[0142] (2)对2p个输出比特序号对m取模,得到取模后的取值状态个数为m2,其中,m2用于2
确定使用m选1的MUX;
[0143] (3)通过2n个寄存器缓存Polar编码核的输出比特;根据输出比特序号;p p 2 n
[0144] (4)通过2个 选1的MUX,以及(10‑log2m)2 个m 选1的MUX,从2 个寄存器中选择pPolar编码核的输出比特中的2个比特;
[0145] (5)将2p个比特,进行2p路并行输出。
[0146] 情况2:2p=16,m=2;交织器至少包括:1024个寄存器,以及16个512选1的MUX,以及144个4选1的MUX,此时上述实现方式具体为:通过1024个寄存器缓存Polar编码核的输出比特;并根据输出比特序号,通过16个512选1的MUX,以及144个4选1的MUX,从1024个寄存器中选择Polar编码核的输出比特中的16个比特;以及将16个比特,进行16路并行输出。
[0147] 情况3:2p=16,m=4;交织器至少包括:1024个寄存器,以及16个256选1的MUX,以及128个16选1的MUX,此时上述实现方式具体为:通过1024个寄存器缓存Polar编码核的输出比特;并根据输出比特序号,通过16个256选1的MUX,以及128个4选1的MUX,从1024个寄存器中选择Polar编码核的输出比特中的16个比特;以及将16个比特,进行16路并行输出。
[0148] 情况4:2p=16,m=8;交织器至少包括:1024个寄存器、16个128选1的MUX,以及112个16选1的MUX。此时上述实现方式具体为:通过1024个寄存器缓存Polar编码核的输出比特;并根据输出比特序号,通过16个128选1的MUX,以及112个16选1的MUX,从1024个寄存器中选择Polar编码核的输出比特中的16个比特;以及将这16个比特,进行16路并行输出。
[0149] 上述情况2至情况4所对应的实现方式中,通过使得每一路并行输出都只关联1024个寄存器中的部分比特,能够显著降低MUX的硬件资源开销。
[0150] 本申请提出的虚拟交织方法,对于每一次并行输出,当输出起点s0(即并行输出中第一个比特的输出比特序号)和起始累加值t0(即,输出比特序号的首个累加值)确定后,可p以根据上述Polar编码核的输出比特进行比特交织后的输出比特序号,确定2路并行输出p
的地址,也即确定2 路输出比特所对应的输出比特序号。其中,
p
为了保证2路并行输出的连续性,当某一列的比特读完后,转入下一列之前,可以将当前读p p
取的2个比特并行输出,并准备下一次的读取的2个比特。
[0151] 需要说明的是,在每一次读取并行的待输出比特时,可能存在读取的不足2p个比特的情况,此时则按照这一次读取的实际比特进行并行输出。例如,以图4所示的交织方式为例,针对16路并行输出的情况,首列仅有15个比特,因此在读取首列的数据时,不足16个比特,那么输出首列的这15个比特。
[0152] 可选的,针对16路并行输出的情况,针对每一次16路并行输出来说,输出比特序号的起始累加值t0依次可以为:T,T‑16,T‑32等,n=0,1,…,15。针对一次16路并行输出之内的累加值来说,累加值依次为t0、t0‑1、t0‑2,…,t0‑15。
[0153] 以下针对情况2:2p=16,m=2;进行详细说明:
[0154] 可以根据16个并行输出比特的奇偶关系(即模2后的取值状态),去确定需要使用的MUX的类型以及数量。
[0155] 图8为一种输出比特序号和累加值的状态转换示意图,可以根据并行输出中的输出起点s0和起始累加值t0的奇偶关系,确定16个并行输出中,首个输出比特的输出比特序号的奇偶取值状态,以及起始累加值的奇偶取值状态,如图8所示,可以有4种取值状态。分别为:00、01、10、11,其状态转移周期为4。
[0156] 相应的,16个并行输出的输出比特序号的奇偶关系共有4种取值状态,也即4种图样。本发明实施例中的虚拟交织方法中,输出比特序号可以对N取模,由于N是2的整数倍,模N前后的奇偶特性是一样的。
[0157] 如表1所示,每种图样有8个奇数,8个偶数,这意味着16路输出中,可以有8路输出只连接1024个寄存器的奇数编号位置,8路输出只连接1024个寄存器的偶数编号位置,也就是说此时可以使用16个512选1的MUX。
[0158] 表1
[0159] 起点模2 累加起始值模2 连续16个并行输出模20 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
[0160] 进一步的,还需要选择9比特的地址,作为16个512选1的MUX的控制信号,因此需要16个用于选择9比特地址的4选1的MUX,16个用于选择9比特地址的4选1的MUX,可以通过144个4选1的MUX实现。如此可以确定出需要使用的MUX的类型以及数量包括:16个512选1的MUX,以及144个4选1的MUX。这些4选1的MUX的控制信号包括如图8所示的4种取值状态,即16个并行输出中,首个输出比特的输出比特序号的奇偶取值状态,以及起始累加值的奇偶取值状态。其中,不同的取值状态作为控制信号时,对应不同的输出选择。
[0161] 需要说明的是,本发明实施例中所涉及的MUX,除了有特别说明的情况,均是指比特位宽为1比特的MUX。
[0162] 如图9所示,是一种针对2p=16,m=2时的交织器的硬件结构示意图,该交织器内包括:1024个寄存器,该1024个寄存器可以按照奇数编号和偶数编号分为两组,其中,16路输出中,可以有8路输出只连接1024个寄存器的奇数编号位置,即奇数的寄存器组,8路输出只连接1024个寄存器的偶数编号位置,即偶数寄存器组,因此该交织器还可以包括16个512选1的MUX。进一步的,该交织器内还包括16个用于选择9比特地址的4选1的MUX(也即144个4选1的MUX),并将16个用于选择9比特地址的4选1的MUX作为16个512选1的MUX的控制信号。
[0163] 以下针对情况3:2p=16,m=4;进行详细说明:
[0164] 可以根据16个并行输出比特的奇偶关系(即模2后的取值状态),去确定需要使用的MUX的类型以及数量。
[0165] 图10为一种输出比特序号和对应累加值的状态转换示意图,可以根据并行输出中的输出起点s0和起始累加值t0的模4关系,确定16个并行输出中,首个输出比特的输出比特序号的模4取值状态,以及起始累加值的模4取值状态,如图10所示,总共有16种模4取值状态,00、03、32、11、31、12、23、20,以及01、10、13、02、21、30、33、22,并可以确定其状态转移周期为8。
[0166] 相应的,16个并行输出的模4关系共有16种取值状态,也即16种图样。本发明实施例中的虚拟交织方法中,输出比特序号可以对N取模,由于N是4的整数倍,模N前后的取值状态是一样的。
[0167] 如表2所示,每种图样有4个0,4个1,4个2,4个3,这意味着16路输出中,可以有4路输出只连接1024个寄存器中模4为0的编号位置,4路输出只连接1024个寄存器的模4为1的编号位置,4路输出只连接1024个寄存器的模4为2的编号位置,4路输出只连接1024个寄存器的模4为3的编号位置。也就是说此时可以使用16个256选1的MUX。
[0168] 表2
[0169] 起点模4 累加起始值模4 连续16个pattern,模40 0 0 0 3 1 2 2 1 3 0 0 3 1 2 2 1 3
0 1 0 1 1 0 2 3 3 2 0 1 1 0 2 3 3 2
0 2 0 2 3 3 2 0 1 1 0 2 3 3 2 0 1 1
0 3 0 3 1 2 2 1 3 0 0 3 1 2 2 1 3 0
1 0 1 1 0 2 3 3 2 0 1 1 0 2 3 3 2 0
1 1 1 2 2 1 3 0 0 3 1 2 2 1 3 0 0 3
1 2 1 3 0 0 3 1 2 2 1 3 0 0 3 1 2 2
1 3 1 0 2 3 3 2 0 1 1 0 2 3 3 2 0 1
2 0 2 2 1 3 0 0 3 1 2 2 1 3 0 0 3 1
2 1 2 3 3 2 0 1 1 0 2 3 3 2 0 1 1 0
2 2 2 0 1 1 0 2 3 3 2 0 1 1 0 2 3 3
2 3 2 1 3 0 0 3 1 2 2 1 3 0 0 3 1 2
3 0 3 3 2 0 1 1 0 2 3 3 2 0 1 1 0 2
3 1 3 0 0 3 1 2 2 1 3 0 0 3 1 2 2 1
3 2 3 1 2 2 1 3 0 0 3 1 2 2 1 3 0 0
3 3 3 2 0 1 1 0 2 3 3 2 0 1 1 0 2 3
[0170] 进一步的,还需要选择8比特地址,作为16个256选1的MUX的控制信号,因此需要16个16选1的MUX用于选择8比特地址,可以通过128个16选1的MUX实现。如此可以确定出需要使用的MUX的类型以及数量包括:16个256选1的MUX和128个16选1的MUX。这些16选1的MUX的控制信号为如图10中所示的16种取值状态,即16个并行输出比特的输出比特序号的模4取值状态,以及对应的累加值的模4取值状态。
[0171] 进一步的,为了明确上述不同情况下方案的硬件资源开销,如表3所示,对于本发明实施例所提供的几种不同虚拟交织方案,进行了硬件资源开销对比。
[0172] 表3
[0173]
[0174]
[0175] 通过上述表3,可以看出方案1的硬件开销非常大,需要16384比特的矩形存储器来实现比特交织,其硬件综合面积也非常大。相比于方案1,方案2,方案3和方案4均降低了硬件开销,并且硬件综合面积和大大减小。
[0176] 本发明实施例中,提出了一种基于交织方法,该交织方法是一种虚拟交织方法,可以通过计算Polar编码核的输出比特的输出比特序号,来实现虚拟的比特交织效果,该方案所需存储的资源开销降低为原来的1/16,并且结合并行输出方法,可以进一步大幅降低支持高速并行所需的MUX的资源开销。
[0177] 需要说明的是,本发明实施例提供的交织方法中,是以16并行输出为例比较了不同方案的硬件开销对比,可以理解的是,实际中本发明实施例提供的交织方法可以支持任意输出并行度。
[0178] 需要说明的是,本发明实施例提供的交织方法中,不仅适用于Polar编码所需的比特交织过程,同样也可以适用于Polar译码所需的解交织过程。
[0179] 如图11所示,本发明实施例提供一种交织器的结构示意图,该交织器包括:
[0180] 处理模块1101,用于根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度;
[0181] 根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,交织总行数为等腰直角三角形交织方式所对应的总行数。
[0182] 可选的,处理模块1101,具体用于根据目标序列长度,确定交织总行数;根据目标序列长度,确定剩余行数;该剩余行数为交织总行数与写入行数的差值,写入行数为Polar编码核的输出比特按照等腰直角三角形交织方式写入时占用的行数;根据目标序列长度、交织总行数和剩余行数,确定每一列的比特数。
[0183] 可选的,处理模块1101,具体用于根据目标序列长度与公式一,确定交织总行数;公式一为: 其中,E表示目标序列长度,T表示交织总行数。
[0184] 可选的,处理模块1101,具体用于根据目标序列长度、交织总行数与公式二,确定剩余行数;公式二为: 其中,E表示目标序列长度,T表示交织总行数,T′表示剩余行数。
[0185] 可选的,处理模块1101,具体用于:
[0186] 令
[0187] 当l
[0188] 当M≤l
[0189] 当l≥T′时,
[0190] 其中,E表示目标序列长度,T表示交织总行数,T′表示剩余行数、 表示第l列的比特数。
[0191] 可选的,处理模块1101,具体用于对于第l列的Polar编码核的输出比特,l=0,1,…,T‑1;
[0192] 在r=0时,第j个输出比特的输出比特序号为当前列的编号l;
[0193] 在r≥1时,第j个输出比特的输出比特序号为第j‑1个输出比特序号与目标累加值的和,目标累加值为交织总行数T与r‑1的差值;
[0194] 其中,r表示第l列的第几个比特数, l=0时,j=r;l≥1时,
[0195] 可选的,处理模块1101,还用于通过2n个寄存器缓存Polar编码核的输出比特;其n中,2根据Polar编码核的输出比特的序列长度确定,m为大于或等于0的整数,n为大于或等于1的整数。
[0196] 可选的,处理模块1101,还用于根据输出比特序号,对Polar编码核的输出比特,进p行2路并行输出;
[0197] 其中,p为大于或等于0的整数。
[0198] 可选的,处理模块1101,具体用于根据输出比特序号,通过2p个 选1的MUX,从2n个p p p寄存器中选择Polar编码核的输出比特中的2 个比特;将2 个比特,进行2 路并行输出;其n p w
中,通过一个 选1的MUX从2 个寄存器中选择一个比特,其中,2m≤2 ,且m=2 ,w大于或等于0。
[0199] 可选的,处理模块1101,具体用于通过2p个 选1的MUX,以及(10‑log2m)2p个m2选1n p的MUX,从2个寄存器中选择Polar编码核的输出比特中的2个比特。
[0200] 可选的,处理模块1101,还用于从输出比特序号中,确定2p路并行输出所对应的2pp 2 2个输出比特序号;对2个输出比特序号对m取模,得到取模后的取值状态个数为m ;m 用于确
2
定使用m选1的MUX。
[0201] 可选的,m的取值包括以下任一种情况:
[0202] m=1,m=2,m=4,m=8。
[0203] 如图12所示,为本发明实施例提供的一种交织器的硬件结构示意图,该交织器包括:处理器1201、存储器1202及存储在存储器上并可在处理器1201上运行的计算机程序,以使得处理器实现一下功能:
[0204] 处理器1201,用于根据目标序列长度,确定Polar编码核的输出比特按照等腰直角三角形交织方式写入时每一列的比特数,目标序列长度为Polar编码核的输出比特通过速率匹配后的比特序列长度;
[0205] 根据每一列的比特数以及交织总行数,确定Polar编码核的输出比特进行比特交织后的输出比特序号,交织总行数为等腰直角三角形交织方式所对应的总行数。
[0206] 可选的,处理器1201,具体用于根据目标序列长度,确定交织总行数;根据目标序列长度,确定剩余行数,其中,所述剩余行数为所述交织总行数与写入行数的差值,所述写入行数为所述Polar编码核的输出比特按照等腰直角三角形交织方式写入时占用的行数;根据目标序列长度、交织总行数和剩余行数,确定每一列的比特数。
[0207] 可选的,处理器1201,具体用于根据目标序列长度与公式一,确定交织总行数;公式一为: 其中,E表示目标序列长度,T表示交织总行数。
[0208] 可选的,处理器1201,具体用于根据目标序列长度、交织总行数与公式二,确定剩余行数;公式二为: 其中,E表示目标序列长度,T表示交织总行数,T′表示剩余行数。
[0209] 可选的,处理器1201,具体用于:
[0210] 令
[0211] 当l
[0212] 当M≤l
[0213] 当l≥T′时,
[0214] 其中,E表示目标序列长度,T表示交织总行数,T′表示剩余行数、 表示第l列的比特数。
[0215] 可选的,处理器1201,具体用于对于第l列的Polar编码核的输出比特,l=0,1,…,T‑1;
[0216] 在r=0时,第j个输出比特的输出比特序号为当前列的编号l;
[0217] 在r≥1时,第j个输出比特的输出比特序号为第j‑1个输出比特序号与目标累加值的和,目标累加值为交织总行数T与r‑1的差值;
[0218] 其中,r表示第l列的第几个比特数, l=0时,j=r;l≥1时,
[0219] 可选的,处理器1201,还用于通过2n个寄存器缓存Polar编码核的输出比特;其中,n2根据Polar编码核的输出比特的序列长度确定,m为大于或等于0的整数,n为大于或等于1的整数。
[0220] 可选的,处理器1201,还用于根据输出比特序号,对Polar编码核的输出比特,进行p2路并行输出;
[0221] 其中,p为大于或等于0的整数。
[0222] 可选的,处理器1201,具体用于根据输出比特序号,通过2p个 选1的MUX,从2n个寄p p p存器中选择Polar编码核的输出比特中的2个比特;将2个比特,进行2路并行输出;其中,n p w
通过一个 选1的MUX从2个寄存器中选择一个比特,其中,2m≤2,且m=2 ,w大于或等于0。
p p 2
[0223] 可选的,处理器1201,具体用于通过2个 选1的MUX,以及(10‑log2m)2个m选1的n pMUX,从2个寄存器中选择Polar编码核的输出比特中的2个比特。
[0224] 可选的,处理器1201,还用于从输出比特序号中,确定2p路并行输出所对应的2p个p 2 2输出比特序号;对2个输出比特序号对m取模,得到取模后的取值状态个数为m ;m 用于确定
2
使用m选1的MUX。
[0225] 可选的,m的取值包括以下任一种情况:
[0226] m=1,m=2,m=4,m=8。
[0227] 可选的,如图13A所示为本发明实施例提供的一种交织器的硬件结构示意图,该交n n织器包括:2 个寄存器1301,用于缓存Polar编码核的输出比特,2是根据Polar编码核的输n
出比特的序列长度确定的;图13A中通过R表示2。
[0228] 2p个 选1的MUX1302,每个 选1的MUX1302的输入端1302a连接2n个寄存器1301,p n p2个 选1的MUX1302用于从2个寄存器中选择Polar编码核的输出比特中的2个比特,并通p p p p
过2个 选1的MUX1302的输出端1302b将2个比特,进行2路并行输出。图13A中,用P表示2。
n
其中,每个 选1的MUX1302根据该 选1的MUX1302的控制端1302c所输入的控制信号,从2个寄存器中选择Polar编码核的输出比特。
[0229] 可选的,结合图13A,如图13B所示为本发明实施例提供的另一种交织器的硬件结p 2构示意图,交织器还包括:(n‑log2m)*2个m选1的MUX;图13B中通过n1来表示(n‑log2m),通p
过S来表示(n‑log2m)*2;
[0230] (n‑log2m)*2p个m2选1的MUX1303,(n‑log2m)*2p个m2选1的MUX的输出为2p个 选1的nMUX的控制信号,选1的MUX的控制信号用于从2个寄存器中选择一个比特作为输出,每一个 选1的MUX的控制信号对应于一个(n‑log2m)比特的地址;
[0231] m2选1的MUX1303的输入端1303a输入的是m2个(n‑log2m)的地址,(n‑log2m)比特的地址为根据Polar编码核的输出比特的比特输出序号确定的。2
[0232] 其中,每个 选1的MUX1302的控制端1302c连接(n‑log2m)个m 选1的MUX1303的输出端1303b。
[0233] 每个m2选1的MUX1303的控制端1303c所输入的控制信号为并行输出中,首个输出比特的输出比特序号的模m取值状态,以及起始累加值的模m取值状态,例如,如图8所示的4种取值状态,或者如图10所示的16种取值状态。其中,不同的取值状态作为控制信号时,对应不同的输出选择。p
[0234] Polar编码核的输出比特的比特输出序号是一个n比特的地址,由于通过2个 选1n p的MUX1301,从2个寄存器中选择Polar编码核的输出比特中的2个比特,选1的MUX1302的控制信号就是根据该n比特的地址所确定的(n‑log2m)比特的地址。
[0235] 可选的,2p=16,m=1;交织器包括:1024个寄存器,以及16个1024选1的MUX。
[0236] 可选的,2p=16,m=2;交织器包括:1024个寄存器、16个512选1的MUX,以及144个4p选1的MUX(即16个用于选择9比特地址的4选1MUX)。示例性的,2 =16,m=2时,交织器的具体硬件结构可以如图9所示。
[0237] 可选的,2p=16,m=4;交织器包括:1024个寄存器、16个256选1的MUX,以及128个16选1的MUX。
[0238] 可选的,2p=16,m=8;交织器包括:1024个寄存器、16个128选1的MUX,以及112个16选1的MUX。这种情况下使用112个16选1的MUX,是由于地址最多有16个,因此这里采用112个16选1的MUX。
[0239] 需要说明的是,可以判断m2与2p的取值大小,并取两者中较小的数X,确定采用X选1p的MUX来选择地址,以作为2个 选1的MUX的控制信号。
[0240] 进一步的,结合图13B,如图13C所示,为一种交织器的硬件结构示意图,交织器还包括:处理器1304,该处理器用于执行上述方法实施例中交织方法的各个过程。
[0241] 可选的,处理器1304可以包括运算电路,该运算电路可以用于计算Polar编码核的输出比特进行比特交织后的输出比特序号,以及用于根据Polar编码核的输出比特的比特输出序号确定(n‑log2m)比特的地址(即比特输出序号)。
[0242] 本发明实施例提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述方法实施例中交织方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0243] 其中,该计算机可读存储介质可以为只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
[0244] 本发明实施例提供一种计算程序产品,该计算机程序产品存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中交织方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0245] 本发明实施例提供一种芯片,该芯片与通信设备中的存储器耦合,使得芯片在运行时调用存储器中存储的程序指令,实现如上述方法实施例中交织方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0246] 第八方面,提供一种通信设备,包括:本发明实施例中提供的任一种交织器。
[0247] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0248] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
[0249] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。