发明内容
本发明提供一种极化编码方法、装置、电子设备及存储介质,用以提供一种极化编码方案,用以灵活的确定待编码的序列对应的分段策略,以保证上行控制行道的性能。
本发明公开了一种极化编码方法,所述方法包括:
根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略;
根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于或大于等于预设的第一码率阈值;
如果是,确定不对所述待编码的序列分段。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率不大于或者小于预设的第一码率阈值、且不小于或大于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第一长度阈值,其中所述第一码率阈值大于所述第二码率阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述预设的第一码率阈值为0.4。
进一步地,所述判断所述待编码的序列的长度是否大于或者大于等于预设的第一长度阈值之前,所述方法还包括:
根据所述传输码率及预设的函数,确定第一长度阈值。
进一步地,所述预设的第一函数为Kth1=int(c*R+b)或者Kth1=c*R+b,其中kth1为第一长度阈值、int为取整函数、c为预设的第一参数、b为预设的第二参数、R为传输码率。
进一步地,所述c不大于1200、且不小于800,所述b不大于161、且不小于119。
进一步地,所述c为1000,b为140。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率小于或者小于等于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第二长度阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述预设的第二长度阈值不小于290、且不大于390。
进一步地,所述预设的第二长度阈值为340。
进一步地,所述预设的第二码率阈值为0.2。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率小于或者小于等于预设的第三码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第三长度阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述第三码率阈值为6/25。
进一步地,所述预设的第三长度阈值不小于348、且不大于472。
进一步地,所述预设的第三长度阈值为410。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率不小于或大于预设的第三码率阈值、且不大于或者小于预设的第四码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值,其中所述第四码率阈值大于所述第三码率阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值之前,所述方法还包括:
根据所述传输码率及预设的第二函数,确定第四长度阈值。
进一步地,所述预设的第二函数为Kth2=int(a*R+e)或者Kth2=a*R+e,其中kth2为第四长度阈值、int为取整函数、a为预设的第三参数、e为预设的第四参数、R为传输码率。
进一步地,所述a不大于1200、且不小于800,所述e不大于196、且不小于144。
进一步地,所述a为1000,e为170。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述待编码的序列的长度是否大于或大于等于预设的第五长度阈值;
如果是,确定对所述待编码的序列分段。
进一步地,所述确定对所述待编码的序列分段之前,所述方法还包括:
判断所述传输码率是否小于或小于等于预设的第五码率阈值;
如果是,进行后续步骤。
进一步地,所述预设的第五码率阈值不小于0.2、且不大于0.9。
进一步地,所述预设的第五码率阈值为0.75,或2/3,或1/2,或2/5,或0.38,或0.36,或1/3,或0.3,或0.28,或0.26,或0.24,或1/4,或1/5。
进一步地,所述预设的第五长度阈值不小于300、且不大于450。
进一步地,所述预设的第五长度阈值为340,或350,或360,或370,或380,或390,或400,或410,或420,或430,或440,或450。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于预设的第六码率阈值;
如果是,确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段,其中K_th1为第一长度值、f为预设的第五参数值、g为预设的第六参数值、R为传输码率、int为取整函数。
进一步地,所述f为位于500-1200范围内的数值、g为位于60-300范围内的数值。
进一步地,所述f为832、g为200。
进一步地,所述确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段包括:
确定根据预先设定的至少两个码率区间,及每个码率区间对应的预设的线性函数K_th1=fn*R+gn或K_th1=int(fn*R+gn),确定所述传输码率对应的目标码率区间,根据所述目标码率区间对应的目标线性函数对所述待编码的序列分段,其中所述码率区间中的最小码率值不小于所述预设的第六码率阈值。
进一步地,所述预设的第六码率阈值为0.2。
进一步地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
确定根据预设的线性函数K_th2=h*R+i或K_th2=int(h*R+i)对所述待编码的序列分段,其中K_th2为第二长度值、h为预设的第七参数值、i为预设的第八参数值、R为传输码率、int为取整函数。
进一步地,所述h为位于500-1200范围内的数值、i为位于60-300范围内的数值。
进一步地,确定对所述待编码序列进行分段之前,所述方法还包括:
判断所述待编码序列的长度是否小于等于预设的第五长度阈值;
如果是,进行后续步骤。
进一步地,所述第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,其中x为大于0小于N的数值。
进一步地,所述x为大于等于0.3,小于2的数值,N为2。
进一步地,当所述分段策略为对所述待编码的序列进行分段时,所述根据所述分段策略,对所述待编码的序列进行相应处理包括:
对所述待编码的序列中的信息序列进行分段;或
对包含信息序列及CRC序列的所述待编码的序列进行分段。
本发明公开了一种极化编码装置,所述装置包括:
确定模块,用于根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略;
编码模块,用于根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。
本发明公开了一种电子设备,包括:存储器和处理器;
所述处理器,用于读取存储器中的程序,执行下列过程:根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略;根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。
进一步地,所述处理器,具体用于判断所述传输码率是否大于或大于等于预设的第一码率阈值;如果是,确定不对所述待编码的序列分段。
进一步地,所述处理器,具体用于如果所述传输码率不大于或者小于预设的第一码率阈值、且不小于或大于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第一长度阈值,其中所述第一码率阈值大于所述第二码率阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述预设的第一码率阈值为0.4。
进一步地,所述处理器,还用于根据所述传输码率及预设的第一函数,确定第一长度阈值。
进一步地,所述预设的第一函数为Kth1=int(c*R+b)或者Kth1=c*R+b,其中kth1为第一长度阈值、int为取整函数、c为预设的第一参数、b为预设的第二参数、R为传输码率。
进一步地,所述c不大于1200、且不小于800,所述b不大于161、且不小于119。
进一步地,所述c为1000,b为140。
进一步地,所述处理器,具体用于如果所述传输码率小于或者小于等于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第二长度阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述预设的第二长度阈值不小于290、且不大于390。
进一步地,所述预设的第二长度阈值为340。
进一步地,所述预设的第二码率阈值为0.2。
进一步地,所述处理器,具体用于如果所述传输码率小于或者小于等于预设的第三码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第三长度阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述第三码率阈值为6/25。
进一步地,所述预设的第三长度阈值不小于348、且不大于472。
进一步地,所述预设的第三长度阈值为410。
进一步地,所述处理器,具体用于如果所述传输码率不小于或大于预设的第三码率阈值、且不大于或者小于预设的第四码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值,其中所述第四码率阈值大于所述第三码率阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
进一步地,所述处理器,还用于判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值之前,根据所述传输码率及预设的第二函数,确定第四长度阈值。
进一步地,所述预设的第二函数为Kth2=int(a*R+e)或者Kth2=a*R+e,其中kth2为第四长度阈值、int为取整函数、a为预设的第三参数、e为预设的第四参数、R为传输码率。
进一步地,所述a不大于1200、且不小于800,所述e不大于196、且不小于144。
进一步地,所述a为1000,e为170。
进一步地,所述处理器,具体用于判断所述传输码率是否大于或大于等于预设的第四码率阈值;如果是,确定不对所述待编码的序列分段。
进一步地,所述预设的第四码率阈值为9/25。
进一步地,所述处理器,具体用于判断所述待编码的序列的长度是否大于或大于等于预设的第五长度阈值;如果是,确定对所述待编码的序列分段。
进一步地,所述处理器,具体用于判断所述传输码率是否小于或小于等于预设的第五码率阈值;如果是,确定对所述待编码的序列分段。
进一步地,所述预设的第五码率阈值不小于0.2、且不大于0.9。
进一步地,所述预设的第五码率阈值为0.75,或2/3,或1/2,或2/5,或0.38,或0.36,或1/3,或0.3,或0.28,或0.26,或0.24,或1/4,或1/5。
进一步地,所述预设的第五长度阈值不小于300、且不大于450。
进一步地,所述预设的第五长度阈值为340,或350,或360,或370,或380,或390,或400,或410,或420,或430,或440,或450。
进一步地,所述处理器,具体用于判断所述传输码率是否大于预设的第六码率阈值;如果是,确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段,其中K_th1为第一长度值、f为预设的第五参数值、g为预设的第六参数值、R为传输码率、int为取整函数。
进一步地,所述f为位于500-1200范围内的数值、g为位于60-300范围内的数值。
进一步地,所述f为832、g为200。
进一步地,所述处理器,具体用于确定根据预先设定的至少两个码率区间,及每个码率区间对应的预设的线性函数K_th1=fn*R+gn或K_th1=int(fn*R+gn),确定所述传输码率对应的目标码率区间,根据所述目标码率区间对应的目标线性函数对所述待编码的序列分段,其中所述码率区间中的最小码率值不小于所述预设的第六码率阈值。
进一步地,所述预设的第六码率阈值为0.2。
进一步地,所述处理器,具体用于确定根据预设的线性函数K_th2=h*R+i或K_th2=int(h*R+i)对所述待编码的序列分段,其中K_th2为第二长度值、h为预设的第七参数值、i为预设的第八参数值、R为传输码率、int为取整函数。
进一步地,所述h为位于500-1200范围内的数值、i为位于60-300范围内的数值。
进一步地,所述处理器,还用于判断所述待编码序列的长度是否小于等于预设的第五长度阈值;如果是,进行确定对所述待编码序列进行分段的步骤。
进一步地,所述第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,其中x为大于0小于N的数值。
进一步地,所述x为大于等于0.3,小于2的数值,N为2。
进一步地,所述处理器,具体用于当所述分段策略为对所述待编码的序列进行分段时,对所述待编码的序列中的信息序列进行分段;或对包含信息序列及CRC序列的所述待编码的序列进行分段。
本发明公开了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述任一所述方法的步骤。
本发明公开了一种极化编码方法、装置、电子设备及存储介质,所述方法包括:根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略;根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。由于在本发明实施例中,可以根据待编码的序列的长度及传输码率,确定待编码的序列对应的分段策略,针对不同长度的待编码的序列和不同的传输码率,确定对应的分段策略,保证了上行控制行道的性能。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种极化编码过程示意图,该方法包括:
S101:根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略。
本发明实施例提供的极化编码方法应用于发送端,具体的该发送端可以是基站或UE(User Equipment,用户终端设备)。
在长期演进(Long Term Evolution,LTE)系统中,上行控制信道(PUCCH)用于传输同步以后的UCI,PUCCH上传输的UCI包括上行调度请求(SR)、下行混合自动重传请求确认(HARQ-ACK)信息、以及UE的周期信道质量指示(CQI)信息。为了保证接收端能对接收到的UCI进行准确性的校验,发送端在对UCI编码之前,在UCI的信息序列之后会附加用于校验的CRC序列,在本发明实施例中,待编码的序列包括UCI的信息序列和用于校验的CRC序列,即该待编码的序列为得到的UCI payload。传输码率(R)为待编码的序列的长度(K)与对待编码的序列进行极化编码和速率匹配(rate matching)后得到得序列的长度(M)的比值,即R=K/M。
此外,在本发明实施例中,针对待编码的序列的长度及传输码率,分别设置有至少一个长度阈值和/或至少一个码率阈值,并且针对该至少一个长度阈值和/或至少一个码率阈值,设置有对应的分段策略,其中分段策略为对待编码的序列分段或不对待编码的序列分段。根据待编码的序列的长度及传输码率,及至少一个长度阈值和/或至少一个码率阈值,可以确定所述待编码的序列对应的分段策略。
S102:根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。
具体的,如果确定对待编码的序列进行分段处理,进行分段,例如分为两段,并将分段处理后的待编码的序列进行极化编码;如果确定不对待编码的序列进行分段处理,直接对待编码的序列进行极化编码。在本发明实施例中,如果确定对待编码的序列进行分段处理,可以对待编码的序列中的信息序列进行分段,分段后的每段信息序列都添加CRC,或者部分分段信息序列添加CRC。
图2为本发明实施例提供的一种极化编码过程示意图,具体的,UCI的信息序列(Information bits),首先进行CRC编码,在UCI的信息序列之后附加CRC序列(CRCattachment)得到待编码的序列,即UCI payload;对待编码的序列进行码块分割(Codeblock segmentation),将待编码的序列进行分段,较佳的,将待编码的序列均分为两段,被分为两段的待编码的序列分别进行极化编码(Polar coding),并将编码后的两段待编码的序列进行速率匹配(Rate matching),最后将速率匹配完成编码后的两段待编码的序列进行码块级联(Code block concatenation)输出。此外,在上述对待编码的序列进行极化编码的过程中,也可以先将UCI的信息序列进行码块分割,在对码块分割后的UCI的信息序列分别添加设定长度的比特序列,在进行后续极化编码的过程。这种方式相比直接在UCI的信息序列添加CRC序列的方式,CRC序列的长度增加了,会明显降低系统的性能,但是因每个分段的UCI都包含CRC序列,在译码时较简单,容易操作。
由于在本发明实施例中,可以根据待编码的序列的长度及传输码率,确定待编码的序列对应的分段策略,针对不同长度的待编码的序列和不同的传输码率,确定对应的分段策略,保证了上行控制行道的性能。
实施例2:
当传输码率属于高码率时,不对待编码的序列分段,会对信噪比(SIGNAL-NOISERATIO,SNR)产生影响。为了保证上行控制信道的性能,在上述实施例的基础上,在本发明实施例中,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于或大于等于预设的第一码率阈值;
如果是,确定不对所述待编码的序列分段。
具体的,发送端可以判断传输码率是否大于预设的第一码率阈值,如果是,确定不对待编码的序列进行分段。或者判断该传输码率是否大于等于预设的第一码率阈值,如果是,确定不对待编码的序列进行分段。
较佳的,在本发明实施例中,预设的第一码率阈值为0.4。
当然了,也不排除一个比0.4更大的传输码率作为第一码率阈值,高于该第一码率阈值时不采用分段极化编码。
或者,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于或大于等于预设的第四码率阈值;
如果是,确定不对所述待编码的序列分段。
较佳的,在本发明实施例中,其中,所述预设的第四码率阈值为9/25。当然了,也不排除一个比9/25更大的传输码率作为第四码率阈值,高于该第四码率阈值时不采用分段极化编码。
实施例3:
当传输码率属于中码率时,待编码的序列的长度不同,对待编码的序列是否进行分段,会对SNR产生影响,为了保证上行控制信道的性能,在上述各实施例的基础上,在本发明实施例中,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率不大于或者小于预设的第一码率阈值、且不小于或大于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第一长度阈值,其中所述第一码率阈值大于所述第二码率阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
具体的,如果传输码率不大于或者小于预设的第一码率阈值、且不小于或大于预设的第二码率阈值,其中所述第一码率阈值大于所述第二码率阈值,发送端判断待编码的序列的长度是否大于或者大于等于预设的第一长度阈值,如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,在本发明实施例中,预设的第一码率阈值为0.4、预设的第二码率阈值为0.2。
或者,在本发明实施例中,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率不小于或大于预设的第三码率阈值、且不大于或者小于预设的第四码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值,其中所述第四码率阈值大于所述第三码率阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,在本发明实施例中,预设的第三码率阈值为6/25、预设的第四码率阈值为9/25。
在UCI的信息序列后添加的CRC序列为11位,即待编码的序列中包含的CRC序列为11位、极化编码时采用的列表大小(list size L)=8的极化译码(SCL decoding)情形下对应nFAR=8时,不同传输码率、不同待编码的序列的长度,采用对待编码的序列分段和不分段极化编码,在块差错率(BLER)为0.01时对应的SNR值曲线,如图3所示。其中,当采用11位CRC序列时,若采用list size L=8译码,nFAR=11-log2(8)=8,此时对映的虚警概率(false alarm probability,FAR)=1/(2^nFAR);即当采用N位CRC序列时,若采用listsize L=t译码,nFAR=N-log2(t),对映的FAR=1/(2^nFAR)。
在图3中,Non-seg表示不分段、seg表示分段、R表示传输码率、坐标系的横轴表示待编码的序列的长度(K)、纵轴表示SNR值(S)。当待编码的序列的长度为550时,图中曲线由下到上依次对应Seg,R=0.2;Seg,R=0.22;Non-seg,R=0.2;Seg,R=0.24;Non-seg,R=0.22;Seg,R=0.26;Non-seg,R=0.24;Seg,R=0.28;Non-seg,R=0.26;Seg,R=0.3;Non-seg,R=0.28;Seg,R=0.32;Non-seg,R=0.3;Seg,R=0.34;Non-seg,R=0.32;Seg,R=0.36;Non-seg,R=0.34;Non-seg,R=0.36;Seg,R=0.38;Non-seg,R=0.38;Seg,R=0.4;Non-seg,R=0.4。另外在图3中当对待编码的序列进行分段时,将待编码的序列中的信息序列进行了分段,一个分段信息序列中添加了CRC。由图3可知,当传输码率在0.2至0.4之间,可以明显的观察到,在传输码率大于等于0.4时,分段进行极化编码的性能不如不采用分段极化编码的时的性能,所以较佳的在大于等于0.4时不采用分段极化编码;在待编码的序列的大小K在大于某一长度阈值后,会出现分段极化编码的性能明显优于不分段极化编码性能,但是该长度阈值随着传输码率在变化,如果找不到恰当的分界点,分段极化编码技术在实际中就不存在实用价值。
上述分析的是传输码率在0.2至0.4之间,分段与不分段的性能对比图,当传输码率在6/25至9/25之间,在对待编码的序列进行分段时,每个分段信息序列中都添加了CRC时,其分段与不分段的性能对比与图3类似,这里不再赘述。
我们观察到随着传输码率的增加,在以K为x轴,SNR为y轴的平面图上该长度阈值与一条斜线很接近。这样就启发我们利用线性近似去估计该阈值。具体例子如下:假定传输码率范围为[0.2,0.4],而该阈值在图3中所在的线性方程为y=tx+b,其中t与b为常数值,问题是图3中的纵坐标不是传输码率,为了找到任何传输码率对映的该长度阈值需要进行线性插值处理。一个较佳的例子:当R=[0.2,0.4],对映K=[350,550],由于满足线性关系,对映纵坐标为:[y1=350t+b,y2=550t+b]。任何传输码率R∈[0.2,0.4],对映的纵坐标yR=y1+(y2-y1)*(R-0.2)/(0.4-0.2)=(1000R+150)*t+b,所以在传输码率[0.2,0.4]范围内该长度阈值满足Kth1=int(1000R+150),R∈[0.2,0.4],此处int表示取整,不排除四舍五入,取上整或者取下整等各种形式。
另一个较佳的例子:当R=[0.2,0.4],对映K=[340,540],由于满足线性关系,对映纵坐标为:[y1=340t+b,y2=540t+b]。任何传输码率R∈[0.2,0.4],对映的纵坐标yR=y1+(y2-y1)*(R-0.2)/(0.4-0.2)=(1000R+140)*t+b,所以在码率[0.2,0.4]范围内该长度阈值满足Kth1=int(1000R+140),R∈[0.2,0.4]。该阈值仅仅与传输码率有关,且与传输码率间关系为线性关系。
因此在本发明实施例中,判断所述待编码的序列的长度是否大于预设的第一长度阈值之前,所述方法还包括:
根据所述传输码率及预设的第一函数,确定第一长度阈值。
其中,预设的第一函数为Kth1=int(c*R+b)或者Kth1=c*R+b,其中kth1为第一长度阈值、int为取整函数、c为预设的第一参数、b为预设的第二参数、R为传输码率。其中取整函数例如可以是int函数,还可以是floor函数等,取整函数int的取整方式可以设置为取上整、或取下整、或四舍五入取整等。
在上述第一函数中c不大于1200、且不小于800,所述b不大于161、且不小于119,较佳的,c为1000,b为140。
或者,在本发明实施例中,所述判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值之前,所述方法还包括:
根据所述传输码率及预设的第二函数,确定第四长度阈值。
其中,所述预设的第二函数为Kth2=int(a*R+e)或者Kth2=a*R+e,其中kth2为第四长度阈值、int为取整函数、a为预设的第三参数、e为预设的第四参数、R为传输码率。在上述第二函数中a不大于1200、且不小于800,所述e不大于196、且不小于144。较佳的,a为1000,e为170。
表1为本发明实施例提供的一种当待编码的序列的长度为第一长度阈值时,不同传输码率(R)对应的上行控制信道增益值示例。其中增益值为分段时的SNR与不分段时的SNR的差值,第一长度阈值对应的确定函数为Kth=int(1000*R)+150。
表1
如表1所示传输码率0.2对应的第一长度阈值为350,对应的增益值为0.128112;传输码率0.22对应的第一长度阈值为370,对应的增益值为0.127483;传输码率0.24对应的第一长度阈值为390,对应的增益值为0.10674;传输码率0.26对应的第一长度阈值为410,对应的增益值为0.149014;传输码率0.28对应的第一长度阈值为430,对应的增益值为0.115676;传输码率0.3对应的第一长度阈值为450,对应的增益值为0.0837032;传输码率0.32对应的第一长度阈值为470,对应的增益值为0.0356907;传输码率0.34对应的第一长度阈值为490,对应的增益值为0.08450445;传输码率0.36对应的第一长度阈值为510,对应的增益值为0.180271;传输码率0.38对应的第一长度阈值为530,对应的增益值为0.2199536;传输码率0.4对应的第一长度阈值为550,对应的增益值为0.1574885。因此可知,当传输码率在0.2至0.4之间,根据上述第一函数确定的第一长度阈值,确定是否进行对待编码的序列进行分段,从而进行极化码编码,根据上述表1可知增益值都不是很大,因此将该对应的第一长度阈值作为进行判断的门限值非常恰当。
在本发明实施例中该待编码的序列包括信息序列和CRC序列,可以根据该待编码的序列的长度,确定对应的分段策略,当然如果根据信息序列的长度,确定对应的分段策略,因为待编码的序列长度和信息序列的长度之间的存在对应关系,所以如果根据信息序列的长度,确定对应的分段策略,在确定对应的长度阈值时,可以根据待编码的序列长度和信息序列的长度之间的存在对应关系,确定对应的合适的长度阈值。以下方案中也相同,在此不再赘述。
实施例4:
当传输码率处于低码率时,待编码的序列的长度不同,对待编码的序列是否进行分段,会对SNR产生影响,为了保证上行控制信道的性能,在上述各实施例的基础上,在本发明实施例中,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率小于或者小于等于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第二长度阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
具体的,如果传输码率小于或者小于等于预设的第二码率阈值,发送端判断所述待编码的序列的长度是否大于或者大于等于预设的第二长度阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,在本发明实施例中,预设的第二码率阈值为0.2。
在UCI的信息序列后添加的CRC序列为11位,即待编码的序列中包含的CRC序列为11位、极化编码时采用的list size L=8的SCL decoding情形下对应nFAR=8时,不同传输码率、不同待编码的序列的长度,采用对待编码的序列分段和不分段极化编码,在BLER为0.01时对应的SNR值曲线,如图4所示。其中,当采用11位CRC序列时,若采用list size L=8译码,nFAR=11-log2(8)=8,此时对映的FAR=1/(2^nFAR);即当采用N位CRC序列时,若采用list size L=t译码,nFAR=N-log2(t),对映的FAR=1/(2^nFAR)。
在图4中,Non-seg表示不分段、seg表示分段、R表示传输码率、坐标系的横轴表示待编码的序列的长度(K)、纵轴表示SNR值(S)。当待编码的序列的长度不同时,图中曲线由下到上的顺序存在差异,其中,当待编码的序列的长度为400时,图中曲线由下到上依次对应Seg,R=0.12;Non-seg,R=0.12;Seg,R=0.14;Non-seg,R=0.14;Seg,R=0.16;Non-seg,R=0.16;Seg,R=0.18;Non-seg,R=0.18。另外在图4中当对待编码的序列进行分段时,将待编码的序列中的信息序列进行了分段,一个分段信息序列中添加了CRC。由图4可知,在传输码率不大于0.2时,待编码的序列的长度大于等于290,就可以明显的观察到,对待编码的序列分段进行极化编码具有性能增益,较佳的,在R<0.2可以选择一个固定的长度阈值Kth,当K>Kth则采用分段极化编码,Kth可以选择如K=340或者K=310、320、330、350等,该固定的长度阈值Kth,在R<0.2时对各个传输码率(rate)都是固定的,也可以针对各个传输码率采用位于290到390之间的不同的值。
因此,在本发明实施例中,预设的第二长度阈值不小于290、且不大于390,具体的,在码率小于0.2时,预设的第二长度阈值可以在该范围内进行确定,较佳的,预设的第二长度阈值为340,即在进行判断时,将该预设的第二长度阈值设置为340,采用该固定的数值进行判断。
上述分析的是传输码率在0.2至0.4之间,分段与不分段的性能对比图,当传输码率在6/25至9/25之间,在对待编码的序列进行分段时,每个分段信息序列中都添加了CRC时,其分段与不分段的性能对比与图4类似,这里不再赘述。
或者,在本发明实施中,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率小于或者小于等于预设的第三码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第三长度阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,在本发明实施例中,预设的第三码率阈值为6/25。
所述预设的第三长度阈值不小于348、且不大于472。
较佳地,所述预设的第三长度阈值为410。
表2为本发明实施例提供的一种当待编码的序列的长度为第二长度阈值时,不同传输码率(R)对应的上行控制信道增益值示例。其中增益值为分段时的SNR,与不分段时的SNR的差值。
R |
第二长度阈值 |
增益值 |
0.12 |
340 |
0.032309 |
0.14 |
340 |
0.069684 |
0.16 |
340 |
0.10115 |
0.18 |
340 |
0.071813 |
表2
如表2所示,传输码率0.12对应的第二长度阈值为340,对应的增益值为0.032309;传输码率0.14对应的第二长度阈值为340,对应的增益值为0.069684;传输码率0.16对应的第二长度阈值为340,对应的增益值为0.10115;传输码率0.18对应的第二长度阈值为340,对应的增益值为0.071813。因此可知,当传输码率不高于0.2时,根据上述第二长度阈值,确定是否进行对待编码的序列进行分段,从而进行极化码编码,根据上述表2可知增益值都不是很大,因此将该对应的第二长度阈值作为进行判断的门限值非常恰当。
实施例5:
待编码的序列的长度不同,对待编码的序列是否进行分段,会对SNR产生影响,为了保证上行控制信道的性能,在上述实施例的基础上,在本发明实施例中,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述待编码的序列的长度是否大于或大于等于预设的第五长度阈值;
如果是,确定对所述待编码的序列分段。
具体的,发送端可以判断待编码的序列的长度是否大于或大于等于预设的第五长度阈值,如果是,确定对待编码的序列分段。
其中,第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,x为大于0小于N的数值,N为大于0的数值。较佳的,x为大于等于0.3,小于2的数值,N为2。
例如:5G polar码的最大母码长度规定为1024,这样允许的待编码的序列的长度一定小于1024,如果待编码的序列的长度为1060,大于等于1024小于2048,这样无论传输码率为多少都直接将待编码的序列分段进行polar编码,比如分为两段进行polar编码。仿真结果如图5所示,在待编码的序列的长度小于最大待编码比特长度1024时,大于某一预设值,不管传输码率为多少,直接分段可以获得比不分段更好的性能,而且处理简单,该预设值较佳的位于500以上1200以下。
当然从实现角度当x>=0.3,即对应的待编码的序列的长度大于等于0.3*1024=307时,不管传输码率为多少,直接分段,该方法虽然在待编码的序列的长度较短时有性能损失,但该分段方法简单,也是可行的。
对待编码的序列分段时较佳的采用等分或者近似等分的方法,优选地只分两段,然后对每段进行polar编码。
实施例6:
在上述实施例5中,可以只考虑待编码的序列的长度,从而确定是否分段。另外,传输码率的不同也会对上行控制信道的性能产生影响,为了进一步保证上行控制信道的性能,在上述实施例5的基础上,如果待编码的序列的长度大于或大于等于预设的第五长度阈值,所述确定对所述待编码的序列分段之前,所述方法还包括:
判断所述传输码率是否小于或小于等于预设的第五码率阈值;
如果是,进行后续步骤。
具体的,如果待编码的序列的长度大于或大于等于预设的第五长度阈值,发送端判断传输码率是否小于或小于等于预设的第五码率阈值,如果是,确定对所述待编码的序列分段。
较佳的,预设的第五码率阈值不小于0.2、且不大于0.9,优选地,预设的第五码率阈值为0.75,或2/3,或1/2,或2/5,或0.38,或0.36,或1/3,或0.3,或0.28,或0.26,或0.24,或1/4,或1/5。
较佳的,预设的第五长度阈值不小于300、且不大于450,优选地,预设的第五长度阈值为340,或350,或360,或370,或380,或390,或400,或410,或420,或430,或440,或450。
其中,预设的第五码率阈值(Rth5)与预设的第五长度阈值(Kth5)的较佳取值组合{Rth5,Kth5}包括:{0.4,350}、{0.4,370}、{0.4,380}、{0.4,390}、{0.4,400}、{0.4,410}、{0.4,420}、{0.28,370}、{0.28,380}、{0.28,390}、{0.28,400}、{0.28,410}、{0.28,420}、{0.26,370}、{0.26,380}、{0.26,390}、{0.26,400}、{0.26,410}、{0.26,420}。
对待编码的序列分段时较佳的采用等分或者近似等分的方法,优选地只分两段,然后对每段进行polar编码。
实施例7:
由于大规模多入多出(massive MIMO)等原因,导致5G上行控制信息(UCI)的最大反馈量大大增加,单载波情况下UCI最大反馈量不包括11比特CRC就达到543比特。5G支持每个单载波反馈UCI,但也支持多载波反馈UCI,这样就会出现待编码的序列的长度大于543+11=554,随着UCI长度的增加,在更高的传输码率上就会满足分段条件。
为了保证上行控制信道的性能,在上述各实施例的基础上,在本发明实施例中,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于预设的第六码率阈值;
如果是,确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段,其中K_th1为第一长度值、f为预设的第五参数值、g为预设的第六参数值、R为传输码率、int为取整函数。
较佳的,f为位于500-1200范围内的数值、g为位于60-300范围内的数值。
在本发明实施例中,当传输码率大于预设的第六码率阈值时,直接根据预设的线性函数对待编码的序列分段。
较佳的,预设的第六码率阈值为0.2。
图6为对应的仿真结果示意图,根据图6所示:其对应的分段方法可以采用如下规则:
if R<=1/5
K_th=370;
Else if R>1/5
K_th=1024*R+150;
End
当码率大于0.2时,可以采用线性函数K_th1=1024*R+150进行分段。
图7为另一仿真结果示意图,根据图7所示可知,其对应的分段方法可以采用如下规则:
if K(i)/M(i)<=1/5
K_th=350;
elseif K(i)/M(i)>1/5
K_th=832*R+200;
End
当码率大于0.2时,也可以采用线性函数K_th1=832*R+200进行分段,采用该线性函数进行分段,也可以取得比较好的性能。
对待编码的序列分段时较佳的采用等分或者近似等分的方法,优选地只分两段,然后对每段进行polar编码。
实施例8:
根据上述图6和图7所示,事实上当待编码的比特大于600比特时,线性函数分界点比前面的分段方法更靠近两条性性能曲线的交叉点,从分段意义上此种方法更精确,当然由于分段会导致polar译码复杂度增加,到底取那种方法需要更好,需要折中考虑。因此,在实施例7的基础上在本发明实施中,还可以考虑其他方法。
其中,所述确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段包括:
根据预先设定的至少两个码率区间,及每个码率区间对应的预设的线性函数K_th1=fn*R+gn或K_th1=int(fn*R+gn),确定所述传输码率对应的目标码率区间,根据所述目标码率区间对应的目标线性函数对所述待编码的序列分段,其中所述码率区间中的最小码率值不小于所述预设的第六码率阈值。
具体的,发送端预先设置有至少两个码率区间,并保存有每个码率区间对应的预设的线性函数K_th1=fn*R+gn或K_th1=int(fn*R+gn),其中码率区间中的最小码率值不小于预设的第六码率阈值。例如:预设的第六码率阈值为0.2,预设有两个码率区间分别为大于0.2小于0.4、及大于等于0.4。发送端在根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段时,根据传输码率,确定传输码率对应的目标码率区间,根据目标码率区间对应的目标线性函数对所述待编码的序列分段。
例如:码率区间为大于0.2小于0.4对应的线性函数为K_th1=1024*R+140,码率区间大于等于0.4对应的线性函数为K_th1=832*R+200。
当然也可以预先划分为三个码率区间或者更多个码率区间,每个码率区间对应不同的线性函数。
较佳的,预设的第六码率阈值为0.2。
图8为本发明实施例提供的仿真结果示意图,根据图8所示,其对应的分段方法采用如下规则:
if R<=1/5
K_th=340;
elseif R>1/5&&R<2/5
K_th=1024*R+140;
Else if R>=2/5
K_th=832*R+200;
End
即,在码率大于0.2,小于0.4时,可以采用线性函数K_th=1024*R+140分段,当码率大于等于0.4时,采用线性函数K_th=832*R+200进行分段。即当R大于等于0.4在原来分段方法基础上再增加个线性分段函数,这样可以保证各个区域分段的精确化。
实施例9:
在上述实施例7和实施例8中,可以只考虑传输码率,从而确定是否对待编码序列分段,另外待编码的序列的长度不同,也会对上行控制信道的性能产生影响,为了进一步保证上行控制信道的性能,在上述实施例7和实施例8的基础上,确定对所述待编码序列进行分段之前,所述方法还包括:
判断所述待编码序列的长度是否小于等于预设的第五长度阈值;
如果是,进行后续步骤。
较佳的,第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,其中x为大于0小于N的数值,N为大于0的数值,优选地,x为大于等于0.3,小于2的数值,N为2。
因为随着码率的增加,当UCI的长度大于待编码序列的最大长度时,不管是什么码率,都可以直接分段。待编码序列的最大长度只是一个具体的例子,当然还可以是其他长度。
实施例10:
当然了,为了简化流程,无论传输码率为多少,都可以采用线性函数进行分段,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
根据预设的线性函数K_th2=h*R+i或K_th2=int(h*R+i)对所述待编码的序列分段,其中K_th2为第二长度值、h为预设的第七参数值、i为预设的第八参数值、R为传输码率、int为取整函数。
具体的,在该实施例中无论传输码率为多少,发送端根据预设的线性函数K_th2=h*R+i或K_th2=int(h*R+i)对所述待编码的序列分段。其中,预设的线性函数可以是一个,也可以是两个以上,如果包含两个以上的线性函数时,在进行分段时,可以根据实际情况灵活选择。
较佳的,h为500-1200、i为60-300。
实施例11:
在上述实施例10中,可以不考虑传输码率,都采用线性函数进行分段,另因待编码的序列的长度不同,也会对上行控制信道的性能产生影响,为了进一步保证上行控制信道的性能,在上述实施例的基础上,确定对所述待编码序列进行分段之前,所述方法还包括:
判断所述待编码序列的长度是否小于等于预设的第五长度阈值;
如果是,进行后续步骤。
较佳的,第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,其中x为大于0小于N的数值,N为大于0的数值,优选地,x为大于等于0.3,小于2的数值,N为2。
上述实施方式也可以理解为,当码率低于某一预设值,如该预设值为0.9时,都采用同一线性函数来进行分段,例如可以为K_th=832*R+200;当码率高于该预设值0.9时,采用其他方法,比如直接分段的方法,因为码率过高按照线性方法进行分段也许有性能增益,但是直接分段方法也许更简单。
在本发明实施例中,根据待编码的序列长度叙述分段门限(Kth),事实上分段门限也可在码率已知的情况下也可按照编码后数据长度(M)叙述。其关系为M=K/R,以Kth=aR+b为例,两边除以R即得Mth=a+b/R。其中R为传输码率、K为待编码的序列的长度。
本发明实施例根据待编码的信息比特长度叙述分段门限Kth,事实上分段门限也可在码率已知的情况下,也可按照编码后数据长度M叙述。其关系为M=K/R,以Kth=aR+b为例,两边除以R即得Mth=a+b/R。因此根据编码后的数据长度进行分段的方法,可以根据本发明实施例公开的上述各实施方式,相应的推到而出,相信本领域技术人员可以根据上述描述进行相应的变形。
实施例12:
另外,上述各实施例中,在本发明实施例中,当所述分段策略为对所述待编码的序列进行分段时,所述根据所述分段策略,对所述待编码的序列进行相应处理包括:
对所述待编码的序列中的信息序列进行分段;或
对包含信息序列及CRC序列的所述待编码的序列进行分段。
在本发明实施例中待编码的序列中包括信息序列和CRC序列,在对待编码的序列进行分段时,可以只对待编码的序列分段。这是因为在进行极化码编码时,在信息序列之后添加CRC序列得到待编码的序列,之后对待编码的序列进行分段,一个较佳的方法是均分为两段,被分为两段的待编码的序列分别利用polar码进行编码,因此得到的分段后的待编码的序列中可能只有一个有CRC。
或者,也可以是对待编码的序列中的信息序列进行分段。也就是先将信息序列分为两段,每段添加L比特的CRC序列,例如11比特。比如信息序列的长度不同,或nFAR值不同,添加的CRC序列的长度不同,具体可以根据需求进行灵活设置。
实施例13:
图9为本发明实施例提供的一种极化编码装置结构示意图,所述装置包括:
确定模块51,用于根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略;
编码模块52,用于根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。
所述确定模块51,具体用于判断所述传输码率是否大于或大于等于预设的第一码率阈值;如果是,确定不对所述待编码的序列分段。
所述确定模块51,具体用于如果所述传输码率不大于或者小于预设的第一码率阈值、且不小于或大于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第一长度阈值,其中所述第一码率阈值大于所述第二码率阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,所述预设的第一码率阈值为0.4。
所述确定模块51,还用于根据所述传输码率及预设的第一函数,确定第一长度阈值。
较佳的,所述预设的第一函数为Kth1=int(c*R+b)或者Kth1=c*R+b,其中kth1为第一长度阈值、int为取整函数、c为预设的第一参数、b为预设的第二参数、R为传输码率。
较佳的,所述c不大于1200、且不小于800,所述b不大于161、且不小于119。
较佳的,所述c为1000,b为140。
所述确定模块51,具体用于如果所述传输码率小于或者小于等于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第二长度阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,所述预设的第二长度阈值不小于290、且不大于390。
较佳的,所述预设的第二长度阈值位340。
较佳的,所述预设的第二码率阈值为0.2。
较佳的,所述确定模块51,具体用于如果所述传输码率小于或者小于等于预设的第三码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第三长度阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,所述第三码率阈值为6/25。
较佳的,所述预设的第三长度阈值不小于348、且不大于472。
较佳的,所述预设的第三长度阈值为410。
较佳的,所述确定模块51,具体用于果所述传输码率不小于或大于预设的第三码率阈值、且不大于或者小于预设的第四码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值,其中所述第四码率阈值大于所述第三码率阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
较佳的,所述确定模块51,具体用于判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值之前,根据所述传输码率及预设的第二函数,确定第四长度阈值。
较佳的,所述预设的第二函数为Kth2=int(a*R+e)或者Kth2=a*R+e,其中kth2为第四长度阈值、int为取整函数、a为预设的第三参数、e为预设的第四参数、R为传输码率。
较佳的,所述a不大于1200、且不小于800,所述e不大于196、且不小于144。
较佳的,所述a为1000,e为170。
较佳的,所述确定模块51,具体用于判断所述传输码率是否大于或大于等于预设的第四码率阈值;如果是,确定不对所述待编码的序列分段。
较佳的,所述预设的第四码率阈值为9/25。
较佳的,所述确定模块51,具体用于判断所述待编码的序列的长度是否大于或大于等于预设的第五长度阈值;如果是,确定对所述待编码的序列分段。
较佳的,所述确定模块51,具体用于判断所述传输码率是否小于或小于等于预设的第五码率阈值;如果是,确定对所述待编码的序列分段。
较佳的,所述预设的第五码率阈值不小于0.2、且不大于0.9。
较佳的,所述预设的第五码率阈值为0.75,或2/3,或1/2,或2/5,或0.38,或0.36,或1/3,或0.3,或0.28,或0.26,或0.24,或1/4,或1/5。
较佳的,所述预设的第五长度阈值不小于300、且不大于450。
较佳的,所述预设的第五长度阈值为340,或350,或360,或370,或380,或390,或400,或410,或420,或430,或440,或450。
较佳的,所述确定模块51,具体用于判断所述传输码率是否大于预设的第六码率阈值;如果是,确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段,其中K_th1为第一长度值、f为预设的第五参数值、g为预设的第六参数值、R为传输码率、int为取整函数。
较佳的,所述f为位于500-1200范围内的数值、g为位于60-300范围内的数值。
较佳的,所述f为832、g为200。
较佳的,所述确定模块51,具体用于确定根据预先设定的至少两个码率区间,及每个码率区间对应的预设的线性函数K_th1=fn*R+gn或K_th1=int(fn*R+gn),确定所述传输码率对应的目标码率区间,根据所述目标码率区间对应的目标线性函数对所述待编码的序列分段,其中所述码率区间中的最小码率值不小于所述预设的第六码率阈值。
较佳的,所述预设的第六码率阈值为0.2。
较佳的,所述确定模块51,具体用于确定根据预设的线性函数K_th2=h*R+i或K_th2=int(h*R+i)对所述待编码的序列分段,其中K_th2为第二长度值、h为预设的第七参数值、i为预设的第八参数值、R为传输码率、int为取整函数。
较佳的,所述h为位于500-1200范围内的数值、i为位于60-300范围内的数值。
较佳的,所述确定模块51,还用于判断所述待编码序列的长度是否小于等于预设的第五长度阈值;如果是,进行确定对所述待编码序列进行分段的步骤。
较佳的,所述第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,其中x为大于0小于N的数值。
较佳的,所述x为大于等于0.3,小于2的数值,N为2。
较佳的,编码模块52,具体用于当所述分段策略为对所述待编码的序列进行分段时,对所述待编码的序列中的信息序列进行分段;或,对包含信息序列及CRC序列的所述待编码的序列进行分段。
实施例14:
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决的原理与极化编码方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
如图10所示,为本发明实施例提供的电子设备结构示意图,其中在图10中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器61代表的一个或多个处理器和存储器62代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器61负责管理总线架构和通常的处理,存储器62可以存储处理器61在执行操作时所使用的数据。
在本发明实施例提供的电子设备中:
处理器61,用于读取存储器62中的程序,执行下列过程:根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略;根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。
优选地,所述处理器61,具体用于判断所述传输码率是否大于或大于等于预设的第一码率阈值;如果是,确定不对所述待编码的序列分段。
优选地,所述处理器61,具体用于如果所述传输码率不大于或者小于预设的第一码率阈值、且不小于或大于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第一长度阈值,其中所述第一码率阈值大于所述第二码率阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述预设的第一码率阈值为0.4。
优选地,所述处理器61,还用于根据所述传输码率及预设的函数,确定第一长度阈值。
优选地,所述预设的函数为Kth=int(c*R+b)或者Kth=c*R+b,其中kth为第一长度阈值、int为取整函数、c为预设的第一参数、b为预设的第二参数、R为传输码率。
优选地,所述c不大于1200、且不小于800,所述b不大于161、且不小于119。
优选地,所述c为1000,b为140。
优选地,所述处理器61,具体用于如果所述传输码率小于或者小于等于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第二长度阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述预设的第二长度阈值不小于290、且不大于390。
优选地,所述预设的第二长度阈值位340。
优选地,所述预设的第二码率阈值为0.2。
优选地,所述处理器64,具体用于如果所述传输码率小于或者小于等于预设的第三码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第三长度阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述第三码率阈值为6/25。
优选地,所述预设的第三长度阈值不小于348、且不大于472。
优选地,所述预设的第三长度阈值为410。
优选地,所述处理器64,具体用于如果所述传输码率不小于或大于预设的第三码率阈值、且不大于或者小于预设的第四码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值,其中所述第四码率阈值大于所述第三码率阈值;如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述处理器64,还用于判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值之前,根据所述传输码率及预设的第二函数,确定第四长度阈值。
优选地,所述预设的第二函数为Kth2=int(a*R+e)或者Kth2=a*R+e,其中kth2为第四长度阈值、int为取整函数、a为预设的第三参数、e为预设的第四参数、R为传输码率。
优选地,所述a不大于1200、且不小于800,所述e不大于196、且不小于144。
优选地,所述a为1000,e为170。
优选地,所述处理器64,具体用于判断所述传输码率是否大于或大于等于预设的第四码率阈值;如果是,确定不对所述待编码的序列分段。
优选地,所述预设的第四码率阈值为9/25。
优选地,所述处理器64,具体用于判断所述待编码的序列的长度是否大于或大于等于预设的第五长度阈值;如果是,确定对所述待编码的序列分段。
优选地,所述处理器64,具体用于判断所述传输码率是否小于或小于等于预设的第五码率阈值;如果是,确定对所述待编码的序列分段。
优选地,所述预设的第五码率阈值不小于0.2、且不大于0.9。
优选地,所述预设的第五码率阈值为0.75,或2/3,或1/2,或2/5,或0.38,或0.36,或1/3,或0.3,或0.28,或0.26,或0.24,或1/4,或1/5。
优选地,所述预设的第五长度阈值不小于300、且不大于450。
优选地,所述预设的第五长度阈值为340,或350,或360,或370,或380,或390,或400,或410,或420,或430,或440,或450。
优选地,所述处理器64,具体用于判断所述传输码率是否大于预设的第六码率阈值;如果是,确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段,其中K_th1为第一长度值、f为预设的第五参数值、g为预设的第六参数值、R为传输码率、int为取整函数。
优选地,所述f为位于500-1200范围内的数值、g为位于60-300范围内的数值。
优选地,所述f为832、g为200。
优选地,所述处理器64,具体用于确定根据预先设定的至少两个码率区间,及每个码率区间对应的预设的线性函数K_th1=fn*R+gn或K_th1=int(fn*R+gn),确定所述传输码率对应的目标码率区间,根据所述目标码率区间对应的目标线性函数对所述待编码的序列分段,其中所述码率区间中的最小码率值不小于所述预设的第六码率阈值。
优选地,所述预设的第六码率阈值为0.2。
优选地,所述处理器64,具体用于确定根据预设的线性函数K_th2=h*R+i或K_th2=int(h*R+i)对所述待编码的序列分段,其中K_th2为第二长度值、h为预设的第七参数值、i为预设的第八参数值、R为传输码率、int为取整函数。
优选地,所述h为位于500-1200范围内的数值、i为位于60-300范围内的数值。
优选地,所述处理器64,还用于判断所述待编码序列的长度是否小于等于预设的第五长度阈值;如果是,进行确定对所述待编码序列进行分段的步骤。
优选地,所述第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,其中x为大于0小于N的数值。
优选地,所述x为大于等于0.3,小于2的数值,N为2。
优选地,所述处理器64,具体用于当所述分段策略为对所述待编码的序列进行分段时,对所述待编码的序列中的信息序列进行分段;或,对包含信息序列及CRC序列的所述待编码的序列进行分段。
实施例15:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略;
根据所述分段策略,对所述待编码的序列进行相应处理,并将处理后的所述待编码的序列进行极化编码。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于或大于等于预设的第一码率阈值;
如果是,确定不对所述待编码的序列分段。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率不大于或者小于预设的第一码率阈值、且不小于或大于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第一长度阈值,其中所述第一码率阈值大于所述第二码率阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述预设的第一码率阈值为0.4。
优选地,所述判断所述待编码的序列的长度是否大于预设的第一长度阈值之前,所述方法还包括:
根据所述传输码率及预设的第一函数,确定第一长度阈值。
优选地,所述预设的第一函数为Kth1=int(c*R+b)或者Kth1=c*R+b,其中kth1为第一长度阈值、int为取整函数、c为预设的第一参数、b为预设的第二参数、R为传输码率。
优选地,所述c不大于1200、且不小于800,所述b不大于161、且不小于119。
优选地,所述c为1000,b为140。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率小于或者小于等于预设的第二码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第二长度阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述预设的第二长度阈值不小于290、且不大于390。
优选地,所述预设的第二长度阈值为340。
优选地,所述预设的第二码率阈值为0.2。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率小于或者小于等于预设的第三码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第三长度阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述第三码率阈值为6/25。
优选地,所述预设的第三长度阈值不小于348、且不大于472。
优选地,所述预设的第三长度阈值为410。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
如果所述传输码率不小于或大于预设的第三码率阈值、且不大于或者小于预设的第四码率阈值,判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值,其中所述第四码率阈值大于所述第三码率阈值;
如果是,确定对所述待编码的序列分段,否则,确定不对所述待编码的序列分段。
优选地,所述判断所述待编码的序列的长度是否大于或者大于等于预设的第四长度阈值之前,所述方法还包括:
根据所述传输码率及预设的第二函数,确定第四长度阈值。
优选地,所述预设的第二函数为Kth2=int(a*R+e)或者Kth2=a*R+e,其中kth2为第四长度阈值、int为取整函数、a为预设的第三参数、e为预设的第四参数、R为传输码率。
优选地,所述a不大于1200、且不小于800,所述e不大于196、且不小于144。
优选地,所述a为1000,e为170。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于或大于等于预设的第四码率阈值;
如果是,确定不对所述待编码的序列分段。
优选地,所述预设的第四码率阈值为9/25。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述待编码的序列的长度是否大于或大于等于预设的第五长度阈值;
如果是,确定对所述待编码的序列分段。
优选地,所述确定对所述待编码的序列分段之前,所述方法还包括:
判断所述传输码率是否小于或小于等于预设的第五码率阈值;
如果是,进行后续步骤。
优选地,所述预设的第五码率阈值不小于0.2、且不大于0.9。
优选地,所述预设的第五码率阈值为0.75,或2/3,或1/2,或2/5,或0.38,或0.36,或1/3,或0.3,或0.28,或0.26,或0.24,或1/4,或1/5。
优选地,所述预设的第五长度阈值不小于300、且不大于450。
优选地,所述预设的第五长度阈值为340,或350,或360,或370,或380,或390,或400,或410,或420,或430,或440,或450。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
判断所述传输码率是否大于预设的第六码率阈值;
如果是,确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段,其中K_th1为第一长度值、f为预设的第五参数值、g为预设的第六参数值、R为传输码率、int为取整函数。
优选地,所述f为位于500-1200范围内的数值、g为位于60-300范围内的数值。
优选地,所述f为832、g为200。
优选地,所述确定根据预设的线性函数K_th1=f*R+g或K_th1=int(f*R+g)对所述待编码的序列分段包括:
确定根据预先设定的至少两个码率区间,及每个码率区间对应的预设的线性函数K_th1=fn*R+gn或K_th1=int(fn*R+gn),确定所述传输码率对应的目标码率区间,根据所述目标码率区间对应的目标线性函数对所述待编码的序列分段,其中所述码率区间中的最小码率值不小于所述预设的第六码率阈值。
优选地,所述预设的第六码率阈值为0.2。
优选地,所述根据待编码的序列的长度及传输码率,确定所述待编码的序列对应的分段策略包括:
确定根据预设的线性函数K_th2=h*R+i或K_th2=int(h*R+i)对所述待编码的序列分段,其中K_th2为第二长度值、h为预设的第七参数值、i为预设的第八参数值、R为传输码率、int为取整函数。
优选地,所述h为位于500-1200范围内的数值、i为位于60-300范围内的数值。
优选地,确定对所述待编码序列进行分段之前,所述方法还包括:
判断所述待编码序列的长度是否小于等于预设的第五长度阈值;
如果是,进行后续步骤。
优选地,所述第五码率阈值位于最大待编码比特长度的x倍到最大待编码比特长度的N倍之间,其中x为大于0小于N的数值。
优选地,所述x为大于等于0.3,小于2的数值,N为2。
优选地,当所述分段策略为对所述待编码的序列进行分段时,所述根据所述分段策略,对所述待编码的序列进行相应处理包括:
对所述待编码的序列中的信息序列进行分段;或
对包含信息序列及CRC序列的所述待编码的序列进行分段。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。