奇偶校验码的译码方法和译码系统与流程

文档序号:17922127发布日期:2019-06-15 00:11阅读:856来源:国知局
奇偶校验码的译码方法和译码系统与流程

本发明涉及奇偶校验码的译码领域,具体地,涉及低密度奇偶校验(ldpc)码的高速译码。



背景技术:

低密度奇偶校验(ldpc)码是一族由稀疏奇偶校验矩阵(pcm)表征的线性码。它们通常通过和积算法进行译码。现今,ldpc码属于已知最有效的纠错码类别并获得越来越多的应用。

f.r.kschischang等人于2001年发表在ieeetransactiononinformationtheory第47卷第2期第498-519页的论文“factorgraphsandthesum-productalgorithm(因子图与和积算法)”提供了和积算法的统一表示。ldpc码可以由因子图表示,所述因子图的因子节点和变量节点分别对应于校验方程和码变量。译码可通过使和积消息沿因子图的边缘迭代地传递来实现。

和积算法通常遵循两阶段调度。在每次迭代中,首先从变量节点到校验(即,因子)节点的第一所有消息(“变量至校验”消息)、然后从校验节点到变量节点的所有消息(“校验至变量”消息)被计算和传播。

englingyeo等人于2001年发表在globaltelecommunicationsconference,2001(globecom'01)汇刊第5卷第3019-3024页中的论文“highthroughputlow-densityparity-checkdecoderarchitecture(高吞吐量低密度奇偶校验译码器架构)”介绍了称为“交错调度”的替代调度。根据此方法,校验节点聚集在若干组中。属于相同组的节点同时被处理,而不同节点组顺序地被处理。由此,从每个组获得的中间更新可为已经位于相同迭代内的后续组所用。不仅使此调度提高了性能,而且需要较少的存储空间。

m.mansour和n.r.shanbhag于2003年发表在ieeetransactionsonverylargescaleintegration(vlsi)systems第11卷第16期第976-996页中的论文“high-throughputldpcdecoders(高吞吐量ldpc译码器)”给出了turbo译码消息传递(tdmp)算法,该算法依赖于相同的调度。

d.e.hocevar发表在ieeeworkshoponsignalprocessingsystems,2004(sips2004)汇刊第107-112页中的论文“areducedcomplexitydecoderarchitecturevialayereddecodingofldpccodes(经由ldpc码的分层译码降低复杂度的译码器架构)”介绍了“分层译码”,该译码采用了相似的理念。

当并行处理的校验方程相互独立时,分层译码或tdmp或交错调度最佳地执行。从本公开的意义而言,“分层ldpc码”可以由具有块结构的pcm定义,其中所述块结构的子矩阵是一致大小p×p的置换矩阵。下面,我们将每组p个连续行称为“块行”,并将每组p个连续列称为“块列”。

为了说明,图1示出了示例性分层ldpc码的pcm,其中∏i,j表示第i块行与第j块列的交叉处的置换子矩阵,空实体对应于大小为p×p的零子矩阵。由于置换矩阵具有常量行权重1和常量列权重1,因此每个“块行”对应于相互独立的方程,即,涉及不相交的变量集的方程。由此,分层ldpc码非常适合最大并行度为p个校验节点的分层译码。

二进制ldpc码的译码通常在对数似然比(llr)算法中实现。译码器设置有信道llr,它表示每个比特为0或1的概率。对于无记忆信道和同分布的比特,llr可以被定义为

其中log表示自然对数,y是接收的信号,bi是第i个比特。提取llr的符号等同于做出硬判决,由此正值和负值分别对应于0和1。对于llr架构的更多细节,我们参考j.hagenauer等人于1996年发表在ieeetransactionsoninformationtheory第42卷第2期第429-445页的论文“iterativedecodingofbinaryblockandconvolutionalcodes(二进制块和卷积码的迭代译码)”。

图2示意性地示出了分层和积译码算法的伪代码,其中

·i是译码迭代的最大次数,

·v是所有变量的“后验”llr的向量,

·c2vi是第i次迭代结束时所有校验至变量llr消息的向量,以及

·v2ci是第i次迭代的所有变量至校验llr消息的向量。

此外,我们用v[r]、c2vi[r]和c2vi[r]表示处理第r个块行时涉及的各和积消息向量的片段。关于图1,v[0]指在处理第一个块行时涉及的变量llr,即块列0、1、2和4的llr。以相同的方式,c2vi[0]和v2ci[0]表示在块行0与块列0、1、2和4交叉处传递的消息。提取这些片段一般涉及对消息的一些置乱操作。因此,置乱是隐含在所采用的索引规约中的。

pcm的每个行表示单奇偶校验(spc)码。图2的第6行中所使用的spcdec函数并行处理与第r个块行对应的p个spc码。对于每个spc码,此函数计算将从校验节点发送至所涉及的变量集合v中的每个第k个变量节点的消息:

这里,v2ci(l)是源自spc码的第l个变量节点的当前消息,表示由

定义的结合交换llr异或(xor)运算符,

其中

它在线性函数方面可进行良好的近似。

图2的算法包含码变量的后验llr上的处理循环。第(r+1)个块行,需要在处理第r个块行时在第7行计算的值来执行第5行。明显地,译码过程直到前一个块行的结果可用才能继续。

在任意实际的vlsi实现中,第4行至第8行的循环具有由技术约束制定的不可避免的时延。调度中等待周期的存在等同于系统时钟频率的减少,因此导致吞吐量的降低和/或译码迭代次数的减少,这些都是不期望的效果。

在题为“ldpcdecoder,correspondingmethod,systemandcomputerprogram(ldpc译码器,相应的方法、系统和计算机程序)”的us7,174,495b2中,e.boutillon等人介绍了用于实现ldpc译码器的总体架构。他们解释了如果译码器不尊敬等待周期,则后验变量llr的更新会不一致,他们称其为“割边冲突”。在我们的记号中,us'495考虑了差或“delta:

在适当地置乱之后,此delta被加到后验变量llr。然而,us'495需要从后验变量llr的存储空间到加法器电路的附加连接,因此需要第二读端口。

在ldpc译码器中,ram端口的宽度随着数据吞吐量和所支持的迭代的最大次数线性地增长。对于高速高性能译码器,ram的面积和功耗由端口主导而非由存储空间主导。具有一个写端口和两个读端口的双端口ram几乎是具有一个写端口和一个读端口的两端口ram的2倍大。因此,面积和功耗的增大使得us'495的技术实际上对所考虑类别的应用而言没有吸引力。

m.rovini等人于2006年发表在第9次euromicroconferenceondigitalsystemdesign(dsd'06)汇刊第537-544页的论文“layereddecodingofnon-layeredldpccodes(未分层ldpc码的分层译码)”提出了类似的架构。在此情况中,没有因为必要的等待周期被忽视而出现冲突,但这是因为所考虑的ldpc码是“未分层的”。并行处理的校验方程不是独立的,这导致相同变量集合的并发更新。由作者提出的所谓的“基于delta的”架构依赖于变量llr的增量的计算。需要具有一个写端口和两个读端口的双端口存储器(而非具有一个写端口和一个读端口的两端口存储器)。此外,所有译码器存储器必须以系统频率两倍的频率被触发。上面关于多端口ram的缺点的相同考虑也适用于此架构。另外,双时钟边缘触发的存储器的使用使此解决方案甚至更不适合高速应用。

已经考虑了相同理念的更多变型以避免在译码未分层ldpc码时出现的冲突。s.müller等人发表在design,automation&testineuropeconference&exhibition,2009(date'09)汇刊第1308-1313页的论文“anovelldpcdecoderfordvb-s2ip(一种用于dvb-s2ip的新型ldpc译码器)”描述了一种适合ldpc码的解决方案,其中所述ldpc码的奇偶校验矩阵包含作为两个循环置换矩阵叠加的子矩阵。除了用于变量llr的主要存储空间以外,所述架构包含“后验寄存器”,所述后验寄存器的复杂度在从多个等待周期出现冲突而非从所选择的具有权2行和列的子矩阵出现冲突时不利地扩展。

上面描述的解决方案可被统称为“delta架构”。我们将这基本理念浓缩在图3的伪代码算法中。本质上,图2的第7行的更新被分成图3的第7行和第8行的两个步骤。

我们观察到根据图3的delta架构的脉动实现需要同时访问3个不同的校验至变量消息以计算第5行的变量至校验消息和第7行的delta值。现有技术解决方案依靠具有一个写端口和两个读端口的双端口ram来存储校验至变量消息。需要两个读端口来访问c2vi-1[r]和c2vi[r],并必需附加的延迟线使c2vi-1[r]消息为第5行和第7行的计算可用。再说一次,具有一个写端口和两个读端口的双端口ram表现出重大的缺点。另外,延迟线在vlsi实现中消耗了大量的面积和功率。

另一重要方面是方程(3)的运算符的实现,它对ldpc译码器的整体实现具有影响。若干有效近似已在现有技术中进行了讨论。除了单核运算符以外,还考虑了llr-xor链。这里,我们关注对于所有k∈v,即在spcdec函数的实现上,方程(2)的整个llr-xor链的同时近似。

j.hagenauer等人于1996年发表在ieeetransactiononinformationtheory第42卷第2期第429-445页的论文“iterativedecodingofbinaryblockandconvolutionalcodes(二进制块和卷积码的迭代译码)”中建议将j操作数的llr-xor近似为

通过使用此近似法获得的和积算法的修改版本称为最小和(ms)算法。

m.p.c.fossorier等人于1999年5月发表在第47卷第5期第673-680页的论文“reducedcomplexityiterativedecodingoflow-densityparitycheckcodesbasedonbeliefpropagation(基于置信传播的低密度奇偶校验码的复杂度降低的迭代译码)”中观察到,对于ms算法,方程(2)中对于k∈v的所有校验至变量消息可通过识别变量至校验消息的量值的两个最小值来计算。在方程中,给定

方程(2)中的第k个校验至变量消息可被近似为

ms算法得到简单的实现,但是已知对于精确的和积算法会受到重大性能损失。

f.guillound等人于2003年发表在第3次internationalsymposiumonturbo&relatedtopics汇刊的第451-454页中的论文“λ-mindecodingalgorithmofregularandirregularldpccodes(规则和不规则ldpc码的λ-最小译码算法)”介绍了更精确的近似,该近似仅使用变量至校验消息的λ个最低量值并且相应的索引l0,l1,...,lλ-1被确定为

根据λ-最小算法,方程(2)中的校验至变量消息被近似为

其中第二因子可仅采用λ+1个不同值。

ms和λ-最小算法均可被表示为如下形式

其中,关于精确的和积实现量值m(k)≥0采用减少的集合m中的值。m(k)∈m的选择取决于某一索引集合l。对于ms算法

而对于λ-最小算法

已经建议通过引入校正乘积因子α>0或加法偏移β≥0或两者来改进算法,如下面的广义表达式所示

其中取大运算确保偏移不会使消息的符号翻转。我们将方程(15)类型的任意算法称为广义减少量值选择(grmc)算法。我们注意到通过扩展,精确的和积算法可被认为是多个不同消息量值等于基数v且α=1和β=0的grmc算法。

考虑到上面描述的现有技术问题,所需要的是克服循环时延问题并以非常高的数据速率实现高性能ldpc译码的改进的译码系统和方法。



技术实现要素:

此目标由根据独立权利要求1所述的用于奇偶校验码的迭代译码的译码系统和根据独立权利要求9所述的用于奇偶校验码的迭代译码的方法实现。从属权利要求涉及优选的实施方式。

在第一方面,本公开涉及一种用于奇偶校验码的迭代译码的译码系统,它包括第一环路和第二环路,所述第一环路适于将与多个接收的数据符号对应的对数似然比值存储在存储器单元中,所述第二环路适于计算第二迭代步骤的校验至变量对数似然消息与第一迭代步骤的校验至变量对数似然消息之间的差,其中所述第一迭代步骤在所述第二迭代步骤之前。所述译码系统还包括加法器单元,所述加法器单元适于通过加上所述第二环路中计算出的所述差来更新存储在所述第一环路中的对数似然比值。所述第一环路和所述第二环路被同步,以使得所述加法器电路将更新的对数似然比值同步送到所述第一环路和所述第二环路。

根据本发明的同步译码系统减少了等待周期,并使读访问和写访问的次数最少。这允许可获得非常高数据速率的有效的高性能的译码系统和方法。

所述第一环路可以适于将存储的对数似然比值提供给所述加法器电路。

所述第二环路可以适于将所述计算的差提供给所述加法器单元。

所述加法器单元可以使所述第一环路和所述第二环路互连。

根据实施方式,所述译码系统可以适于使得所述第一环路将存储的对数似然比值和所述第二环路将所述计算的差同步提供给所述加法器单元。

根据示例,所述第二环路可以适于调度所述差的计算使得它匹配所述第一环路中存储的对数似然比值的读访问。

在实施方式中,所述第一环路可以在硬件中实现。在另一示例中,所述第一环路可以在软件中实现。在又一示例中,所述第一环路可部分在硬件中实现,部分在软件中实现。

类似地,所述第二环路可以在硬件中实现。在另一示例中,所述第二环路可以在软件中实现。在又一实施方式中,所述第二环路可以部分在硬件中实现,部分在软件中实现。

所述加法器单元的输出节点可以部分地经由第一环路路径连接至所述存储器单元的输入节点。

根据实施方式,所述第一环路可以适于将更新的对数似然比值存储在所述存储器单元中。

所述译码系统可以适于在每次迭代仅用单个读操作来访问所述存储器单元,和/或在每次迭代仅用单个写操作来访问所述存储器单元。

根据实施方式,所述加法器单元可以适于将计算出的对数似然比值馈送回所述第一环路和/或所述第二环路。

所述第二环路可以进一步适于至少部分地基于更新的对数似然比值计算变量至校验对数似然消息。

所述第二环路可以包括处理单元,所述处理单元的输入节点经由第二环路路径连接至所述加法器的输出节点,所述处理单元的输出节点连接至所述加法器的输入。所述处理单元可以适于计算所述第二迭代步骤的所述校验至变量对数似然比消息与所述第一迭代步骤的所述校验至变量对数似然消息的差。

根据实施方式,所述第二环路具体地所述处理单元包括置换器元件,所述置换器元件适于将更新的对数似然比值输送至相应的校验节点。

所述加法器单元的输出节点可以连接至属于所述第二环路的第二环路路径。所述第二环路路径可以连接至所述置换器元件的输入。

此外,所述第二环路(具体地所述处理单元)包括逆置换器元件,所述逆置换器元件可以适于具体地在将计算的差提供给所述加法器单元之前,对计算出的差执行置换器元件引入的置换的逆转。

根据实施方式,所述第二环路(具体地所述处理单元)可以适于从至少一个变量至校验对数似然消息计算校验至变量对数似然消息。

根据示例,所述第二环路适于仅基于变量至校验对数似然消息的子集计算校验至变量对数似然消息。

这提供了允许更有效计算所述校验至变量对数似然消息的近似,因此有助于本发明的高性能译码。

具体地,对于整数k,所述第二环路可以适于基于具有最小量值的k个变量至校验对数似然消息的子集,计算所述校验至变量对数似然消息。

根据示例,所述第二环路可以适于基于多个变量至校验对数似然消息的异或操作的近似,计算所述校验至变量对数似然消息。

所述第二环路可以适于将所述校验至变量对数似然消息存储在第二存储器单元中。

所述译码系统可以适于在每次迭代仅用单个读操作来访问所述存储器单元,和/或在每次迭代仅用单个写操作来访问所述存储器单元。

在第二方面,本发明涉及一种用于奇偶校验码的迭代译码的方法,其包括:将与多个接收的数据符号对应的对数似然比值存储在第一环路的存储器单元中;通过第二环路计算第二迭代步骤的校验至变量对数似然消息与第一迭代步骤的校验至变量对数似然消息的差,其中所述第一迭代步骤在所述第二迭代步骤之前;通过加上所述第二环路中计算出的所述差来更新存储在所述第一环路中的对数似然比值;以及将所述第一环路和所述第二环路同步,以使得更新的对数似然比值被同步提供给所述第一环路和所述第二环路。

根据示例,同步包括将所述第二环路中的所述差的计算调度为与访问所述第一环路中存储的对数似然比值的步骤同步。

根据实施方式,所述方法包括将所述更新的对数似然比值存储在所述存储器单元中。

具体地,所述方法可以包括具体地经由第一反馈路径将计算出的(更新的)对数似然比值馈送回所述存储器单元。

所述方法可以包括在每次迭代仅用单个读操作来访问所述存储器单元,和/或在每次迭代仅用单个写操作来访问所述存储器单元。

根据实施方式,所述方法包括将计算出的(更新的)对数似然比值馈送回所述第一环路和/或所述第二环路。

所述方法还可以包括在所述第二环路中至少部分地基于更新的对数似然比值计算变量至校验对数似然消息。

根据实施方式,所述差可以在所述第二环路的处理单元中计算。

根据实施方式,所述方法包括具体地经由第二反馈路径将计算出的对数似然比值从所述加法器单元馈送回所述处理单元。

根据实施方式,所述方法包括通过所述第二环路(具体地所述处理单元)中的置换操作将更新的对数似然比值输送至相应的校验节点。

此外,所述方法可以包括通过对计算出的差应用的逆置换使所述置换逆转。

根据示例,所述方法包括在所述第二环路具体地所述处理单元中从至少一个变量至校验对数似然消息计算校验至变量对数似然消息。

根据示例,所述方法包括仅基于变量至校验对数似然消息的子集,具体地对于整数k,基于k个变量至校验对数似然消息的子集,计算校验至变量对数似然消息。

根据实施方式,所述方法包括基于多个变量至校验对数似然消息的异或操作的近似,计算所述校验至变量对数似然消息。

所述方法还可以包括将所述校验至变量消息存储在所述第二环路具体地所述第二存储器单元中。

所述方法可以包括在每次迭代仅用单个读操作来访问所述存储器单元,和/或在每次迭代仅用单个写操作来访问所述存储器单元。

附图说明

本发明的特征及其相关联的许多优点最佳地参考附图通过示例性实施方式的详细描述变得明显,在附图中:

图1是示出示例性分层ldpc码的奇偶校验矩阵的示意图;

图2是传统分层解码算法的伪代码的示意性说明;

图3是具有delta架构的传统分层译码算法的伪代码的示意性说明;

图4是示出采用根据实施方式的译码方法和系统的数据传输过程的示意图;

图5是根据实施方式的译码系统的示意性框图;

图6是更详细地示出图5的译码系统的示意图;

图7是根据实施方式的分层译码算法的伪代码的示意性说明;以及

图8是说明根据实施方式的奇偶校验码的迭代译码的方法的流程图。

具体实施方式

我们描述了一种克服“循环时延”问题和以非常高的数据速率实现高性能ldpc译码的译码器架构。ldpc译码器架构允许有效的vlsi实现并实现事实上与后验变量llr的更新相关联的延迟无关的高吞吐量和良好的性能。

我们的解决方案使用后验llr的增量。然而,与其他delta架构相比,仅需要对变量llr的存储空间的单个读访问和单个写访问,因此,可用仅具有一个读端口和一个写端口的两端口ram(代替具有两个读端口和一个写端口的双端口ram)实现。

所述译码方法和译码系统可以被采用以在光学网络上传输数字信息。然而,这仅是示例,一般地,根据本公开的译码技术可以被用于任意类型的数据存储、数据压缩、或任意可能的传输介质上的数据传输。

图4是采用根据实施方式的译码方法和系统的数据传输系统的示意图。

数据传输系统10包括编码系统12、传输信道14和译码系统16。编码系统12接收输入的符号18,例如数字数据比特串,并通过编码方法对它们进行编码,生成一串码符号20。这些码符号20经过传输信道14,传输信道14建模码符号20通过例如光纤信道的传输路径从发送器站至接收器站的传输。在接收器站接收到的发送的码符号22可经过译码系统16,译码系统16将它们转换为译码的码符号24。理想地,译码的码符号24与输入的符号18相同、或至少非常接近。

一般地,输入的信息可以由任意类型的符号例如任意的二元符号(b-arysymbols)表示。然而,在下面的示例中,为了便于陈述,我们关注二进制符号。

如上面参考方程(1)所解释的,二进制ldpc码的译码可在对数似然比(llr)算法中实现。译码系统16设置有信道llr,所述信道llr表示每个比特为0或1的概率。译码可以在因子图上实现,所述因子图可以对应于奇偶校验矩阵的邻接矩阵,并且可以在多个译码迭代中进行。

图5示意性地示出了相应的译码结构。

译码系统16包括第一环路26和第二环路28,第一环路26和第二环路28可以在硬件中实现。译码系统16还包括加法器单元30,加法器单元30连接第一环路26和第二环路28。而且,译码系统包括输入节点32,输入节点32连接至第一环路26并可以经由乘法器单元34初始化译码系统16。译码系统16的输出节点36连接至加法器单元30。

如可从图5进一步得到,第一环路26包括存储器单元38,存储器单元38适于存储与译码系统16的多个接收的码字符号22对应的对数似然比值v。存储器的存储器输入节点38a连接至乘法器单元34。存储器单元38的存储器输出节点38b连接至加法器单元30的第一输入节点30a,第一环路26适于根据处理时钟脉冲将所存储的与块行r相关联的对数似然比值v[r]提供给加法器单元30的第一输入节点30a。

加法器单元的输出节点30c经由第一环线40和乘法器单元34连接至存储器输入节点。

第二环路包括处理单元42,处理单元42的输入节点42a经由第二环线44连接至加法器单元30的输出节点30c,处理单元42的输出节点42b连接至加法器单元30的第二输入节点30b。处理单元42适于根据方程(5)计算第二(较晚)迭代步骤i的校验至变量对数似然消息c2vi与第一(较早)迭代步骤i-1的校验至变量对数似然消息c2vi-1之间的差所产生的差在输出节点42b处被提供给加法器单元30的第二输入节点30b,加法器单元30将其加到在第一输入节点30a从存储器单元38接收的对数似然比值v[r],以更新对数似然比值v[r]。

更新的对数似然比值在加法器单元30的输出节点30c被提供并被同步送到第一环路26和第二环路28。

因此译码器系统16实现双环架构。在第二环路28(“处理环路”)处理校验节点并计算delta值的同时,第一环路26(“更新环路”)使用delta值更新后验llr。不同于现有技术的delta架构,两个环路26、28是同步的,使得更新的后验llr可同时被送至变量存储空间和校验节点处理器。

两个环路的同步可通过重新调度处理单元42中delta值的生成来实现,以匹配来自存储器单元38的后验llr存储的下一读访问。

两个环路之间的任务分离允许在源自前一块行的所有更新被应用之前处理新的块行。在实现图2的分层译码算法的标准架构中,每当处理阶段和更新阶段重叠时,中间的更新被重写并且译码器以不一致的状态结束。相比之下,对于所提出的架构,挂起的更新稍后被应用且不被丢弃。因此,译码不会引发灾难性的“割边冲突”,而是当一些块列的llr偶尔可能不包含最新更新时至多引发可忽略的性能损失。实际上,这种小的劣化多于处理速度增加概率的补偿,因而多于和积迭代次数的补偿。

译码调度确保两个环路同步操作,使得尽管是双环路结构,但是对存储器元件38的仅单个读访问和单个写访问就足够了。

对于存储在处理单元42中的校验至变量消息,我们可同样使用具有一个读端口和一个写端口的存储器单元。与现有技术相比,对于校验至变量消息,我们的解决方案既不需要具有一个写端口和两个读端口的双端口ram,也不需要延迟线。

尽管所提出的解决方案可结合与符合方程(15)的任意llr-xor近似来实现,我们开发了一种新型grmc算法。我们的近似实现与3-最小算法(即,λ=3的λ-min算法)相似的性能,但是需要较少存储空间和较少计算。

我们假设ldpc码被分层且其pcm的构成子矩阵具有大小p×p。译码器在llr算法中实现,每个时钟周期处理一个块列,并在另一时钟周期之后处理一个块行。如图1的示例所示,各个块行可能涉及不同数量的块列。在译码期间,不与当前处理的块行交叉的块列被跳过。我们假设了脉动译码器实现,由此不同的功能块可同时在不同的块列且可能在不同的块行上操作。如上面参考图5所解释的,加法器单元30位于两个环路26、28的交叉处。根据图3中的算法的第8行,它将从第二环路28接收的p个delta消息加到源自第一环路26的相应的p个后验变量llr。所产生的更新的llr分别经由第一环线40和第二环线44被注入两个环路26、28。

第一环路26的存储器单元38存储所有变量的后验llrv。读端口38a和写端口38b并行传送p个消息。llr按其自然的“未被置换的”次序被存储。

乘法器单元34向存储器单元38输送更新的后验llr,或在初始化阶段根据图3中的第1行输送信道llr。在译码结束时,用于前一码字的最后llr从存储器单元38传输至输出节点36。在许多应用中,在输出处仅需要最后llr的符号,即,硬判决。

现在参考图6更详细地描述第二环路28的架构和操作以及delta计算,图6示出了具有附加粒度级别的图5的译码系统16。

第二环路28的处理单元42包括置换器元件46、第一加法器元件48、译码器元件50、第二存储器单元52、3个校验至变量选择器元件54、56、58、第二加法器元件60、以及逆置换器元件62。

置换器元件46连接至处理单元42的输入节点42a并将来自第二环线44的变量llr输送至相应的校验节点。第j个块列内的单独变量与第i个块行的单独校验节点之间的连接由pcm的置换子矩阵πi,j确定。因此,置换器元件46实现时变置换,所述时变置换根据当前处理的块行和块列的交叉处的子矩阵进行配置。

加法器元件48的第一输入节点48a连接至置换器元件46的输出,加法器元件48的第二输入节点48b连接至第一校验至变量选择器元件54的输出。在加法器元件48中,当前块列的p个后验llr通过根据图3中的第5行在前一次迭代中在相同块行计算出的校验至变量消息被减少。

所产生的p个变量至校验消息在第一加法器元件48的输出节点48c处被提供,并被传递至位于加法器元件48下游的spc译码器元件50。译码器元件50返回例如根据方程(15)从变量至校验消息计算新的校验至变量消息所必需的中间结果。然而,译码器元件可不必计算消息自身。例如,译码器元件50可以仅提供新消息的符号信息、可能量值的集合m和所需的索引的集合l,我们在下面将它们表示为“符号、量值和索引”(smi)数据。

第二存储器单元52位于译码器元件50的下游,并且可以适于针对每个块行,接收和存储由译码器元件50计算的smi数据。在译码过程的开始,量值可以被设为0,其等效于图3的第2行的初始化。smi数据可被分割成np≥1个数据包。读端口和写端口并行传送smi数据的一个数据包。

实际的校验至变量消息在校验至变量选择器元件54、56和58中被计算,校验至变量选择器元件54、56和58连接在第二存储器单元52的下游。smi数据通过np个时钟周期从第二存储器单元52被传输至各个c2v选择器元件54、56、58。每个c2v选择器元件54、56、58可以包含寄存器组,寄存器组为当前处理的块行保留smi数据的本地副本。

第一选择器元件54计算消息c2vi-1[r],消息c2vi-1[r]然后被馈送回第一加法器元件48的第二输入节点48b以执行图3的第5行。第二选择器元件56和第三选择器元件58分别计算消息c2vi[r]和c2vi-1[r],消息c2vi[r]和c2vi-1[r]被提供给第二加法器元件60的对应的第一输入节点60a和第二输入节点60b。第二加法器元件60然后根据图3的第7行生成增量llr,并在输出节点60c提供它们。

对于假定的一个块列的并行度,处理块行所需的周期数对应于其置换子矩阵的数量。如果wmin是最小行权重,则smi数据可至多被分割成

个数据包,以确保对c2v存储空间的所有3次访问可通过单个读端口完成。我们观察到np的较大值是优选的,因为其对应于具有减少端口宽度的更紧凑的c2v存储空间。

第二加法器元件60中增量llr的计算可以被适当地延迟以实现第一环路26与第二环路28之间的同步。也就是,第二环路28的输入和输出可以相互脱离并被调度使得llr和相应的增量同时到达加法器单元30。

为了使加法器单元30处的匹配数量最大,我们可以为第一环路26和第二环路28分别重排块行和块列的顺序。依赖于具体的pcm,通常能够获得近似全部码变量的匹配。

少数不匹配的llr增量可以通过仅运行第一环路26同时暂时挂起第二环路28而被应用。以相同的方式,不匹配的块列可通过仅运行第二环路28同时暂时挂起第一环路26而被处理。

逆置换器元件62耦接至第二加法器元件60的输出节点60c,并适于使置换器块46实现的置换逆转,并使增量llr进入它们自然的“未置换”次序。详细地,逆置换器元件62可以将置换应用于源自第i个块行的第j个块列的增量。

现在我们转向用于从变量至校验消息计算校验至变量消息的简单且精确的grmc算法的推导。类比于方程(10),我们将具有最小量值的四个变量至校验消息的索引定义为

(对于k=0,1,...,3)(17),

为了节约记号,我们引入

(对于k=0,1,...,3)(18)。

与计算3个最小量值中任意2个的3个精确llr-xor和3个最小量值的全部3个的精确llr-xor的3-最小算法形成对比,我们计算4个最小量值中的3个的所选择的近似llr-xor。

对于m<n,我们将μm和μn的llr-xor近似为

其中我们利用如下事实:对于非负参数,fnl是正递减函数,并且我们忽略方程(3)的括号内的第二项。方程(19)中的最大运算确保结果的符号不会因近似而变成负的。

通过使用方程(19),对于m<n<q,我们获得

其中我们忽略对fnl项的自变数的二阶校正。

对于等于(0,1,2)、(0,2,3)和(1,2,3)的(m,n,q),我们分别获得

这里,我们引入了正常量校正因子γ0,1,2、γ0,2,3和γ1,2,3,它们可在实验上通过优化译码器的性能来确定。实际上,对于方程(21)、(22)和(23)的计算,函数fnl可通过分段多项式(具体地,线性)函数来近似。

最后,校验至变量消息可被近似为

对于所提出的grmc算法,集合l和m分别被定义为

因此,用于每个块行的smi数据由各个校验至节点消息的符号信息、3个消息量值和2个索引构成。对于3个消息的联合计算,函数fnl必须被评估5次。通过比较,对于现有技术的3-最小算法,smi数据由4个消息量值和3个索引构成,函数fnl必须被评估8次。

smi数据的量和计算次数分别直接与第二存储器单元52的c2v存储空间的端口宽度和spc译码器元件50的复杂度相关。因此,此算法可在图6的译码器架构内被便利地采用以减少译码器的面积和功率而不会牺牲其性能。

所提出的grmc算法在图7中用伪代码概括。第1行提取进入的变量至校验消息的符号。第2行的函数partialsort实现方程(17)和方程(18)。第3行计算方程(21)、(22)和(23)。最后,在第5行,根据方程(24)近似校验至变量消息。

图8是示出根据示例的奇偶校验码的迭代译码的方法的流程图。

在第一步骤s10,将与多个接收的数据符号对应的对数似然比值存储在第一环路的存储器单元中。

在第二步骤s12,通过第二环路计算第二迭代步骤的校验至变量对数似然消息与第一迭代步骤的校验至变量对数似然消息之间的差,其中第一迭代步骤在第二迭代步骤之前。

在第三步骤s14,通过加上第二环路中计算出的差来更新存储在第一环路中的对数似然比值。

在第四步骤s16,将更新的对数似然比值同步提供给第一环路和第二环路。

实施方式的描述和附图仅用于说明根据本发明的方法和系统,而不应该被理解为暗指任意限制。本发明的范围由所附的权利要求确定。

参考标记

10数据传输系统

12编码系统

14传输信道

16译码系统

18输入的符号

20码符号

22发送的码符号

24译码的码符号

26译码系统16的第一环路

28译码系统16的第二环路

30译码系统16的加法器单元

30a加法器单元30的第一输入节点

30b加法器单元30的第二输入节点

30c加法器单元30的输出节点

32译码系统16的输入节点

34译码系统16的乘法器单元

36译码系统16的输出节点

38第一环路26的存储器单元

38a存储器单元38的输入节点

38b存储器单元38的输出节点

40第一环线

42处理单元

42a处理单元42的输入节点

42b处理单元42的输出节点

44第二环线

46处理单元42的置换器元件

48处理单元42的第一加法器元件

48a第一加法器元件48的第一输入节点

48b第一加法器元件48的第二输入节点

48c第一加法器元件48的输出节点

50处理单元42的译码器元件

52处理单元42的第二存储器单元

54处理单元42的第一校验至变量选择器元件

56处理单元42的第二校验至变量选择器元件

58处理单元42的第三校验至变量选择器元件

60处理单元42的第二加法器元件

60a第二加法器元件60的第一输入节点

60b第二加法器元件60的第二输入节点

60c第二加法器元件60的输出节点

62处理单元42的逆置换器元件

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1