一种极化码编译码方法及装置
技术领域
本发明涉及通信技术领域,特别涉及一种极化码编译码方法及装置。
背景技术
目前,随着4G(the 4th Generation mobile communication technology,第四代移动通信技术)进入规模商用阶段,面向未来的第五代移动通信技术5G(5thGeneration,第五代)已成为全球研发的热点。确定统一的5G概念,制定全球统一的5G标准,已经成为业界的共同呼声。作为5G的eMBB(Enhanced Moblie BroadBand,增强移动宽带)场景控制信道编码方案的极化码(Polar Codes),是一种可以达到二进制对称信道容量的新型编码方式,且具有优异的译码性能。
现有技术中的极化码编译码方式包括CRC(Cyclic Redundancy Check,循环冗余校验)辅助的极化码编译码和PC(Parity Check,奇偶校验)辅助的极化码编译码。图1为现有技术中CRC辅助的极化码编译码的示意图,CRC辅助的极化码编译码过程包括:将待编码的信息序列首先经过CRC编码器编码,生成对应的CRC序列,再将信息序列和CRC序列一起送入Polar编码器,编码后经过调制器调制,再通过信道发送给接收端;译码时针对解调器解调后的比特流采用Polar-CRC联合译码器进行译码,主要是采用CRC辅助的连续删除列表(Successive Cancellation List,SCL)译码算法,在译码中选择最终译码的译码结果时,Polar-CRC联合译码器先将所有候选码字还原成含有CRC的候选信息序列,对所有候选信息序列做CRC译码处理,将通过CRC译码并且可靠度最高的候选信息序列作为最终的译码结果。
图2为现有技术中PC辅助的极化码编译码的示意图,PC辅助的极化码编译码过程包括:将待编码的信息序列首先经过CRC编码器编码,生成对应的CRC序列,再将信息序列和CRC序列一起送入PC-Polar编码器,编码后通过调制器调制,再通过信道发送给接收端;译码时针对调制器解调后的比特流采用Polar译码器进行译码,主要是采用PC辅助的SCL译码算法,在译码中选择最终译码的译码结果时,Polar译码器先将所述候选码字还原成含有PC的候选信息序列,对所有候选信息序列做PC译码处理,将通过PC译码并且可靠度最高的候选信息序列作为最终的译码结果。
现有技术中的CRC辅助的极化码编译码和PC辅助的极化码编译码,在编码阶段都需要经过CRC进行初次编码。
控制信道的性能评估标准metric除了块出错率(block error rate,BLER)以外,另一个重要的性能指标为虚警率(false alarm rates)。虚警率的计算方法有多种定义,常用的两种计算方法为:虚警率=错误且通过CRC校验的帧数/总的传输帧数,或者虚警率=错误且通过CRC校验的帧数/总的出错帧数。低的虚警率有利于降低UE(User Equipment,用户终端设备)上行碰撞概率,降低UE功耗,提高系统性能。
为了提高Polar译码的性能,一般采用SCL列表译码(list decoding)算法。对于CRC辅助的极化码译码(aided polar codes),由于译码时利用附加的CRC比特进行listdecoding译码的路径选择,会导致虚警率的提高。如果虚警率为N个CRC比特决定的虚警率,当采用列表大小(list size)为L的CRC aided SCL译码算法时,在最差的情况下,L路径都需要用CRC进行校验选择,这就导致虚警率变为pfa,block=1-(1-pfa,path)L,且随着L的增大而增大,其中,Pfa,path为虚警率。
对于PC-polar来说最后附加的N个比特只用于检测错误(error detection)并不用于辅助译码,故虚警率不会变差,但PC polar需要较多的校验比特开销,导致BLER性能变差。
发明内容
本发明提供一种极化码编译码方法及装置,用以提供一种新的极化码编译码方案。
为达到上述目的,本发明实施例公开了一种极化码编码方法,所述方法包括:
根据待编码的信息序列的属性信息及预设的第一序列生成算法,生成第一序列;
根据待编码的信息序列的属性信息及预设的第二序列生成算法,生成第二序列;
对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码。
进一步地,所述第一序列和第二序列中的一个序列用于路径选择和检测错误,另一个序列用于检测错误。
进一步地,所述待编码的信息序列的属性信息包括:
待编码的信息序列的长度和/或内容。
进一步地,所述待编码的信息序列的内容包括:
所述待编码的信息序列的全部内容和/或部分内容。
进一步地,所述根据待编码的信息序列的属性信息及预设的序列生成算法,生成序列包括:
根据所述待编码的信息序列的内容及循环冗余校验CRC处理算法,生成序列;或,
根据所述待编码的信息序列的内容及预设的哈希Hash函数,生成序列;或,
根据所述待编码的信息序列的长度及随机函数,生成序列。
进一步地,所述根据所述待编码的信息序列的内容及CRC处理算法,生成序列包括:
根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,
根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,
根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列。
进一步地,所述根据所述待编码的信息序列的内容及预设的Hash函数,生成序列包括:
根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,
根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,
根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列。
进一步地,所述根据所述待编码的信息序列的内容及预设的Hash函数,生成序列包括:
在待编码的信息序列中获取至少一个子序列;
根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的序列。
进一步地,如果所述子序列包括至少两个,所述根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
进一步地,所述对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码之前,所述方法包括:
采用预设的算法对所述第一序列进行更新;和/或
采用预设的算法对所述第二序列进行更新,其中所述预设算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
进一步地,所述采用预设的算法对所述第一序列进行更新和/或采用预设的算法对所述第二序列进行更新包括:
采用加扰序列对第一序列和/或第二序列进行更新。
进一步地,所述第一序列的长度位于1比特到10比特之间,所述第二序列的长度位于10比特到16比特之间。
本发明实施例公开了一种极化码编码方法,所述方法包括:
在待编码的信息序列中获取至少一个子序列;
根据所述至少一个子序列及预设的哈希Hash函数,确定所述信息序列对应的Hash序列;
对所述信息序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
进一步地,所述在待编码的信息序列中获取至少一个子序列包括:
对待编码的信息序列进行循环冗余校验CRC处理,生成所述信息序列对应的CRC序列;
在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列;
所述对所述信息序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码包括:
对所述信息序列、所述CRC序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
进一步地,所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列包括:
根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
进一步地,如果所述子序列包括至少两个,所述根据所述至少一个子序列及预设的Hash函数,确定所述Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
进一步地,Hash序列的长度不大于32比特位。
进一步地,所述CRC序列的长度为8比特位、或12比特位、或16比特位、或24比特位。
本发明实施例公开了一种极化码译码方法,所述方法包括:
对接收到的极化码编码后的序列进行连续删除列表SCL译码;
针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列;
根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,其中,第一校验序列和第二校验序列中的一个校验序列用于路径选择和检测错误,另一个校验序列用于检测错误。
进一步地,所述信息序列的属性信息包括:
信息序列的长度和/或内容。
进一步地,所述信息序列的内容包括:
所述信息序列的全部内容和/或部分内容。
进一步地,所述确定该候选路径的校验序列包括:
根据所述信息序列的内容及与发送端对应的循环冗余校验CRC处理算法,生成校验序列;或,
根据所述信息序列的内容及与发送端对应的哈希Hash函数,生成校验序列;或,
根据所述信息序列的长度及与发送端对应的随机函数,生成校验序列。
进一步地,所述根据所述信息序列的内容及与发送端对应的CRC处理算法,生成校验序列包括:
根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,
根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,
根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列。
进一步地,所述根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列包括:
根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,
根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,
根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列。
进一步地,所述根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列包括:
在所述信息序列中获取至少一个子序列;
根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的校验序列。
进一步地,如果所述子序列包括至少两个,所述根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
进一步地,所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果之前,所述方法还包括:
采用与发送端对应的算法对所述第一校验序列进行更新;和/或
采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
进一步地,所述采用与发送端对应的算法对所述第一校验序列进行更新和/或采用与发送端对应的算法对所述第二校验序列进行更新包括:
采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
进一步地,所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,确定译码结果包括:
根据每条候选路径的第一校验序列,选择目标路径;
根据所述目标路径的第二校验序列,确定为译码结果。
进一步地,所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,确定译码结果包括:
根据每条候选路径的第二校验序列,选择目标路径;
根据所述目标路径的第一校验序列,确定为译码结果。
本发明实施例公开了一种极化码译码方法,所述方法包括:
对接收到的极化码编码后的序列进行连续删除列表SCL译码;
针对SCL译码保留的多条候选路径中的候选序列,根据与发送端对应的编码方法,确定候选序列中的信息序列和哈希Hash序列;根据与发送端对应的子序列获取方法,在所述信息序列中获取至少一个子序列,根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的校验Hash序列,根据所述Hash序列与所述校验Hash序列选择译码路径。
进一步地,所述根据与发送端对应的编码方法,确定候选序列中的信息序列和Hash序列包括:
根据与发送端对应的编码方法,确定候选序列中的信息序列、循环冗余校验CRC序列和Hash序列;
所述根据与发送端对应的子序列获取方法,在所述信息序列中获取至少一个子序列包括:
根据与发送端对应的组合方式及子序列获取方法,在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列。
进一步地,所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列包括:
根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
进一步地,如果所述子序列包括至少两个,所述根据所述至少一个子序列及预设的Hash函数,确定校验Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定校验Hash序列。
进一步地,所述根据所述Hash序列与所述校验Hash序列选择译码路径包括:
针对每条候选路径中的候选序列,判断该候选序列中的Hash序列与确定的校验Hash序列是否相同;如果相同,则确定所述候选路径为译码路径,所述译码路径对应的信息序列为译码结果。
进一步地,如果每条候选路径对应的Hash序列与确定的校验Hash序列都不相同,所述方法还包括:
将所述多条候选路径中可靠度最高的候选路径确定为译码路径,所述译码路径对应的信息序列为译码结果。
进一步地,Hash序列的长度不大于32比特位。
进一步地,所述CRC序列的长度为8比特位、或12比特位、或16比特位、或24比特位。
本发明实施例公开了一种极化码编码装置,所述装置包括:
序列产生器,用于根据待编码的信息序列的属性信息及预设的第一序列生成算法,生成第一序列;
序列产生器,还用于根据待编码的信息序列的属性信息及预设的第二序列生成算法,生成第二序列;
极化码Polar编码器,用于对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码。
进一步地,所述序列产生器,具体用于根据所述待编码的信息序列的内容及循环冗余校验CRC处理算法,生成序列;或,根据所述待编码的信息序列的内容及预设的哈希Hash函数,生成序列;或,根据所述待编码的信息序列的长度及随机函数,生成序列。
进一步地,所述序列产生器,具体用于根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列。
进一步地,所述序列产生器,具体用于根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列。
进一步地,所述序列产生器,具体用于在待编码的信息序列中获取至少一个子序列;根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的序列。
进一步地,所述序列产生器,具体用于如果所述子序列包括至少两个,将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
进一步地,所述装置包括:
更新模块,用于采用预设的算法对所述第一序列进行更新;和/或采用预设的算法对所述第二序列进行更新,其中所述预设算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
所述更新模块,具体用于采用加扰序列对第一序列和/或第二序列进行更新。
本发明实施例公开了一种极化码编码装置,所述装置包括:
哈希Hash状态产生器,用于在待编码的信息序列中获取至少一个子序列;根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列;
极化码Polar编码器,用于对所述信息序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
进一步地,所述装置还包括:
循环冗余校验CRC编码器,用于对待编码的信息序列进行CRC处理,生成所述信息序列对应的CRC序列;
所述Hash状态产生器,还用于在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列;
所述Polar编码器,还用于对所述信息序列、所述CRC序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
进一步地,所述Hash状态产生器,具体用于根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
进一步地,所述Hash状态产生器,具体用于将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
本发明实施例公开了一种极化码译码装置,所述装置包括:
极化码Polar译码器,用于对接收到的极化码编码后的序列进行连续删除列表SCL译码;
校验序列译码器,用于针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列;根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,其中,第一校验序列和第二校验序列中的一个校验序列用于路径选择和检测错误,另一个校验序列用于检测错误。
进一步地,所述校验序列译码器,具体用于根据所述信息序列的内容及与发送端对应的CRC处理算法,生成校验序列;或,根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列;或,根据所述信息序列的长度及与发送端对应的随机函数,生成校验序列。
进一步地,所述校验序列译码器,具体用于根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列。
进一步地,所述校验序列译码器,具体用于根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列。
进一步地,所述校验序列译码器,具体用于在所述信息序列中获取至少一个子序列;根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的校验序列。
进一步地,所述校验序列译码器,具体用于当所述子序列包括至少两个,将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
进一步地,所述装置还包括:
更新模块,用于采用与发送端对应的算法对所述第一校验序列进行更新;和/或采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
所述更新模块,具体用于采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
进一步地,所述校验序列译码器,具体用于根据每条候选路径的第一校验序列,选择目标路径;根据所述目标路径的第二校验序列,确定为译码结果。
进一步地,所述校验序列译码器,具体用于根据每条候选路径的第二校验序列,选择目标路径;根据所述目标路径的第一校验序列,确定为译码结果。
本发明实施例公开了一种极化码译码装置,所述装置包括:
Polar译码器,用于对接收到的极化码编码后的序列进行连续删除列表SCL译码;
Hash译码器,用于针对SCL译码保留的多条候选路径中的候选序列,根据与发送端对应的编码方法,确定候选序列中的信息序列和Hash序列;根据与发送端对应的子序列获取方法,在所述信息序列中获取至少一个子序列,根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的校验Hash序列,根据所述Hash序列与所述校验Hash序列选择译码路径。
进一步地,所述Hash译码器,还用于根据与发送端对应的编码方法,确定候选序列中的信息序列、CRC序列和Hash序列;
所述Hash译码器,还用于根据与发送端对应的组合方式及子序列获取方法,在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列。
进一步地,所述Hash译码器,具体用于根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
进一步地,所述Hash译码器,具体用于将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;根据排序为最后一位的子序列的Hash函数输出值,确定校验Hash序列。
进一步地,所述Hash译码器,具体用于针对每条候选路径中的候选序列,判断该候选序列中的Hash序列与确定的校验Hash序列是否相同;如果相同,则确定所述候选路径为译码路径,所述译码路径对应的信息序列为译码结果。
进一步地,所述Hash译码器,还用于将所述多条候选路径中可靠度最高的候选路径确定为译码路径,所述译码路径对应的信息序列为译码结果。
本发明实施例公开了一种极化码编译码方法及装置,所述方法包括:根据待编码的信息序列的属性信息及预设的第一序列生成算法,生成第一序列;根据待编码的信息序列的属性信息及预设的第二序列生成算法,生成第二序列;对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码。由于在本发明实施例中,根据待编码的信息序列的属性信息及预设的第一序列生成算法和第二序列生成算法,生成第一序列和第二序列,从而实现了对信息序列的极化码编码。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中CRC辅助的极化码编译码的示意图;
图2为现有技术中PC辅助的极化码编译码的示意图;
图3为本发明实施例1提供的一种极化码编码过程示意图;
图4为本发明实施例9提供的一种极化码译码过程示意图;
图5A为本发明实施例提供的一种极化码编码的示意图;
图5B为本发明实施例提供的一种极化码译码的示意图;
图6为本发明实施例19提供的一种极化码编码过程示意图;
图7为本发明实施例20提供的一种极化码编码过程示意图;
图8为本发明实施例21提供的生成Hash序列的结构示意图;
图9为本发明实施例22提供的一种极化码译码过程示意图;
图10为本发明实施例23提供的CRC辅助的极化码编译码、PC辅助的极化码编译码和Hash辅助的极化码编译码的误帧率和虚警率的性能示意图;
图11为本发明实施例25提供的一种极化码译码过程示意图;
图12为本发明实施例提供的一种极化码编码装置结构图;
图13为本发明实施例提供的一种极化码编码装置结构图;
图14为本发明实施例提供的一种极化码译码装置结构图;
图15为本发明实施例提供的一种极化码译码装置结构图。
具体实施方式
本发明实施例提供了一种新的极化码编译码方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图3为本发明实施例提供的一种极化码编码过程示意图,该过程包括以下步骤:
S301:根据待编码的信息序列的属性信息及预设的第一序列生成算法,生成第一序列。
S302:根据待编码的信息序列的属性信息及预设的第二序列生成算法,生成第二序列。
本发明实施例提供的极化码编码方法可以应用于发送端,所述发送端可以是基站,也可以是UE。
在进行仿真的过程中,信息序列可以由仿真设备随机产生,在进行实际的数据传输的过程中,信息序列中携带有待传输的数据。信息序列的长度由极化码的码长,以及码率共同决定。例如,在进行仿真的过程中,极化码的码长为96bit(比特位),码率为1/3,则信息序列的长度为32bit,则仿真设备随机产生长度为32bit的信息序列,并将该信息序列作为待编码的信息序列。
发送端中预先保存有第一序列生成算法,当发送端存在待编码的信息序列时,可以根据所述待编码的信息序列的属性信息及预先保存的第一序列生成算法,生成第一序列。并且发送端中预先保存有第二序列生成算法,当发送端存在待编码的信息序列时,可以根据所述待编码的信息序列的属性信息及预先保存的第二序列生成算法,生成第二序列。所述第一序列生成算法和第二序列生成算法可以相同,也可以不同。
所述待编码的信息序列的属性信息可以是待编码的信息序列的长度,也可以是待编码的信息序列的内容,也可以是待编码的信息序列的长度和内容。所述待编码的信息序列的内容可以是待编码的信息序列的全部内容,也可以是待编码的信息序列的部分内容。
第一序列和第二序列中的一个序列用于路径选择和检测错误,另一个序列用于检测错误。其中可以是第一序列用于路径选择和检测错误,第二序列用于检测错误,也可以是第二序列用于路径选择和检测错误,第一序列用于检测错误。
S303:对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码。
对所述信息序列、所述第一序列和所述第二序列进行极化码编码的过程可以是将所述信息序列、所述第一序列和所述第二序列进行组合,再由极化码编码器完成对所述信息序列、所述第一序列和所述第二序列的编码。发送端保存有极化码编码的编码矩阵,在对所述信息序列、所述第一序列和所述第二序列进行极化码编码时,具体的,可以是将所述信息序列和第一序列和第二序列组合成一个序列,对组合后的序列和保存的编码矩阵进行二元域上的乘加运算,则可以得到极化码编码后的序列。在对将所述信息序列和第一序列和第二序列组合成一个序列时,可以是任意组合,例如可以是信息序列在前,第一序列在中间、第二序列在最后,也可以是第二序列位于第一序列和信息序列的中间,也可以将信息序列、第一序列和第二序列进行交织。
较佳地,在对信息序列、所述第一序列和所述第二序列进行组合时,即对信息序列、所述第一序列和所述第二序列进行并串变换,可以将信息序列中的比特位设置在可靠性比较高的比特上,即子信道,将所述第一序列和所述第二序列的比特位设置在可靠性相对低的比特上。对比特位进行极化码编码的过程属于现有技术,在本发明实施例中对该过程不进行赘述。
发送端中预先保存有速率匹配算法,在对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码后,可以根据预先保存的速率匹配算法(rate matching),对编码后的序列进行速率匹配。在进行速率匹配时,所采用的ratematching序列较佳的可以利用高斯方法获得,或者采用对信噪比(Signal Noise Ratio,SNR)不敏感的其他rate matching序列。
在对编码后的序列完成速率匹配后,可以对编码后的序列再通过调制器进行调制,发送给接收端。
由于在本发明实施例中,根据待编码的信息序列的属性信息及预设的第一序列生成算法和第二序列生成算法,生成第一序列和第二序列,从而实现了对信息序列的极化码编码。
实施例2:
在上述实施例的基础上,在本发明实施例中,所述根据待编码的信息序列的属性信息及预设的序列生成算法,生成序列包括:
根据所述待编码的信息序列的内容及CRC处理算法,生成序列;或,
根据所述待编码的信息序列的内容及预设的哈希Hash函数,生成序列;或,
根据所述待编码的信息序列的长度及随机函数,生成序列。
在本发明实施例中,上述生成序列的过程可以在生成第一序列时使用,也可以是在生成第二序列时使用,也可以在生成第一序列和第二序列时同时使用。
当所述待编码的信息序列的属性信息为所述待编码的信息序列的内容时,所述发送端预先保存的第一序列生成算法可以是CRC处理算法,则在生成第一序列时,可以是根据所述待编码的信息序列的内容及CRC处理算法,生成第一序列。
所述发送端预先保存的第一序列生成算法可以是Hash函数,则在生成第一序列时,可以是根据所述待编码的信息序列的内容及所述Hash函数,生成第一序列。
当所述待编码的信息序列的属性信息为所述待编码的信息序列的长度时,所述发送端预先保存的第一序列生成算法可以是随机函数,则在生成第一序列时,可以是根据所述待编码的信息序列的长度及随机函数,生成第一序列。
当所述待编码的信息序列的属性信息为所述待编码的信息序列的内容和长度时,所述发送端预先保存的第一序列生成算法可以是CRC处理算法或Hash函数,在生成第一序列时,可以是根据待编码的信息序列的长度作为待编码的信息序列的内容的一部分,并根据所述待编码的信息序列的内容及CRC处理算法或Hash函数,生成第一序列。
第二序列的生成过程与第一序列的生成过程类似,以下进行说明。
在本发明实施例中,当所述待编码的信息序列的属性信息为所述待编码的信息序列的内容时,所述发送端预先保存的第二序列生成算法可以是CRC处理算法,则在生成第二序列时,可以是根据所述待编码的信息序列的内容及CRC处理算法,生成第二序列。
所述发送端预先保存的第二序列生成算法可以是Hash函数,则在生成第二序列时,可以是根据所述待编码的信息序列的内容及Hash函数,生成第二序列。
当所述待编码的信息序列的属性信息为所述待编码的信息序列的长度时,所述发送端预先保存的第二序列生成算法可以是随机函数,则在生成第二序列时,可以是根据所述待编码的信息序列的长度及随机数函数,生成第二序列。
当所述待编码的信息序列的属性信息为所述待编码的信息序列的内容和长度时,所述发送端预先保存的第二序列生成算法可以是CRC处理算法或Hash函数,在生成第二序列时,可以是根据待编码的信息序列的长度作为待编码的信息序列的内容的一部分,并根据所述待编码的信息序列的内容及CRC处理算法或Hash函数,在生成第二序列。
所述第一序列的生成方法和第二序列的生成方法可以是相同的,也可以是不同的。例如,可以是在生成第一序列时采用CRC处理算法,在生成第二序列时采用Hash函数或随机函数,也可以是在生成第一序列时采用随机函数,在生成第二序列时也采用随机函数或CRC处理算法。
实施例3:
在生成序列时,可以是根据待编码的信息序列的属性信息及预设的序列生成算法直接生成第一序列和第二序列,但是为了保证数据传输的安全性,在生成第一序列和/或第二序列时,也可以是先根据相应的算法生成初始序列,再根据所述初始序列以及待编码的信息序列的属性信息以及预设的序列生成算法,生成第一序列或第二序列。在上述各实施例的基础上,在本发明实施例中,所述根据所述待编码的信息序列的内容及CRC处理算法,生成序列包括:
根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,
根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,
根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列。
在本发明实施例中,上述生成序列的过程可以在生成第一序列时使用,也可以是在生成第二序列时使用,也可以在生成第一序列和第二序列时同时使用。
在根据所述待编码的信息序列的内容及CRC处理算法生成第一序列时,具体的,可以是先根据所述待编码的信息序列的内容及CRC处理算法,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述CRC处理算法,生成第一序列。
也可以是先根据所述待编码的信息序列的内容及预设的Hash函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述CRC处理算法,生成第一序列。
还可以是先根据所述待编码的信息序列的长度及随机函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述CRC处理算法,生成第一序列。
在根据所述待编码的信息序列的内容及CRC处理算法生成第二序列时,具体的,可以是先根据所述待编码的信息序列的内容及CRC处理算法,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述CRC处理算法,生成第二序列。
可以是先根据所述待编码的信息序列的内容及预设的Hash函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述CRC处理算法,生成第二序列。
还可以是先根据所述待编码的信息序列的长度及随机函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述CRC处理算法,生成第二序列。
第一序列的生成方法和第二序列的生成方法可以是相同的,也可以是不同的。例如,可以是在生成第一序列时,采用先根据所述待编码的信息序列的内容及CRC处理算法,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述CRC处理算法,生成第一序列;在生成第二序列时,采用先根据所述待编码的信息序列的内容及预设的Hash函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述CRC处理算法,生成第二序列。
所述第一初始序列或第二初始序列可以是一个已知的序列,例如可以是终端或基站的标识信息,或者是一个随机数等。
实施例4:
在生成序列时,可以是根据待编码的信息序列的属性信息及预设的序列生成算法直接生成第一序列和第二序列,但是为了保证数据传输的安全性,在生成第一序列和/或第二序列时,也可以是先根据相应的算法生成初始序列,再根据所述初始序列以及待编码的信息序列的属性信息以及预设的序列生成算法,生成第一序列或第二序列。在上述各实施例的基础上,在本发明实施例中,所述根据所述待编码的信息序列的内容及预设的Hash函数,生成序列包括:
根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,
根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,
根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列。
在本发明实施例中,在根据所述待编码的信息序列的内容及预设的Hash函数生成序列时,具体的,可以是先根据所述待编码的信息序列的内容及CRC处理算法,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及预设的Hash函数,生成第一序列。
可以是先根据所述待编码的信息序列的内容及预设的Hash函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及预设的Hash函数,生成第一序列。
还可以是先根据所述待编码的信息序列的长度及随机函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及预设的Hash函数,生成第一序列。
在根据所述待编码的信息序列的内容及预设的Hash函数生成第二序列时,具体的,可以是先根据所述待编码的信息序列的内容及CRC处理算法,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及预设的Hash函数,生成第二序列。
可以是先根据所述待编码的信息序列的内容及预设的Hash函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及预设的Hash函数,生成第二序列。
还可以是先根据所述待编码的信息序列的长度及随机函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及预设的Hash函数,生成第二序列。
第一序列的生成方法和第二序列的生成方法可以是相同的,也可以是不同的。例如,可以是在生成第一序列时,采用先根据所述待编码的信息序列的内容及CRC处理算法,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及预设的Hash函数,生成第一序列;在生成第二序列时,采用先根据所述待编码的信息序列的内容及预设的Hash函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述Hash函数,生成第二序列。
另外,在本发明实施例中,在生成第二序列时,可以根据所述待编码的信息序列的属性信息和所述第一序列,及预先保存的第二序列生成算法,生成第二序列。
所述第一序列可以是直接生成的,例如根据所述待编码的信息序列的内容及CRC处理算法,直接生成的第一序列;或,根据所述待编码的信息序列的内容及预设的Hash函数,直接生成的第一序列;或,根据所述待编码的信息序列的长度及随机函数,直接生成的第一序列。
所述第一序列也可以根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列。
根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,
根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,
根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列。
实施例5:
为了进一步降低虚警率,在上述各实施例的基础上,在本发明实施例中,所述根据所述待编码的信息序列的内容及预设的Hash函数,生成序列包括:
在待编码的信息序列中获取至少一个子序列;
根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的序列。
本发明实施例提供的采用Hash函数,生成序列的方法,应用于上述各实施例中的采用Hash函数,生成序列的过程中。
具体的,在根据所述待编码的信息序列的内容及预设的Hash函数,生成第一序列时,可以是在待编码的信息序列中获取至少一个子序列,根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的第一序列。在根据所述待编码的信息序列的内容及预设的Hash函数,生成第二序列时,可以是在待编码的信息序列中获取至少一个子序列,根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的第二序列。
所述在待编码的信息序列中获取至少一个子序列时,可以是将该信息序列的全部或者部分作为子序列,可以将该信息序列的全部或部分作为一个子序列,也可以将该信息序列的全部或部分作为至少两个子序列等。还可以是在所述信息序列中从设定的比特位开始获取,获取设定长度的子序列,也可以是将所述信息序列划分成设定数量的子序列,所述子序列的长度可以为任意长度,较优的是所述子序列的长度不大于待生成的Hash序列的最大长度32比特位,所述子序列的数量可以是1个、2个或5个等。还可以按照每个子序列的长度,将该信息序列划分为多个子序列,其中每个子序列包含的内容可以重叠,也可以不重叠等。只要保证编码时采用的子序列的划分方式,与译码时采用的划分方式相同即可。
具体的在生成Hash序列时,先将该至少一个子序列转化为十进制数值,将其作为Hash函数的输入,从而生成Hash函数输出值,然后将该Hash函数输出值转化为比特流,截取该比特流的部分或全部,从而作为该信息序列对应的Hash序列。
在截取该比特流的部分或全部时,可以按照一定的方法来截取,例如设置了Hash序列的长度,则在该比特流中截取该长度对应的Hash序列,可以从设定位置截取,该设定位置可以是第一位,或者非第一位,可以是从第一位开始往后截取,也可以是从末尾往前开始截取等等。只要保证编码时采用的Hash序列的截取方式,与译码时采用的截取方式相同即可。
实施例6:
为了进一步降低虚警率,在上述各实施例的基础上,本发明实施例中,如果所述子序列包括至少两个,所述根据所述至少一个子序列及预设的Hash函数,确定Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
在本发明实施例中,针对至少两个子序列,根据前一个子序列对应的Hash函数输出值,来确定与其相邻的后一个子序列对应的Hash函数输出值,并将最后一个子序列对应的Hash函数输出值,确定为第一序列对应的Hash序列,从而进一步降低了虚警率。
为了进一步降低虚警率,在本发明实施例中该Hash函数的特点为子序列对应的v-bit状态的变化,会引起下一个子序列对应的v-bit状态无规则的不同,即雪崩效应,从而通过该Hash函数进行编码可以进一步降低虚警率。
如果在确定第一序列或第二序列时,是先确定待编码的信息序列的初始序列,再确定第一序列或第二序列。这样在根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列时,可以是将所述初始序列与待编码的信息序列进行组合,在组合后的序列中获取至少两个所述子序列。在对初始序列和待编码的信息序列进行组合时,组合方式是任意的,可以是将初始序列放置于待编码的信息序列的前面,也可以是将初始序列放置于待编码的信息序列的后面,或者也可以将初始序列插入到待编码的信息序列的固定比特位上。
实施例7:
为了进一步降低虚警率,在上述各实施例的基础上,本发明实施例中,所述对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码之前,所述方法包括:
采用预设的算法对所述第一序列进行更新;和/或
采用预设的算法对所述第二序列进行更新,其中所述预设算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
在本发明实施例中,发送端中保存有对序列进行更新的算法,在对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码之前,可以采用预设的算法对序列进行更新。在进行更新时,可以是只采用预设的算法对所述第一序列进行更新,可以是只采用预设的算法对所述第二序列进行更新,也可以是采用预设的算法对所述第一序列和所述第二序列均进行更新。
当采用预设的算法对所述第一序列和所述第二序列均进行更新时,具体的,可以是在生成第二序列之前,先对第一序列进行更新,在生成第二序列之后,再对第二序列进行更新,也可以是在生成第二序列之后,在对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码之前,对第一序列和第二序列均更新。
其中所述预设算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种,在对第一序列和第二序列进行更新时,采用的算法可以是相同的,也可以是不同的。例如,在对第一序列进行更新时,采用的算法是交织算法,在对第二序列进行更新时,采用的算法是更新设定比特位的算法,也可以是在对第一序列进行更新时,采用的算法为异或处理算法和交织算法,在对第二序列进行更新时,采用的是交织算法和更新设定比特位的算法。
所述采用预设的算法对所述第一序列进行更新和/或采用预设的算法对所述第二序列进行更新包括:
采用加扰序列对第一序列和/或第二序列进行更新。
由于在LTE的下行控制信道中的下行链路信息(Down link Information,DCI)中需要采用加扰序列进行加扰处理,具体的该加扰序列可以为UEID,该加扰序列可以加扰在第一序列和/或第二序列中,加扰序列对第一序列和/或第二序列进行加扰,例如可以是根据该加扰序列与第一序列和/或第二序列进行异或运算,以隐式表示该DCI发送的目标用户。因此该加扰的过程,实际上就是上述对第一序列和/或第二序列,进行更新的一种具体实施方式。只是该加扰的过程应用于LTE的下行控制信道,而本发明实施例并不限于该场景下,对于其他场景,也可以对该第一序列和/或第二序列进行更新。
由于是两个序列,因此在进行更新时,可以是只对其中一个序列加扰,或者也可以是对两个序列同时加扰。具体的,UEID可以只对第一序列加扰,例如hash序列为第一序列,在对hash序列加扰时,可以是用8比特的UEID与8比特的hash序列加扰,当然数字8只是UEID长度不大于hash序列时的一个列子。
如果UEID的长度大于hash序列,也大于CRC序列,CRC序列为第二序列,可以将UEID按照预设的方法分成两段分别与第一序列即hash序列和第二序列即CRC序列加扰,如UEID的第一段与hash序列等长,该第一段对hash序列加扰,UEID剩余的比特作为第二段对CRC加扰。
对于上行控制信道中的上行链路信息(UP link Information,UCI)可以进行与DCI相同的处理。
实施例8:
在本发明上述实施例中,第一序列的长度位于1比特到10比特之间,所述第二序列的长度位于10比特到16比特之间。如果第一序列为第一CRC序列,则第一CRC序列的长度为1-10比特,第二序列为第二CRC序列,则第二CRC序列的长度为10-16比特。所述第一序列可以是根据所述待编码的信息序列的内容及CRC处理算法生成的,并且所述第二序列可以是根据待编码的信息序列的属性信息、所述第一序列以及所述CRC算法生成的。
现有LTE系统中控制信道要求的虚警率是16比特,在5G系统中将会保持该虚警率的要求。因此在该虚警率的要求下,计算的第一序列的长度应该是16比特,但如果第一序列的长度是16比特,则该第一序列不能进行路径的选择,因此为了保证路径选择,该第一序列的长度一般为16+5=21比特。而在本发明实施例中,根据信息序列,计算有第一序列和第二序列,在保证虚警率的同时,第二序列可以有效的降低第一序列的长度,从而降低了系统的开销。
实施例9:
图4为本发明实施例提供的一种极化码译码过程示意图,该过程包括以下步骤:
S401:对接收到的极化码编码后的序列进行连续删除列表SCL译码。
本发明实施例提供的极化码译码方法应用于接收端,所述接收端可以是基站,也可以是UE。
通常情况下,极化码编码后的序列会做速率匹配处理和调制,再进行发送,接收端在接收到码字后需要解调和解速率匹配处理后,确定接收到的码字对应的极化码编码后的序列。在进行解速率匹配时,所采用的rate matching序列较佳的可以利用高斯方法获得,或者采用对SNR不敏感的其他rate matching序列。发送端与接收端的速率匹配方法与解速率匹配方法是一致的,即当接收端采用的rate matching序列较佳的可以利用高斯方法获得,则接收端采用的解速率的序列也是利用高斯方法获得的。
所述对接收到的极化码编码后的序列进行SCL译码的过程属于现有技术,在本发明实施例中对该过程不做赘述。
所述极化码编码后的序列经过SCL译码后,会根据设定保留多条候选路径,每条候选路径中包括对应的极化码编码后的序列。
S402:针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列。
对于不同的编码方式,确定的信息序列、第一序列和第二序列的方式可能不同,为了能够重构出与发送端相同的第一序列和第二序列,使确定的译码的结果的更加准确,在确定候选序列中的信息序列、第一序列和第二序列的过程中,需要根据与发送端对应的编码方式来确定,即确定候选序列中的第一序列和第二序列的过程,需要与发送端极化码编码时,确定第一序列和第二序列的过程相同。
接收端中在确定SCL译码保留的多条候选路径时,开始译码时,路径数是1,每译码出一个比特位,路径数加倍,当路径数大于设定的数量时,根据每条路径中译出的比特位的概率确定路径的概率,选择概率较高的设定数量的路径作为候选路径,进行下一比特位的译码,并在译码后,判断针对该下一比特位的译码结果对应的路径数量是否大于设定的数量,如果是,重复上述过程,直到最后一个比特位译码成功,并选择出最终的候选路径,一般的,SCL译码中保存有预先设定的数量,例如可以是4。
同理,为了使得译码的结果更加准确,在确定第一校验序列的过程中,需要根据与发送端对应的第一序列生成算法来确定的,即确定第一校验序列的过程需要与发送端生成第一序列的过程相同。
在确定第二校验序列的过程中,需要根据与发送端对应的第二序列生成算法来确定的,即确定第二校验序列的过程需要与发送端生成第二序列的过程相同。
具体的可以是接收端保存有与发送端对应的第一序列生成算法和第二序列生成算法。接收端根据所述信息序列的属性信息及与发送端对应的第一序列生成算法,确定第一校验序列,并根据所述信息序列的属性信息及与发送端对应的第二序列生成算法,确定第二校验序列。
所述信息序列的属性信息可以是信息序列的长度,可以是信息序列的内容,也可以是信息序列的长度和内容。所述信息序列的内容可以是信息序列的全部内容,也可以是信息序列的部分内容。
或者,在本发明实施例中,如果第一序列或第二序列为CRC序列,可以采用上述方式重构出与第一序列和第二序列对应的第一校验序列和第二校验序列,但为了进一步提高路径选择的效率,可以直接将第一序列或第二序列作为第一校验序列或第二校验序列。例如第一序列为CRC序列,则可以将第一序列作为第一校验CRC序列。
S403:根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,其中,第一校验序列和第二校验序列中的一个校验序列用于路径选择和检测错误,另一个校验序列用于检测错误。
在确定出每条候选路径中的第一校验序列和第二校验序列后,可以根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果。
根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果时,可以是针对每条候选路径,确定该候选路径中的第一序列和第二序列与第一校验序列和第二校验序列是否匹配,确定译码结果。
如果第一序列或第二序列为CRC校验序列,则在确定译码结果时,可以是将信息序列和第一序列或第二序列输入到CRC译码器中,根据译码器的输出,确定目标路径。例如可以是将候选路径中的信息序列和第一序列输入到CRC译码器中,如果CRC译码器的输出的比特位的全部为零时,将该候选路径确定为目标路径。然后判断该目标路径中第二序列和第二校验序列是否匹配,如果是,则将该目标路径中的信息序列作为译码结果。
例如第一序列为CRC序列,第二序列为hash序列时,则将该将信息序列和第一序列输入到CRC译码器中,根据译码器的输出,确定目标路径。例如CRC译码器输出的比特位全部为零时,将该候选路径确定为目标路径。然后确定该目标路径中的hash序列与确定的校验hash序列是否一致,如果是,则将该目标路径中的信息序列作为译码结果。
由于在本发明实施例中,根据第一校验序列和第二校验序列,确定译码结构,第一校验序列和第二校验序列中的一个校验序列用于路径选择和检测错误,另一个校验序列用于检测错误,从而实现了对信息序列的译码,降低了虚警率,提高了系统的性能。
实施例10:
在上述实施例的基础上,在本发明实施例中,所述确定该候选路径的校验序列包括:
根据所述信息序列的内容及与发送端对应的CRC处理算法,生成校验序列;或,
根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列;或,
根据所述信息序列的长度及与发送端对应的随机函数,生成校验序列。
在本发明实施例中,上述生成校验序列的过程可以在生成第一校验序列时使用,也可以是在生成第二校验序列时使用,也可以在生成第一校验序列和第二校验序列时同时使用。
接收端确定第一校验序列的过程中,需要根据与发送端对应的第一序列生成算法来确定的,即确定第一校验序列的过程需要与发送端生成第一序列的过程相同。
当所述信息序列的属性信息为所述信息序列的内容时,如果发送端是根据所述待编码的信息序列的内容及CRC处理算法,生成第一序列,则接收端预先保存的与发送端对应的第一序列生成算法为CRC处理算法。接收端在生成第一校验序列时,可以是根据所述信息序列的内容及所述CRC处理算法,生成第一校验序列。
如果发送端是根据所述待编码的信息序列的内容及所述Hash函数,生成第一序列,则接收端预先保存的与发送端对应的第一序列生成算法为Hash函数。接收端在生成第一校验序列时,可以是根据所述信息序列的内容及所述Hash函数,生成第一校验序列。
如果发送端是根据所述待编码的信息序列的长度及随机函数,生成第一序列,则接收端预先保存的与发送端对应的第一序列生成算法为随机函数。接收端在生成第一校验序列时,可以是根据所述信息序列的长度及随机函数,生成第一校验序列。
当所述信息序列的属性信息为所述信息序列的内容和长度时,如果是根据待编码的信息序列的长度作为待编码的信息序列的内容的一部分,并根据所述待编码的信息序列的内容及CRC处理算法或Hash函数,生成第一序列,则接收端预先保存的与发送端对应的第一序列生成算法为CRC处理算法或Hash函数。接收端在生成第一校验序列时,可以是根据信息序列的长度作为信息序列的内容的一部分,并根据所述信息序列的内容及CRC处理算法或Hash函数,生成第一校验序列。
接收端在确定第二校验序列的过程中,需要根据与发送端对应的第二序列生成算法来确定的,即确定第二校验序列的过程需要与发送端生成第二序列的过程相同。第二校验序列的生成过程与第一校验序列的生成过程类似,以下进行说明。
当所述信息序列的属性信息为所述信息序列的内容时,如果发送端是根据所述待编码的信息序列的内容及CRC处理算法,生成第二序列,则接收端预先保存的与发送端对应的第二序列生成算法为CRC处理算法。接收端。
如果发送端是根据所述待编码的信息序列的内容及所述Hash函数,生成第二序列,则接收端预先保存的与发送端对应的第二序列生成算法为Hash函数。接收端在生成第二校验序列时,可以是根据所述信息序列的内容及所述Hash函数,生成第二校验序列。
如果发送端是根据所述待编码的信息序列的长度及随机函数,生成第二序列,则接收端预先保存的与发送端对应的第二序列生成算法为随机函数。接收端在生成第二校验序列时,可以是根据所述信息序列的长度及随机函数,生成第二校验序列。
当所述信息序列的属性信息为所述信息序列的内容和长度时,如果是根据待编码的信息序列的长度作为待编码的信息序列的内容的一部分,并根据所述待编码的信息序列的内容及CRC处理算法或Hash函数,生成第二序列,则接收端预先保存的与发送端对应的第二序列生成算法为CRC处理算法或Hash函数。接收端在生成第二校验序列时,可以是根据信息序列的长度作为信息序列的内容的一部分,并根据所述信息序列的内容及CRC处理算法或Hash函数,生成第二校验序列。
实施例11:
在生成校验序列时,可以是根据信息序列的属性信息及与发送端对应的序列生成算法直接生成第一校验序列和第二校验序列,但是为了保证数据传输的安全性,在生成第一校验序列和/或第二校验序列时,也可以是先根据相应的算法生成初始校验序列,再根据所述初始校验序列以及信息序列的属性信息以及与发送端对应的序列生成算法,生成第一校验序列或第二校验序列。在上述各实施例的基础上,在本发明实施例中,所述根据所述信息序列的内容及与发送端对应的CRC处理算法,生成校验序列包括:
根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,
根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,
根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列。
在本发明实施例中,上述生成校验序列的过程可以在生成第一校验序列时使用,也可以是在生成第二校验序列时使用,也可以在生成第一校验序列和第二校验序列时同时使用。
接收端生成第一校验序列的过程中,需要根据与发送端对应的第一序列生成算法来确定的,即确定第一校验序列的过程需要与发送端生成第一序列的过程相同。
当发送端是根据所述待编码的信息序列的内容及CRC处理算法,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述CRC处理算法,生成第一序列时。则接收端在生成第一校验序列时,可以是先根据所述信息序列的内容及与发送端对应的CRC处理算法,生成第一初始校验序列,再根据所述信息序列的内容、所述第一初始校验序列及与发送端对应的CRC处理算法,生成第一校验序列。
当发送端是根据所述待编码的信息序列的内容及预设的Hash函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述CRC处理算法,生成第一序列时。则接收端在生成第一校验序列时,可以是先根据所述信息序列的内容及与发送端对应的Hash函数,生成第一初始校验序列,再根据所述信息序列的内容、所述第一初始校验序列及与发送端对应的CRC处理算法,生成第一校验序列。
当发送端是根据所述待编码的信息序列的长度及随机函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述CRC处理算法,生成第一序列时。则接收端在生成第一校验序列时,可以是先根据所述信息序列的长度及与发送端对应的随机函数,生成第一初始校验序列,再根据所述信息序列的内容、所述第一初始校验序列及与发送端对应的CRC处理算法,生成第一校验序列。
接收端生成第二校验序列的过程中,需要根据与发送端对应的第二序列生成算法来确定的,即确定第二校验序列的过程需要与发送端生成第二序列的过程相同。
当发送端是根据所述待编码的信息序列的内容及CRC处理算法,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述CRC处理算法,生成第二序列时。则接收端在生成第二校验序列时,可以是先根据所述信息序列的内容及与发送端对应的CRC处理算法,生成第二初始校验序列,再根据所述信息序列的内容、所述第二初始校验序列及与发送端对应的CRC处理算法,生成第二校验序列。
当发送端是根据所述待编码的信息序列的内容及预设的Hash函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述CRC处理算法,生成第二序列时。则接收端在生成第二校验序列时,可以是先根据所述信息序列的内容及与发送端对应的Hash函数,生成第二初始校验序列,再根据所述信息序列的内容、所述第二初始校验序列及与发送端对应的CRC处理算法,生成第二校验序列。
当发送端是根据所述待编码的信息序列的长度及随机函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述CRC处理算法,生成第二序列时。则接收端在生成第二校验序列时,可以是先根据所述信息序列的长度及与发送端对应的随机函数,生成第二初始校验序列,再根据所述信息序列的内容、所述第二初始校验序列及与发送端对应的CRC处理算法,生成第二校验序列。
实施例12:
在生成校验序列时,可以是根据信息序列的属性信息及与发送端对应的序列生成算法直接生成第一校验序列和第二校验序列,但是为了保证数据传输的安全性,在生成第一校验序列和/或第二校验序列时,也可以是先根据相应的算法生成初始校验序列,再根据所述初始校验序列以及信息序列的属性信息以及与发送端对应的序列生成算法,生成第一校验序列或第二校验序列。在上述各实施例的基础上,在本发明实施例中,所述根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列包括:
根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,
根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,
根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列。
在本发明实施例中,接收端生成第一校验序列的过程中,需要根据与发送端对应的第一序列生成算法来确定的,即确定第一校验序列的过程需要与发送端生成第一序列的过程相同。
当发送端是根据所述待编码的信息序列的内容及CRC处理算法,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述预设的Hash函数,生成第一序列时。则接收端在生成第一校验序列时,可以是先根据所述信息序列的内容及与发送端对应的CRC处理算法,生成第一初始校验序列,再根据所述信息序列的内容、所述第一初始校验序列及与发送端对应的Hash函数,生成第一校验序列。
当发送端是根据所述待编码的信息序列的内容及预设的Hash函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述Hash函数,生成第一序列时。则接收端在生成第一校验序列时,可以是先根据所述信息序列的内容及与发送端对应的Hash函数,生成第一初始校验序列,再根据所述信息序列的内容、所述第一初始校验序列及与发送端对应的Hash函数,生成第一校验序列。
当发送端是根据所述待编码的信息序列的长度及随机函数,生成第一初始序列,再根据所述待编码的信息序列的内容、所述第一初始序列及所述Hash函数,生成第一序列时。则接收端在生成第一校验序列时,可以是先根据所述信息序列的长度及随机函数,生成第一初始校验序列,再根据所述信息序列的内容、所述第一初始校验序列及与发送端对应的Hash函数,生成第一校验序列。
接收端生成第二校验序列的过程中,需要根据与发送端对应的第二序列生成算法来确定的,即确定第二校验序列的过程需要与发送端生成第二序列的过程相同。
当发送端是根据所述待编码的信息序列的内容及CRC处理算法,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述预设的Hash函数,生成第二序列时。则接收端在生成第二校验序列时,可以是先根据所述信息序列的内容及与发送端对应的CRC处理算法,生成第二初始校验序列,再根据所述信息序列的内容、所述第二初始校验序列及与发送端对应的Hash函数,生成第二校验序列。
当发送端是根据所述待编码的信息序列的内容及预设的Hash函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述Hash函数,生成第二序列时。则接收端在生成第二校验序列时,可以是先根据所述信息序列的内容及与发送端对应的Hash函数,生成第二初始校验序列,再根据所述信息序列的内容、所述第二初始校验序列及与发送端对应的Hash函数,生成第二校验序列。
当发送端是根据所述待编码的信息序列的长度及随机函数,生成第二初始序列,再根据所述待编码的信息序列的内容、所述第二初始序列及所述Hash函数,生成第二序列时。则接收端在生成第二校验序列时,可以是先根据所述信息序列的长度及随机函数,生成第二初始校验序列,再根据所述信息序列的内容、所述第二初始校验序列及与发送端对应的Hash函数,生成第二校验序列。
另外,如果接收端在生成第二序列时,可以根据所述待编码的信息序列的属性信息和所述第一序列,及预先保存的第二序列生成算法,生成第二序列。则接收端在生成第二校验序列时,可以是所述待信息序列的属性信息和所述第一校验序列,及与发生端对应的第二序列生成算法,生成第二校验序列。
其中所述第一校验序列可以是直接根据信息序列及与发送端对应的第一序列生成算法生成,也可以是先根据信息序列的内容及与发送端对应的算法,生成第一校验初始序列,再根据所述第一校验初始序列,所述信息序列及与发送端对应的算法生成第二校验序列。
实施例13:
为了进一步降低虚警率,在上述各实施例的基础上,在本发明实施例中,所述根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列包括:
在所述信息序列中获取至少一个子序列;
根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的校验序列。
本发明实施例提供的采用Hash函数,生成校验序列的方法,应用于上述各实施例中的采用Hash函数,生成校验序列的过程中。
具体的,在根据所述信息序列的内容及与发送端对应的Hash函数,生成第一校验序列时,可以是在所述信息序列中获取至少一个子序列,根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的第一校验序列。
在根据所述信息序列的内容及与发送端对应的Hash函数,生成第二校验序列时,可以是在所述信息序列中获取至少一个子序列,根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的第二校验序列。
在所述信息序列中获取至少一个子序列的过程中,需要根据与发送端对应的子序列获取方法来获取,即在所述信息序列中获取至少一个子序列的过程,需要与发送端在所述信息序列中获取至少一个子序列的过程相同。
具体的在生成Hash序列时,先将该至少一个子序列转化为十进制数值,将其作为Hash函数的输入,从而生成Hash函数输出值,然后将该Hash函数输出值转化为比特流,截取该比特流的部分或全部,从而作为该信息序列对应的Hash序列。
在截取该比特流的部分或全部时,可以按照一定的方法来截取,例如设置了Hash序列的长度,则在该比特流中截取该长度对应的Hash序列,可以从设定位置截取,该设定位置可以是第一位,或者非第一位,可以是从第一位开始往后截取,也可以是从末尾往前开始截取等等。只要保证编码时采用的Hash序列的截取方式,与译码时采用的截取方式相同即可。
较佳地,在本发明实施例中截取得到的Hash序列的长度不大于32比特位位。该Hash序列的长度例如可以为8比特位、或32比特位等等。
实施例14:
为了进一步降低虚警率,在上述各实施例的基础上,本发明实施例中,如果所述子序列包括至少两个,所述根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
在本发明实施例中,针对至少两个子序列,根据前一个子序列对应的Hash函数输出值,来确定与其相邻的后一个子序列对应的Hash函数输出值,并将最后一个子序列对应的Hash函数输出值,确定为组合序列对应的校验Hash序列,从而进一步降低了虚警率。
为了进一步降低虚警率,在本发明实施例中该Hash函数的特点为子序列对应的v-bit状态的变化,会引起下一个子序列对应的v-bit状态无规则的不同,即雪崩效应,从而通过该Hash函数进行编码可以进一步降低虚警率。
如果发送端在确定第一序列或第二序列时,采用非直接的方式确定的,即先确定待编码的信息序列的初始序列,再确定第一序列或第二序列。这样在根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列时,可以是将所述初始序列与待编码的信息序列进行组合,在组合后的序列中获取至少两个所述子序列。在对初始序列和待编码的信息序列进行组合时,组合方式是任意的,可以是将初始序列放置于待编码的信息序列的前面,也可以是将初始序列放置于待编码的信息序列的后面,或者也可以将初始序列插入到待编码的信息序列的固定比特位上。
则接收端在确定第一校验序列和第二校验序列时,也采用非直接的方式确定,即先确定信息序列的初始检验序列,再确定第一检验初始序列或第二检验初始序列。这样在根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列时,可以是将所述校验初始序列与信息序列进行组合,在组合后的序列中获取至少两个所述子序列。在对初始序列和信息序列进行组合时,组合方式是任意的,接收端的组合方式与发送端的组合方式是相同的。当发送端将初始序列放置于待编码的信息序列的前面,接收端则将校验初始序列放置于信息序列的前面。
当发送端是将初始序列放置于待编码的信息序列的后面,接收端则将校验初始序列放置于信息序列的后面。当发送端将初始序列插入到待编码的信息序列的固定比特位上,接收端则将初始序列插入到信息序列的固定比特位上。
实施例15:
为了进一步降低虚警率,在上述各实施例的基础上,本发明实施例中,所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果之前,所述方法还包括:
采用与发送端对应的算法对所述第一校验序列进行更新;和/或
采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
在本发明实施例中,接收端对第一校验序列和/或第二校验序列更新的过程中,需要根据与发送端对应的对第一序列和/或第二序列更新算法来确定的,即对第一校验序列和/或第二校验序列更新的过程需要与发送端对第一序列和/或第二序列更新的过程相同。
接收端中保存有与发送端对应的对序列进行更新的算法,在根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果之前,可以采用与发送端对应的算法对序列进行更新。在进行更新时,如果发送端只采用预设的算法对所述第一序列进行更新,则接收端可以是只采用与发送端对应的算法对所述第一校验序列进行更新。
如果发送端只采用预设的算法对所述第二序列进行更新,则接收端可以是只采用与发送端对应的算法对所述第二校验序列进行更新。
如果发送端采用预设的算法对所述第一序列和所述第二序列均进行更新,则接收端采用与发送端对应的算法对所述第一校验序列和第二校验序列均进行更新。
如果发送端采用预设的算法对所述第一序列和所述第二序列均进行更新时,具体的,可以是在生成第二序列之前,先对第一序列进行更新,在生成第二序列之后,再对第二序列进行更新,也可以是在生成第二序列之后,在对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码之前,对第一序列和第二序列均更新。
则接收端在采用与发送端对应的算法对所述第一校验序列和所述第二校验序列均进行更新时,具体的,可以是在生成第二校验序列之前,先对第一校验序列进行更新,在生成第二校验序列之后,再对第二校验序列进行更新,也可以是在生成第二校验序列之后,在根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果之前,对第一校验序列和第二校验序列均更新。
其中所述预设算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
所述采用与发送端对应的算法对所述第一校验序列进行更新和/或采用与发送端对应的算法对所述第二校验序列进行更新包括:
采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
由于发送端在采用预设的算法对所述第一序列进行更新和/或第二序列进行更新时,会采用加扰序列对第一序列和/或第二序列进行更新。接收端为了使得到的第一校验序列和/或第二校验序列更加准确,使确定的译码的结果更加准确,在采用与发送端对应的算法对第一校验序列进行更新和/或采用与发送端对应的算法对第二校验序列进行更新时,需要采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
由于是两个校验序列,当发送端只对一个序列进行加扰时,例如对第一序列hash序列加扰,采用8比特的UEID与8比特的hash序列加扰,则接收端采用与发送端对应的8比特的UEID与8比特的第二校验序列即hash序列加扰。
当然数字8只是UEID长度不大于hash序列时的一个列子,如果UEID的长度大于hash序列,也大于第二序列即CRC序列,发送端将UEID按照预设的方法分成两段分别与第一序列即hash序列个第二序列CRC序列加扰,如UEID的第一段与hash序列等长,该第一段对hash序列加扰,UEID剩余的比特作为第二段对CRC加扰。
则接收端将与发送端对应的UEID按照与发送端对应的方法分成两段分别与第一校验序列即hash序列和第二校验序列即CRC校验序列加扰,如UEID的第一段与第一校验序列即hash序列等长,该第一段对第一校验序列即hash序列加扰,UEID剩余的比特作为第二段对第二校验序列即CRC校验加扰。
对于上行控制信道中的上行链路信息(UP link Information,UCI)可以进行与DCI相同的处理。
实施例16:
在本发明实施例中,第一校验序列的长度位于1比特到10比特之间,所述第二校验序列的长度位于10比特到16比特之间。如果第一校验序列为第一CRC校验序列,则第一CRC校验序列的长度为1-10比特,第二校验序列为第二CRC校验序列,则第二CRC校验序列的长度为10-16比特。所述第一校验序列可以是根据信息序列的内容及与发送端对应的CRC处理算法,生成的,并且所述第二校验序列可以是根据信息序列的属性信息、所述第一校验序列以及与发送端对应的CRC算法生成的。
现有LTE系统中控制信道要求的虚警率是16比特,在5G系统中将会保持该虚警率的要求。因此在该虚警率的要求下,计算的第一校验序列的长度应该是16比特,但如果第一校验序列的长度是16比特,则该第一校验序列不能进行路径的选择,因此为了保证路径选择,该第一校验序列的长度一般为16+5=21比特。而在本发明实施例中,根据信息序列,计算有第一校验序列和第二校验序列,在保证虚警率的同时,第二校验序列可以有效的降低第一校验序列的长度,从而降低了系统的开销。
实施例17:
所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,确定译码结果包括:
根据每条候选路径的第一校验序列,选择目标路径;
根据所述目标路径的第二校验序列,确定为译码结果。
在本发明实施例中,在所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,确定译码结果时,具体的可以是判断该候选路径中的第一序列与第一校验序列是否匹配,如果是,将该候选路径作为目标路径;并判断所述目标路径中的第二序列与第二校验序列是否匹配,如果是,将该目标路径上的信息序列确定为译码结果。在本发明实施例中该第一序列用于路径选择,第一序列和第二序列联合用于error detection。所述匹配即为相同。
所述第一校验序列可以是根据CRC处理算法生成的,可以是根据hash函数生成的,第二校验序列可以是根据CRC处理算法生成的,可以是根据hash函数生成的,所述第一校验序列和第二校验序列的可以相同,也可以不同。
如果第一序列为CRC校验序列,则在确定译码结果时,可以是将信息序列和第一序列输入到CRC译码器中,根据译码器的输出,确定目标路径。例如可以是将候选路径中的信息序列和第一序列输入到CRC译码器中,如果CRC译码器的输出的比特位的全部为零时,将该候选路径确定为目标路径。然后判断该目标路径中第二序列和第二校验序列是否匹配,如果是,则将该目标路径中的信息序列作为译码结果。
如果每个候选路径中候选序列中的第一序列和第二序列与对应的第一校验序列和第二校验序列都不同,具体的,可以是将所述多条候选路径中可靠度最高的候选路径确定为译码路径,所述译码路径对应的信息序列为译码结果。所述选择可靠度最高的候选路径为译码路径是现有技术,不再进行赘述。
实施例18:
所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,确定译码结果包括:
根据每条候选路径的第二校验序列,选择目标路径;
根据所述目标路径的第一校验序列,确定为译码结果。
在本发明实施例中,在所述根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,确定译码结果时,具体的可以是判断该候选路径中的第二序列与第二校验序列是否匹配,如果是,将该候选路径作为目标路径;并判断所述目标路径中的第一序列与第一校验序列是否匹配,如果是,将该目标路径上的信息序列确定为译码结果。在本发明实施例中该第二序列用于路径选择,第一序列和第二序列联合用于error detection。所述匹配即为相同。
所述第一校验序列可以是根据CRC处理算法生成的,可以是根据hash函数生成的,第二校验序列可以是根据CRC处理算法生成的,可以是根据hash函数生成的,所述第一校验序列和第二校验序列的可以相同,也可以不同。
如果第二序列为CRC校验序列,则在确定译码结果时,可以是将信息序列和第二序列输入到CRC译码器中,根据译码器的输出,确定目标路径。例如可以是将候选路径中的信息序列和第二序列输入到CRC译码器中,如果CRC译码器的输出的比特位的全部为零时,将该候选路径确定为目标路径。然后判断该目标路径中第一序列和第一校验序列是否匹配,如果是,则将该目标路径中的信息序列作为译码结果。
如果两个序列都是CRC校验序列,则在确定译码结果时,可以先根据第一CRC校验序列确定目标路径,再根据第二CRC校验序列确定译码结果,也可以先根据第二CRC校验序列确定目标路径,再根据第一CRC校验序列确定译码结果。
如果每个候选路径中候选序列中的第一序列和第二序列与对应的第一校验序列和第二校验序列都不同,具体的,可以是将所述多条候选路径中可靠度最高的候选路径确定为译码路径,所述译码路径对应的信息序列为译码结果。所述选择可靠度最高的候选路径为译码路径是现有技术,不再进行赘述。
如图5A所示,为本发明实施例提供的一种极化码编码的示意图,由图5A可以看出,发送端采用CRC1编码器作为对待编码的信息序列进行第一级编码,得到第一个CRC序列,将所述第一个CRC序列作为第一序列,第一序列的长度较佳的为位于1-10比特之间。将第一序列比特级联到待编码信息序列之后送入CRC2编码器得到第二个CRC序列,将所述第二个CRC序列作为第二序列,第二序列的长度较佳的为位于10-16比特之间。将待编码的信息序列与第一序列与第二序列串行级联,然后根据优先级的不同分别映射到比特信道容量不同子信道,实现信息序列、第一序列与第二序列与比特信道映射,其余位置作为冻结位置0,然后一起送入polar码编码器,进行编码。Polar母码的长度一定是2的整数次幂,而输出码字的长度可能是任意的,故需要rate matching操作,即执行减缩(shortening)或者打孔(puncturing)操作。rate matching操作采用的rate matching序列较佳的可以利用高斯近似方法获得,或者采用对SNR不敏感的其他rate matching序列,polar编码器输出的是ratematching后的编码序列。编码后的序列经过调制器调制,就可以在信道中发送给接收端了。
如图5B所示,为本发明实施例提供的一种极化码译码的示意图,由图5B可以看出,接收端在接收到发送端发送的码字后,需要将该码字送入解调器解调,并进行解速率匹配,再将该码字进行SCL译码,得到L条候选路径中的L个候选序列,所述候选序列包括信息序列,第一序列和第二序列。接收端首先将保留的L个候选序列中的第二序列去掉,利用第一序列进行路径选择,即将候选路径中的信息序列的估计值利用CRC检错器进行CRC校验,如果能通过,则认为该候选路径为目标路径,针对该目标路径中的第二个序列,将该第二序列进行CRC校验,如果能通过,则将该目标路径作中的信息序列为polar的译码输出。如果两个CRC序列只要有一个校验不通过,则认为译码失败。
由于第二序列只用于CRC校验不参加辅助译码,所以false alarm性能没有损失。又由于第一序列和第二个序列联合用于error detection,所以可以降低第二序列的长度,既可以维持较好的false alarm性能,又可以提高BLER性能。
另一种情况为:接收端在接收到发送端发送的码字后,需要将该码字送入解调器解调,并进行解速率匹配,再将该码字进行SCL译码,得到L条候选路径中的L个候选序列,所述候选序列包括信息序列,第一序列和第二序列。接收端首先将保留的L个候选序列中的第一序列去掉,利用第二序列进行路径选择,即将候选路径中的信息序列的估计值利用CRC检错器进行CRC校验,如果能通过,则认为该候选路径为目标路径,针对该目标路径中的第一个序列,将该第一序列进行CRC校验,如果能通过,则将该目标路径作中的信息序列为polar的译码输出。如果两个CRC序列只要有一个校验不通过,则认为译码失败。
由于第一序列只用于CRC校验不参加辅助译码,所以false alarm性能没有损失。又由于第一序列和第二个序列联合用于error detection,所以可以降低第一序列的长度,既可以维持较好的false alarm性能,又可以提高BLER性能。
实施例19:
图6为本发明实施例19提供的一种极化码编码过程示意图,该过程包括以下步骤:
S601:在待编码的信息序列中获取至少一个子序列。
本发明实施例提供的极化码编码方法应用于基站和UE(User Equipment,用户终端设备)。
在进行仿真的过程中,信息序列可以由仿真设备随机产生,在进行实际的数据传输的过程中,信息序列中携带有待传输的数据。信息序列的长度由极化码的码长,以及码率共同决定。例如,在进行仿真的过程中,极化码的码长为96bit(比特位),码率为1/3,则信息序列的长度为32bit,则仿真设备随机产生长度为32bit的信息序列,并将该信息序列作为待编码的信息序列。
所述在待编码的信息序列中获取至少一个子序列时,可以是将该信息序列的全部或者部分作为子序列,可以将该信息序列的全部或部分作为一个子序列,也可以将该信息序列的全部或部分作为至少两个子序列等。还可以是在所述信息序列中从设定的比特位开始获取,获取设定长度的子序列,也可以是将所述信息序列划分成设定数量的子序列,所述子序列的长度可以为任意长度,较优的是所述子序列的长度不大于待生成的Hash序列的最大长度32比特位,所述子序列的数量可以是1个、2个或5个等。还可以按照每个子序列的长度,将该信息序列划分为多个子序列,其中每个子序列包含的内容可以重叠,也可以不重叠等。只要保证编码时采用的子序列的划分方式,与译码时采用的划分方式相同即可。
S602:根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列。
具体的在生成Hash序列时,先将该至少一个子序列转化为十进制数值,将其作为Hash函数的输入,从而生成Hash函数输出值,然后将该Hash函数输出值转化为比特流,截取该比特流的部分或全部,从而作为该信息序列对应的Hash序列。
在截取该比特流的部分或全部时,可以按照一定的方法来截取,例如设置了Hash序列的长度,则在该比特流中截取该长度对应的Hash序列,可以从设定位置截取,该设定位置可以是第一位,或者非第一位,可以是从第一位开始往后截取,也可以是从末尾往前开始截取等等。只要保证编码时采用的Hash序列的截取方式,与译码时采用的截取方式相同即可。
较佳地,在本发明实施例中截取得到的Hash序列的长度不大于32比特位位。该Hash序列的长度例如可以为8比特位、或32比特位等等。
S603:对所述信息序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
对所述信息序列和所述Hash序列进行极化码编码的过程可以是将所述信息序列和所述Hash序列进行组合,再由极化码编码器完成对所述信息序列和所Hash序列的编码。发送端保存有极化码编码的编码矩阵,在对所述信息序列和所述Hash序列进行极化码编码时,具体的,可以是将所述信息序列和所述Hash序列组合成一个序列,对组合后的序列和保存的编码矩阵进行二元域上的乘加运算,则可以得到极化码编码后的序列。在对将所述信息序列和所述Hash序列组合成一个序列时,可以是任意组合,例如可以是信息序列在前,所述Hash序列在后,也可以是Hash序列在前,信息序列在后,也可以将信息序列和Hash序列进行交织。
较佳地,在对信息序列和所述Hash序列进行组合,即对信息序列和所述Hash序列进行并串变换,可以将信息序列中的比特位设置在可靠性比较高的位置,即子信道,将Hash序列的比特位设置在可靠性相对低的位置。对比特位进行极化码编码的过程属于现有技术,在本发明实施例中对该过程不进行赘述。
对信息序列和Hash序列进行极化码编码后,再通过调制器进行调制,发送给接收端。
由于本发明提供的极化码编码方法中根据信息序列和Hash函数,确定了所述信息序列对应的Hash序列,再对所述信息序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码,从而完成对待编码的信息序列的极化码编码。
实施例20:
为了有效的降低虚警率,在上述实施例19的基础上,本发明实施例中,所述在待编码的信息序列中获取至少一个子序列包括:
对待编码的信息序列进行CRC处理,生成所述信息序列对应的CRC序列;
在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列;
所述对所述信息序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码包括:
对所述信息序列、所述CRC序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
所述对待编码的信息序列进行CRC处理,生成所述信息序列对应的CRC序列的过程属于现有技术,在本发明实施例中对该过程不做赘述。
所述CRC序列的长度为8比特位、或12比特位、或16比特位、或24比特位。本发明实施例不受到CRC序列的长度和Hash序列的长度的限制,CRC序列的长度可以采用与现有的CRC辅助的极化码编译码中相同的CRC序列的长度,也可以是根据需要,采用更长或更短的CRC序列的长度。
所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列时,可以是将该组合序列的全部或部分作为子序列,可以是将该组合序列也可以是将该组合序列的全部或部分作为一个子序列,也可以将该组合序列的全部或部分作为至少两个子序列等。还可以是在所述组合序列中从设定的比特位开始获取,获取设定长度的子序列,也可以是将所述组合序列划分成设定数量的子序列,所述子序列的长度可以为任意长度,较优的是所述子序列的长度不大于待生成的Hash序列的最大长度32比特位,所述子序列的数量可以是1个、2个或5等。还可以按照每个子序列的长度,将该组合序列划分为多个子序列,其中每个子序列包含的内容可以重叠,也可以不重叠等。只要保证编码时采用的子序列的划分方式,与译码时采用的划分相同即可。
如果所述子序列获取方法是将所述组合序列划分成设定数量的子序列,则所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列包括:
根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
划分得到的设定数量的子序列可以重叠,也可以互不重叠。具体的,所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列可以是:
根据预设的子序列的数量,判断所述组合序列的长度是否为所述数量的整数倍;
如果是,将所述组合序列划分为互不重叠的所述数量个子序列;
如果否,在所述组合序列中补充相应的比特位,补充比特位后的组合序列的长度为所述数量的整数倍,将补充比特位后的组合序列划分为互不重叠的所述数量个子序列;或在所述组合序列中删除相应的比特位,删除比特位后的组合序列的长度为所述数量的整数倍,将删除比特位后的组合序列划分为互不重叠的所述数量个子序列。
例如,所述预设的子序列的数量为I,所述组合序列的长度为n比特位,如果判断所述组合序列的长度n为所述数量I的整数倍,则将所述组合序列划分为互不重叠的I个子序列,每个子序列的长度为n/I比特位,满足1≤n/I≤32,即每个子序列的长度n/I不小于1且不大于32,其中32比特位为Hash序列的最大长度。
如果判断所述组合序列的长度不为所述数量的整数倍,则在组合序列中补充或删除相应的比特位,使得补充或删除相应比特位后的组合序列为所述数量的整数倍,所述补充或删除相应的比特位的内容和位置由预先设定的规则进行补充或删除,例如,对于补充相应的比特位,所述预先设定的规则为在组合序列的最后进行补充,且补充相应的比特位的内容为0。
对所述信息序列、所述CRC序列和所述Hash序列进行极化码编码的过程,可以是将所述信息序列、所述CRC序列和所述Hash序列进行组合,再由极化码编码器完成对所述信息序列、所述CRC序列和所述Hash序列组合后的序列的编码。
对所述信息序列、所述CRC序列和所述Hash序列组合后的序列,采用极化码的编码矩阵进行编码的过程,可以参见实施例19的描述,在此不再进行赘述。
较佳地,在对所述信息序列、所述CRC序列和所述Hash序列进行组合,即对所述信息序列、所述CRC序列和所述Hash序列进行并串变换,可以是将信息序列的比特位置设置在可靠性最高的位置,即子信道,将CRC序列的比特位置设置在可靠性次高的位置,将Hash序列的比特位置设置在可靠性相对比较低的位置。对比特位进行极化码编码的过程属于现有技术,在本发明实施例中对该过程不进行赘述。
对所述信息序列、所述CRC序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码后,再通过调制器进行调制,发送给接收端。
下面以一个具体的例子对本发明实施例进行说明,图7为本发明实施例提供的一种极化码编码过程示意图,将待编码的信息序列首先经过CRC编码器编码,对该信息序列进行CRC处理,生成该信息序列对应的CRC序列,再将信息序列和CRC序列一起送入Hash状态产生器编码,通过对信息序列和CRC序列划分为至少一个子序列,并采用Hash函数,生成对应的Hash序列,再将信息序列、CRC序列和Hash序列一起送入Polar编码器进行极化码编码,极化码编码后经过调制器调制,再通过信道发送给接收端。
所述调制器的调制方式可以为QPSK(Quadrature Phase Shfit Keyin,正交相移键控)调制方式,所述信道可以为AWGN(Additive White Gaussian Noise,高斯加性白噪声)信道,此外,在调制器调制前,还可以对经过Polar编码器编码后的序列,采用QUP(Quasi-Uniform Puncturing,准均匀删除)方法进行删余处理,所述QUP只是删余的一个方法,并不排除任何其他的删余方法对极化码码字进行删余处理。
由于本本发明实施例中将待编码的信息序列进行CRC处理,生成CRC序列,并通过Hash函数,生成该信息序列的Hash序列,相比于现有技术中只通过CRC编码可以有效降低虚警率。
实施例21:
为了进一步降低虚警率,在上述实施例19和20的基础上,本发明实施例中,如果所述子序列包括至少两个,所述根据所述至少一个子序列及预设的Hash函数,确定Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
针对至少两个子序列,根据前一个子序列对应的Hash函数输出值,来确定与其相邻的后一个子序列对应的Hash函数输出值,并将最后一个子序列对应的Hash函数输出值,确定为第一序列对应的Hash序列,从而进一步降低了虚警率。
为了进一步降低虚警率,在本发明实施例中该Hash函数的特点为子序列对应的v-bit状态的变化,会引起下一个子序列对应的v-bit状态无规则的不同,即雪崩效应,从而通过该Hash函数进行编码可以进一步降低虚警率。
图8为本发明实例提供的生成Hash序列的结构示意图,得到的子序列的数量为I个,I个子序列进行排序后分别为k1、k2…和kI,Hash函数h有两个输入一个输出,其中两个输入分别为子序列以及该子序列的上一个子序列对应的Hash函数输出值即32-bit状态Si-1,输出为该子序列对应的Hash函数输出值即32-bit状态Si,也就是前一个子序列做Hash函数处理后对应的32-bit状态Si作为与其相邻的下一个子序列的Hash函数的输入,即Si=h(Si-1,ki),1≤i≤I对于排序为第一位的子序列k1,该子序列的上一个子序列对应的Hash函数输出值即32-bit状态S0为预设值0。
具体地,对于子序列k1和初始32-bit状态S0,做Hash函数处理后得到的子序列k1对应的32-bit状态S1,对于子序列k2和子序列k1对应的32-bit状态S1,做Hash函数处理后得到的子序列k2对应的32-bit状态S2…对于子序列kI和子序列kI-1对应的32-bit状态S I-1,做Hash函数处理后得到的子序列kI对应的32-bit状态SI,则可以将SI的部分或者全部作为所述组合序列对应的Hash序列。再将信息序列、CRC序列和Hash序列SI经过并串变换后的比特位序列送入极化码编码器。在将SI的部分或者全部作为所述组合序列对应的Hash序列的方式任意,只要保证译码时采用相同的方式即可。
例如,本发明实施例采用的所述hash函数为改进后的“one-at-a-time”Hash函数,采用该hash函数,实现上述图8所示过程的伪代码形式如下:
unsigned int Hash_function(unsigned int a,int b)
{
unsigned int hash=b;
int i;
hash=3321836253^hash;
for(i=0;i<8;++i)
{
hash+=a;
hash+=(hash<<10);
hash^=(hash>>6);
a>>=8;
}
hash+=(hash<<3);
hash^=(hash>>11);
hash+=(hash<<15);
return hash;
},在该Hash函数中,Hash函数的输出值称为v-bit状态,其中v≤32,其中该Hash函数的两个输入a和b分别表示所述子序列的前一个子序列对应的v-bit状态,和所述子序列对应的子序列信息,该Hash函数的一个输出hash表示所述子序列对应的v-bit状态,如果所述子序列为第一位的子序列,则a的值为预设值0。
由于本发明实施例中将待编码的信息序列通过CRC和Hash的两次编码,相比于只通过CRC编码和只通过Hash编码,虚警率能够有效降低。
实施例22:
图9为本发明实施例提供的一种极化码译码过程示意图,该过程包括以下步骤:
S901:对接收到的极化码编码后的序列进行连续删除列表SCL译码。
本发明实施例提供的极化码编码方法应用于基站和UE。
通常情况下,极化码编码后的序列会做删余处理和调制,再进行发送,接收端在接收到码字后需要解调和补删余处理后,确定接收到的码字对应的极化码编码后的序列。
所述对接收到的极化码编码后的序列进行SCL译码的过程属于现有技术,在本发明实施例中对该过程不做赘述。
所述极化码编码后的序列经过SCL译码后,会根据设定保留多条候选路径,每条候选路径中包括对应的极化码编码后的序列。
S902:针对SCL译码保留的多条候选路径中的候选序列,根据与发送端对应的编码方法,确定候选序列中的信息序列和Hash序列;根据与发送端对应的子序列获取方法,在所述信息序列中获取至少一个子序列,根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的校验Hash序列,根据所述Hash序列与所述校验Hash序列选择译码路径。
对于不同的编码方法,信息序列和Hash序列确定的序列可能不同,为了使得译码的结果更加准确,在确定候选序列中的信息序列和Hash序列过程中,需要根据与发送端对应的编码方法来确定,即确定候选序列中的信息序列和Hash序列的过程,需要与极化码编码时,确定信息序列和Hash序列的过程相同。
接收端中在确定SCL译码保留的多条候选路径时,开始译码时,路径数是1,每译码出一个比特位,路径数加倍,当路径数大于设定的数量时,根据每个路径中译出的比特位的概率确定路径的概率,选择概率较高的设定数量的路径作为候选路径,进行下一比特位的译码,并在译码后,判断针对该下一比特位的译码结果对应的路径数量是否大于设定的数量,如果是,重复上述过程,直到最后一个比特位译码成功,并选择出最终的候选路径,一般的,SCL译码中保存有预先设定的数量,例如可以是4。
同理,为了使得译码的结果更加准确,在所述信息序列中获取至少一个子序列的过程中,需要根据与发送端对应的子序列获取方法来获取,即在所述信息序列中获取至少一个子序列的过程,需要与极化码编码时,在所述信息序列中获取至少一个子序列的过程相同。
具体的在生成Hash序列时,先将该至少一个子序列转化为十进制数值,将其作为Hash函数的输入,从而生成Hash函数输出值,然后将该Hash函数输出值转化为比特流,截取该比特流的部分或全部,从而作为该信息序列对应的Hash序列。
在截取该比特流的部分或全部时,可以按照一定的方法来截取,例如设置了Hash序列的长度,则在该比特流中截取该长度对应的Hash序列,可以从设定位置截取,该设定位置可以是第一位,或者非第一位,可以是从第一位开始往后截取,也可以是从末尾往前开始截取等等。只要保证编码时采用的Hash序列的截取方式,与译码时采用的截取方式相同即可。
较佳地,在本发明实施例中截取得到的Hash序列的长度不大于32比特位位。该Hash序列的长度例如可以为8比特位、或32比特位等等。
如果确定并选择译码路径后,可以将该译码路径中包括候选信息序列作为译码结果。
由于本发明实施例中提供的极化码译码方法中,针对SCL译码的每条候选路径中的候选信息序列,使用与极化码编码方法中相同的方法,确定其对应的Hash序列,并根据所述Hash序列与候选路径中的候选Hash序列,选择译码路径,并将译码路径中的候选信息序列作为译码结果,从而完成了对极化码编码后的序列的极化码译码。
实施例23:
为了有效的降低虚警率,在上述实施例的基础上,本发明实施例中,所述根据与发送端对应的编码方法,确定候选序列中的信息序列和Hash序列包括:
根据与发送端对应的编码方法,确定候选序列中的信息序列、CRC序列和Hash序列;
所述根据与发送端对应的子序列获取方法,在所述信息序列中获取至少一个子序列包括:
根据与发送端对应的组合方式及子序列获取方法,在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列。
对于不同的编码方法,信息序列、CRC序列和Hash序列确定的序列可能不同,为了使得译码的结果更加准确,在确定候选序列中的信息序列、CRC序列和Hash序列过程中,需要根据与发送端对应的编码方法来确定,即确定候选序列中的信息序列、CRC序列和Hash序列的过程,需要与极化码编码时,确定候选序列中的信息序列、CRC序列和Hash序列的过程相同。
同理,在所述信息序列和所述CRC序列的组合序列中获取至少一个子序列过程中,需要根据与发送端对应的组合方式及子序列获取方法来获取,即在所述信息序列和所述CRC序列的组合序列中获取至少一个子序列的过程,需要与极化码编码时,在所述信息序列和所述CRC序列的组合序列中获取至少一个子序列的过程相同。
所述CRC序列的长度为8比特位、或12比特位、或16比特位、或24比特位,CRC序列不参与译码。本发明实施例不受到CRC序列的长度和Hash序列的长度的限制,CRC序列的长度可以采用与现有的CRC辅助的极化码编译码中相同的CRC序列的长度,也可以是根据需要,采用更长或更短的CRC序列的长度。
所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列时,可以是将该组合序列的全部或部分作为子序列,可以是将该组合序列也可以是将该组合序列的全部或部分作为一个子序列,也可以将该组合序列的全部或部分作为至少两个子序列等。还可以是在所述组合序列中从设定的比特位开始获取,获取设定长度的子序列,也可以是将所述组合序列划分成设定数量的子序列,所述子序列的长度可以为任意长度,较优的是所述子序列的长度不大于待生成的Hash序列的最大长度32比特位,所述子序列的数量可以是1个、2个或5等。还可以按照每个子序列的长度,将该组合序列划分为多个子序列,其中每个子序列包含的内容可以重叠,也可以不重叠等。只要保证编码时采用的子序列的划分方式,与译码时采用的划分相同即可。
具体地,所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列可以是:
根据预设的子序列的数量,判断所述组合序列的长度是否为所述数量的整数倍;
如果是,将所述组合序列划分为互不重叠的所述数量个子序列;
如果否,在所述组合序列中补充相应的比特位,补充比特位后的组合序列的长度为所述数量的整数倍,将补充比特位后的组合序列划分为互不重叠的所述数量个子序列;或在所述组合序列中删除相应的比特位,删除比特位后的组合序列的长度为所述数量的整数倍,将删除比特位后的组合序列划分为互不重叠的所述数量个子序列。
通过将组合序列划分成互不重叠的预设的数量个子序列,然后将划分的数量个子序列通过Hash函数进行编码,确定每个子序列对应的Hash函数输出值,然后根据每个子序列对应的Hash函数输出值,确定组合序列对应的校验Hash序列,从而进一步降低了虚警率。
如果判断所述组合序列的长度不为所述数量的整数倍,则在组合序列中补充或删除相应的比特位,使得补充或删除相应比特位后的组合序列为所述数量的整数倍,所述补充或删除相应的比特位的内容和位置由预先设定的规则进行补充或删除,例如,对于补充相应的比特位,所述预先设定的规则为在组合序列的最后进行补充,且补充相应的比特位的内容为0。
图10为本发明实施例提供的CRC辅助的极化码编译码、PC辅助的极化码编译码和Hash辅助的极化码编译码的误帧率和虚警率的性能示意图,极化码的码长为96比特位,经过SCL译码后被保留的路径为8条,如图10所示,码率R为1/3,信息序列的长度为32比特位,采用QPSK方式调制,横轴EsN0(db)表示信噪比,纵轴FER表示虚警率和误帧率。
在进行仿真过程中,在统计虚警率时,需要总仿真次数和所有候选译码结果中通过Hash校验和CRC校验的次数,即虚警率=错误且通过Hash和CRC的校验数/总错误数。
具体地,CRC-aided Polar表示CRC辅助的极化码编译码,PC Polar表示PC辅助的极化码编译码,Hash Polar表示Hash辅助的极化码编译码,CRC-16表示CRC辅助的极化码编译码和PC辅助的极化码编译码对应的标准为CRC-16标准,CRC-16表示Hash辅助的极化码编译码对应的标准为CRC-12标准,FER表示误帧率,FA表示虚警率。由图10可得,通过CRC和Hash两次与校验的虚警率,虚警率的计算方法为虚警率=错误且通过Hash和CRC校验的校验数/总错误数,相比于只通过CRC校验和只通过Hash校验的虚警率有明显降低,且能够保持在10-4以下,具有较好的误帧率的性能。
图10所示的CRC序列的长度为12比特位,Hash序列的长度为8比特位,根据多次仿真,采用更短的CRC序列的长度和更短的Hash序列的长度后,误帧率将进一步降低。
由于本本发明实施例中将序列通过CRC和Hash的两次校验,相比于只通过CRC校验和只通过Hash校验,虚警率能够有效降低。
实施例24:
为了进一步降低虚警率,在上述各实施例的基础上,本发明实施例中,所述在所述候选信息序列和所述候选CRC序列的组合序列中获取至少一个子序列包括:
根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
还可以按照每个子序列的长度,将该组合序列划分为多个子序列,其中每个子序列包含的内容可以重叠,也可以不重叠等。只要保证编码时采用的子序列的划分方式,与译码时采用的划分相同即可。以是在所述组合中从设定的比特位开始获取,获取设定长度的子序列,也可以是将所述组合序列划分成设定数量的子序列,所述子序列的长度可以为任意长度,较优的是所述子序列的长度小于待生成的Hash序列的最大长度32比特位,所述子序列的数量可以是1个、2个或5等。还可以按照每个子序列的长度,将该组合序列划分为多个子序列,其中每个子序列包含的内容可以重叠,也可以不重叠等。只要保证编码时采用的子序列的划分方式,与译码时采用的划分相同即可。
具体的,所述在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列可以是:
根据预设的子序列的数量,判断所述组合序列的长度是否为所述数量的整数倍;
如果是,将所述组合序列划分为互不重叠的所述数量个子序列;
如果否,在所述组合序列中补充相应的比特位,补充比特位后的组合序列的长度为所述数量的整数倍,将补充比特位后的组合序列划分为互不重叠的所述数量个子序列;或在所述组合序列中删除相应的比特位,删除比特位后的组合序列的长度为所述数量的整数倍,将删除比特位后的组合序列划分为互不重叠的所述数量个子序列。
通过将组合序列划分成互不重叠的预设的数量个子序列,然后将划分的数量个子序列通过Hash函数进行编码,确定每个子序列对应的Hash函数输出值,然后根据每个子序列对应的Hash函数输出值,确定组合序列对应的校验Hash序列,从而进一步降低了虚警率。
如果判断所述组合序列的长度不为所述数量的整数倍,则在组合序列中补充或删除相应的比特位,使得补充或删除相应比特位后的组合序列为所述数量的整数倍,所述补充或删除相应的比特位的内容和位置由预先设定的规则进行补充或删除,例如,对于补充相应的比特位,所述预先设定的规则为在组合序列的最后进行补充,且补充相应的比特位的内容为0。
如果所述子序列包括至少两个,所述根据所述至少一个子序列及预设的Hash函数,确定校验Hash序列包括:
将所述至少两个子序列进行排序;
针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定校验Hash序列。
针对至少两个子序列,根据前一个子序列对应的Hash函数输出值,来确定与其相邻的后一个子序列对应的Hash函数输出值,并将最后一个子序列对应的Hash函数输出值,确定为组合序列对应的校验Hash序列,从而进一步降低了虚警率。
为了进一步降低虚警率,在本发明实施例中该Hash函数的特点为子序列对应的v-bit状态的变化,会引起下一个子序列对应的v-bit状态无规则的不同,即雪崩效应,从而通过该Hash函数进行编码可以进一步降低虚警率。
由于本本发明实施例中将序列通过CRC和Hash的两次校验,相比于只通过CRC校验和只通过Hash校验,虚警率能够有效降低。
实施例25:
在上述各实施例的基础上,本发明实施例中,所述根据所述Hash序列与所述校验Hash序列选择译码路径包括:
针对每条候选路径中的候选序列,判断该候选序列中的Hash序列与确定的校验Hash序列是否相同;如果相同,则确定所述候选路径为译码路径,所述译码路径对应的信息序列为译码结果。
从每条候选路径中的候选序列中,挑选出包含信息序列,或包含信息序列及CRC信息序列的部分序列,对其做Hash函数校验,即与极化码编码方法时相同的Hash函数,对其进行处理,将经过处理后的校验Hash函数与候选序列中的Hash序列,进行比较,判断是否相同,如果相同,则将该候选路径作为译码路径,并将该译码路径对应的信息序列作为译码结果输出。
如果每条候选路径对应的Hash序列与确定的校验Hash序列都不相同,所述方法还包括:
将所述多条候选路径中可靠度最高的候选路径确定为译码路径,所述译码路径对应的信息序列为译码结果。
如果针对保留的每条候选路径对应的Hash序列与确定的校验Hash序列都不相同,则选择可靠度最高的候选路径确定为译码路径,将所述译码路径对应的信息序列为译码结果。
在仿真过程中采用Hash函数对候选路径进行筛选,选择出译码路径,使得在实际的数据传输过程中采用该译码路径进行传输,进一步降低误帧率和虚警率。
下面以一个具体的例子对本发明实施例进行说明,图11为本发明实施例提供的一种极化码译码过程示意图。
极化码编码后的序列经过调制器调制后,再进行发送,接收端在接收到码字后需要先通过解调器对接收到的码字进行解调,确定接收到的码字对应的极化码编码后的序列,将所述序列送入Polar译码器进行译码,主要是SCL译码算法,再将译码后的候选路径对应的候选序列送入Hash译码器,Hash译码器从候选序列中挑选出信息序列,或信息序列及CRC信息序列对应部分的序列,采用与极化码编码方法时相同的Hash函数,对其进行处理,将经过处理后的校验Hash函数与候选序列中的Hash序列,进行比较,如果相同,则将对应的信息序列作为译码结果输出,如果每条候选路径的校验Hash函数与候选序列中的候选Hash序列都不相同,则选择可靠度最高的候选路径对应的信息序列作为译码结果输出。此外,在实际应用中,还可以将Polar译码器和Hash译码可以集合成一个Polar-Hash联合译码器进行译码,从而输出译码结果。
由于本发明实施例中采用Hash函数对候选路径进行筛选,进一步降低误帧率和虚警率。
图12为本发明实施例提供的一种极化码编码装置结构图,所述装置包括:
序列产生器121,用于根据待编码的信息序列的属性信息及预设的第一序列生成算法,生成第一序列;
序列产生器121,还用于根据待编码的信息序列的属性信息及预设的第二序列生成算法,生成第二序列;
Polar编码器122,用于对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码。
所述序列产生器121,具体用于根据所述待编码的信息序列的内容及CRC处理算法,生成序列;或,根据所述待编码的信息序列的内容及预设的Hash函数,生成序列;或,根据所述待编码的信息序列的长度及随机函数,生成序列。
所述序列产生器121,具体用于根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列;或,根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及所述CRC处理算法,生成序列。
所述序列产生器121,具体用于根据所述待编码的信息序列的内容及CRC处理算法,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,根据所述待编码的信息序列的内容及预设的Hash函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列;或,根据所述待编码的信息序列的长度及随机函数,生成初始序列;根据所述待编码的信息序列的内容、所述初始序列及预设的Hash函数,生成序列。
所述序列产生器121,具体用于在待编码的信息序列中获取至少一个子序列;根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的序列。
所述序列产生器121,具体用于如果所述子序列包括至少两个,将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
所述装置包括:
更新模块123,用于采用预设的算法对所述第一序列进行更新;和/或采用预设的算法对所述第二序列进行更新,其中所述预设算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
所述更新模块123,具体用于采用加扰序列对第一序列和/或第二序列进行更新。
图13为本发明实施例提供的一种极化码编码装置结构图,所述装置包括:
Hash状态产生器131,用于在待编码的信息序列中获取至少一个子序列;根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的Hash序列;
Polar编码器132,用于对所述信息序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
所述装置还包括:
CRC编码器133,用于对待编码的信息序列进行CRC处理,生成所述信息序列对应的CRC序列;
所述Hash状态产生器131,还用于在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列;
所述Polar编码器132,还用于对所述信息序列、所述CRC序列和所述Hash序列进行组合,并对组合后的序列进行极化码编码。
所述Hash状态产生器131,具体用于根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
所述Hash状态产生器131,具体用于将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
图14为本发明实施例提供的一种极化码译码装置结构图,所述装置包括:
Polar译码器141,用于对接收到的极化码编码后的序列进行连续删除列表SCL译码;
校验序列译码器142,用于针对SCL译码保留的多条候选路径中的候选序列,确定该候选序列中的信息序列,并确定该候选路径的第一校验序列和第二校验序列;根据每条候选路径中的第一校验序列和第二校验序列,确定译码结果,其中,第一校验序列和第二校验序列中的一个校验序列用于路径选择和检测错误,另一个校验序列用于检测错误。
所述校验序列译码器142,具体用于根据所述信息序列的内容及与发送端对应的CRC处理算法,生成校验序列;或,根据所述信息序列的内容及与发送端对应的Hash函数,生成校验序列;或,根据所述信息序列的长度及与发送端对应的随机函数,生成校验序列。
所述校验序列译码器142,具体用于根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列;或,根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的CRC处理算法,生成校验序列。
所述校验序列译码器142,具体用于根据所述信息序列的内容及与发送端对应的CRC处理算法,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,根据所述信息序列的内容及与发送端对应的Hash函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列;或,根据所述信息序列的长度及与发送端对应的随机函数,生成初始校验序列;根据所述信息序列的内容、所述初始校验序列及与发送端对应的Hash函数,生成校验序列。
所述校验序列译码器142,具体用于在所述信息序列中获取至少一个子序列;根据所述至少一个子序列及与发送端对应的Hash函数,确定所述信息序列对应的Hash序列,将所述Hash序列作为生成的校验序列。
所述校验序列译码器142,具体用于当所述子序列包括至少两个,将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;
根据排序为最后一位的子序列的Hash函数输出值,确定Hash序列。
所述装置还包括:
更新模块143,用于采用与发送端对应的算法对所述第一校验序列进行更新;和/或采用与发送端对应的算法对所述第二校验序列进行更新,其中所述与发送端对应的算法包括异或处理算法、交织算法和更新设定比特位的算法中的至少一种。
所述更新模块143,具体用于采用与发送端对应的加扰序列对第一校验序列和/或第二校验序列进行更新。
所述校验序列译码器142,具体用于根据每条候选路径的第一校验序列,选择目标路径;根据所述目标路径的第二校验序列,确定为译码结果。
所述校验序列译码器142,具体用于根据每条候选路径的第二校验序列,选择目标路径;根据所述目标路径的第一校验序列,确定为译码结果。
图15为本发明实施例提供的一种极化码译码装置结构图,所述装置包括:
Polar译码器151,用于对接收到的极化码编码后的序列进行连续删除列表SCL译码;
Hash译码器152,用于针对译码保留的多条候选路径中的候选序列,根据与发送端对应的编码方法,确定候选序列中的信息序列和Hash序列;根据与发送端对应的子序列获取方法,在所述信息序列中获取至少一个子序列,根据所述至少一个子序列及预设的Hash函数,确定所述信息序列对应的校验Hash序列,根据所述Hash序列与所述校验Hash序列选择译码路径。
所述Hash译码器152,还用于根据与发送端对应的编码方法,确定候选序列中的信息序列、CRC序列和Hash序列;
所述Hash译码器152,还用于根据与发送端对应的组合方式及子序列获取方法,在所述信息序列和所述CRC序列确定的组合序列中获取至少一个子序列。
所述Hash译码器152,具体用于根据预设的子序列的数量,将所述组合序列划分为所述数量个子序列,其中所述数量为不小于1的整数。
所述Hash译码器152,具体用于将所述至少两个子序列进行排序;针对排序在后的每个第二子序列,根据与该第二子序列相邻的且位于所述第二子序列之前的第一子序列的Hash函数输出值、所述第二子序列及所述Hash函数,确定所述第二子序列的Hash函数输出值,其中当所述第二子序列为排序为第一位的子序列时,所述第二子序列之前的第一子序列的Hash函数输出值为预设值;根据排序为最后一位的子序列的Hash函数输出值,确定校验Hash序列。
所述Hash译码器152,具体用于针对每条候选路径中的候选序列,判断该候选序列中的Hash序列与确定的校验Hash序列是否相同;如果相同,则确定所述候选路径为译码路径,所述译码路径对应的信息序列为译码结果。
所述Hash译码器152,还用于将所述多条候选路径中可靠度最高的候选路径确定为译码路径,所述译码路径对应的信息序列为译码结果。
本发明实施例公开了一种极化码编译码方法及装置,所述方法包括:根据待编码的信息序列的属性信息及预设的第一序列生成算法,生成第一序列;根据待编码的信息序列的属性信息及预设的第二序列生成算法,生成第二序列;对所述信息序列、所述第一序列和所述第二序列进行组合,并对组合后的序列进行极化码编码。由于在本发明实施例中,根据待编码的信息序列的属性信息及预设的第一序列生成算法和第二序列生成算法,生成第一序列和第二序列,从而实现了对信息序列的极化码编码。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一序列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。