一种基于遗传算法的快速极化码构造方法、装置和设备

文档序号:1819601 发布日期:2021-11-09 浏览:6次 >En<

阅读说明:本技术 一种基于遗传算法的快速极化码构造方法、装置和设备 (Rapid polarization code construction method, device and equipment based on genetic algorithm ) 是由 张川 周华羿 杨敏华 黄永明 尤肖虎 于 2021-08-06 设计创作,主要内容包括:本发明公开了一种基于遗传算法的快速极化码构造方法、装置和设备,包括:获取信道信噪比,设置码长和码率,将极化码的信息位分布结果作为遗传算法的个体,根据极化码的码长和码率生成初始个体作为当代种群;根据信道信噪比仿真信道;将当代种群中所有个体分别进行极化码编码、信道传输和极化码译码的仿真,得到误码率;选择当代种群中若干个误码率低的个体,分别进行第一变异操作和交叉决策,若满足交叉操作条件则进行交叉操作,形成新的个体,生成下一代种群;迭代计算直到达到总迭代次数,选择误码率最低的个体作为最终的极化码的信息位分布结果;其中,所述交叉操作中后代先继承交叉个体双方相同的部分。本发明提高迭代的收敛速度节省时间。(The invention discloses a rapid polarization code construction method, a device and equipment based on a genetic algorithm, which comprises the following steps: acquiring a channel signal-to-noise ratio, setting a code length and a code rate, taking an information bit distribution result of a polarization code as an individual of a genetic algorithm, and generating an initial individual as a contemporary population according to the code length and the code rate of the polarization code; simulating a channel according to the signal-to-noise ratio of the channel; respectively simulating polarization code encoding, channel transmission and polarization code decoding on all individuals in the current generation population to obtain an error rate; selecting a plurality of individuals with low error rate in the current generation population, respectively performing first variation operation and cross decision, and performing cross operation if the cross operation conditions are met to form new individuals and generate a next generation population; iterative calculation is carried out until the total iteration times are reached, and an individual with the lowest error rate is selected as a final information bit distribution result of the polarization code; wherein, the descendants in the crossover operation inherit the same part of the crossover individuals. The invention improves the iterative convergence speed and saves time.)

一种基于遗传算法的快速极化码构造方法、装置和设备

技术领域

本发明属于信道编译码技术领域,特别是涉及一种基于遗传算法的快速极化码构造方法、装置和设备。

背景技术

极化码是一种信道的编码方式,极化码自从提出后就得到了广泛的关注,由于极化码在理论上可以达到信道容量的极限,并且其编码和串行抵消解码(SC)具有较低的实现复杂度,它已经被选入为5G中控制信道的信道编码标准。最原始的极化码译码器是串行抵消解码(SuccessiveCancellation ,SC),即SC译码器,但SC译码器是一种串行译码器,如果前面比特译码发生错误,会对后面比特的译码产生影响,造成误码传播现象。对于实际场景的有限码长情况,SC解码的纠错性能不佳。目前最有效的提升纠错性能的解码方式是列表式串行抵消解码(SCL),SCL译码器极大的提升了极化码的译码性能,使极化码拥有与其它纠错码一样的译码性能。

对于一组包含N个比特的极化码,N为码长,其中最可信的K个比特会被选择作为信息位传输信息,而剩余的比特将被设置为冻结位。极化码构造方法关键问题就是如何在N个比特中选择出K个最可信的比特,也即如何定义信道可信度,这K个位置作为信息位。极化码最原始的构造方法巴氏参数法和后来改进的Tal-Vardy构造法仅仅适用于最初的SC译码,而对于SCL译码,极化码原本的构造方法构造出的码字已经不再能得到最优的纠错性能。而现有的极化码构造方法存在时间复杂度太高的问题。

发明内容

发明目的:针对现有技术中存在的问题,本发明公开了一种基于遗传算法的快速极化码构造方法、装置和设备,解决了现有的极化码构造方法用时太长的问题。

技术方案:为实现上述发明目的,本发明采用如下技术方案:一种基于遗传算法的快速极化码构造方法,包括:

获取信道信噪比,设置极化码的码长和码率,将极化码的信息位分布结果作为遗传算法的个体,根据极化码的码长和码率生成初始个体作为当代种群;根据信道信噪比仿真信道;

将当代种群中所有个体分别进行极化码编码、信道传输和极化码译码的仿真,得到每个个体的误码率;选择当代种群中若干个误码率低的个体,分别进行第一变异操作和交叉决策,若满足交叉操作条件则进行交叉操作,形成新的个体,生成下一代种群;遗传迭代计算直到达到总迭代次数,选择误码率最低的个体作为最终的极化码的信息位分布结果;

其中,所述交叉操作中后代先继承交叉个体双方相同的部分。

进一步的,基于交叉决策进行交叉操作的方法包括:

从若干个误码率低的个体中选择用于交叉的两个个体,判断所述两个个体是否完全相同,若是,则进行第二变异操作,否则,将所述两个个体中位置相同且比特值相同的部分进行继承,在剩余位置随机设置0或1,直到满足码率。

进一步的,还包括在每次遗传迭代计算前进行个体判重直接获取误码率的步骤,包括:

从预先建立的用于存储个体和及其误码率的个体误码率表中查询当代种群中的个体是否存在,若存在,则将该个体标注,并获取该个体对应的误码率,将未标注过的个体用于遗传迭代计算。

进一步的,对未标注过的个体进行遗传迭代计算,将其误码率存储到所述个体误码率表中。

进一步的,所述个体误码率表为以个体为关键字、误码率为键值的哈希表。

一种基于遗传算法的快速极化码构造装置,包括:

获取和初始化模块,用于获取信道信噪比,设置极化码的码长和码率,将极化码的信息位分布结果作为遗传算法的个体,根据极化码的码长和码率生成初始个体作为当代种群;根据信道信噪比仿真信道;

遗传迭代模块,用于将当代种群中所有个体分别进行极化码编码、信道传输和极化码译码的仿真,得到每个个体的误码率;选择当代种群中若干个误码率低的个体,分别进行第一变异操作和交叉决策,若满足交叉操作条件则进行交叉操作,形成新的个体,生成下一代种群;遗传迭代计算直到达到总迭代次数,选择误码率最低的个体作为最终的极化码的信息位分布结果;

其中,所述交叉操作中后代先继承交叉个体双方相同的部分。

进一步的,基于交叉决策进行交叉操作的方法包括:

从若干个误码率低的个体中选择用于交叉的两个个体,判断所述两个个体是否完全相同,若是,则进行第二变异操作,否则,将所述两个个体中位置相同且比特值相同的部分进行继承,在剩余位置随机设置0或1,直到满足码率。

进一步的,还包括判重模块,用于在每次遗传迭代计算前进行个体判重直接获取误码率,包括:

从预先建立的用于存储个体和及其误码率的个体误码率表中查询当代种群中的个体是否存在,若存在,则将该个体标注,并获取该个体对应的误码率,将未标注过的个体用于遗传迭代计算。

进一步的,对未标注过的个体进行遗传迭代计算,将其误码率存储到所述个体误码率表中。

进一步的,所述个体误码率表为以个体为关键字、误码率为键值的哈希表。

一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的任意一项所述基于遗传算法的快速极化码构造方法。

一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行前述的任意一项所述基于遗传算法的快速极化码构造方法。

本发明与现有技术相比具有如下技术效果:本发明通过将极化码的信息位分布结果作为遗传算法的个体,基于遗传算法,采用改进的后代先继承双方相同部分的交叉操作,提高了遗传性,进而提高迭代的收敛速度,提高运行效率,节省运行时间。

附图说明

图1为本发明实施例中的基于遗传算法的快速极化码构造方法流程图;

图2为本发明实施例中的改进前后的交叉过程示意图;

图3为本发明实施例中的加入判重的构造方法示意图;

图4为本发明实施例中的基于遗传算法的快速极化码构造装置示意图;

图5为本发明实施例中的方法与其他方法的误码率对比图;

图6为本发明实施例中加入判重的方法与其他方法的运行时间对比图。

具体实施方式

为了便于理解本发明,下面将结合附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

在描述位置关系时,除非另有规定,否则当一元件例如层、膜或基板被指为在另一膜层“上”时,其能直接在其他膜层上或亦可存在中间膜层。进一步说,当层被指为在另一层“下”时,其可直接在下方,亦可存在一或多个中间层。亦可以理解的是,当层被指为在两层“之间”时,其可为两层之间的唯一层,或亦可存在一或多个中间层。

在使用本文中描述的“包括”、“具有”、和“包含”的情况下,除非使用了明确的限定用语,例如“仅”、“由……组成”等,否则还可以添加另一部件。除非相反地提及,否则单数形式的术语可以包括复数形式,并不能理解为其数量为一个。

将一组极化码的信息位分布结果表示为一个由0和1组成的字符串 A = [b1, b2,..., bN ],其中 bi ∈ {0, 1} 代表第 i 位比特是否被选择为信息位(1 为是,0 为否),1 ≤ i ≤ N,N为极化码码长,1对应的位置为信息位,0对应的位置为冻结位。例如,对于极化码 N = 8,K = 4,信息位为 4, 6, 7, 8 的极化码,其信息位分布结果即为 A =[00010111]。 遗传算法将每一个字符串视为一个个体,即将极化码的信息位分布结果作为一个个体,极化码的构造方法就是为了得到极化码的信息位的分布结果。将同期的S个个体的集合作为一代种群,S 是种群中个数的上限。

实施例1:

如图1所示,在本申请的一个实施例中,提供一种基于遗传算法的快速极化码构造方法,包括步骤:

步骤S01,获取信道信噪比,设置极化码的码长和码率,将极化码的信息位分布结果作为遗传算法的个体,根据极化码的码长和码率生成初始个体作为第一代种群;根据信道信噪比仿真信道;

步骤S02,将当代种群中所有个体分别进行极化码编码、信道传输和极化码译码的仿真,得到每个个体的误码率;选择当代种群中若干个误码率低的个体,分别进行第一变异操作和交叉决策,若满足交叉操作条件则进行交叉操作,形成新的个体,生成下一代种群;遗传迭代计算直到达到总迭代次数,选择误码率最低的个体作为最终的极化码的信息位分布结果;

其中,所述交叉操作中后代先继承交叉个体双方相同的部分。

本发明通过将极化码的信息位分布结果作为遗传算法的个体,基于遗传算法,采用交叉决策,基于后代先继承交叉个体双方相同部分的交叉操作,提高了遗传性,进而提高迭代的收敛速度,大大节省用时。

迭代结束后,从最后一代种群中选择误码率最低的个体作为最终的极化码的信息位分布结果。

优选的,步骤S01中的所述信道信噪比从真实信道中获取,也可以根据经验设置,根据信噪比和设置的极化码、码率,经过本发明的方法得到的极化码的信息位分布结果即可应用于对应的真实信道场景。

所述极化码的信息位分布结果为由信息位和冻结位组成的字符串,字符串中的0表示冻结位,1表示信息位,字符串的长度为极化码码长N,字符串中1的个数为K,即K为信息位的个数,码率为K/N。

将极化码的信息位分布结果作为遗传算法的个体,生成初始个体作为第一代种群,即:根据极化码的码长N和码率R生成S个初始个体作为第一代种群。

例如,设定N=8, R=0.5,S=5时,采用随机化的方式来生成第一代种群如下所示:A1=[00011110];A2=[00101101];A3=[01010011]; A4=[00001111]; A5=[01101100];其中,A1~A5为五个初始个体,即五种极化码的信息位分布结果。

极化码编码用于将当前种群的所有个体进行极化编码,然后通过信道仿真传输;

极化码译码用于将接收到的经过信道后个体的信息进行极化码的解码并得到误码率结果。本发明中的极化码编码和解码可以使用任何极化码的编码器或者解码器。本发明能显著提高SCL译码器纠错性能,例如,如果采用经典的极化码编码和SCL译码器,本发明将由一组初始个体通过遗传算法中的变异和交叉进行演化,保留误码率低的个体,淘汰误码率高的个体,在不断的迭代中收敛至一个局部误码率最低的个体,得到的信息位分布的结果,将显著提高SCL译码器的纠错性能。

选择当代种群中若干个误码率低的个体,具体为:选择当前种群个体中误码率最低的T个个体进入下一代种群;

变异操作用于根据T个个体变异出T个新个体,具体操作为:对于当前的信息位分布结果随机翻转一个比特0变为1,再随机翻转一个1变为0。

交叉操作为:两两交叉出C(T,2)个新个体生成下一代种群,其中C(T,2)为组合数;

如图2所示,遗传算法中现有的交叉过程为:将用于交叉的两个个体各取一半进行拼接,然后随机翻转比特,直到码率符合R。现有的交叉过程中存在的问题为:若两个输入的个体是完全相同的,再次交叉会得到相同的个体,这样就会浪费当代人口的一个个体位置,造成时间的浪费,且该方法随机性太大,例如图2中原来的两个个体的第一个、第三个比特都是0,但是随机翻转之后的交叉出的个体的这两个比特都为1,显然没有很好的遗传输入的信息,交叉过程的随机性太强,丢失了部分遗传信息,使得最终的收敛时间变慢。

优选的,基于交叉决策进行交叉操作的方法包括:

从若干个误码率低的个体中选择用于交叉的两个个体,判断所述两个个体是否完全相同,若是,则进行第二变异操作,否则,将所述两个个体中位置相同且比特值相同的部分进行继承,在剩余位置随机设置0或1,直到满足码率R。

本实施例中的第一变异操作和第二变异操作的方法相同,即前述的变异操作。

如图2所示,图中右侧的改进的交叉过程首先将交叉双方相同的比特继承下来,并在剩余的空位上随机放置0、1来适应码率,最终得到结果为:[00011011],该个体很好的继承了交叉双方的特点。

上述改进的交叉操作方法具有以下技术效果:

1. 假设T个个体中有M个相同的个体,原本的交叉过程生成的结果必然与上一代相同;改进的交叉过程采取判断,替换为变异过程,可以节省当前种族的C(M,2)个冗余位置;

2. 改进的交叉过程生成的个体在交叉双方相同部分的分布上保持一致,提高了遗传性,提高迭代的收敛速度,在剩余的位置随机填入1以适合码率,保留了一定的随机性,得到的后代结果兼顾遗传性和随机性。

实施例2:如图3所示,在实施例1的基础上增加判重的过程,进一步降低计算时间,即:在每次遗传迭代计算前进行个体判重直接获取误码率的步骤,包括:

从预先建立的用于存储个体和及其误码率的个体误码率表中查询当代种群中的个体是否存在,若存在,则将该个体标注,并获取该个体对应的误码率,未标注过的个体用于遗传迭代计算。

而未标注过的个体进行遗传迭代计算的步骤包括:

对于当代种群中未标注过的个体,均进行极化码编码、信道传输和极化码译码的仿真过程,得到未标注过个体的误码率,并将未标注过个体与其误码率存储到所述个体误码率表中;选择当代种群中若干个误码率低的个体,分别进行变异操作和交叉决策,若满足交叉操作条件则进行交叉操作,,形成新的个体,生成下一代种群。

本发明进一步通过个体误码率表判断新个体是否已存在,若存在则直接得到误码率结果,无需将已存在的个体再次进行极化码编码、信道传输和极化码译码的仿真,大大节省用时;

优选的,所述预先建立的个体误码率表为:以个体为关键字、误码率为键值的哈希表;当然,本发明中不限于哈希表这种数据结构,也可以以其他结构保存个体和其对应的误码率;

由于哈希表的关键字的查找和插入的平均时间复杂度为O(1),因此,在本实施例中采用哈希表进行判重可以极大的节省时间。

个体误码率表的建立时间可以在步骤S01初始化第一代种群之前,也可以在步骤S01初始化第一代种群之后,若在步骤S01初始化第一代种群之后建立,步骤S02的具体方法为:

若是第一代种群,则建立用于存储个体和及其误码率的个体误码率表,该表为空表;若是后代种群,判断当前种群中的每个个体是否存在于个体误码率表中,若存在,则将该个体标注,并提取该个体对应的误码率;第一代种群中的个体均为未标注过的个体;

对于种群中未标注过的个体,均进行极化码编码、信道传输和极化码译码的仿真,得到未标注过个体的误码率,并将未标注过个体与其误码率存储到所述个体误码率表中;选择当代种群中若干个误码率低的个体,分别进行变异操作和改进的后代先继承双方相同部分的交叉操作,形成新的个体,生成下一代种群;迭代计算直到当前迭代次数到达总迭代次数,选择误码率最低的个体作为极化码的信息位分布结果。

实施例3:

如图4所示,一种基于遗传算法的快速极化码构造装置,包括:

获取和初始化模块,用于获取信道信噪比,设置极化码的码长和码率,将极化码的信息位分布结果作为遗传算法的个体,根据极化码的码长和码率生成初始个体作为当代种群;根据信道信噪比仿真信道;

遗传迭代模块,用于将当代种群中所有个体分别进行极化码编码、信道传输和极化码译码的仿真,得到每个个体的误码率;选择当代种群中若干个误码率低的个体,分别进行第一变异操作和交叉决策,若满足交叉操作条件则进行交叉操作,形成新的个体,生成下一代种群;遗传迭代计算直到达到总迭代次数,选择误码率最低的个体作为最终的极化码的信息位分布结果;

其中,所述交叉操作中后代先继承交叉个体双方相同的部分。

优选的,基于交叉决策进行交叉操作的方法包括:

从若干个误码率低的个体中选择用于交叉的两个个体,判断所述两个个体是否完全相同,若是,则进行第二变异操作,否则,将所述两个个体中位置相同且比特值相同的部分进行继承,在剩余位置随机设置0或1,直到满足码率。

优选的,还包括判重模块,用于在每次遗传迭代计算前进行个体判重直接获取误码率,包括:

从预先建立的用于存储个体和及其误码率的个体误码率表中查询当代种群中的个体是否存在,若存在,则将该个体标注,并获取该个体对应的误码率,将未标注过的个体用于遗传迭代计算。

对未标注过的个体进行遗传迭代计算,将其误码率存储到所述个体误码率表中。

优选的,所述个体误码率表为以个体为关键字、误码率为键值的哈希表。

实施例4:

一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述的任意一项所述基于遗传算法的快速极化码构造方法。

一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行前述的任意一项所述基于遗传算法的快速极化码构造方法。

实验对比结果:

如图5所示,为本发明的构造方法与仅基于遗传算法的构造方法的误码率对比图,实验中,采用列表长度为16的SCL译码器,用SCL-16表示。从图中可以看出,在相同的误码率下本发明的构造方法迭代次数更少,说明本发明通过改进的交叉操作方法,明显提高了收敛速度,节省时间;而在相同的迭代次数下,本发明的构造方法误码率更低,可见本发明提高了SCL译码器的纠错性能。

如图6所示,为本发明加入判重的构造方法与仅基于遗传算法的构造方法的运行时间对比图,实验采用列表长度为8的SCL译码器,用SCL-8表示。可以发现加入判重的构造方法在迭代次数增加的情况下运行时间大幅减少。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种频率处理方法、装置、终端设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类