本发明属于通信场景变化下polar码的实现领域,具体是一种基于软件无线电平台的polar码自适应编译码方法。
背景技术:
1、信道编码是抵抗信道噪声的有效手段,自1948年香农提出概念以来,信道编码发展迅速,不断有新的编码方式被提出,如汉明码、格雷码、循环码以及卷积码等等。erdal于2008年提出的polar码是一种相对年轻的信道编码方案,在3gpp r15版本中确定成为5gembb场景控制信道的编码形式,于5g通信中得到了稳定的应用。除了蜂窝外,polar码还应用于存储、无线局域网和物联网等各个领域,在各类通信协议中都发挥着巨大的作用。
2、相对于其他前向纠错编码,polar码在短码长编码下性能表现优异,没有误码平层限制,体现了其高可靠性的特点。此外,polar码的编解码复杂度较低,便于实时的业务收发,尤其适用于某些低功耗终端。在提出polar码的同时,针对二进制删除信道提出巴氏参数法,构建polar码和适用于polar码的串行抵消(sc)译码算法,后发展成较为成熟的scl译码算法,形成完整的编译码算法闭环,具备硬件实现的基础。
3、当前通信场景多样化,信道条件易受复杂环境的影响,通信系统中计算资源、存储资源并不均衡,对于吞吐量、误码率、硬件复杂度的需求也不尽相同,为确保通信质量的稳定,polar码在编解码传输中应实时评估信道条件和通信资源,适应性调整参数应对不同应用场景和协议。根据当前的信噪比选择具体的信道进行编码,调整基本码块参数和硬件资源调用,实现polar码扩展性编译码。
4、polar码生成矩阵与码长为一一对应关系,具有确定的递归编码结构。其译码方式比较丰富,其中scl译码算法是原始sc译码算法的改进,同样利用了信道极化的特性,且增加了保留的候选路径数量,避免了sc算法中绝对的错误传递现象,复杂度较低,是一种较为成熟的polar码译码方式。
5、但作为串行译码算法,随码长的增加,译码时延呈指数倍增长,不适用于数据传输实时性高的通信场景。scl译码算法中,每一比特估值与前序所有比特估值相关,存在固定时延,无法由硬件大量并行计算弥补。而针对当前比特的估值,存在大量的乘法和加法运算,应通过合理设计硬件架构提高计算的并行度,达到计算时延与复杂度的平衡。不同通信方式所使用的协议不同,误码率、时延等指标不同,同一通信场景中业务类型不同,数据传输指标也可能会发生实时变化。
6、此外,复杂的通信环境影响信道条件,当前时刻的信噪比可能产生大幅度变化。信道编码环节应对此作出自适应性调整,以确保满足传输指标和计算存储资源的要求。
技术实现思路
1、本发明的目的是提供一种基于软件无线电平台的polar码自适应编译码方法,能根据当前的条件输入对实现自适应编译码,该方法利用polar码的可扩展性,设计适用于polar码编译码的半并行硬件结构,由输入信噪比选择具体的信道进行编码,调整基本码块参数和硬件资源调用,解决编译码的高时延问题,使polar码更具有通用性。
2、所述基于软件无线电平台的polar码自适应编译码方法,具体步骤如下:
3、步骤一、针对单个码块,发送端从rom中取出kbit的原始信息,串行输入crc添加模块,根据当前通信场景选择添加的crc校验位数量,在其末尾添加若干位crc校验位,构造长度为k的信息比特,输出至编码矩阵生成模块。
4、步骤二、码长计算模块根据当前信道环境,自适应地确定码率r,结合原始信息长度k,确定编码的码长中间值n和对数n,并输出给编码矩阵生成模块、速率匹配模块、解速率匹配模块和译码标识输出模块;
5、步骤三、编码矩阵生成模块根据编码使用的信道总数,选择承载有用比特信息的信道具体数量。
6、编码矩阵生成模块中包含信道总数为n的可靠性排序,从第0位至第1023位,可靠性逐渐增加,自第1023位开始筛选,选出有效位则将序号存入ram中,在n个传输信道中选出k个最可靠信道依次放置信息比特,其他位置填入冻结比特0;
7、步骤四、经过编码矩阵生成模块后的信息比特输出给比特置换器,完成polar码的n位原始编码;
8、步骤五、polar码的n位原始编码经过速率匹配模块,根据码长、码率信息调整码块参数,形成e位最终编码。
9、速率匹配模块包括交织模块和比特选择模块;
10、首先,交织模块将原始编码顺序分组,32组数据次序打乱后再次顺序读出;
11、数据不满32位的码块无需交织,满32位的码块无需补0。
12、然后,比特选择模块在n个比特位中选择匹配的e位;根据n与e的差值,若n>e,在n位中去掉最前或最后的n-e位;若n≤e,在n位后重复添加e-n位,达到长度为e的最终码长。
13、步骤六、e位最终编码经过awgn到达接收端的解速率匹配模块,匹配形成长度为n的llr值;
14、解速率匹配模块包括交织模块、比特选择模块和数据补充模块;输入为e组最终编码经过awgn后得到的对数似然比(llr)值。
15、首先,对llr值进行交织,将数据位置交换交织两次后恢复数据顺序。
16、然后,比特选择模块依次遍历所有比特,判断当前比特是否保留,是否重复;直至得到e位匹配的llr值;
17、最后,将被速率匹配模块去掉的具体比特或删除的重复比特,利用数据补充模块进行补充;根据类别对e位匹配的llr值恢复n位llr值。
18、步骤七、对n位llr值进行l_num个并行码的译码,由crc校验筛选出k比特的估值。
19、具体过程如下:
20、步骤701、针对当前译码的比特,将n位llr值分组输入到32组译码的核心计算单元pe模块中,进行f运算,得到n/2个llr值;
21、当前译码初始值为n个原始编码的第一个编码;
22、pe模块的计算机制是由l1、l2处的llr值计算得出u1、u2处的llr值。其中,由l1、l2计算u1的过程称为f运算,简化为:
23、f=sign(l1)sign(l2)min{|l1|,|l2|}
24、步骤702、将n/2个llr值存储在下一层的interllr_ram中,再次分组输入pe模块进行f运算,重复直到输出llr值的个数为1。
25、步骤703、根据冻结位指示判断当前比特是否为冻结位,如果是,将当前比特判为0,否则,该比特位为信息位;
26、步骤704、继续判断输出的该llr是否>=0,如果是,将当前比特判为0,否则,判为1作为当前比特的估计值;
27、步骤705、当前比特为冻结位0时,输出的llr>=0,则说明该比特出现了错误,设定惩罚pm值,并将当前比特的pm累加;
28、步骤706、针对下一位译码比特,最外层进行g运算,后续重复所有运算均为f运算,直到输出llr值的个数为1为止,并返回步骤703;
29、g运算为:
30、g=(1-2u1)l1+l2
31、步骤707、当某次译码信息比特时,对比特的值0或1没有进行判断,则产生了并行分支,通过统计并行分支数l,并判断与l_num的关系满足l=2*l_num时,将当前所有pm值排序,按照从小到大的顺序输出l个序列号与对应pm值。
32、l为当前已用list的个数,在每一次译信息比特的时候更新为原来的2倍。
33、步骤708、判断是否遍历到最后一位译码,如果是,l个译码分支分别进行crc校验,选出通过crc校验的分支;若均未通过校验,则选取pm值最小的分支;否则,返回步骤706。
34、本发明的优点在于:
35、一种基于软件无线电平台的polar码自适应编译码方法,通过速率匹配和解速率匹配模块合理配置码块参数,满足不同场景下的通信需求,并利用丰富的硬件计算和存储资源,通过同时调用32个pe核提高每比特估值计算的并行度,分区存储llr中间值实现所有list下的分支译码并行,降低scl译码算法中的时延。
1.一种基于软件无线电平台的polar码自适应编译码方法,其特征在于,具体步骤如下:
2.如权利要求1所述的一种基于软件无线电平台的polar码自适应编译码方法,其特征在于,所述步骤三中,编码矩阵生成模块中包含信道总数为n的可靠性排序,从第0位至第1023位,可靠性逐渐增加,自第1023位开始筛选,选出有效位则将序号存入ram中,在n个传输信道中选出k个最可靠信道依次放置信息比特,其他位置填入冻结比特0。
3.如权利要求1所述的一种基于软件无线电平台的polar码自适应编译码方法,其特征在于,所述步骤五中,速率匹配模块包括交织模块和比特选择模块;
4.如权利要求1所述的一种基于软件无线电平台的polar码自适应编译码方法,其特征在于,所述步骤六中,解速率匹配模块包括交织模块、比特选择模块和数据补充模块;输入为e组最终编码经过awgn后得到的对数似然比llr值;
5.如权利要求1所述的一种基于软件无线电平台的polar码自适应编译码方法,其特征在于,所述步骤701中,pe模块的计算机制是由l1、l2处的llr值计算得出u1、u2处的llr值;其中,由l1、l2计算u1的过程称为f运算,简化为: