用于概率星座整形的虚拟查找表的制作方法

文档序号:20275147发布日期:2020-04-03 19:33阅读:519来源:国知局
相关申请的交叉引用本申请要求于2018年8月6日提交的申请号为16/055,989的美国专利申请以及于2017年8月9日提交的申请号为62/543,139的美国临时申请的优先权,其公开均结合于此作为参考。
背景技术
::在当今快速发展的电信基础设施中,光通信系统在长距离和短距离(从数据中心的几百米到横跨大西洋的海底光纤的数千公里的任何地方)的超高速和超高带宽数据传输中扮演最重要的角色之一。为了通过传统安装的光纤满足高吞吐量的需求,不断引入复杂的发送信号处理算法和接收信号处理算法作为待在通信硬件中实现的可能解决方案。在传统调制策略中,“调制符号”表示待传输的一组比特并定义为相移和功率水平的唯一组合,“星座”图表示每个调制符号在x-y散点图中的位置(或“星座点”)。对任何给定采样时刻可用的可能调制符号的数量是不同的相移和功率水平的数量的函数。任何给定调制策略的符号集有时称为“调制符号集”。技术实现要素:本公开的实施例涉及用于数据通信系统中的用于概率星座整形的虚拟查找表的系统和方法。在实施例中,处理器电路用于以概率方式生成调制符号。处理器电路包括接收元件,该接收元件从信源元件接收具有任意分布的多个比特。划分元件基于码字的符号长度和由调制符号集定义的调制星座,将多个比特划分成多个比特集。映射元件可以基于调制符号集的第一功率符号对多个比特集中的第一比特集进行映射来产生多个第一调制符号,以用多个第一调制符号填充输出码字的多个第一码字位置,基于调制符号集的第二功率符号对多个比特集中的第二比特集进行映射来产生多个第二调制符号,以及用多个第二调制符号填充剩余的多个码字位置,并提供输出码字用于传输。在一些示例实施例中,处理器电路可以进一步包括用于执行实施例中描述的任意一个或多个步骤的一个或多个元件。在实施例中,提供了一种由处理器电路实现的概率性地生成调制符号的方法。该方法包括:从信源装置接收具有任意分布的多个比特;基于码字的符号长度和由调制符号集定义的调制星座,将多个比特划分成多个比特集;基于调制符号集的第一功率符号对多个比特集中的第一比特集进行映射,以产生多个第一调制符号;用多个第一调制符号填充输出码字的多个第一码字位置;基于调制符号集的第二功率符号对多个比特集中的第二比特集进行映射,以产生多个第二调制符号;用多个第二调制符号填充剩余的多个码字位置;以及提供输出码字用于传输。可选地,码字的符号长度可基于对多个调制型序列中的每个调制型序列的向下取整确定。可选地,在前述任一方面中,第一功率符号用于较低功率调制符号,第二功率符号用于相对于较低功率调制的较高功率符号。可选地,在前述任一方面中,调制符号是实值,码字与同相/正交调制器的同相分支有关。可选地,在前述任一方面中,调制符号是实值,码字与同相/正交调制器的正交分支有关。可选地,在前述方面的任一方面中,调制符号是复值,且码字与同相/正交调制器的同相分支和正交分支有关。可选地,在前述任一方面中,上述多个比特由信源装置生成。在实施例中,本公开包括一种用于概率性地生成调制符号的虚拟查找表的设备。该设备包括处理器电路,该处理器电路用于:从信源装置接收具有任意分布的多个比特;基于码字的符号长度和由调制符号集定义的调制星座,将多个比特划分成多个比特集;基于调制符号集的第一功率符号对多个比特集中的第一比特集进行映射,以产生多个第一调制符号;用多个第一调制符号填充输出码字的多个第一码字位置;基于调制符号集的第二功率符号对多个比特集中的第二比特集进行映射,以产生多个第二调制符号;用多个第二调制符号填充剩余的多个码字位置;以及提供输出码字用于传输。可选地,在前述任一方面中,码字的符号长度基于对多个调制型序列中的每个调制型序列的向下取整确定。在前述任一方面中,第一功率符号是较低功率符号,第二功率符号是相对于较低功率调制的较高功率符号。可选地,在前述任一方面中,调制符号是实值,码字与同相/正交调制器的同相分支有关。可选地,在前述任一方面中,调制符号是实值,码字与同相/正交调制器的正交分支有关。可选地,在前述任一方面中,所述调制符号是复值,码字与同相/正交调制器的同相分支和正交分支有关。可选地,在前述任一方面中,上述多个比特由信源装置提供。可选地,在前述任一方面中,处理器电路还用于提供输出码字用于前向纠错(forwarderrorcorrection,fec)传输。在实施例中,本公开包括一种用于对调制符号块进行解码的方法。该方法包括:接收码字,该码字包括由基于多个调制符号集的多个调制符号填充的多个码字位置;基于调制符号集中的第一调制符号,确定第一多个调制符号的第一多个码字位置;基于调制符号集中的第二调制符号,确定第二多个调制符号的第二多个码字位置;以及对第一多个调制符号和第二多个调制符号进行解码以产生比特串。可选地,在前述任一方面中,多个调制符号集中的第一调制符号用于较低功率符号,多个调制符号中的第二调制符号用于较高功率符号。可选地,在前述任一方面中,多个调制符号是实值,码字与同相/正交调制器的同相分支有关。可选地,在前述任一方面中,多个调制符号是实值,码字与同相/正交调制器的正交分支有关。可选地,在前述任一方面中,调制符号是复值,码字与同相/正交调制器的同相分支和正交分支有关。从结合附图和权利要求的以下具体实施方式,将更清楚地理解这些特征和其他特征。附图说明为了更完整地理解本公开,现参考以下与附图和具体实施方式有关的简要说明,其中相似的附图标记表示相似的部分。图1示出了用于本公开实施例的概率星座整形架构。图2示出了本公开实施例中用于将输入比特映射成输出符号的映射器。图3示出了本公开实施例中作为调制符号的组合的虚拟查找表(lut)码字生成的高级流程图。图4示出了本公开实施例中作为调制符号的组合的虚拟lut码字生成的详细流程图。图5示出了从符号组合到比特的虚拟lut码字解码的高级流程图。图6示出了从符号组合到比特的虚拟lut码字解码的详细流程图。图7示出了根据本公开实施例的理想分布匹配和分布匹配之间的性能比较。图8示出了适用于执行本公开实施例的设备。具体实施方式一种用于解决与较高功率符号相关的问题的技术是通过概率星座整形(probabilisticconstellationshaping,pcs)。例如,与64-qam星座相关的符号相对于与16-qam星座相关的符号是较高功率符号。pcs可通过从基于正交幅度调制(quadratureamplitudemodulation,qam)的调制符号集中概率性地选择调制符号来促进较高数据速率传输。如本文使用的,“较高数据速率”涉及高达约65tbit/s的数据速率传输的实现。尽管较高的功率调制速率可为通信系统提供较快的数据速率和较高水平的频谱效率,但是其对噪声和干扰的抵抗力大大降低,除非在有利的信道条件下,否则通常很少使用。重新采用较低功率调制策略可使信道成为更可靠的链路,并且具有较少的数据错误和重发。由于幅度较低的信号对噪声和其他失真源的抵抗力较强,因此pcs使用幅度较高的星座点来传输信号的频率低于幅度较低的星座点。例如,光传输系统中的pcs可以在给定信道上获得较高的传输能力,以提高光通信的频谱效率。对星座点的pcs的进行优化可使传输操作与传统的未整形的星座相比更接近于信道的香农极限(shannonlimit)(即,对于特定的噪声水平,信道的理论最大信息传输速率)。相比之下,以与传统的16-qam星座相同的速率使用的整形的64-qam可以使信噪比(signal-to-noiseratio,snr)提高1分贝(db)(可达距离增加约25%)。在星座整形中,选择“码字”以产生输出调制符号。对于待传输的数据比特,将码字选择为最大程度地使用较低功率符号并尽量少使用较高功率符号。相比于在不考虑功率水平损耗的情况下将符号分配给调制符号集的策略,最终结果是总体降低了发射功率。先前的星座整形实现方法包括“恒定组分分布匹配”(constantcompositiondistributionmatching,ccdm)和“壳状映射”(shellmapping)。尽管在技术上可行,但因为需要使用浮点运算连续地计算概率值,所以ccdm不实用。壳状映射同样具有由调制功率和码字长度增加的复杂度。与采用算法方法(algorithmicapproach)来概率性地生成调制符号并后续采用复杂硬件实现的传统星座整形算法不同,虚拟查找表(lookuptable,lut)的本公开实施例采用以硬件为主的方法(hardware-centricapproach),这种方法在所需的信噪比(snr)方面与包括ccdm和壳状映射的复杂pcs技术相比,具有类似的小分贝算法性能。在以硬件为主的方法中,将输入比特映射到输出符号作为码字组合,无需将码字组合存储在查找表中。相反,动态地生成码字组合作为虚拟lut。相比之下,传统的星座整形算法可能需要非常多的查找表或基于硬件的浮点算术运算来产生pcs的码字组合。尽管使用较大的调制符号集可以得到较密集的调制信号,但这必然需要使用较高的功率水平,而这可能会在调制信号中引入误差。这使得更难区分与较高功率水平相关的调制符号。如果需要重发包含错误的消息,则可能会使得净吞吐量降低。本公开的实施例与调制格式无关。无需更改硬件实现以适应更高的功率调制策略。因此,实施方式并非取决于调制符号集,而是仅取决于码字长度。而且,与传统的星座整形算法不同,本公开的实施例所需的解码器的复杂度低于编码器,因此与传统策略相比进一步降低了总体复杂度。图1示出了在发射器实现的用于星座符号的概率整形的总体架构100。用于产生和/或提供视频数据、音频数据、多媒体数据等的信源装置可以提供包括分布匹配(distributionmatching,dm)比特102和非dm比特104的数据比特。可以理解,dm是从均匀分布的比特序列到产生整形的幅度的定长可逆映射,因此在概率幅度整形框架中发挥作用。dm比特102包括未满足需要的非期望分布。例如,dm比特102包括相对于彼此大体上均匀的或任意的分布。这样的均匀和/或任意分布未充分利用功率调制集来使可用信道的吞吐量最大化。可以通过各种算法或函数将dm比特102进行划分或解析。例如,可以使用floor()函数将dm比特102划分为不同的功率调制组,以供dm映射器106进行映射。可以理解,分布匹配将二进制数据序列或数据比特块转换为具有期望分布的符号序列。由dm映射器106进行的映射被配置为输入和输出之间的一对一映射以用作虚拟查找表(lut)。dm映射器106用作用于生成分布匹配的码字的基于硬件的组合机,其中,通过硬件组合高效生成器执行每个调制符号的分布码字定位,例如在输出向量a或码字108中的{1,3,5,...}。dm比特102通过dm映射器106来产生码字108,该码字108包括来自调制符号集的n个调制符号1101-110n。例如,对于16正交幅度调制(qam)调制器,调制符号集为{±1,±3}(每个符号4比特),对于36-qam调制器,调制符号集为{±1,±3,±5}(每个符号6比特),对于64-qam调制器,调制符号集为{±1,±3,±5,±7}(每个符号6比特),依此类推。不对本公开实施例适用的调制格式(并且因此调制符号集)进行限定。在36-qam调制器情况中,功率调制水平的数量是有限的,这限制了可能的吞吐率。在36-qam情况中,可以用额外的功率调制水平来提高吞吐量。在这方面,调制符号集可以表示为符号1101-110n,这些符号由前向纠错(forwarderrorcorrection,fec)幅度标记114转换为比特,然后进一步由fec116使用fec码与非dm数据比特一起编码。fec116的输出是二进制比特,对这些二进制比特使用正负号计算(signcalculation)120以确定dm映射器106产生的用于传输的调制符号。例如,将n个调制符号1101-110n与经由正负号计算120相乘(“x”)后的fec116的输出相乘,以产生带正负号的调制符号1181-118n。应当注意的是,在该实施例中,该实现方式是针对i分支和q分支独立实施的。例如,码字108是无正负号的实调制符号1101-110n的集合。在dm映射器106的映射过程之后执行码字108的调制符号1101-110n的正负号分配,并将i(同相)分支和q(正交)分支合并为复码字。然而,本公开实施例不限于此并且可以被修改为联合处理i分支和q分支,且码字输出可以是复向量。图2示出了dm映射器106的局部视图。如示出的,存在2k种组合用于从k个输入比特(dm比特102)到n个调制符号1101-110n的映射。应当注意,与传统系统不同,dm映射器106的实施例无需将n个调制符号1101-110n中的任何一个调制符号物理地存储在存储器中。相反,本公开的实施例将这些条目视为针对每个输入比特组合在硬件中动态生成的符号组合,该硬件用作虚拟查找表(lut)。这里,码字108中的调制符号1101-110n的数量n取决于调制格式。例如:n=n1+n3+n5+n7(64-qam符号集{1,3,5,7})n=n1+n3+n5(36-qam符号集{1,3,5})n=n1+n3(16-qam符号集{1,3})其中,n是调制符号的数量,n1是水平1调制符号的数量,n3是水平3调制符号的数量,n5是水平5调制符号的数量,n7是水平7调制符号的数量,依此类推。可以理解,调制符号集可以按奇数系列、偶数系列、或表示进一步qam调制图案(例如256-qam、1024-qam等)的混合数系列延续,可以由系列表达式表示。奇数调制符号集的示例可以是{1,3,5,7,...}。偶数调制符号集的示例可以是{2,4,6,8,...}。另外,基于设计和/或信道特性,可以舍去常用的较低功率水平调制符号。这种调制符号集的示例可以包括{4,6,8,...},{3,5,7,...}等。可以依次生成形成码字108的n个调制符号1101-110n。例如,对于64-qam调制,首先确定长度为n的码字108内的n1个符号的位置。然后,确定剩余的n-n1个符号长度内的n3个符号的位置。然后,确定n-n1-n3个符号的码字108内的n5个符号的位置。最后,码字108内的未填充位置用长度为n7的符号7填充。对于36-qam,确定码字108的n1个“1”符号和n3个“3”符号的位置,剩余的n-n1-n3个位置用n5个“5”符号填充。对于16-qam,仅确定n1个“1”符号的位置,码字108的剩余n-n1个符号用n3个“3”符号填充。n1、n3、n5、和n7的选择使得根据以下有足够数量的输出码字来表示k个输入比特的所有组合:其中,floor()函数表示向下取整。c是来自值的较大集的值的子集的组合。例如,表示来自包括n个值的或码字符号长度为n的较大调制集的调制子集n1的组合的数量。调制符号长度n1、n3、n5、n7一旦满足上述条件,编码过程就包括将k比特输入(dm比特102)划分或分为b1比特集、b2比特集、和b3比特集,以最大程度地使用较低功率符号,并尽量少使用较高功率符号,使得:2k=2b1×2b2×2b3(64-qam)k=b1+b2+b32k=2b1×2b2(36-qam)k=b1+b22k=2b1(16-qam)k=b1其中,本示例的每个比特集的整数数量是图3示出了本公开实施例中的概率地生成输出码字的多个调制符号的过程的高级流程图300,该过程最大化较低功率符号的使用并最小化较高功率符号的使用。在操作301中,接收第一多个比特,并确定最低功率调制符号(“1”调制符号)的位置。在操作302中,将“1”调制符号插入码字的确定位置。在操作303和304中,对“3”调制符号重复上述操作。图4示出了本公开实施例中的映射过程的详细流程图400。流程图400可用于实现流程图300的操作。如操作401所示,将n、m、index、和lut输入流程图400,其中m与n1相同,lut是二维(two-dimensional,2d)查找表,该查找表包括为相应的输入编码输出的某些函数整数值。2dlut的整数值是不变的并且表示一些整数,这些整数等于对于n和k的不同值由给出的组合的总数。在操作402中,分别将索引k和i初始化为0和1。在操作403中,将i的当前值与m进行比较。当i和m相等时,则在操作404中对向量a的第m项进行设置,过程结束。当i不等于m时,则根据操作405,当i大于1时,则将向量a的第i项设为向量a的前一项。否则,当i小于或等于1时,则将向量a的第i项设为零。在操作406中,将向量a的第i项递增,并计算j和k的值,其中j等于n–a(i),k是m的递减值(即,m-i)。k的值根据lut(j,k)的值更新。在操作407中,如果k大于或等于index,则在操作408中,重新计算k,将i递增,并且处理在操作403继续;否则,重复操作406。在流程图400的映射过程完成时,向量a表示码字108。图5示出了用于对将较低功率符号最大化以及将较高功率符号最小化的调制符号块进行解码以生成对应比特的块的高级流程图500。这些比特可以是使用流程图300和流程图400的操作创建的。在操作501中,已接收码字;该码字包括一个由“1”调制符号和“3”调制符号(即,功率水平为1和3的调制符号)组成的字符串。在操作502中,确定“1”调制符号的位置,在操作503中,确定“3”调制符号的位置。在操作504中,根据调制符号的位置对码字进行解码以创建对应的比特串。图6示出了本公开实施例的适用于对包括n个调制符号的块进行解码并生成k个比特的块的详细流程图600,其中,k是码字108的设置长度并且表示为经由通信信道和/或网络路径接收的变量a。图6的解码器流程图中的变量a是被解码的特定调制符号的位置的序列,例如由dm映射器106编码的符号序列{1,3,5,…}。流程图600可用于实现流程图500的操作。如操作601所示,变量a、n、和lut是流程图600的输入。作为图1的接收的码字108的长度,变量a是符号“1”的位置的序列。变量n是上述块中的调制符号的数量。变量lut是如流程图400所示的二维(2d)查找表。应当注意,如果硬件实现允许,则可对编码器和解码器(或codec)共享lut;但是,如果不能共享lut,则解码器lut可以是编码器lut的较小子集。在操作602中,将变量索引k、index、和last初始化为0,并将depth初始化为1。将索引k初始化为码字a(也称为向量a)的长度。在操作603中,将depth的当前值与k+1进行比较。如果depth尚未等于k+1,则在操作605中将i设为last+1。在操作606中,将i与符号a的depth处进行比较;如果不相等,则在操作607中重新计算index和i,在操作605重新计算i,并在操作606中重新检验i,直到在操作606中i和符号a的depth处相等为止。在操作608中,将last设为符号a的depth处,并将depth递增。上述过程在步骤603重复,直到depth等于k+1。此时,已经确定了码字中所有“1”符号的位置,并在操作604中,index的最终值为整数值,index的最终值的比特表示与输出的前b1个比特对应。对剩余符号依次进行解码;然而,变量a视为随dm映射器106生成的码字108而变化。例如,可以更改每个功率符号水平的位置的序列。比特的后续子集可以具有不同数量的第一水平功率符号、第二水平功率符号等。相应地,重复操作603-操作608以识别剩余的n-n1个符号的集内的所有“3”功率符号的位置,其中,index的最终值的比特表示与输出的之后b2个比特对应。再次重复操作603-操作608以识别接收的码字108的剩余n-n1-n3个符号内的所有“5”功率符号的位置,其中,index的最终值与输出的之后b3个比特对应。本领域普通技术人员可以知道流程图300至流程图600是示例性的,且可在常规工程的普通过程中进行修改。作为示例而不是限制,可以对流程图的操作进行修改以适应任何调制格式。进一步,只要流程图的最终结果没有改变,就可以对操作的顺序进行调整。进一步,为了实现与流程图的一般目的相关的其他目的,可以增加其他操作,或者可以将流程图的操作和与接收器、发射器、或调制器的功能相关的其他操作相结合。进一步,可以针对额外的功率水平的调制符号对流程图进行修改。图7示出了使用理想高斯分布的分布匹配和使用虚拟vlut生成的分布匹配之间的性能比较。从图中可以看出,随着块长度的增加,基于虚拟lut的实际dm方法的性能接近理想dm的性能。图表701示出了具有25%fec的36-qam格式的性能,图表702示出了具有11%fec的64-qam格式的性能。图8是适用于执行本公开实施例的装置800的框图。装置800包括处理电路801、存储器802、和收发器803。处理电路801可包括专用集成电路、现场可编程门阵列、专用或通用处理器、或能够执行本公开实施例所需的操作的任何其他电路。存储器802可被集成到与处理电路801相同的电路中,或者存储器802可以是能够满足本公开实施例所需的短期和长期存储需求的任何其他电路。收发器803可以是用于与外部光网络、无线网络、或有线网络交互所需的包括调制器、接收器、和本领域普通技术人员已知的其他组件的任何电路。因此,本文公开了一种用于概率性地生成调制符号的方法和设备,该设备包括:用于接收第一多个比特的器件、用于对输出码字确定多个“1”调制符号的位置的器件、用于将“1”调制符号插入输出码字的器件、用于接收第二多个比特的器件、用于对输出码字确定多个“3”调制符号的位置的器件、以及用于将“3”调制符号插入输出码字的器件。本文还进一步公开了一种用于对调制符号块进行解码的方法和设备,该设备包括:用于接收码字的器件、该码字包括多个调制符号,该调制符号包括调制符号集的符号、用于确定码字中的“1”调制符号的位置的器件、用于确定码字中的“3”调制符号的位置的器件、以及将“1”调制符号和“3”调制符号解码为比特串的器件。尽管已经参考特定特征及其实施例描述了本公开,但显而易见的是,在不脱离本公开范围的情况下可对其进行各种修改和组合。因此,说明书和附图应仅视为由所附权利要求限定的本公开的说明,并且预期其涵盖落入本公开范围内的任何和所有修改、变型、组合、或等同物。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1