CN114268409B - 构造极化码的索引序列的方法及装置 - Google Patents

构造极化码的索引序列的方法及装置 Download PDF

Info

Publication number
CN114268409B
CN114268409B CN202010973768.2A CN202010973768A CN114268409B CN 114268409 B CN114268409 B CN 114268409B CN 202010973768 A CN202010973768 A CN 202010973768A CN 114268409 B CN114268409 B CN 114268409B
Authority
CN
China
Prior art keywords
index
indexes
nested
subset
sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010973768.2A
Other languages
English (en)
Other versions
CN114268409A (zh
Inventor
李洋
陈志堂
皇甫幼睿
李榕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010973768.2A priority Critical patent/CN114268409B/zh
Publication of CN114268409A publication Critical patent/CN114268409A/zh
Application granted granted Critical
Publication of CN114268409B publication Critical patent/CN114268409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Optical Communication System (AREA)

Abstract

本申请公开了通信领域中的一种构造Polar码的索引序列的方法及装置。该方法包括:获取索引集合;得到索引集合的多个嵌套子集;分别根据多个嵌套子集进行极化编码,得到多个嵌套极化码;获取多个嵌套极化码的性能评估结果;在多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于性能评估结果更新索引集合的多个嵌套子集,重复上述步骤,直至性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。本申请的方法能够提高子信道可靠度的准确性,进而提高了Polar码的性能。

Description

构造极化码的索引序列的方法及装置
技术领域
本申请涉及通信领域,并且更具体地,涉及一种构造极化码的索引序列的方法及装置。
背景技术
信道编码作为最基本的无线接入技术,在保证数据的可靠性传输方面起到至关重要的作用,现有的无线通信***中,一般采用Turbo码、低密度奇偶校验码和极化(Polar)码进行信道编码。其中,Polar码是目前5G增强移动宽带场景下控制信道的编码方案,也是当前唯一被证明可以达到香农容量的信道编码方法。然而,现有的编码方式完全基于信息论,信道编码过程是在假设理想的信道和译码环境中实现的。实际信道和译码器与理想的假设往往存在一定的差距,因此基于理想假设得到的信道编码在实际信道和译码器的环境下很难达到理想的性能。
因此,如何提高极化码的编码性能,成为一个亟需解决的技术问题。
发明内容
本申请提供一种构造极化码的索引序列的方法及装置,能够提高子信道可靠度的准确性,进而提高了Polar码的性能。
第一方面,提供了一种构造极化码的索引序列的方法,该方法包括:步骤一:获取索引集合,索引集合包括多个极化子信道的索引;步骤二:根据索引集合得到索引集合的多个嵌套子集;步骤三:分别根据索引集合的多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套极化码,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的;步骤四:获取索引集合对应的多个嵌套极化码的性能评估结果;在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。
根据本申请实施例的方案,通过给定信道和译码环境下的Polar码的性能评估指标不断更新嵌套子集,直至得到满足条件的Polar码,并基于更新后的嵌套子集得到目标极化码的索引序列,提高了子信道可靠度的准确性,进而提高了Polar码的性能。
而且,本申请实施例的方案不依赖于信道模型和译码算法的假设,无需建模实际信道和译码器下编码和性能之间的关系,在不同信道环境和译码环境下可以获得不同的性能评估结果,并基于该评估结果得到目标极化码的索引序列。因此,该方案能够适应不同的信道环境以及不同的译码器,有利于匹配实际信道和译码环境。
该多个嵌套子集中的各个子集中的元素数量不同。根据子集中元素数量从小到大的顺序排列该多个嵌套子集时,前一个子集中元素属于后一个子集。根据子集中元素数量从大到小的顺序排列该多个嵌套子集时,后一个子集中元素属于前一个子集。
示例性地,步骤二可以由神经网络模型实现。
多个嵌套极化码中的极化码与多个嵌套子集中的子集是一一对应的。该多个嵌套子集中的每个子集可以用于生成一个Polar码,该多个嵌套子集可以用于生成多个Polar码。该多个Polar码具有嵌套性,即该多个Poalr码为多个嵌套Polar码。
性能评价指标包括但不限于以下任一项:块误码率、延时或功耗等。
例如,性能评价指标为块误码率(block error ratio,BLER),索引集合对应的多个嵌套极化码的性能评估结果可以为该多个嵌套极化码的BLER之和或者该多个嵌套极化码的BLER的平均值。
目标极化码的索引序列用于指示极化子信道的可靠度排序。
示例性地,可以基于强化学习算法更新该神经网络模型的参数,也就是以最大化奖励(reward)的期望值为目标更新该神经网络模型的参数
结合第一方面,在第一方面的某些实现方式中,获取索引集合包括:根据第一极化码的索引序列中的索引的顺序将第一极化码的索引序列中的索引划分至Q个集合中,Q个集合中的每个集合包括至少一个索引,Q为大于1的整数;将Q个集合中的P个集合作为P个索引集合,其中,P个集合中的每个集合包括至少两个索引,P为大于1的整数,P≤Q;以及索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:第一索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第一索引集合的多个嵌套子集中的索引和基于第一极化码的索引序列中的索引的顺序位于第一索引集合之前的集合中的索引确定的,第一索引集合为P个索引集合中的一个;以及根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列,包括:根据更新后的P个索引集合的多个嵌套子集生成P个子序列;基于第一极化码的索引序列中的索引的顺序将其余Q-P个集合和P个子序列组合得到第二极化码的索引序列;根据第二极化码的索引序列得到目标极化码的索引序列。
根据本申请实施例的方案,在训练过程中,将第一极化码的索引序列中的元素划分至多个集合中,基于多个集合并行训练,能够降低决策空间,例如,当分割为2L个子集时,决策空间从O(N!)降低至
Figure BDA0002685012610000021
尤其是对于码长较长的Polar码,该方案能够显著减小决策空间,提高处理效率。
结合第一方面,在第一方面的某些实现方式中,获取索引集合还包括:根据第二极化码的索引序列中的索引的顺序将第二极化码的索引序列中的索引划分至L个集合中,L个集合中的每个集合中包括至少一个索引,L为大于1的整数,L个集合中至少存在一个集合与Q个集合任一集合中的索引不同;将L个集合中的M个集合作为M个索引集合,其中,M个集合中的每个集合包括至少两个索引,M为大于1的整数,M≤L;以及索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:第二索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第二索引集合的多个嵌套子集中的索引和基于第二极化码的索引序列中的索引的顺序位于第二索引集合之前的集合中的索引确定的,第二索引集合为M个索引集合中的一个;以及根据第二极化码的索引序列得到目标极化码的索引序列,包括:根据更新后的M个索引集合的多个嵌套子集生成M个子序列;基于第二极化码的索引序列中的索引的顺序将其余L-M个集合和M个子序列组合得到第三极化码的索引序列,在M个索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,根据第三极化码的索引序列更新第一极化码的索引序列,交替将第一极化码的索引序列划分为Q个集合以及将第二极化码的索引序列划分为L个集合以获取索引集合,直至P个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第二极化码的索引序列作为目标极化码的索引序列;或者直至M个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第三极化码的索引序列作为目标极化码的索引序列。
根据本申请实施例的方案,由于Q个子集和M个子集不完全相同,也就是通过交叉分割使得分割位置相互交叠,例如,将索引序列先后分割为奇数个集合和偶数个集合,基于不同集合并行训练,这样能够进一步调整索引序列中的元素排序,以得到更准确的索引序列,进而提高Polar码的性能。
结合第一方面,在第一方面的某些实现方式中,根据索引集合得到索引集合的多个嵌套子集,包括:步骤2-1:分别对多个极化子信道的索引进行特征提取,得到多个极化子信道的索引的特征向量;步骤2-2:根据多个极化子信道的索引的特征向量确定多个极化子信道的索引的输出概率;步骤2-3:根据多个极化子信道的索引的输出概率将多个极化子信道的索引中的一个索引添加至第一子集;步骤2-4:对第一子集进行特征提取,得到第一子集的特征向量;步骤2-5:根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率;步骤2-6:根据不属于第一子集的索引的输出概率将不属于第一子集的索引中的一个索引添加至第一子集中;步骤2-7:更新步骤2-4中的第一子集,重复步骤2-4至步骤2-7,将得到的多个第一子集作为多个嵌套子集。
在本申请实施例中,索引集合中的索引的顺序不影响输出结果,对第一子集进行处理,以避免本次输出的子集中的元素顺序影响下一次输出的子集中的元素,保证第i次输出的子集只与第i-1次输出的子集中的元素有关,第i-1次输出的子集中的元素的顺序不影响第i次输出的子集中的元素。因此,本申请实施例的方案能够充分表达编码构造的输入输出关系,提高训练效果,即提高极化子信道的可靠度排序的准确性,并提高训练效率,降低时间成本。
结合第一方面,在第一方面的某些实现方式中,分别对多个极化子信道的索引进行特征提取,得到多个极化子信道的索引的特征向量,包括:分别对多个极化子信道的索引进行独热编码;对独热编码的结果进行特征提取,得到多个极化子信道的索引的特征向量。
one-hot编码可以将输入元素转换为机器学习算法易于利用的形式。而且,通过one-hot编码能够去除索引集合中的元素的顺序关系。这样可以进一步保证索引集合中的元素顺序不影响set-pointer网络的输出结果。
结合第一方面,在第一方面的某些实现方式中,对第一子集进行特征提取,得到第一子集的特征向量,包括:对第一子集中的索引的特征向量进行求和处理或均值处理;对处理后的结果进行特征提取,得到第一子集的特征向量。
根据本申请实施例的方案,对第一子集中的索引的特征向量进行求和处理或均值处理,使第一子集的特征向量不受第一子集中的元素顺序的影响。
结合第一方面,在第一方面的某些实现方式中,对处理后的结果进行特征提取,得到第一子集的特征向量,包括:利用线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
结合第一方面,在第一方面的某些实现方式中,根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率,包括:利用加性注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
结合第一方面,在第一方面的某些实现方式中,对处理后的结果进行特征提取,得到第一子集的特征向量,包括:利用非线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
结合第一方面,在第一方面的某些实现方式中,根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率,包括:利用乘法注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
结合第一方面,在第一方面的某些实现方式中,在目标极化码的索引序列中的索引数量为64时,目标极化码的索引序列为:(62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0)。
结合第一方面,在第一方面的某些实现方式中,在目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
结合第一方面,在第一方面的某些实现方式中,在目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
第二方面,提供了一种Polar码编码方法,该方法包括:确定目标极化码的索引序列;基于该目标极化码的索引序列对待编码比特进行Polar码编码,得到编码后的比特序列;其中,目标极化码的索引序列是通过获取索引集合,索引集合包括多个极化子信道的索引,根据索引集合得到索引集合的多个嵌套子集,分别根据索引集合的多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套极化码,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的;获取索引集合对应的多个嵌套极化码的性能评估结果;在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到的。
本申请中,由于目标极化码的索引序列是采用上述第一方面的方法得到的,比较符合或者贴近极化码编码的应用需求,利用这样的目标极化码的索引序列进行Polar码编码,能够取得提高Polar码的性能(例如,降低误码率等)。
根据本申请实施例的方案,通过给定信道和译码环境下的Polar码的性能评估指标不断更新嵌套子集,直至得到满足条件的Polar码,并基于更新后的嵌套子集得到目标极化码的索引序列,提高了子信道可靠度的准确性,进而提高了Polar码的性能。
而且,本申请实施例的方案不依赖于信道模型和译码算法的假设,无需建模实际信道和译码器下编码和性能之间的关系,在不同信道环境和译码环境下可以获得不同的性能评估结果,并基于该评估结果得到目标极化码的索引序列。因此,该方案能够适应不同的信道环境以及不同的译码器,有利于匹配实际信道和译码环境。
第三方面,提供了一种Polar码编码方法,该方法包括:确定目标极化码的索引序列;基于该目标极化码的索引序列对待编码比特进行Polar码编码,得到编码后的比特序列。
结合第三方面,在第三方面的某些实现方式中,目标极化码的索引序列中的索引数量为64时,目标极化码的索引序列为:(62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0)。其中,该索引序列中索引按照极化子信道的可靠度按照从高到低的顺序排列。
结合第三方面,在第三方面的某些实现方式中,目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。其中,该索引序列中索引按照极化子信道的可靠度按照从高到低的顺序排列。
结合第三方面,在第三方面的某些实现方式中,目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。其中,该索引序列中索引按照极化子信道的可靠度按照从高到低的顺序排列。
第四方面,提供了一种构造极化码的索引序列的装置,所述装置包括用于执行上述第一方面以及第一方面中的任意一种实现方式中的方法的模块或单元。
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面、第三方面和第四方面中相同的内容。
第五方面,提供了一种构造极化码的索引序列的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面以及第一方面中的任意一种实现方式中的方法。
上述第五方面中的处理器既可以是中央处理器(central processing unit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(***)为机器学习全定制的人工智能加速器专用集成电路。
第六方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的任意一种实现方式中的方法。
第七方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的任意一种实现方式中的方法。
第八方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
附图说明
图1是本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种***架构的结构示意图;
图3为本申请实施例提供的一种芯片的硬件结构示意图;
图4为本申请实施例提供的一种***架构的示意图;
图5为本申请实施例提供的一种极化子信道的示意图;
图6为本申请实施例提供的一种构造Polar码的索引序列的装置的示意性框图;
图7为本申请实施例提供的一种构造Polar码的索引序列的方法的示意性流程图;
图8为本申请实施例提供的一种构造Polar码的索引序列的方法的示意性框图;
图9为本申请实施例提供的一种set-pointer网络的示意性框图;
图10为本申请实施例提供的另一种set-pointer网络的示意性框图;
图11为本申请实施例提供的又一种set-pointer网络的示意性框图;
图12为本申请实施例提供的一种训练方法的示意性流程图;
图13为本申请实施例提供的Polar码性能的对比示意图;
图14为本申请实施例提供的Polar码性能的对比示意图;
图15为本申请实施例提供的构造Polar码的索引序列的装置的示意性框图;
图16为本申请实施例提供的Polar码编码装置的示意性框图;
图17为本申请实施例提供的构造Polar码的索引序列的装置的示意性框图;
图18为本申请实施例提供的Polar码编码装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能***总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“信息技术(information technology,IT)价值链”(垂直轴)两个维度对上述人工智能主题框架进行详细的阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到***的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能***提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。
基础设施可以通过传感器与外部沟通,基础设施的计算能力可以由智能芯片提供。
这里的智能芯片可以是中央处理器(central processing unit,CPU)、神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processingunit,GPU)、专门应用的集成电路(application specific integrated circuit,ASIC)以及现场可编程门阵列(field programmable gate array,FPGA)等硬件加速芯片。
基础设施的基础平台可以包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。
例如,对于基础设施来说,可以通过传感器和外部沟通获取数据,然后将这些数据提供给基础平台提供的分布式计算***中的智能芯片进行计算。
(2)数据:
基础设施的上一层的数据用于表示人工智能领域的数据来源。该数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有***的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理:
上述数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等处理方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能***中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力:
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用***,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用:
智能产品及行业应用指人工智能***在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
本申请实施例的技术方案可以应用于各种通信***,例如:全球移动通信(globalsystem for mobile communications,GSM)***、码分多址(code division multipleaccess,CDMA)***、宽带码分多址(wideband code division multiple access,WCDMA)***、通用分组无线业务(general packet radio service,GPRS)、长期演进(long termevolution,LTE)***、LTE频分双工(frequency division duplex,FDD)***、LTE时分双工(time division duplex,TDD)、通用移动通信***(universal mobiletelecommunication system,UMTS)、全球互联微波接入(worldwide interoperabilityfor microwave access,WiMAX)通信***、第五代(5th generation,5G)***、未来的第六代(6th generation,6G)***或新无线(new radio,NR),车到其它设备(vehicle-to-XV2X),其中V2X可以包括车到互联网(vehicle to network,V2N)、车到车(vehicle to-vehicle,V2V)、车到基础设施(vehicle to infrastructure,V2I)、车到行人(vehicle topedestrian,V2P)等、车间通信长期演进技术(long term evolution-vehicle,LTE-V)、车联网、机器类通信(machine type communication,MTC)、物联网(internet of things,IoT)、机器间通信长期演进技术(long term evolution-machine,LTE-M),机器到机器(machine to machine,M2M)等,以及下一代5G移动通信***的三大应用场景增强移动宽带(enhanced Mobile Broadband,eMBB)、超可靠低延时通信(ultra reliable low latencycommunications,URLLC)和大规模物联网通信(massive machine type communications,eMTC)。此外,还可以应用于WiFi、光纤、微波等各类通信***中。
本申请实施例应用的通信***包括发送端和接收端。发送端也可以称为编码端,接收端也可以称为译码端。其中,发送端可以为网络设备,接收端为终端设备。或者发送端为终端设备,接收端为网络设备。当发送端发送数据或信息时,均可以采用由本申请实施例提供的Polar码序列构造方法得到的Polar码序列。
示例性地,本申请实施例的通信***可以包括网络设备和多个终端设备。网络设备可包括1个天线或多个天线。另外,网络设备可附加地包括发射机链和接收机链,本领域普通技术人员可以理解,它们均可包括与信号发送和接收相关的多个部件(例如处理器、调制器、复用器、解调器、解复用器或天线等)。
网络设备可以与多个终端设备通信。本申请实施例中的终端设备也可以称为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
终端设备可以是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备和/或用于在无线通信***上通信的任意其它适合设备,本申请实施例对此并不限定。
本申请实施例中的网络设备可以是用于与终端设备通信的设备,该网络设备可以是全球移动通信(global system for mobile communications,GSM)***或码分多址(code division multiple access,CDMA)中的基站(base transceiver station,BTS),也可以是宽带码分多址(wideband code division multiple access,WCDMA)***中的基站B(nodeB,NB),还可以是LTE***中的演进型基站B(evolved nodeB,eNB或eNodeB),还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器,还可以是无线网络控制器(radio network controller,RNC)、基站控制器(base stationcontroller,BSC)、家庭基站(例如,home evolved nodeB,或home nodeB,HNB)、基带单元(baseband unit,BBU),或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来5G网络中的网络设备或者未来演进的PLMN网络中的网络设备等,可以是WLAN中的接入点(access point,AP)、无线中继节点、无线回传节点、传输点(transmission point,TP)或者发送接收点(transmission and reception point,TRP)等,可以是新型无线***(newradio,NR)***中的gNB或传输点(TRP或TP),或者,5G***中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gNB或传输点的网络节点,如基带单元(BBU),或,分布式单元(distributed unit,DU)等,本申请实施例并不限定。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0002685012610000101
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure BDA0002685012610000102
其中,
Figure BDA0002685012610000103
是输入向量,
Figure BDA0002685012610000104
是输出向量,
Figure BDA0002685012610000105
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure BDA0002685012610000106
经过如此简单的操作得到输出向量
Figure BDA0002685012610000107
由于DNN层数多,系数W和偏移向量
Figure BDA0002685012610000108
的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure BDA0002685012610000109
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure BDA00026850126100001010
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(4)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
如图2所示,本申请实施例提供了一种***架构100。在图2中,数据采集设备160用于采集训练数据。针对本申请实施例的构造Polar码序列的方法来说,训练数据可以包括子信道的索引集合。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的子信道的索引集合进行处理,基于输出的嵌套子集得到一组嵌套Polar码,获取该组嵌套Polar码的编码性能,基于该组Polar码的编码性能训练目标模型/规则101,直到训练设备120输出的嵌套子集使得嵌套Polar码的编码性能满足预设条件,从而完成目标模型/规则101的训练。
上述目标模型/规则101能够用于实现本申请实施例的构造Polar码序列的方法。本申请实施例中的目标模型/规则101具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的***或设备中,如应用于图2所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端,还可以为网络设备等。在图2中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:用户输入的子信道的索引集合。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储***150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储***150中。
最后,I/O接口112将处理结果,如上述得到的Polar序列返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图2中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图2仅是本申请实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图2中,数据存储***150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储***150置于执行设备110中。
如图2所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是本申请中的神经网络,具体的,本申请实施例构建的神经网络可以为set-pointer网络。
图3为本申请实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图2所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图2所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。
神经网络处理器NPU 50作为协处理器挂载到主中央处理器(central processingunit,CPU)(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令。
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,本申请实施例中的set-pointer网络的运算可以由运算电路503或向量计算单元507执行。
如图4所示,本申请实施例提供了一种***架构300。该***架构包括本地设备301、本地设备302以及执行设备310和数据存储***350,其中,本地设备301和本地设备302通过通信网络与执行设备310连接。
执行设备310可以由一个或多个服务器实现。可选的,执行设备310可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备310可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备310可以使用数据存储***350中的数据,或者调用数据存储***350中的程序代码来实现本申请实施例的构造Polar码的方法。
具体地,在一种实现方式中,执行设备110可以执行以下过程:
步骤一:获取索引集合,索引集合包括多个极化子信道的索引;
步骤二:根据索引集合得到索引集合的多个嵌套子集;
步骤三:分别根据索引集合的多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套极化码,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的;
步骤四:获取索引集合对应的多个嵌套极化码的性能评估结果;
在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。
通过上述过程执行设备110能够得到目标极化码的索引序列。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备310进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备310进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
上述执行设备310也可以为云端设备,此时,执行设备310可以部署在云端;或者,上述执行设备310也可以为终端设备,此时,执行设备310可以部署在用户终端侧,本申请实施例对此并不限定。
为了方便对本申请实施例的理解,下面对Polar码作简单介绍。
Polar码编码的基本思想是将信道进行联合和***,从而得到N个子信道,随着信道数目N的增加,子信道特性呈现两极分化的现象。当N趋近于无穷大时,这样的编码方案的编码速率可以达到信道容量,其中一部分子信道的容量趋近于1,即一部分子信道趋近于容量为1的完美的无噪声子信道,另一部分子信道的容量趋近于0,即另一部分子信道趋近于容量为0的完全噪声子信道。例如,N个子信道中的K个子信道的容量趋于1,N-K个子信道的容量趋近于0,则该K个容量趋于1的子信道可以用于传输信息比特,N-K个容量趋近于0的子信道可以用于传输发射端和接收端预先约定的固定值,称为冻结比特或固定比特,从而实现由K个信息比特到N个编码比特的对应关系,即实现码率为K/N的Poalr的编码过程。如图5所示,N为8,K为5,N-K为3。即在图5的8个子信道中,5个子信道的容量趋近于1,3个子信道的容量趋近于0。
Polar码的编码策略为利用无噪信道传输用户有用的信息,全噪信道传输约定的信息或者不传信息。Polar码是一种线性块码,发送端将信息比特序列uN编码为码字xN,经由信道传输至接收端。编码方式为xN=uNGN,其中,xN=(x1,x2,…,xN)是编码比特序列,uN=(u1,u2,…,uN)为信息比特序列,是一个二进制的输入矢量,长度为N,即码长为N;GN为编码矩阵,GN是一个N×N的矩阵。
uN中的一部分比特用来携带信息,称为信息比特集合。一般地,包括但不限于循环冗余校验(cyclic redundancy check,CRC)比特和奇偶校验(parity check,PC)比特在内的各类校验比特也都包括在信息比特集合中。信息比特集合中的元素数量为K,这些信息比特的索引的集合记作A。uN中的另一部分比特用来携带接收端和发送端预先约定的固定值,即冻结比特或固定比特,称为固定比特集合或冻结比特集合,集合中的元素数量为N-K,固定比特的索引的集合用A的补集Ac表示。固定比特通常设置为0,但只要接收端和发送端预先约定,固定比特可以被任意设置。
根据信息比特长度、编码码字长度确定信息比特的索引的集合的过程称为Polar码的构造过程。Polar码的构造过程即集合A的选取过程也就是可靠子信道的选择过程。Polar码的构造过程通常是,根据母码码长N确定共存在N个子信道,分别对应编码矩阵的N个行,计算子信道可靠度,将可靠度较高的前K个子信道的索引作为集合A的元素,也就是说,选择可靠度较高的K个子信道来放置信息比特。剩余N-K个子信道对应的索引作为固定比特的索引的集合Ac的元素,也就是说,剩余N-K个子信道用于放置固定比特。因此,可靠子信道的选择的准确性决定了Polar码的编码性能。
在一种实现方式中,可以根据嵌套规则设计一个长度为Nmax的可靠性序列QNmax,对于任意编码长度为N的码块,从QNmax中选择取值小于N的元素即可获得对应的可靠性序列QN,N≤Nmax。可靠性序列用于指示子信道的可靠度。例如,将子信道索引按照子信道的可靠度按照从高到低或者从低到高的顺序得到的序列,可以称为可靠性序列。
常见的可靠度计算方法包括巴式参数法、密度进化法和高斯近似(gaussianapproximation,GA)法。这三种方法均是基于信息论的方法。具体来说,上述计算方法均依赖于假设的各种理想信道模型和理想译码算法。例如,巴氏参数法只有在对理想的二元删除信道的可靠度进行计算的情况下具有较好的准确度,但是对大多数研究场景下的二进制加性高斯白噪声信道的可靠度计算存在较大的误差。密度进化法和高斯近似法只能在理想译码算法的假设下,近似计算二进制加性高斯白噪声信道的可靠度,但是针对各种实际场景中的信道环境和低复杂度的译码器,仍无法得到较准确的信道可靠度。由于无法得到准确的子信道的可靠度,现有的Polar编码方案所得到的编码性能仍有较大的提升空间,例如,现有的Polar编码方案得到的Polar码在给定译码信噪比时误码率仍然较大,在给定误码率时所需的译码信噪比较高。
因此,如何提高Polar码编码性能,成为一个亟待解决的问题。
本申请实施例提出一种构造Polar码序列的方法,能够得到提高子信道的可靠性排序的准确性,提高Polar码的编码性能,能够适应不同的信道和译码环境。
为了更好地说明本申请实施例中的构造Polar码序列的方法,下面对本申请实施例的Polar码编码方法进行说明。本申请实施例提供的Polar码编码方法包括步骤S1和步骤S2。
S1、确定可靠性序列QN
可靠性序列QN为N个子信道的索引的排序序列,用于表征N个子信道的可靠度排序,N为Polar码的母码长度,N为2的正整数次幂。具体地,N个子信道的索引在可靠性序列QN中是按照N个子信道的可靠度从高到低或者从低到高的排列的。
母码长度可以根据信息比特的长度K确定,在进行极化编码时,不同的信息比特长度K,所需的母码长度可能不同。信息比特的长度即为前述信息比特集合中的元素数量。
例如,若K=7,则母码长度N=8;若K=9,则所需母码长度N=16。
应理解,母码长度的确定方法可以根据现有技术中的方法确定,本申请实施例对此不做限定。
示例性地,可靠性序列QN可以是离线生成的。也就是说步骤S1可以为,基于给定传输参数(例如,码长和码率)读取可靠性序列QN
可替换地,可靠性序列QN可以是在线生成的。也就是说步骤S1可以为,基于给定传输参数(例如,码长和码率)生成可靠性序列QN
本申请实施例中的构造Polar码序列的方法可以用于生成可靠性序列QN。详细描述可以参见后文中的方法800,方法800中生成的Polar码序列可以为可靠性序列QN
在一种实现方式中,该可靠性序列QN可以由可靠性序列QNmax确定。可靠性序列QNmax为最大码长Nmax的Polar码对应的可靠性序列。Nmax为2的正整数次幂,该序列可以以嵌套的方式覆盖任意码率和码长小于Nmax的任意组合。
Polar码的母码长度为N时,从QNmax中选择取值小于N的元素即可获得对应的可靠性序列QN,N≤Nmax。例如,从QNmax中选择可靠性最高的N个元素排列得到可靠性序列QN
示例性地,可靠性序列QNmax可以是离线生成的。也就是说步骤S1可以包括,读取可靠性序列QNmax,基于给定传输参数(例如,码长和码率)获得对应的可靠性序列QN
本申请实施例中的构造Polar码序列的方法可以用于生成可靠性序列QNmax。详细描述可以参见后文中的方法800,方法800中生成的Polar码序列可以为可靠性序列QNmax
S2、基于该可靠性序列对待编码比特进行Polar码编码,得到编码后的比特序列。
具体地,获取待编码比特,根据可靠性序列确定信息比特的索引的集合,根据信息比特的索引的集合对待编码比特进行Polar码编码,得到编码后的比特序列。
根据可靠性序列确定信息比特的索引的集合,指的是从可靠性序列包括的N个子信道的索引中,选择可靠度最大的前K个子信道的索引,作为极化编码时放置信息比特的位置。
其中,K个待编码比特被映射到N个极化信道中的K个极化信道上。该K个子信道的可靠度高于剩余N-K个子信道的可靠度。该K个待编码比特为K个信息比特。
若在该可靠性序列中,子信道的索引是按照子信道的可靠度从高到低的顺序排列的,该K个子信道的可靠度高于剩余N-K个子信道的可靠度,指的是,在可靠性序列中该K个子信道的索引为与其余N-K个子信道之后。
若在该可靠性序列中,子信道的索引是按照子信道的可靠度从低到高的顺序排列的,该K个子信道的可靠度高于剩余N-K个子信道的可靠度,指的是,在可靠性序列中该K个子信道的索引位于其余N-K个子信道之后。
图6示出了本申请实施例提供的一种Polar码序列构造装置600的示意性框图,为了更好地了解本申请实施例中的构造Polar码序列的方法,下面对图6中的各个模块的功能进行简单的描述。
Polar码序列构造装置600包括编码构造模块610和编码评估模块620。
编码构造模块610用于生成编码结果,例如,生成Polar码,并将编码结果输入编码评估模块620。
本申请实施例中的Polar码序列是基于强化学习的方式得到的。编码构造模块610生成的Polar码可以理解为强化学习中的动作(action)。
编码评估模块620用于将对生成的Polar码进行评估,并将该评估结果返回值编码构造模块610。
评估结果可以理解为强化学习中的奖励(reward)。也就是说对上述polar码的评估结果可以理解为该action对应的reward。
具体地,可以采用Polar码的性能指标,例如,误码率、延时或功耗等,作为Polar码的评估结果。
示例性地,该性能指标可以是在实际信道和译码器下对Polar码进行评估得到的结果。
可替换地,该性能指标可以是在仿真环境中的信道和译码器下对Polar码进行评估得到的结果。
编码构造模块610基于评估结果更新编码构造模块610的参数。
具体地,编码构造模块610以最大化reward的期望值为目标更新编码构造模块610的参数。例如,以最小化Polar码的误码率为目标更新编码构造模块610的参数。
编码构造模块610基于更新后的参数更新Polar码,并输入编码评估模块620。重复上述过程,直至满足终止条件。
示例性地,终止条件包括但不限于以下任一项:重复次数达到预设次数、评估结果满足预设条件等。
例如,评估结果满足预设条件可以为:误码率小于或等于预设误码率。
下面结合图7对本申请实施例的一种构造Polar码序列的方法700进行详细的介绍。图7所示的方法可以由Polar码序列构造装置来执行,该Polar码序列构造装置可以是终端设备,也可以是网络设备。例如,Polar码序列构造装置可以为图6中的装置600或者图2中的训练设备120或图3中的神经网络处理器50或图4中的执行设备310等。
方法700包括步骤S710至步骤S740。下面对步骤S710至步骤S740进行详细说明。
S710,获取索引集合,该索引集合包括多个极化子信道的索引。
示例性地,该索引集合可以包括全部极化子信道的索引,在该情况下,该索引集合也可以理解为极化子信道的索引的全集。
例如,全部极化子信道的索引的数量为N,则该索引集合中的元素的数量为N。N为2的整数次幂。方法700得到的目标极化码的索引序列中的元素的数量为N。详细描述参见后文中的方法800。
可替换地,该索引集合可以包括部分极化子信道的索引。
例如,全部极化子信道的索引的数量为N,全部极化子信道的索引被划分至多个索引集合中,基于多个索引集合分别执行方法700,得到的目标极化码的索引序列中的元素的数量为N。详细描述参见后文中的图12。
S720,根据索引集合得到该索引集合的多个嵌套子集。
该多个嵌套子集中的各个子集中的元素数量不同。根据子集中元素数量从小到大的顺序排列该多个嵌套子集时,前一个子集中元素属于后一个子集。根据子集中元素数量从大到小的顺序排列该多个嵌套子集时,后一个子集中元素属于前一个子集。
示例性地,该索引集合的嵌套子集的数量与该索引集合中的极化子信道的索引的数量相同。该多个嵌套子集也可以称为一组嵌套子集。
例如,该索引集合为{1,2,3,4},一组嵌套子集的数量为4,一组嵌套子集可以包括:{4},{4,1},{4,1,2}和{4,1,2,3}。
再如,该索引集合为{2,7},一组嵌套子集的数量为2,一组嵌套子集可以包括:{7}和{7,2}。
示例性地,该索引集合的嵌套子集的数量小于该索引集合中的极化子信道的索引的数量。
例如,该索引集合为{1,2,3,4},该多个嵌套子集的数量为3,多个嵌套子集可以包括:{4,1},{4,1,2}和{4,1,2,3}。
该多个嵌套子集中的元素可以为可靠极化子信道的索引。在该情况下,步骤S720可以理解为得到嵌套的可靠极化子信道的索引。可靠极化子信道用于传输信息比特。
该多个嵌套子集中的元素的数量不同,也就是说,每个子集中包括的可靠极化子信道的索引的数量不同,即每个子集可以传输的信息比特的数量不同。一组嵌套的可靠极化子信道的索引可以用于生成一组嵌套的Polar码,在该组嵌套的Polar码中,各个Polar对应的信息比特的数量不同。
在一种实现方式中,该N个嵌套子集是按索引数量从小到大的顺序依次排列的,该N个嵌套子集也可以称为子集的序列。
例如,步骤S720可以由神经网络模型实现。也就是说,步骤S720可以包括:将索引集合输入神经网络模型中,得到该索引集合的多个嵌套子集。例如,该神经网络模型可以为集合指针网络(set-pointer network)。set-pointer网络的具体描述参见后文中图9。
再如,步骤S720可以包括:根据索引集合随机得到该索引集合的多个嵌套子集。
示例性地,步骤S720可以由装置600中的编码构造模块610执行。具体地,可以由编码构造模块610中的神经网络模型执行。编码构造模块610基于输入的索引集合得到该索引集合的多个嵌套子集。
S730,分别根据索引集合的多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套极化码,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的。
该多个嵌套极化码中的信息比特的数量不同。
多个嵌套极化码中的极化码与多个嵌套子集中的子集是一一对应的。该多个嵌套子集中的每个子集可以用于生成一个Polar码,该多个嵌套子集可以用于生成多个Polar码。该多个Polar码具有嵌套性,即该多个Poalr码为多个嵌套Polar码。
示例性地,索引集合对应的多个嵌套极化码中的信息比特的位置可以是仅根据索引集合的多个嵌套子集中的索引确定的。
在该情况下,将不同数量的信息比特分别映射于具有相同数量的元素的子集所指示的极化子信道上。
例如,该多个嵌套极化码中的信息比特的数量从1至4递增,该多个嵌套子集包括:{4},{4,1},{4,1,2}和{4,1,2,3},相应地,生成的嵌套极化码是根据0001,1001,1101,1111确定的。
可替换地,索引集合对应的多个嵌套极化码中的信息比特的位置可以是根据索引集合的多个嵌套子集中的索引和其他索引确定的。
在该情况下,将不同数量的信息比特分别映射于具有对应的子集所指示的极化子信道上。
例如,该多个嵌套极化码中的信息比特的数为6和7,该多个嵌套子集可以包括:{7}和{7,2},其中,5个信息比特的位置是根据其他索引确定的,例如,(4,6,5,1)用于指示5个信息比特,生成的嵌套极化码是根据10011110和11011110确定的。
S740,获取索引集合对应的多个嵌套极化码的性能评估结果。
示例性地,该性能评估结果可以是在实际信道和译码器下对Polar码的性能进行评估得到的结果。
可替换地,该性能评估结果可以是在仿真环境中的信道和译码器下对Polar码的性能进行评估得到的结果。
例如,在仿真环境中进行通信,对该多个嵌套Polar码进行解码。具体地,可以采用白高斯噪声信道或衰落信道作为仿真信道,采用低复杂度的SCL-PM或SCL-Genie译码算法作为仿真译码器,对该多个嵌套Polar码进行解码,得到该多个嵌套Polar码的性能评估结果。
性能评价指标包括但不限于以下任一项:块误码率、延时或功耗等。
在一种实现方式中,该性能评估结果可以是预先存储的,例如,预先存储于查找表中。在该情况下,获取极化码的性能评估结果也可以为读取该极化码的性能评估结果。
例如,将执行方法700过程中首次生成的极化码以及对该极化码的性能评估结果存储于查找表中,若在执行方法700的过程中,再次出现该相同的极化码时,从查找表中获取该极化码的性能评估结果。
这样,能够减少性能评估过程所需要的时间,提高处理效率。
例如,性能评价指标为块误码率(block error ratio,BLER),索引集合对应的多个嵌套极化码的性能评估结果可以为该多个嵌套极化码的BLER之和或者该多个嵌套极化码的BLER的平均值。
示例性地,步骤S740可以由装置600中的编码评估模块620执行,并将该性能评估结果返回至编码构造模块610。
在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤S720中的索引集合的多个嵌套子集,重复步骤S730至步骤S740,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。
目标极化码的索引序列用于指示极化子信道的可靠度排序。
例如,性能评价指标为块误码率,多个嵌套极化码的性能评估结果满足预设条件可以为:该多个嵌套极化码的BLER之和小于或等于预设块误码率。
如前所述,步骤S720中的多个嵌套子集可以由神经网络模型得到,在该情况下,更新步骤S720中的索引集合的多个嵌套子集,可以包括:更新该神经网络模型的参数,基于更新后的神经网络模型得到该索引集合的多个嵌套子集。更新次数也可以理解为神经网络模型的迭代次数。
具体地,可以基于强化学习算法更新该神经网络模型的参数。基于强化学习实现方法800的方法可以称为基于强化学习的免模型的编码方法。也就是以最大化reward的期望值为目标更新该神经网络模型的参数。例如,性能评价指标为BLER,即以最小化该多个嵌套极化码的BLER为目标更新该神经网络模型的参数。
例如,可以通过策略梯度(policy gradient)算法更新该神经网络模型的参数,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。
具体地,根据更新后的多个嵌套子集得到目标极化码的索引序列,可以包括:根据多个嵌套子集的嵌套顺序,得到目标极化码的索引序列。
多个嵌套子集的嵌套顺序可以为多个嵌套子集中的索引的数量由小到大的顺序。
例如,若更新后的多个嵌套子集为{2}、{2,1}、{2,1,3}、{2,1,3,4},根据嵌套顺序得到的目标极化码的索引序列为(2,1,3,4)。
根据本申请实施例的方案,通过给定信道和译码环境下的Polar码的性能评估指标不断更新嵌套子集,直至得到满足条件的Polar码,并基于更新后的嵌套子集得到目标极化码的索引序列,提高了子信道可靠度的准确性,进而提高了Polar码的性能。
而且,本申请实施例的方案不依赖于信道模型和译码算法的假设,无需建模实际信道和译码器下编码和性能之间的关系,在不同信道环境和译码环境下可以获得不同的性能评估结果,并基于该评估结果得到目标极化码的索引序列。因此,该方案能够适应不同的信道环境以及不同的译码器,有利于匹配实际信道和译码环境。
下面对本申请实施例中的一种构造Polar码序列的方法800进行说明。方法800可以视为方法700的一种具体实现方式。方法800包括步骤S810至步骤S840。下面对步骤S810至步骤S840进行详细说明。
S810,获取索引集合。
步骤S810与方法700中的步骤S710对应。
该索引集合可以包括全部极化子信道的索引,在该情况下,该索引集合也可以理解为极化子信道的索引的全集。
例如,全部极化子信道的索引的数量为N,则该索引集合中的元素的数量为N。N为2的整数次幂。
示例性地,N可以为Polar码的最大码长。或者,N可以为母码的长度。
例如,如图8所示,N=4时,索引集合可以为{1,2,3,4}。
S820,根据索引集合得到该索引集合的多个嵌套子集。
步骤S820与方法700中的步骤S720对应。
该多个嵌套子集中的元素可以为可靠极化子信道的索引。在该情况下,步骤S820可以理解为得到嵌套的可靠极化子信道的索引。可靠极化子信道用于传输信息比特,也就是说该多个嵌套子集用于指示信息比特的位置。
示例性地,该索引集合的嵌套子集的数量与该索引集合中的极化子信道的索引的数量相同。该多个嵌套子集也可以称为一组嵌套子集。
例如,如图8所示,N=4时,该索引集合为{1,2,3,4},一组嵌套子集的数量为4,一组嵌套子集中的索引的数量分别为:1,2,3,4,一组嵌套子集可以包括:{4},{4,1},{4,1,2}和{4,1,2,3}。
示例性地,该索引集合的嵌套子集的数量小于该索引集合中的极化子信道的索引的数量。
例如,索引集合为{1,2,3,4},该多个嵌套子集的数量为3,3个嵌套子集中的索引的数量分别为2,3,4,多个嵌套子集可以包括:{4,1},{4,1,2}和{4,1,2,3}。
该N个嵌套子集中的每个子集可以用于生成一个Polar码,该N个嵌套子集可以用于生成N个Polar码。该N个Polar码具有嵌套性,即该N个Poalr码为N个嵌套Polar码。
每个子集中的索引为用于映射信息比特的极化子信道的索引。也就是说,每个子集中的索引用于指示一个Polar码中的信息比特的位置。每个子集中的索引的数量即为信息比特的数量。
例如,该N个嵌套子集中的一个子集中的索引的数量为3,则该子集可以用于生成信息比特的数量为3的Polar码。
示例性地,步骤S820可以包括:根据索引集合随机得到该索引集合的多个嵌套子集。
可选地,步骤S820可以包括:将索引集合输入集合指针网络(set-pointernetwork)进行处理,得到该索引集合的多个嵌套子集。
set-pointer网络的具体描述可以参见后文中的图9。
S830,分别根据多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套Polar码。索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的。
步骤S830与方法700中的步骤S730对应。
多个嵌套子集和多个嵌套Polar码是一一对应的。
具体地,该多个嵌套子集中的第k个子集Sk与该多个嵌套Polar码中的第k个Polar码是对应的。第k个子集中包括k个索引,相应地,第k个Polar码中的信息比特的长度为k。在该情况下,索引集合对应的多个嵌套极化码中的信息比特的位置可以是仅根据索引集合的多个嵌套子集中的索引确定的。
该多个嵌套Polar码也可以称为嵌套极化码的索引序列。
示例性地,步骤S820中得到N个嵌套子集,将N个不同长度的信息比特分别映射到对应的N个嵌套子集中的索引所指示的极化子信道上,从而得到一组码长为N的嵌套Polar码。
例如,如图8所示,该4个嵌套子集分别为{4}、{4,1}、{4,1,2}、{4,1,2,3},该4个嵌套子集分别用于指示4个Polar码中的信息比特的位置,该4个Polar码中的信息比特的长度分别为1,2,3,4,相应地,生成的嵌套极化码是根据0001,1001,1101,1111确定的。
S840,获取索引集合对应的多个嵌套极化码的性能评估结果。
步骤S840与方法700中的步骤S740对应。
性能评价指标包括但不限于以下任一项:块误码率、延时或功耗等。
示例性地,性能评价指标为BLER,N个嵌套极化码的评价结果可以为该N个嵌套极化码的BLER之和
Figure BDA0002685012610000211
其中,BLERi表示由第i个子集生成的极化码(即第i个极化码)的BLER。
例如,如图8所示,性能评价指标可以为BLER,索引集合对应的多个嵌套极化码的性能评估结果可以为该多个嵌套极化码的BLER之和
Figure BDA0002685012610000212
其中,BLERi表示第i个极化码的BLER。
在该多个嵌套Polar码的性能评估结果不满足预设条件的情况下,基于该多个嵌套极化码的性能评估结果更新步骤S820中的索引集合的多个嵌套子集,重复步骤S830至步骤S840,直至多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的多个嵌套子集得到目标极化码的索引序列。
如前所述,步骤S820中可以通过set-pointer网络得到多个嵌套子集。在该情况下,基于该多个嵌套极化码的性能评估结果更新步骤S820中的索引集合的多个嵌套子集,可以包括:基于该多个嵌套极化码的性能评估结果更新set-pointer网络的参数,基于更新后的set-pointer网络得到多个嵌套子集。
例如,索引集合对应的多个嵌套极化码的性能评估结果可以为该多个嵌套极化码的BLER之和
Figure BDA0002685012610000213
优化目标满足如下公式:
Figure BDA0002685012610000221
即以最小化BLER为目标更新set-pointer网络的参数。
例如,可以通过策略梯度(policy gradient)更新set-pointer网络的参数。
在多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数时,可以理解为set-pointer网络训练完成,得到训练好的set-pointer网络,根据训练好的set-pointer网络输出的多个嵌套子集得到目标极化码的索引序列。
具体地,根据更新后的多个嵌套子集得到目标极化码的索引序列,可以包括:根据多个嵌套子集的嵌套顺序,得到目标极化码的索引序列。
多个嵌套子集的嵌套顺序可以为多个嵌套子集中的索引的数量由小到大的顺序。
例如,若更新后的多个嵌套子集为{2}、{2,1}、{2,1,3}、{2,1,3,4},根据嵌套顺序得到的目标极化码的索引序列为(2,1,3,4)。
根据本申请实施例的方案,通过给定信道和译码环境下的Polar码的性能评估指标不断更新嵌套子集,直至得到满足条件的Polar码,并基于更新后的嵌套子集得到目标极化码的索引序列,提高了子信道可靠度的准确性,进而提高了Polar码的性能。
而且,本申请实施例的方案不依赖于信道模型和译码算法的假设,无需建模实际信道和译码器下编码和性能之间的关系,在不同信道环境和译码环境下可以获得不同的性能评估结果,并基于该评估结果得到目标极化码的索引序列。因此,该方案能够适应不同的信道环境以及不同的译码器,有利于匹配实际信道和译码环境。
在实际信道和译码器的环境下,Polar码的性能是Polar码的黑箱函数,且嵌套Polar码的数目是由嵌套的可靠子信道的集合的数量决定的,具体来说,是由索引的排列数N!决定的。例如,当N=1024时,组合空间将达到N!=10253,这对运算能力提出较高的要求,且影响Polar码序列的构建效率。
图9示出了本申请实施例提出的一种set-pointer网络,能够减少运算开销,提高Polar码序列的构建效率。
该set-pointer网络可以置于装置600中的编码构造模块610中,用于输出多个嵌套子集。
set-pointer网络的输入为集合,输出为一组嵌套子集,即输出多个子集,多个子集之间具有嵌套性。
在本申请实施例中,将索引集合输入set-pointer网络进行处理,set-pointer网络依次输出多个嵌套子集。set-pointer网络的条件概率分布为
Figure BDA0002685012610000222
其中,Si表示set-pointer网络第i次输出的子集,Si-1表示set-pointer网络第i-1次输出的子集,S表示输入的索引集合,S0为空集,p表示概率,θ表示set-pointer网络的参数,N表示索引集合中的元素的数量,即极化子信道的索引的数量。
步骤S720或步骤S820可以通过set-pointer网络得到索引集合的多个嵌套子集,具体可以包括步骤S721至步骤S727。
S721,分别对多个极化子信道的索引进行特征提取,得到多个极化子信道的索引的特征向量。
可选地,步骤S721包括:分别对多个极化子信道的索引进行独热(one-hot)编码;对独热编码的结果进行特征提取,得到多个极化子信道的索引的特征向量。
one-hot编码可以将输入元素转换为机器学习算法易于利用的形式。而且,通过one-hot编码能够去除索引集合中的元素的顺序关系。这样可以进一步保证索引集合中的元素顺序不影响set-pointer网络的输出结果。例如,如9图所示,索引集合为{1,2,3,4},将该索引集合中的四个元素分别进行one-hot编码,得到该四个元素对应的四个编码a1,a2,a3,a4。
例如,如图9所示,g(.)表示用于进行特征提取的函数,对四个编码a1,a2,a3,a4分别进行特征提取之后得到对应的四个特征向量x1,x2,x3,x4。
具体地,可以采用线性函数或非线性函数进行特征提取。在神经网络模型中,线性函数也可以称为线性层,非线性函数也可以称为非线性层。
例如,如图10或图11所示,可以采用线性函数进行特征提取,特征向量xk满足如下公式:
xk=Wak
其中,W表示权重矩阵,xk表示第k个元素的特征向量,ak表示第k个元素的编码。
应理解,图10和图11中仅为示意,还可以通过非线性函数进行特征提取,本申请实施例对特征提取的方式不做限定。
S722,根据多个极化子信道的索引的特征向量确定多个极化子信道的索引的输出概率。
也就是根据索引集合中的每个元素的特征向量确定每个元素的输出概率。
S723,根据多个极化子信道的索引的输出概率将多个极化子信道的索引中的一个索引添加至第一子集。
例如,将多个极化子信道的索引中输出概率最高的索引添加至第一子集。
再如,根据多个极化子信道的索引的输出概率进行采样,采样得到的索引添加至第一子集。这样可以更新过程陷入局部最优。
Set-pointer网络可以输出第一子集。
S724,对第一子集进行特征提取,得到第一子集的特征向量。
可选地,步骤S724包括:对第一子集中的索引的特征向量进行求和处理或均值处理;对处理后的结果进行特征提取,得到第一子集的特征向量。
例如,如图9所示,第一子集的特征向量ui-1满足如下公式:
Figure BDA0002685012610000231
ui-1表示Set-pointer网络第i-1次输出的子集Si-1的特征向量,第i-1次输出的子集即本次迭代过程中步骤S723输出的第一子集,xj表示第j个元素的特征向量,第j个元素属于Si-1。h(.)表示用于对子集进行特征提取的函数。
这样得到的第一子集的特征向量不受第一子集中的元素顺序的影响。
可选地,可以采用线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
示例性地,如图10所示,可以采用线性层进行特征提取,特征向量ui-1满足如下公式:
Figure BDA0002685012610000232
其中,H表示权重矩阵。
可选地,可以采用非线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
示例性地,如图11所示,可以采用非线性层进行特征提取,特征向量ui-1满足如下公式:
Figure BDA0002685012610000241
其中,H表示权重矩阵,relu(.)表示线性整流函数(rectified linear unit,ReLU)。
S725,根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率。
也就是确定第一子集之外的其他元素的输出概率。
例如,如图9所示,第一子集之外的其他元素的输出概率满足如下公式:
Figure BDA0002685012610000242
pi,k表示第k个元素的输出概率,也可以理解为第k个元素被输出至Si的概率。f(.)表示计算输出概率的函数,xk表示第k个元素的特征向量,第k个元素不属于Si-1
根据上述公式,步骤S722也可以理解为根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率。此时的第一子集为空集,第一子集的特征向量为u0=h(x0),其中,x0表示神经网络模型的一个参数。
具体地,可以基于注意力(attention)模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数,根据该注意力分数确定不属于第一子集的索引的输出概率。
也就是基于注意力模型分别计算Si-1的特征向量和Si-1之外的索引的特征向量之间的注意力分数,根据该注意力分数确定Si-1之外的索引的输出概率。
例如,索引集合S中包括4个元素,Si-1中包括一个元素,分别计算Si-1的特征向量和不属于Si-1的其他三个元素的特征向量之间的注意力分数。
可选地,步骤S725包括:
利用加性注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
例如,如图10所示,Si-1的特征向量和第k个元素的特征向量之间的注意力分数ci,k满足如下公式:
Figure BDA0002685012610000243
其中,v表示向量。
可选地,步骤S725包括:
利用乘法注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
例如,如图11所示,Si-1的特征向量和第k个元素的特征向量之间的注意力分数ci,k满足如下公式:
Figure BDA0002685012610000244
具体地,根据该注意力分数确定不属于第一子集的索引的输出概率,包括:将注意力分数进行归一化处理,将处理结果作为不属于第一子集的索引的输出概率。
例如,如图10或图11所示,基于该注意力分数得到Si-1之外的元素的输出概率分布为pi满足如下公式:
pi=softmax(ci);
ci表示Si-1的特征向量和Si-1之外的元素的特征向量之间的注意力分数。
S726,根据不属于第一子集的索引的输出概率将不属于所述第一子集的索引中的一个索引添加至第一子集中。
例如,将不属于所述第一子集的索引中输出概率最高的索引添加至第一子集。
再如,根据不属于所述第一子集的索引的输出概率进行采样,采样得到的索引添加至第一子集。这样可以更新过程陷入局部最优。
Set-pointer网络可以输出第一子集。
S727:更新步骤S724中的第一子集,重复步骤S724至步骤S727,将得到的多个第一子集作为该多个嵌套子集。
在步骤S721至步骤S727的执行过程中,Set-pointer网络可以输出每次更新后的第一子集。示例性地,该多个嵌套子集为N个,则步骤S727可以为,重复步骤S724至步骤S727,直至Set-pointer网络输出N个第一子集,即为N个嵌套子集。
如前所述,在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤S720中的索引集合的多个嵌套子集。
具体地,可以基于索引集合对应的多个嵌套极化码的性能评估结果更新set-pointer网络的参数,基于更新后的set-pointer网络重复步骤S721至步骤S727,得到多个嵌套子集,直至set-pointer网络训练完成,得到训练好的set-pointer网络,根据训练好的set-pointer网络输出的多个嵌套子集得到目标极化码的索引序列。
示例性地,可以通过policy gradient算法更新set-pointer网络的参数。基于强化学习的方法更新神经网络模型的参数可以采用现有技术中的其他方法,本申请实施例对此不做限定。
基于Polar码的嵌套性,输出子集仅与输入的索引集合中的索引有关,与输入的索引集合中的索引的顺序无关。然而,对于现有方案中序列到序列(sequence to sequence)模型,例如,指针网络(pointer network),输入模型中的索引集合中的索引的顺序会影响输出子集。也就是说,在输入的索引集合中的元素相同的情况下,若输入的索引集合中的元素的顺序不同,由pointer network输出的子集也会不同。因此,现有方案中的神经网络模型无法充分表达编码构造的输入输出关系,因此,无法得到准确的嵌套子集,影响训练效率和训练效果。
在本申请实施例中,set-pointer网络的输入为索引集合,索引集合中的索引的顺序不影响输出结果,例如,通过one-hot编码对索引进行编码,以消除索引的大小对输出结果的影响。此外,对每次输出的子集进行处理,例如,对子集中的索引的特征向量求和处理或者计算平均值,以避免本次输出的子集中的元素顺序影响下一次输出的子集中的元素,也就是说本申请实施例的方法能够保证第i次输出的子集只与第i-1次输出的子集中的元素有关,第i-1次输出的子集中的元素的顺序不影响第i次输出的子集中的元素。例如,N=4,输入set-pointer网络的索引集合S为{1,2,3,4},在第i-1次输出的子集为{1,4}的情况下或者第i-1次输出的子集为{4,1}的情况下,第i次输出的索引的集合为{4,1,2}的概率相同,即,第i次输出的索引的集合为{4,1,2}的概率满足如下公式。
pθ({4,1,2}|{1,2,3,4},{4,1})=pθ({4,1,2}|{1,2,3,4},{1,4});
第i-1次输出的子集中的索引4和索引1的顺序改变不影响输出子集为{4,1,2}的概率。
因此,本申请实施例的方案能够充分表达编码构造的输入输出关系,提高训练效果,即提高极化子信道的可靠度排序的准确性,并提高训练效率,降低时间成本。
下面对本申请实施例中的一种构造Polar码序列的方法1200进行说明。方法1200可以由Polar码序列构造装置来执行,该Polar码序列构造装置可以是终端设备,也可以是网络设备。例如,Polar码序列构造装置可以为图6中的装置600或者图2中的训练设备120或图3中的神经网络处理器50或图4中的执行设备310等。
方法1200可以视为方法700的一种具体实现方式,具体描述可以参见方法700。为了避免不必要的重复,下面在介绍方法1200时适当省略重复的描述。
方法1200包括步骤S1210至步骤S1240。下面对步骤S1210至步骤S1240进行详细说明。
S1210,获取索引集合。
具体地,步骤S1210包括:
(1)根据第一极化码的索引序列中的索引的顺序将第一极化码的索引序列中的索引划分至Q个集合中,该Q个集合中的每个集合包括至少一个索引,Q为大于1的整数。
(2)将Q个集合中的P个集合作为P个索引集合。其中,P个集合中的每个集合包括至少两个索引,P为大于1的整数,P≤Q。
第一极化码的索引序列可以理解为次优序列。
示例性地,第一极化码的索引序列的长度为N,按照从前到后的顺序将该第一极化码的索引序列分割为Q=2R个互不相交的集合。N为2的正整数次幂。每个集合中的元素的数量为N/2R。R为正整数。
例如,N=8的索引序列(4,6,5,1,2,8,3,7),可以分割为2R=4个子集,每个子集中的元素的数量为2,该4个子集包括:{4,6},{5,1},{2,8}和{3,7}。
S1220,基于该P个索引集合分别执行方法700,分别得到更新后的P个索引集合的多个嵌套子集。
示例性地,可以将该P个索引集合分别输入P个set-pointer网络中并行训练,由训练好的P个set-pointer网络分别得到P个索引集合对应的多个嵌套子集。例如,如图12所示,P为4,当前索引序列为第一极化码的索引序列。
具体地,基于每个set-pointer网络输出的嵌套子集分别得到对应的嵌套Polar码,基于该嵌套Poalr码的性能评估结果进行强化学习,即将性能评估结果更新set-pointer网络的参数。
可选地,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:
第一索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第一索引集合的多个嵌套子集中的索引和基于第一极化码的索引序列中的索引的顺序位于第一索引集合之前的集合中的索引确定的。第一索引集合为P个索引集合中的一个。
在第一极化码的索引序列是按照极化子信道的可靠性从高到低排列的,位于第一索引集合之前的索引对应的极化子信道的可靠性高于第一索引集合中的索引对应的极化子信道的可靠性。因此,在第一索引集合的优化过程中,第一索引集合之前的索引用于传输信息比特。
例如,第一索引集合为{2,8},将{2,8}输入P个set-pointer网络中的一个set-pointer网络A中,输出的嵌套子集可以包括:{8},{8,2}。{2,8}对应的嵌套极化码中的信息比特的位置是根据{8}中的索引和{8,2}中的索引以及位于{2,8}之前的索引(4,5,6,1)确定的。也就是说,索引(4,6,5,1)所指示的位置处的编码为1,索引(3,7)所指示的位置处的编码为0。{2,8}对应的嵌套极化码是根据10011101和11011101确定的。基于该组嵌套极化码的性能评估结果更新set-pointer网络A的参数,直至set-pointer网络A训练完成,得到{2,8}对应的多个嵌套子集。
具体地,通过set-pointer网络处理得到更新后的索引集合的多个嵌套子集的具体过程可以参考图9所示的方法,此处不再赘述。
基于同样的方式可以并行训练P个set-pointer网络,各个Set-Pointer的决策相互独立,基于训练后的P个set-pointer网络可以得到P个索引集合对应的多个嵌套子集。
S1230,根据更新后的P个索引集合的多个嵌套子集生成P个子序列,基于第一极化码的索引序列中的索引的顺序将其余Q-P个集合和P个子序列组合得到第二极化码的索引序列。
上述4个训练后的set-pointer网络可以得到4个索引集合对应的嵌套子集,基于该4个索引集合对应的嵌套子集可以得到4个子序列,将该4个子序列按第一极化码的索引序列中的索引的顺序合并为一个第二极化码的索引序列。
例如,{4,6}的嵌套子集包括{4}和{4,6},{5,1}的嵌套子集包括{1}和{1,5},{2,8}的嵌套子集包括{8}和{8,2},{3,7}的嵌套子集包括{3}和{3,7},合并得到的第二极化码的索引序列为(4,6,1,5,8,2,3,7)。
S1240,根据第二极化码的索引序列得到目标极化码的索引序列。
示例性地,将第二极化码的索引序列作为目标极化码的索引序列。
具体地,在更新后的P个索引集合的多个嵌套子集生成的嵌套Polar码的性能评估结果满足预设条件的情况下,将第二极化码的索引序列作为目标极化码的索引序列。
例如,性能评估指标为BLER,以前述N=8的索引序列(4,6,5,1,2,8,3,7)为例,在更新后4个索引集合的多个嵌套子集生成的8个嵌套Polar码的BLER之和小于或等于预设BLER的情况下,将第二极化码的索引序列作为目标极化码的索引序列。
这样,各个set-pointer网络的处理过程彼此独立,能够实现并行训练。由于索引序列存在嵌套性,划分为多个集合之后,位于每个索引集合之前的索引所指示的位置编码为1,位于每个索引集合之后的索引所指示的位置编码为0,这样,独立训练情况下的索引序列对应的Polar码存在确定性,能够降低计算量,进一步提高了训练效率。
可选地,方法1200还可以包括步骤S1250至步骤S1280。在该情况下,可以不执行步骤S1240。
S1250,获取索引集合。
具体地,步骤S1250包括:根据第二极化码的索引序列中的索引的顺序将第二极化码的索引序列中的索引划分至L个集合中,L个集合中的每个集合中包括至少一个索引,L为大于1的整数。L个集合中至少存在一个集合与Q个集合任一集合中的索引不同。
也就是说,对第一极化码的划分位置和第二极化码的划分位置是相互交叠的。
将L个集合中的M个集合作为M个索引集合。其中,M个集合中的每个集合包括至少两个索引,M为大于1的整数,M≤L。
示例性地,第二极化码的索引序列的长度为N,按照从前到后的顺序将该第二极化码的索引序列分割为2R+1个互不相交的集合。N为2的正整数次幂。例如,该2R+1个集合中的第一个集合和最后一个集合中包括N/4R个元素,其余(2R-1)个集合中的每个子集包括N/2R个元素。N≥4R。
例如,将第二极化码的索引序列(4,6,1,5,8,2,3,7)划分为2R+1=5个集合,第一个集合和最后一个集合中包括1个元素,其余3个集合中的每个集合中包括2个元素,将该3个集合作为3个索引集合。该5个集合包括:{4},{6,1},{5,8},{2,3}和{7}。
示例性地,在更新后的P个索引集合的多个嵌套子集生成的嵌套Polar码的性能评估结果不满足预设条件的情况下,执行步骤S1250至步骤S1280。
S1260,基于该M个索引集合分别执行方法700,分别得到更新后的M个索引集合的多个嵌套子集。
示例性地,可以将该M个索引集合分别输入M个set-pointer网络中并行训练,由训练好的M个set-pointer网络分别得到M个索引集合对应的多个嵌套子集。例如,如图12所示,M为3,也就是采用3个set-pointer网络得到3个索引集合对应的多个嵌套子集,当前索引序列为第二极化码的索引序列。应理解,图12中的set-pointer网络的数量仅为示意,在实际应用中可以根据需要调整set-pointer网络的数量,本申请实施例对此不做限定。
可选地,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:第二索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第二索引集合的多个嵌套子集中的索引和基于第二极化码的索引序列中的索引的顺序位于第二索引集合之前的集合中的索引确定的,第二索引集合为M个索引集合中的一个。
例如,第二索引集合为{5,8},将{5,8}输入M个set-pointer网络中的一个set-pointer网络B中,输出的嵌套子集可以包括:{8},{8,5}。{5,8}对应的嵌套极化码中的信息比特的位置是根据{8}中的索引和{8,5}中的索引以及位于{5,8}之前的索引(4,6,1)确定的。也就是说,索引(4,6,1)所指示的位置处的编码为1,索引(2,3,7)所指示的位置处的编码为0。{5,8}对应的嵌套极化码是根据10010101和10011101确定的。基于该组嵌套极化码的性能评估结果更新set-pointer网络B的参数,直至set-pointer网络B训练完成,得到{5,8}对应的多个嵌套子集。
具体描述可以参见步骤S1220,此处不再赘述。
S1270,根据更新后的M个索引集合的多个嵌套子集生成M个子序列,基于第二极化码的索引序列中的索引的顺序将其余L-M个集合和M个子序列组合得到第三极化码的索引序列。
上述3个训练后的set-pointer网络可以得到3个索引集合对应的嵌套子集,基于该3个索引集合对应的嵌套子集可以得到3个子序列,将该3个子序列按第二极化码的索引序列中的索引的顺序合并得到第三极化码的索引序列。
例如,{6,1}的嵌套子集包括{6}和{6,1},{5,8}的嵌套子集包括{8}和{8,5},{2,3}的嵌套子集包括{2}和{2,3},合并得到的第三极化码的索引序列为(4,6,1,8,5,2,3,7)。
在该M个索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,根据第三极化码的索引序列更新步骤S1210中的第一极化码的索引序列,重复执行步骤S1210至步骤S1270,也就是交替将第一极化码的索引序列划分为Q个集合以及将所述第二极化码的索引序列划分为L个集合以获取索引集合。直至P个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第二极化码的索引序列作为目标极化码的索引序列;或者,直至M个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第三极化码的索引序列作为目标极化码的索引序列。
应理解,上述训练终止条件仅为示例,例如,训练终止条件还可以为迭代次数达到预设次数。步骤S1210至步骤S1280为一次迭代过程。
若在第一次执行完步骤S1240后,P个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,则可以终止迭代,即半次迭代后即得到了满足要求的目标极化码的索引序列。
例如,P个索引集合对应的多个嵌套极化码的性能评估结果可以为P个索引集合对应的多个嵌套极化码的BLER之和或者平均值。或者,M个索引集合对应的多个嵌套极化码的BLER之和或者平均值。
在训练过程中,将第一极化码的索引序列中的元素划分至多个集合中,基于多个集合并行训练,能够降低决策空间,例如,当分割为2L个子集时,决策空间从O(N!)降低至
Figure BDA0002685012610000291
尤其是对于码长较长的Polar码,该方案能够显著减小决策空间,提高处理效率。由于Q个子集和M个子集不完全相同,也就是通过交叉分割使得分割位置相互交叠,例如,将索引序列先后分割为奇数个集合和偶数个集合,基于不同集合并行训练,这样能够进一步调整索引序列中的元素排序,以得到更准确的索引序列,进而提高Polar码的性能。
下面对本申请实施例提供的一种Polar码编码方法1300进行说明,该方法1300可以由能够进行Polar码编码的装置或设备执行,例如,该方法可以由终端设备执行,也可以由网络设备执行。
方法1300中使用的Polar码的索引序列可以是通过上述图7中的方法700或方法800或方法1200构建的。方法1300包括步骤S1310至步骤S1320。方法1300中的具体实现方式可以参照前述方法700,为了避免不必要的重复,下面在介绍方法1300时适当省略重复的描述。
1310,确定目标极化码的索引序列QN
目标极化码的索引序列也可以称为可靠性序列。
可选地,该目标极化码的索引序列是通过获取索引集合,索引集合包括多个极化子信道的索引,根据索引集合得到索引集合的多个嵌套子集,分别根据索引集合的多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套极化码,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的;获取索引集合对应的多个嵌套极化码的性能评估结果;在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到的。
可选地,N=64时,即目标极化码的索引序列中的索引数量为64时,目标极化码的索引序列为:(62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0)。其中,该索引序列中索引按照极化子信道的可靠度按照从高到低的顺序排列。
可选地,N=256时,即目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。其中,该索引序列中索引按照极化子信道的可靠度按照从高到低的顺序排列。
可选地,N=256时,即目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。其中,该索引序列中索引按照极化子信道的可靠度按照从高到低的顺序排列。
1320,基于该目标极化码的索引序列对待编码比特进行Polar码编码,得到编码后的比特序列。
可选地,获取索引集合包括:根据第一极化码的索引序列中的索引的顺序将第一极化码的索引序列中的索引划分至Q个集合中,Q个集合中的每个集合包括至少一个索引,Q为大于1的整数;将Q个集合中的P个集合作为P个索引集合,其中,P个集合中的每个集合包括至少两个索引,P为大于1的整数,P≤Q;以及索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:第一索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第一索引集合的多个嵌套子集中的索引和基于第一极化码的索引序列中的索引的顺序位于第一索引集合之前的集合中的索引确定的,第一索引集合为P个索引集合中的一个;以及根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列,包括:根据更新后的P个索引集合的多个嵌套子集生成P个子序列;基于第一极化码的索引序列中的索引的顺序将其余Q-P个集合和P个子序列组合得到第二极化码的索引序列;根据第二极化码的索引序列得到目标极化码的索引序列。
可选地,获取索引集合还包括:根据第二极化码的索引序列中的索引的顺序将第二极化码的索引序列中的索引划分至L个集合中,L个集合中的每个集合中包括至少一个索引,L为大于1的整数,L个集合中至少存在一个集合与Q个集合任一集合中的索引不同;将L个集合中的M个集合作为M个索引集合,其中,M个集合中的每个集合包括至少两个索引,M为大于1的整数,M≤L;以及索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:第二索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第二索引集合的多个嵌套子集中的索引和基于第二极化码的索引序列中的索引的顺序位于第二索引集合之前的集合中的索引确定的,第二索引集合为M个索引集合中的一个;以及根据第二极化码的索引序列得到目标极化码的索引序列,包括:根据更新后的M个索引集合的多个嵌套子集生成M个子序列;基于第二极化码的索引序列中的索引的顺序将其余L-M个集合和M个子序列组合得到第三极化码的索引序列,在M个索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,根据第三极化码的索引序列更新第一极化码的索引序列,交替将第一极化码的索引序列划分为Q个集合以及将第二极化码的索引序列划分为L个集合以获取索引集合,直至P个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第二极化码的索引序列作为目标极化码的索引序列;或者直至M个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第三极化码的索引序列作为目标极化码的索引序列。
可选地,根据索引集合得到索引集合的多个嵌套子集,包括:
步骤2-1:分别对多个极化子信道的索引进行特征提取,得到多个极化子信道的索引的特征向量;
步骤2-2:根据多个极化子信道的索引的特征向量确定多个极化子信道的索引的输出概率;
步骤2-3:根据多个极化子信道的索引的输出概率将多个极化子信道的索引中的一个索引添加至第一子集;
步骤2-4:对第一子集进行特征提取,得到第一子集的特征向量;
步骤2-5:根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率;
步骤2-6:根据不属于第一子集的索引的输出概率将不属于第一子集的索引中的一个索引添加至第一子集中;
步骤2-7:更新步骤2-4中的第一子集,重复步骤2-4至步骤2-7,将得到的多个第一子集作为多个嵌套子集。
可选地,分别对多个极化子信道的索引进行特征提取,得到多个极化子信道的索引的特征向量,包括:分别对多个极化子信道的索引进行独热编码;对独热编码的结果进行特征提取,得到多个极化子信道的索引的特征向量。
可选地,对第一子集进行特征提取,得到第一子集的特征向量,包括:对第一子集中的索引的特征向量进行求和处理或均值处理;对处理后的结果进行特征提取,得到第一子集的特征向量。
可选地,对处理后的结果进行特征提取,得到第一子集的特征向量,包括:利用线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
可选地,根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率,包括:利用加性注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
可选地,对处理后的结果进行特征提取,得到第一子集的特征向量,包括:利用非线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
可选地,根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率,包括:利用乘法注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
根据本申请实施例的方案,通过给定信道和译码环境下的Polar码的性能评估指标不断更新嵌套子集,直至得到满足条件的Polar码,并基于更新后的嵌套子集得到目标极化码的索引序列,提高了子信道可靠度的准确性,进而提高了Polar码的性能。
而且,本申请实施例的方案不依赖于信道模型和译码算法的假设,无需建模实际信道和译码器下编码和性能之间的关系,在不同信道环境和译码环境下可以获得不同的性能评估结果,并基于该评估结果得到目标极化码的索引序列。因此,该方案能够适应不同的信道环境以及不同的译码器,有利于匹配实际信道和译码环境。
图13和图14示出了通过方法1300获得的Polar码与5G标准中的Polar码的性能对比示意图。
其中,给定白高斯噪声信道,采用SCL-Genie译码器,译码参数列表大小(listsize)为8,校验大小(check size)为8。横坐标表示信息比特的长度K,纵坐标表示误码率为0.01时的相对(relative)信噪比(signal noise ratio,SNR)。以5G标准中的Polar码的性能作为基线,即图13和图14中相对信噪比为0的直线。
图13为码长N=64对应的性能对比示意图。采用本申请实施例的方法,将码长为64的索引集合输入set-pointer网络中进行训练,得到的索引序列如步骤S1310中所示。
如图13所示,在误码率为0.01时,本申请的方案得到的嵌套Polar码所需的译码信噪比更低。对于可靠信道数量为20的Polar码,所需要的译码信噪比比5G基线低约0.175dB。本申请的方案得到的嵌套Polar码平均所需的译码信噪比比5G基线低约0.04dB。
图14为码长N=256对应的性能对比示意图。将5G基线序列作为方法1200中的步骤S1210中的初始的第一Polar码的索引序列。将该序列分割为8个集合,分别输入8个set-pointer网络中进行训练,半次迭代完成后(即第一次执行完步骤S1220),得到的索引序列按照可靠度从高到低的顺序排列如下:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。进一步将该序列分割为9个子集,中间7个子集分别输入7个set-pointer网络中进行训练,完成一次迭代后(即第一次执行完步骤S1280),得到的索引序列按照可靠度从高到低的顺序排列如下:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
图14的(a)示出了通过本申请实施例的方案半次迭代后得到的索引序列生成的嵌套Polar码的性能,图14的(b)示出了通过本申请实施例的方案一次迭代后得到的索引序列生成的嵌套Polar码的性能。如图14的所示,在误码率为0.01时,本申请的方案半次迭代后得到的嵌套Polar码所需的译码信噪比比5G基线更低,一次迭代后得到的嵌套Polar码所需的译码信噪比最低,最低值低于5G基线0.5dB以上。本申请的方案一次迭代得到的嵌套Polar码平均所需的译码信噪比比5G基线低约0.03dB。
下面结合图15至图18对本申请实施例中的装置进行说明。
图15示出了本申请实施例提供的一种构造Polar码的索引序列的装置2000,装置2000用于执行图7所示的构造Polar码的索引序列的方法700,装置2000包括:获取单元2010、处理单元2020。
获取单元2010用于步骤一:获取索引集合,索引集合包括多个极化子信道的索引。
处理单元2020用于:步骤二:根据索引集合得到索引集合的多个嵌套子集;步骤三:分别根据索引集合的多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套极化码,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的;步骤四:获取索引集合对应的多个嵌套极化码的性能评估结果;在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。
可选地,作为一个实施例,获取单元2010具体用于:根据第一极化码的索引序列中的索引的顺序将第一极化码的索引序列中的索引划分至Q个集合中,Q个集合中的每个集合包括至少一个索引,Q为大于1的整数;将Q个集合中的P个集合作为P个索引集合,其中,P个集合中的每个集合包括至少两个索引,P为大于1的整数,P≤Q;以及索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:第一索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第一索引集合的多个嵌套子集中的索引和基于第一极化码的索引序列中的索引的顺序位于第一索引集合之前的集合中的索引确定的,第一索引集合为P个索引集合中的一个;以及处理单元2020具体用于:根据更新后的P个索引集合的多个嵌套子集生成P个子序列;基于第一极化码的索引序列中的索引的顺序将其余Q-P个集合和P个子序列组合得到第二极化码的索引序列;根据第二极化码的索引序列得到目标极化码的索引序列。
可选地,作为一个实施例,获取单元2010还用于:根据第二极化码的索引序列中的索引的顺序将第二极化码的索引序列中的索引划分至L个集合中,L个集合中的每个集合中包括至少一个索引,L为大于1的整数,L个集合中至少存在一个集合与Q个集合任一集合中的索引不同;将L个集合中的M个集合作为M个索引集合,其中,M个集合中的每个集合包括至少两个索引,M为大于1的整数,M≤L;以及索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的,包括:第二索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第二索引集合的多个嵌套子集中的索引和基于第二极化码的索引序列中的索引的顺序位于第二索引集合之前的集合中的索引确定的,第二索引集合为M个索引集合中的一个;以及处理单元2020具体用于:根据更新后的M个索引集合的多个嵌套子集生成M个子序列;基于第二极化码的索引序列中的索引的顺序将其余L-M个集合和M个子序列组合得到第三极化码的索引序列,在M个索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,根据第三极化码的索引序列更新第一极化码的索引序列,交替将第一极化码的索引序列划分为Q个集合以及将第二极化码的索引序列划分为L个集合以获取索引集合,直至P个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第二极化码的索引序列作为目标极化码的索引序列;或者直至M个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第三极化码的索引序列作为目标极化码的索引序列。
可选地,作为一个实施例,处理单元2020具体用于:步骤2-1:分别对多个极化子信道的索引进行特征提取,得到多个极化子信道的索引的特征向量;步骤2-2:根据多个极化子信道的索引的特征向量确定多个极化子信道的索引的输出概率;步骤2-3:根据多个极化子信道的索引的输出概率将多个极化子信道的索引中的一个索引添加至第一子集;步骤2-4:对第一子集进行特征提取,得到第一子集的特征向量;步骤2-5:根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量更新不属于第一子集的索引的输出概率;步骤2-6:根据不属于第一子集的索引的输出概率将不属于第一子集的索引中的一个索引添加至第一子集中;步骤2-7:更新步骤2-4中的第一子集,重复步骤2-4至步骤2-7,将得到的多个第一子集作为多个嵌套子集。
可选地,作为一个实施例,处理单元2020具体用于:分别对多个极化子信道的索引进行独热编码;对独热编码的结果进行特征提取,得到多个极化子信道的索引的特征向量。
可选地,作为一个实施例,处理单元2020具体用于:对第一子集中的索引的特征向量进行求和处理或均值处理;对处理后的结果进行特征提取,得到第一子集的特征向量。
可选地,作为一个实施例,处理单元2020具体用于:利用线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
可选地,作为一个实施例,处理单元2020具体用于:利用加性注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
可选地,作为一个实施例,处理单元2020具体用于:利用非线性函数对处理后的结果进行特征提取,得到第一子集的特征向量。
可选地,作为一个实施例,处理单元2020具体用于:利用乘法注意力模型分别计算多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数;根据多个极化子信道的索引中不属于第一子集的索引的特征向量和第一子集的特征向量之间的注意力分数更新不属于第一子集的索引的输出概率。
可选地,作为一个实施例,在目标极化码的索引序列中的索引数量为64时,目标极化码的索引序列为:(62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0)。
可选地,作为一个实施例,在目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
可选地,作为一个实施例,在目标极化码的索引序列中的索引数量为256时,目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
该装置2000所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
图16示出了本申请实施例提供的一种Polar码编码装置3000,装置3000用于执行Polar码编码方法1300,装置3000包括:确定单元3010、处理单元3020。
确定单元3010用于确定目标极化码的索引序列QN
该目标极化码的索引序列是通过获取索引集合,索引集合包括多个极化子信道的索引,根据索引集合得到索引集合的多个嵌套子集,分别根据索引集合的多个嵌套子集进行极化编码,得到索引集合对应的多个嵌套极化码,索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据索引集合的多个嵌套子集中的索引确定的;获取索引集合对应的多个嵌套极化码的性能评估结果;在索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于索引集合对应的多个嵌套极化码的性能评估结果更新步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到的。
处理单元3020用于基于该目标极化码的索引序列对待编码比特进行Polar码编码,得到编码后的比特序列。
该装置3000所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
需要说明的是,上述装置2000和装置3000以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图17是本申请实施例提供的构造Polar码的索引序列的装置的硬件结构示意图。图17所示的构造Polar码的索引序列的装置5000(该装置5000具体可以是一种计算机设备)包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
存储器5001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002用于执行本申请实施例的构造Polar码的索引序列的方法的各个步骤。具体地,处理器5002可以执行上文中图7所示的方法700。
处理器5002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的神经网络模型更新方法。
处理器5002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图3所示的芯片。在实现过程中,本申请的构造Polar码的索引序列的方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器5002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器5001,处理器5002读取存储器5001中的信息,结合其硬件完成本申请实施例的构造Polar码的索引序列的装置中包括的单元所需执行的功能,或者执行本申请实施例的构造Polar码的索引序列的方法。
通信接口5003使用例如但不限于收发器一类的收发装置,来实现装置5000与其他设备或通信网络之间的通信。例如,可以通过通信接口5003获取嵌套Polar码的性能评估结果以及索引集合。
总线5004可包括在装置5000各个部件(例如,存储器5001、处理器5002、通信接口5003)之间传送信息的通路。
应注意,尽管上述装置5000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置5000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置5000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置5000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图17中所示的全部器件。
图18示出了本申请实施例提供的一种Polar码编码装置6000,Polar码的编码装置6000用于执行Polar码编码方法1300。Polar码编码方法1300中的部分或全部都可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,Polar码编码装置6000包括输入接口电路6010,用于获取待编码比特;逻辑电路6020用于执行上述Polar码编码方法1300,具体见前述方法实施例中的描述,此处不再赘述;输出接口电路6030,用于输出编码后的比特序列。
可选地,Polar码编码装置6000在具体实现时可以是芯片或者集成电路。
可选地,当上述实施例的Polar码编码方法中的部分或全部通过软件来实现时,如图所示,Polar码编码装置6000包括:存储器4010,用于存储程序;处理器4020,用于执行存储器4010存储的程序,当程序被执行时,使得Polar码编码装置6000可以实现上述Polar码编码方法。
可选地,上述存储器4010可以是物理上独立的单元,也可以如图所示,存储器4010和处理器4020集成在一起。
可选地,当上述Polar码编码方法中的部分或全部通过软件来实现是,Polar码编码装置6000也可以只包括处理器4020。用于存储程序的存储器4010可以位于Polar码编码装置之外,处理器4020通过电路/电线与存储器4010连接,用于读取并执行存储器4010中存储的程序。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行Polar码编码方法。
本申请实施例还提供一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行Polar码编码方法。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (29)

1.一种构造极化码的索引序列的方法,其特征在于,包括:
步骤一:获取索引集合,所述索引集合包括多个极化子信道的索引;
步骤二:根据所述索引集合得到所述索引集合的多个嵌套子集;
步骤三:分别根据所述索引集合的多个嵌套子集进行极化编码,得到所述索引集合对应的多个嵌套极化码,所述索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据所述索引集合的多个嵌套子集中的索引确定的;
步骤四:获取所述索引集合对应的多个嵌套极化码的性能评估结果;
在所述索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于所述索引集合对应的多个嵌套极化码的性能评估结果更新所述步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至所述索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。
2.根据权利要求1所述的方法,其特征在于,所述获取索引集合包括:
根据第一极化码的索引序列中的索引的顺序将所述第一极化码的索引序列中的索引划分至Q个集合中,所述Q个集合中的每个集合包括至少一个索引,Q为大于1的整数;
将所述Q个集合中的P个集合作为P个所述索引集合,其中,所述P个集合中的每个集合包括至少两个索引,P为大于1的整数,P≤Q;
以及所述索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据所述索引集合的多个嵌套子集中的索引确定的,包括:
第一索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第一索引集合的多个嵌套子集中的索引和基于所述第一极化码的索引序列中的索引的顺序位于所述第一索引集合之前的集合中的索引确定的,所述第一索引集合为P个所述索引集合中的一个;
以及所述根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列,包括:
根据更新后的P个索引集合的多个嵌套子集生成P个子序列;
基于所述第一极化码的索引序列中的索引的顺序将其余Q-P个集合和所述P个子序列组合得到第二极化码的索引序列;
根据所述第二极化码的索引序列得到目标极化码的索引序列。
3.根据权利要求2所述的方法,其特征在于,所述获取索引集合还包括:
根据所述第二极化码的索引序列中的索引的顺序将所述第二极化码的索引序列中的索引划分至L个集合中,所述L个集合中的每个集合中包括至少一个索引,L为大于1的整数,所述L个集合中至少存在一个集合与所述Q个集合任一集合中的索引不同;
将所述L个集合中的M个集合作为M个所述索引集合,其中,所述M个集合中的每个集合包括至少两个索引,M为大于1的整数,M≤L;
以及所述索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据所述索引集合的多个嵌套子集中的索引确定的,包括:
第二索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第二索引集合的多个嵌套子集中的索引和基于所述第二极化码的索引序列中的索引的顺序位于所述第二索引集合之前的集合中的索引确定的,所述第二索引集合为M个所述索引集合中的一个;
以及所述根据所述第二极化码的索引序列得到目标极化码的索引序列,包括:
根据更新后的M个索引集合的多个嵌套子集生成M个子序列;
基于所述第二极化码的索引序列中的索引的顺序将其余L-M个集合和所述M个子序列组合得到第三极化码的索引序列,在所述M个索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,根据所述第三极化码的索引序列更新所述第一极化码的索引序列,交替将第一极化码的索引序列划分为Q个集合以及将所述第二极化码的索引序列划分为L个集合以获取所述索引集合,直至所述P个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第二极化码的索引序列作为目标极化码的索引序列;或者
直至所述M个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第三极化码的索引序列作为目标极化码的索引序列。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述索引集合得到所述索引集合的多个嵌套子集,包括:
步骤2-1:分别对所述多个极化子信道的索引进行特征提取,得到所述多个极化子信道的索引的特征向量;
步骤2-2:根据所述多个极化子信道的索引的特征向量确定所述多个极化子信道的索引的输出概率;
步骤2-3:根据所述多个极化子信道的索引的输出概率将所述多个极化子信道的索引中的一个索引添加至第一子集;
步骤2-4:对所述第一子集进行特征提取,得到所述第一子集的特征向量;
步骤2-5:根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量更新所述不属于所述第一子集的索引的输出概率;
步骤2-6:根据所述不属于所述第一子集的索引的输出概率将所述不属于所述第一子集的索引中的一个索引添加至所述第一子集中;
步骤2-7:更新所述步骤2-4中的第一子集,重复步骤2-4至步骤2-7,将得到的多个第一子集作为所述多个嵌套子集。
5.根据权利要求4所述的方法,其特征在于,所述分别对所述多个极化子信道的索引进行特征提取,得到所述多个极化子信道的索引的特征向量,包括:
分别对所述多个极化子信道的索引进行独热编码;
对独热编码的结果进行特征提取,得到所述多个极化子信道的索引的特征向量。
6.根据权利要求4或5所述的方法,其特征在于,所述对所述第一子集进行特征提取,得到所述第一子集的特征向量,包括:
对所述第一子集中的索引的特征向量进行求和处理或均值处理;
对所述处理后的结果进行特征提取,得到所述第一子集的特征向量。
7.根据权利要求6所述的方法,其特征在于,所述对所述处理后的结果进行特征提取,得到所述第一子集的特征向量,包括:
利用线性函数对所述处理后的结果进行特征提取,得到所述第一子集的特征向量。
8.根据权利要求7所述的方法,其特征在于,所述根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量更新所述不属于所述第一子集的索引的输出概率,包括:
利用加性注意力模型分别计算所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数;
根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数更新所述不属于所述第一子集的索引的输出概率。
9.根据权利要求6所述的方法,其特征在于,所述对所述处理后的结果进行特征提取,得到所述第一子集的特征向量,包括:
利用非线性函数对所述处理后的结果进行特征提取,得到所述第一子集的特征向量。
10.根据权利要求9所述的方法,其特征在于,所述根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量更新所述不属于所述第一子集的索引的输出概率,包括:
利用乘法注意力模型分别计算所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数;
根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数更新所述不属于所述第一子集的索引的输出概率。
11.根据权利要求1至10中任一项所述的方法,其特征在于,在所述目标极化码的索引序列中的索引数量为64时,所述目标极化码的索引序列为:(62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0)。
12.根据权利要求1至10中任一项所述的方法,其特征在于,在所述目标极化码的索引序列中的索引数量为256时,所述目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
13.根据权利要求1至10中任一项所述的方法,其特征在于,在所述目标极化码的索引序列中的索引数量为256时,所述目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
14.一种构造极化码的索引序列的装置,其特征在于,包括:
获取单元,用于:
步骤一:获取索引集合,所述索引集合包括多个极化子信道的索引;
处理单元,用于:
步骤二:根据所述索引集合得到所述索引集合的多个嵌套子集;
步骤三:分别根据所述索引集合的多个嵌套子集进行极化编码,得到所述索引集合对应的多个嵌套极化码,所述索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据所述索引集合的多个嵌套子集中的索引确定的;
步骤四:获取所述索引集合对应的多个嵌套极化码的性能评估结果;
在所述索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,基于所述索引集合对应的多个嵌套极化码的性能评估结果更新所述步骤二中的索引集合的多个嵌套子集,重复步骤三至步骤四,直至所述索引集合对应的多个嵌套极化码的性能评估结果满足预设条件或者更新次数达到预设次数,根据更新后的索引集合的多个嵌套子集得到目标极化码的索引序列。
15.根据权利要求14所述的装置,其特征在于,所述获取单元具体用于:
根据第一极化码的索引序列中的索引的顺序将所述第一极化码的索引序列中的索引划分至Q个集合中,所述Q个集合中的每个集合包括至少一个索引,Q为大于1的整数;
将所述Q个集合中的P个集合作为P个所述索引集合,其中,所述P个集合中的每个集合包括至少两个索引,P为大于1的整数,P≤Q;
以及所述索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据所述索引集合的多个嵌套子集中的索引确定的,包括:
第一索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第一索引集合的多个嵌套子集中的索引和基于所述第一极化码的索引序列中的索引的顺序位于所述第一索引集合之前的集合中的索引确定的,所述第一索引集合为P个所述索引集合中的一个;
以及所述处理单元具体用于:
根据更新后的P个索引集合的多个嵌套子集生成P个子序列;
基于所述第一极化码的索引序列中的索引的顺序将其余Q-P个集合和所述P个子序列组合得到第二极化码的索引序列;
根据所述第二极化码的索引序列得到目标极化码的索引序列。
16.根据权利要求15所述的装置,其特征在于,所述获取单元还用于:
根据所述第二极化码的索引序列中的索引的顺序将所述第二极化码的索引序列中的索引划分至L个集合中,所述L个集合中的每个集合中包括至少一个索引,L为大于1的整数,所述L个集合中至少存在一个集合与所述Q个集合任一集合中的索引不同;
将所述L个集合中的M个集合作为M个所述索引集合,其中,所述M个集合中的每个集合包括至少两个索引,M为大于1的整数,M≤L;
以及所述索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据所述索引集合的多个嵌套子集中的索引确定的,包括:
第二索引集合对应的多个嵌套极化码中的信息比特的位置分别是根据第二索引集合的多个嵌套子集中的索引和基于所述第二极化码的索引序列中的索引的顺序位于所述第二索引集合之前的集合中的索引确定的,所述第二索引集合为M个所述索引集合中的一个;
以及所述处理单元具体用于:
根据更新后的M个索引集合的多个嵌套子集生成M个子序列;
基于所述第二极化码的索引序列中的索引的顺序将其余L-M个集合和所述M个子序列组合得到第三极化码的索引序列,在所述M个索引集合对应的多个嵌套极化码的性能评估结果不满足预设条件的情况下,根据所述第三极化码的索引序列更新所述第一极化码的索引序列,交替将第一极化码的索引序列划分为Q个集合以及将所述第二极化码的索引序列划分为L个集合以获取所述索引集合,直至所述P个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第二极化码的索引序列作为目标极化码的索引序列;或者
直至所述M个索引集合对应的多个嵌套极化码的性能评估结果满足预设条件,将更新后得到的第三极化码的索引序列作为目标极化码的索引序列。
17.根据权利要求14至16中任一项所述的装置,其特征在于,所述处理单元具体用于:
步骤2-1:分别对所述多个极化子信道的索引进行特征提取,得到所述多个极化子信道的索引的特征向量;
步骤2-2:根据所述多个极化子信道的索引的特征向量确定所述多个极化子信道的索引的输出概率;
步骤2-3:根据所述多个极化子信道的索引的输出概率将所述多个极化子信道的索引中的一个索引添加至第一子集;
步骤2-4:对所述第一子集进行特征提取,得到所述第一子集的特征向量;
步骤2-5:根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量更新所述不属于所述第一子集的索引的输出概率;
步骤2-6:根据所述不属于所述第一子集的索引的输出概率将所述不属于所述第一子集的索引中的一个索引添加至所述第一子集中;
步骤2-7:更新所述步骤2-4中的第一子集,重复步骤2-4至步骤2-7,将得到的多个第一子集作为所述多个嵌套子集。
18.根据权利要求17所述的装置,其特征在于,所述处理单元具体用于:
分别对所述多个极化子信道的索引进行独热编码;
对独热编码的结果进行特征提取,得到所述多个极化子信道的索引的特征向量。
19.根据权利要求17或18所述的装置,其特征在于,所述处理单元具体用于:
对所述第一子集中的索引的特征向量进行求和处理或均值处理;
对所述处理后的结果进行特征提取,得到所述第一子集的特征向量。
20.根据权利要求19所述的装置,其特征在于,所述处理单元具体用于:
利用线性函数对所述处理后的结果进行特征提取,得到所述第一子集的特征向量。
21.根据权利要求20所述的装置,其特征在于,所述处理单元具体用于:
利用加性注意力模型分别计算所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数;
根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数更新所述不属于所述第一子集的索引的输出概率。
22.根据权利要求19所述的装置,其特征在于,所述处理单元具体用于:
利用非线性函数对所述处理后的结果进行特征提取,得到所述第一子集的特征向量。
23.根据权利要求22所述的装置,其特征在于,所述处理单元具体用于:
利用乘法注意力模型分别计算所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数;
根据所述多个极化子信道的索引中不属于所述第一子集的索引的特征向量和所述第一子集的特征向量之间的注意力分数更新所述不属于所述第一子集的索引的输出概率。
24.根据权利要求14至23中任一项所述的装置,其特征在于,在所述目标极化码的索引序列中的索引数量为64时,所述目标极化码的索引序列为:(62,55,63,47,61,59,31,60,57,23,58,15,54,53,46,51,45,56,30,43,52,39,29,50,27,42,49,44,7,37,28,41,25,38,11,48,35,22,26,21,40,14,19,36,13,24,34,5,33,18,20,10,17,3,12,32,6,9,16,8,2,1,4,0)。
25.根据权利要求14至23中任一项所述的装置,其特征在于,在所述目标极化码的索引序列中的索引数量为256时,所述目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,237,222,248,235,219,244,231,126,215,242,221,187,236,207,190,241,111,234,183,233,123,230,220,175,218,227,159,125,229,188,214,217,63,240,205,119,211,185,182,232,95,213,206,124,186,203,181,228,174,122,226,171,117,199,216,157,107,179,212,121,225,118,173,158,210,93,167,184,110,204,155,202,115,94,180,209,151,109,178,47,201,143,198,103,169,61,120,224,91,172,177,116,87,197,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,55,108,196,163,101,92,31,149,200,142,90,105,176,85,102,147,141,60,194,99,57,135,168,86,77,164,139,89,54,83,152,112,58,78,162,43,193,104,45,148,75,161,53,146,71,98,27,140,88,46,137,51,100,23,84,145,29,134,97,39,82,76,56,138,30,52,192,73,133,15,81,160,70,50,131,44,41,74,14,144,69,49,38,136,96,21,67,26,42,132,35,28,80,37,25,72,22,48,130,11,7,68,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
26.根据权利要求14至23中任一项所述的装置,其特征在于,在所述目标极化码的索引序列中的索引数量为256时,所述目标极化码的索引序列为:(255,253,247,254,239,251,127,252,223,250,249,191,245,238,246,189,243,235,222,248,237,111,219,244,231,221,242,123,215,190,241,236,183,207,234,233,187,126,229,220,175,218,230,125,227,159,188,214,217,95,240,213,63,186,206,181,203,119,232,211,124,179,205,185,228,174,121,226,118,157,182,199,216,107,173,212,122,225,117,171,158,202,47,167,209,115,155,184,94,178,204,151,110,61,210,197,109,172,143,180,103,201,120,93,224,169,87,198,177,116,91,154,195,62,166,113,156,106,59,208,170,165,79,114,153,150,105,102,31,196,141,163,92,55,200,147,85,108,176,90,142,149,101,60,194,27,99,139,89,78,168,164,83,135,57,112,54,193,86,148,77,161,43,58,152,104,75,162,53,71,146,98,45,140,88,46,137,23,100,81,51,192,30,134,84,74,145,97,39,56,15,138,69,50,133,29,82,160,76,44,131,41,52,70,14,73,144,49,35,136,67,21,96,42,26,132,80,37,28,38,25,130,11,72,22,68,7,48,129,19,40,66,13,36,24,65,18,128,5,33,12,34,3,20,17,64,10,6,32,9,16,8,1,0,4,2)。
27.一种构造极化码的索引序列的装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至13中任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至13中任一项所述的方法。
29.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至13中任一项所述的方法。
CN202010973768.2A 2020-09-16 2020-09-16 构造极化码的索引序列的方法及装置 Active CN114268409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010973768.2A CN114268409B (zh) 2020-09-16 2020-09-16 构造极化码的索引序列的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010973768.2A CN114268409B (zh) 2020-09-16 2020-09-16 构造极化码的索引序列的方法及装置

Publications (2)

Publication Number Publication Date
CN114268409A CN114268409A (zh) 2022-04-01
CN114268409B true CN114268409B (zh) 2023-04-18

Family

ID=80824303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010973768.2A Active CN114268409B (zh) 2020-09-16 2020-09-16 构造极化码的索引序列的方法及装置

Country Status (1)

Country Link
CN (1) CN114268409B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005690A (zh) * 2014-11-27 2017-08-01 华为技术有限公司 极化码的速率匹配的方法、装置和无线通信设备
CN108540260A (zh) * 2017-03-02 2018-09-14 华为技术有限公司 用于确定Polar码编解码的方法、装置和设备
WO2018173006A1 (en) * 2017-03-24 2018-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for puncturing a polar code
CN109525360A (zh) * 2017-09-18 2019-03-26 华为技术有限公司 极化码的速率匹配的方法和装置
CN110771072A (zh) * 2017-06-23 2020-02-07 高通股份有限公司 具有用于阶层信令的可交叉引用嵌套结构的极化码

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005690A (zh) * 2014-11-27 2017-08-01 华为技术有限公司 极化码的速率匹配的方法、装置和无线通信设备
CN108540260A (zh) * 2017-03-02 2018-09-14 华为技术有限公司 用于确定Polar码编解码的方法、装置和设备
WO2018173006A1 (en) * 2017-03-24 2018-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for puncturing a polar code
CN110637417A (zh) * 2017-03-24 2019-12-31 瑞典爱立信有限公司 用于对极化码打孔的方法和装置
CN110771072A (zh) * 2017-06-23 2020-02-07 高通股份有限公司 具有用于阶层信令的可交叉引用嵌套结构的极化码
CN109525360A (zh) * 2017-09-18 2019-03-26 华为技术有限公司 极化码的速率匹配的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZTE等.Consideration on polar codes for NR.《3GPP TSG RAN WG1#87 R1-1611113》.2016, *

Also Published As

Publication number Publication date
CN114268409A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
WO2020014590A1 (en) Generating a compressed representation of a neural network with proficient inference speed and power consumption
CN113326930B (zh) 数据处理方法、神经网络的训练方法及相关装置、设备
CN111712835A (zh) 数据传输***中的信道建模
US20240135191A1 (en) Method, apparatus, and system for generating neural network model, device, medium, and program product
US20230299872A1 (en) Neural Network-Based Communication Method and Related Apparatus
CN109361404A (zh) 一种基于半监督深度学习网络的ldpc译码***及译码方法
WO2022088063A1 (zh) 神经网络模型的量化方法和装置、数据处理的方法和装置
KR20200062653A (ko) 다중 안테나 다중 사용자 간섭채널에서 기계학습 기반 빔포밍 방법 및 장치
CN114723057A (zh) 一种用于多接入边缘计算***的神经网络协同推理方法
CN113595993A (zh) 边缘计算下模型结构优化的车载感知设备联合学习方法
Jankowski et al. Airnet: Neural network transmission over the air
CN114071141A (zh) 一种图像处理方法及其设备
CN110009048B (zh) 一种神经网络模型的构建方法以及设备
CN114781654A (zh) 联邦迁移学习方法、装置、计算机设备及介质
Lee et al. PMNet: Robust pathloss map prediction via supervised learning
CN114268409B (zh) 构造极化码的索引序列的方法及装置
CN110782396B (zh) 一种轻量化的图像超分辨率重建网络和重建方法
CN112561050A (zh) 一种神经网络模型训练方法及装置
CN115618252A (zh) 一种光伏接入容量评估方法、装置及电子设备
CN114758130B (zh) 图像处理及模型训练方法、装置、设备和存储介质
CN112446461A (zh) 一种神经网络模型训练方法及装置
CN116644783A (zh) 模型训练方法、对象处理方法及装置、电子设备、介质
Liu et al. Flexible beamforming of dynamic MIMO networks through fully convolutional model
CN116996142A (zh) 无线信道参数预测方法、装置、电子设备及存储介质
CN116419257A (zh) 一种通信方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant