一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于低密度奇偶校验码解码的装置和方法与流程

2023-02-19 08:11:58 来源:中国专利 TAG:


1.各种示例实施例涉及用于低密度奇偶校验码解码的装置和方法。


背景技术:

2.低密度奇偶校验(ldpc)码是被用来校正在物理介质上的数据传输期间发生的比特错误的前向纠错码。


技术实现要素:

3.本公开的各种实施例由独立权利要求来陈述。根据独立权利要求的方法和装置已经在变量节点(variable-node)中并入校正以检查节点消息。因为ldpc解码器的实际实现表示具有有限大小比特字的值,并且因为消息由与总对数似然比值相比更短的比特字来表示,所以根据独立权利要求的方法和装置更好地利用ldpc码解码过程中的可用水平的比特字,并且因此改进了ldpc解码过程的性能。
4.本文公开了一种用于在第一处理设备中进行低密度奇偶校验码解码的方法,包括:接收与信号的比特的对数似然比相关的第一长度的第一比特字;获得比第一长度更短的第二长度的第二比特字,其中获得第二比特字包括对第一比特字应用校正;取决于第二比特字集合来确定消息,其中第二比特字集合包括第二比特字。
5.在本发明的一个方面中,应用校正包括:将第一比特字映射到第一长度的中间比特字,其中由中间比特字表示的值是由第一比特字表示的值的分数。
6.在本发明的一个方面中,应用校正包括:将第一比特字映射到第一长度的中间比特字,其中由中间比特字表示的值的量值是由第一比特字表示的值的量值减去偏移。
7.在本发明的一个方面中,应用校正包括:在包括第一比特字到第二比特字的映射的表中查找第二比特字,其中映射包括校正。
8.方法可以包括:取决于第二比特字集合中的第二比特字的符号的乘积来确定消息的符号;以及取决于第二比特字集合中的第二比特字的最小大小来确定消息的大小。
9.该方法可以包括取决于总对数似然比与先前计算出的消息之间的差异来确定第一比特字。
10.一种用于低密度奇偶校验码解码的装置,包括用于以下操作的部件:接收与信号的比特的对数似然比相关的第一长度的第一比特字;获得比第一长度更短的第二长度的第二比特字,其中获得第二比特字包括对第一比特字应用校正;取决于第二比特字集合来确定消息,其中第二比特字集合包括第二比特字。
11.在本发明的一个方面中,该装置包括部件,该部件对于应用校正而被配置用于将第一比特字映射到第一长度的中间比特字,其中由中间比特字表示的值是由第一比特字表示的值的分数。
12.在本发明的一个方面中,该装置包括部件,该部件对于应用校正而被配置用于将第一比特字映射到第一长度的中间比特字,其中由中间比特字表示的值的量值是由第一比
特字表示的值的量值减去偏移。
13.在本发明的一个方面中,该装置包括部件,该部件对于应用校正而被配置用于在包括第一比特字到第二比特字的映射的表中查找第二比特字,其中映射包括校正。
14.在本发明的一个方面中,该装置包括部件,该部件被配置用于取决于第二比特字集合中的第二比特字的符号的乘积来确定消息的符号;以及取决于第二比特字集合中的第二比特字的最小量值来确定消息的量值。
15.在本公开的一个方面中,该装置包括部件,该部件被配置用于取决于总对数似然比与先前计算出的消息之间的差异来确定第一比特字。
16.本文所公开的非瞬态计算机可读介质包括用于使装置至少执行方法的程序指令。
附图说明
17.图1示意性地描绘了用于低密度奇偶校验码解码的装置的第一实施例的部分。
18.图2描绘了包括用于在低密度奇偶校验码解码中使用的方法的第一实施例中的步骤的序列图。
19.图3描绘了第一示例性比特字,
20.图4示意性地描绘了用于低密度奇偶校验码解码的装置的第二实施例的部分。
21.图5描绘了包括用于在低密度奇偶校验码解码中使用的方法的第二实施例中的步骤的序列图。
22.图6描绘了第二示例性比特字,
23.图7描绘了计算对应于变量节点(variable node)和校验节点的消息的第一处理,
24.图8描绘了计算对应于变量节点和校验节点的消息的第二处理。
具体实施方式
25.ldpc码是取k个信息比特并将它们编码为n个比特的码字的块码,在本文所公开的示例中,其除了n-k个奇偶校验比特之外还包括k个信息比特。ldpc码的码率r是r=k/n。
26.使用ldpc码的技术的示例包括无线技术,例如5g;同轴电缆技术,例如docsis 3.1;数字用户线技术,例如mgfast;无源光网络技术,例如ieee 802.3ca和g.9804.2;电力线技术,例如g.hn。
27.ldpc码字包括对应于例如数据比特的信息的k个信息比特。ldpc码字包括对应于n-k个冗余奇偶校验比特的n-k个比特。在该示例中,ldpc码字的n个比特的顺序中的前k个比特对应于k个信息比特,并且该顺序中的最后n-k个比特对应于奇偶校验比特。
28.ldpc的特性由二进制(n-k)
×
n奇偶校验矩阵h来描述。矩阵h包括与ldpc码字的n个比特相对应的n列。矩阵h包括与ldpc码的任何有效码字应该满足的校验约束相对应的n-k行。在一些实施例中,ldpc码可以通过将一些信息比特设置为例如0的固定值并且不发送这些比特而被缩短。类似地,在一些实施例中,ldpc码可以通过不传输编码比特中的一些来打孔。利用打孔和缩短,(n-k)
×
n奇偶校验矩阵h可以被用来将k'≤k个比特编码为n'≤n比特长的码字,其可以是非系统的。
29.该示例中的校验约束在于:奇偶校验矩阵的行中所指示的ldpc码字的比特的xor和(异或和)必须是0。在这个上下文中意指矩阵元素为1。这可以在形式上被表达为矩阵乘
法,随后是模2运算,例如:
30.mod(h.v,2)=0
31.其中v是数据比特和奇偶校验比特的列向量。
32.可以使用迭代置信传播(iterative belief propagation)来对ldpc码进行解码。迭代置信传播将基于接收信号计算出的接收比特vi的初始对数似然比llr
in,i
作为输入。初始对数似然比llr
in,i
是给定接收样本yi比特vi为0的概率p与给定接收样本yi比特vi为1的概率之比的对数:
[0033][0034]
例如在数字均衡的情况下,也可以基于一组接收样本来计算对数似然比llr
in,i
。对于被打孔的比特(punctured bit),初始对数似然比llr
in,t
可以被设置为0,对于缩短的比特,则被设置为高正值。基于置信传播的ldpc码解码过程是迭代过程,其中消息从变量节点vi发送到校验节点cj,反之亦然。在ldpc码解码过程中,n个码字比特一对一地映射到变量节点vi。校验节点cj对应于n-k个校验约束。这意味着n-k个校验节点cj被使用。
[0035]
在该示例中,置信传播过程是和积算法(sum-product algorithm)。在置信传播过程中,初始对数似然比lr
in,i
被指派给针对n个变量节点vi的总对数似然比在置信传播过程中,消息在n个变量节点和n-k个校验节点之间迭代传播。存在两种类型的消息:从变量节点传播到校验节点的变量节点到校验节点消息,以及从校验节点传播到变量节点的校验节点到变量节点消息。对于奇偶校验矩阵h中的每个非零元素,存在每种类型的一个消息。在该过程中,初始值被指派给奇偶校验矩阵的对应元素为1的每个校验节点到变量节点消息
[0036]
然后,迭代置信传播过程开始,其中从变量节点vi到校验节点cj的变量节点到校验节点消息在第k次迭代中被计算为:
[0037][0038]
接下来,根据变量节点到校验节点消息来计算校验节点到变量节点消息在该示例中,校验节点cj到变量节点vi的校验节点到变量节点消息是根据除来自变量节点vi的消息之外的到这个校验节点cj的所有变量节点到校验节点消息来确定的:
[0039][0040]
然后,每个变量节点的总对数似然比例如通过如下而被更新,
[0041][0042]

[0043][0044]
在这里,的符号对应于码字中的比特i的当前估计比特值。
[0045]
置信传播过程被迭代地重复,直到例如获得有效码字,或达到固定数目的迭代。校验节点到变量节点消息可以以不同的序列来更新。两个序列是:分层调度,其中顺序地(即,一次一个校验节点)更新校验节点到变量节点消息,以及泛洪调度,其中并行地更新所有校验节点的校验节点到变量节点消息。
[0046]
在另一示例中,发送到特定变量节点的校验节点到变量节点消息的大小由所接收的除从校验节点到变量节点消息将被发送到的变量节点vi接收的消息之外的变量节点到校验节点消息的最小大小的绝对值来近似。校验节点到变量节点的符号可以被计算为相关的变量节点到校验节点消息的符号的乘积。
[0047]
该实现是最小和解码器,其在数学上被公式化如下:
[0048][0049]
在最小消息的大小相似的情况下,这些近似过高估计校验节点到变量节点消息。
[0050]
可以应用校正来补偿这种效应。
[0051]
示例性校正是衰减的最小和解码器,其中校验节点到变量节点消息用因子ρ《1来缩放。对应的衰减最小和算法在数学上被公式化如下:
[0052][0053]
另一示例性校正是偏移最小和解码器,其中从校验节点到变量节点消息中减去偏移c
offset
>0。对应的偏移最小和算法在数学上被公式化如下:
[0054][0055]
校正的最小和解码器,诸如衰减的最小和解码器和偏移的最小和解码器,提供了解码复杂度和解码性能之间的良好折衷。
[0056]
当在定制的硬件实现中实现衰减的最小和算法或者偏移的最小和算法时,将表示变量节点到校验节点消息和/或校验节点到变量节点消息和/或总llr值的比特数最小化对所需资源具有显著的影响。因此,特别是在硬件实现中,减少表示变量节点到校验节点消息和/或校验节点到变量节点消息的值和/或总llr值的比特数是获得性能良好且成本有效的解决方案的关键。
[0057]
在校正的最小和解码器中,可以是例如衰减或偏移的校正传统上在最小操作之后被应用。因此,校验节点到变量节点消息不使用由于这些消息在硬件实现中的比
特表示而可用的值的全部范围。
[0058]
在处理中较早地应用校正使得校验节点到变量节点消息能够使用可用的值的全部范围。
[0059]
变量节点到校验节点消息是否从变量节点vi发送到校验节点cj、和/或校验节点到变量节点消息是否从校验节点cj发送到变量节点vi取决于ldpc码的结构。在该示例中,包括校验约束的奇偶校验矩阵h的n-k行中的非零条目定义了变量节点到校验节点消息从变量节点vi发送到校验节点cj,以及校验节点到变量节点消息从校验节点cj发送到变量节点vi。变量节点vi由矩阵h的列来表示。校验节点cj由矩阵h的行来表示。如果相应行和列中的矩阵h的矩阵元素是非零的,则将变量节点到校验节点消息从变量节点vi发送到校验节点cj,并且将校验节点到变量节点消息从校验节点cj发送到变量节点vi。否则,在这些节点之间不交换消息。
[0060]
图1示意性地描绘了用于ldpc码解码的装置102的第一实施例。
[0061]
根据第一实施例的装置102被配置用于接收与信号的比特的对数似然比相关的第一长度的第一比特字104。
[0062]
根据第一实施例的装置102被配置用于在第一操作106中将第一比特字104映射到第一长度的中间比特字108。
[0063]
在该示例中,第一操作106包括将中间比特字108确定为第一比特字104的分数。在本公开的上下文中,分数(fraction)指的是由比特字表示的值的分数并且小于1。分数可以通过二进制移位操作或通过对表示大小的第一比特字104的部分执行的若干二进制移位操作之和来确定。
[0064]
分数可以通过用预定映射将第一比特字104映射到中间比特字108来确定。映射优选地定义任何可能的第一比特字到一个中间比特字的一对一映射。若干第一比特字可以被映射到相同的中间比特字。
[0065]
第一比特字104到中间比特字108的映射可以包括在包括第一比特字104到中间比特字108的映射的第一表中查找中间比特字108。
[0066]
根据第一实施例的装置102被配置用于在第二操作110中将中间比特字108映射到第二比特字112。在该示例中,第二操作110包括确定第二比特字112具有比中间比特字108更少的比特。第二操作110可以包括根据预定映射将中间比特字108映射到第二比特字112。映射优选地定义任何可能的中间比特字到一个第二比特字的一对一映射。若干中间比特字可以被映射到相同的第二比特字。
[0067]
中间比特字108到第二比特字112的映射可以包括在包括中间比特字108到第二比特字112的映射的第二表中查找第二比特字112。
[0068]
这意味着,根据第一实施例的装置102被配置用于将第一比特字104映射到第二比特字112。第二比特字112具有比第一长度更短的第二长度。
[0069]
根据第一实施例的装置102被配置用于将第二比特字112存储到存储器。下面描述
处理第二比特字112的各方面。
[0070]
根据第一实施例的装置102可以包括非瞬态计算机可读介质,其包括用于使第一装置执行用于低密度奇偶校验码解码的第一方法中的步骤的程序指令。
[0071]
下面参考图2描述第一方法。
[0072]
第一方法包括步骤202。
[0073]
在步骤202中,接收第一长度的第一比特字104。
[0074]
之后,执行步骤204。
[0075]
在步骤204中,利用第一操作106将第一比特字104映射到第一长度的中间比特字108。
[0076]
中间比特字108可以是第一比特字104的分数或大小偏移值。
[0077]
之后,执行步骤206。
[0078]
在步骤206中,利用第二操作110将中间比特字108映射到第二比特字112。
[0079]
之后,执行步骤208。
[0080]
在步骤208中,存储第二比特字112。
[0081]
下面描述处理第二比特字112的各方面。
[0082]
图3描绘了第一示例性比特字,其中第一比特字104和中间比特字108具有4比特,而第二比特字112具有3比特。在图3中,仅描绘了正值。仅示出了其中第一比特或符号比特为0并且其因此表示正消息的比特字。比特字中的第一比特是符号比特,并且如果它为1,那么该值为负。也存在用于负值的比特字。这些比特字表示变量节点vi和校验节点cj之间的消息。在各个节点之间的比特字的长度小于在变量节点中处理的比特字的长度。这显著地减少了通信所需的资源。
[0083]
图4示意性地描绘了用于ldpc码解码的装置的第二实施例402。
[0084]
根据第二实施例的装置402被配置用于接收第一长度的第一比特字404。
[0085]
根据第二实施例的装置402被配置用于在第一操作406中将第一比特字404映射到第二比特字408,同时应用校正。在该示例中,第一操作406包括确定第二比特字408具有比第一比特字404更少的比特。第一操作406可以包括根据包括校正的预定映射将第一比特字404映射到第二比特字408。映射优选地定义任何可能的第一比特字到一个第二比特字的一对一映射。若干第一比特字可以被映射到相同的第二比特字。
[0086]
第一比特字404到第二比特字408的映射可以包括在包括第一比特字404到第二比特字408的映射的表中查找第二比特字408,同时应用校正。
[0087]
这意味着,根据第二实施例的装置402被配置用于将第一比特字404映射到第二比特字408。第二比特字408具有比第一长度更短的第二长度。
[0088]
根据第二实施例的装置402被配置用于将第二比特字408存储在存储器中。
[0089]
根据第二实施的装置例402可以包括非瞬态计算机可读介质,其包括用于使第二装置执行用于低密度奇偶校验码解码的第二方法中的步骤的程序指令。
[0090]
下面参考图5描述第二方法。
[0091]
第二方法包括步骤502。
[0092]
在步骤502中,接收第一长度的第一比特字404。
[0093]
之后,执行步骤504。
[0094]
在步骤504中,利用第一操作406将第一比特字404映射到第二长度的第二比特字408。映射包括校正。
[0095]
之后,执行步骤506。
[0096]
在步骤506中,存储第二比特字408。
[0097]
图6描绘了第一示例性比特字,其中第一比特字404具有4比特,而第二比特字408具有3比特。在图6中,仅描绘了正值。仅示出了其中第一比特或符号比特为0并且其因此表示正消息的比特字。比特字中的第一比特是符号比特,并且如果它为1,那么该值为负。也存在用于负值的比特字。这些比特字表示变量节点vi和校验节点cj之间的消息。在各个节点之间交换的比特字的长度小于表示例如在变量节点中处理的总数为llrs的比特字的长度。这显著地减少了通信所需的资源。
[0098]
通常,比特字可以以各种表示格式来表示带符号的值,如,例如符号大小表示或二进制补码表示。404仅表示所提及的表示格式的正值。
[0099]
对于映射,可以使用线性映射,例如0000对应于0,0001对应于1,0010对应于2,0011对应于3,0100对应于4,0101对应于5,0110对应于6,0111对应于7。
[0100]
对于映射,可以使用非线性映射,例如,000对应于0,001对应于1,010对应于3和011对应于5。
[0101]
利用这种方法,消息的范围可以进一步显著增加。这是通过例如基于查找表实现用于执行第二操作的块来实现的,该查找表基于输入消息的大小来产生输出消息电平的正确大小。
[0102]
图7描绘了计算对应于一个变量节点和一个校验节点的校验节点到变量节点消息700的第一处理。第一处理涉及ldpc解码器的一次迭代或更新,用于取决于输入对数似然比704来确定解码比特值702。
[0103]
解码比特702是总对数似然比706的符号。
[0104]
总对数似然比706取决于具有值710的校验节点到变量节点消息700的加法708来确定,该值710取决于从先前确定的总对数似然比的存储器712中采样的先前确定的总对数似然比与从先前确定的校验节点到变量节点消息的存储器714中采样的先前确定的校验节点到变量节点消息之间的差异711来确定。在该示例中,值710和校验节点到变量节点消息700是与同一变量节点vi和同一校验节cj点相关的值,然后它们的和708是该变量节点vi的总对数似然比706。
[0105]
根据第一比特字716-1,...,716-h的集合来确定校验节点到变量节点消息700。取决于从先前确定的总对数似然比的存储器712中采样的相应先前确定的总对数似然比与从先前确定的校验节点到变量节点消息的存储器714中采样的相应先前确定的校验节点到变量节点消息之间的相应差异718-1,...,718-h来确定第一比特字716-1,...,716-h的集合。
[0106]
根据由矩阵h提供的配置,通过处理720第二比特字722-1,...,722-h的集合来确定校验节点到变量节点消息700。通过对相应的第一比特字716-1,...,716-h应用相应的校正724-1,...,724-h来确定第二比特字722-1,...,722-h的集合。第一比特字716-1,...,716-h是第一长度的比特字,并且第二比特字722-1,...,722-h是第二长度的比特字。第二比特字722-1,...,722-h可以如上参考图1或图4所述来确定。第二比特字722-1,...,722-h的集合可以在相应的中间消息中被提供给处理720。在该示例中,处理720可以被配置为选
择第二比特字722-1,...,722-h的集合的绝对值最小比特字的大小作为校验节点到变量节点消息700的大小,并且将其校验节点到变量节点消息700的符号计算为第二比特字722-1,...,722-h的集合的符号的乘积。
[0107]
第一处理可以并行或顺序地进行,例如通过相同的处理单元。
[0108]
处理可以跨不同的变量节点或校验节点而被共享。例如,对于相同的校验节点但对于不同的变量节点,可以重新使用相同的第一比特字来计算校验节点到变量节点消息。
[0109]
图8描绘了计算对应于一个变量节点和一个校验节点的校验节点到变量节点消息802的第二处理。第二处理涉及ldpc解码器的一次迭代或更新,用于取决于输入对数似然比806来确定解码比特值804。
[0110]
解码比特804是总对数似然比的符号。取决于从包括先前确定的校验节点到变量节点消息的存储器810中采样的校验节点到变量节点消息的集合与从包括输入对数似然比集合的存储器820中采样的输入对数似然比之和808来确定总对数似然比。
[0111]
取决于第一比特字816-1,...,816-h的集合来确定校验节点到变量节点消息802。取决于从包括输入对数似然比集合的存储器820中采样的相应输入对数似然比与从先前确定的校验节点到变量节点消息的存储器810中采样的先前确定的校验节点到变量节点消息集合的相应总和818-1,...,818-h来确定第一比特字816-1,...,816-h的集合。
[0112]
根据由矩阵h提供的配置,通过处理820第二比特字822-1,...,822-h的集合来确定校验节点到变量节点消息802。通过对相应的第一比特字816-1,...,816-h应用相应的校正824-1,...,824-h来确定第二比特字822-1,...,822-h的集合。第一比特字816-1,...,816-h是第一长度的比特字,并且第二比特字822-1,...,822-h是第二长度的比特字。第二比特字822-1,...,822-h可以如上参考图1或图4所述来确定。第二比特字822-1,...,822-h的集合可以在相应的消息中被提供给处理820。在该示例中,处理820可以被配置为选择第二比特字822-1,...,822-h的集合的绝对值最小比特字的大小作为校验节点到变量节点消息800的大小,并且将其校验节点到变量节点消息800的符号计算为第二比特字822-1,...,822-h的集合的符号的乘积。
[0113]
该处理可以并行或顺序地进行,例如通过相同的处理单元。
[0114]
处理可以跨不同的变量节点或校验节点而被共享。例如,对于相同的校验节点和不同的变量节点,可以重新使用相同的第一比特字来计算校验节点到变量节点消息。
[0115]
可以用单独的块或使用被用于确定第一比特字的和块(sum block)中的一个和块来确定和808。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献