非二进制低密度奇偶校验(ldpc)码的符号翻转解码器的制造方法

文档序号:7542269阅读:261来源:国知局
非二进制低密度奇偶校验(ldpc)码的符号翻转解码器的制造方法
【专利摘要】本发明的各实施方式总体上涉及非二进制低密度奇偶校验(LDPC)码的符号翻转解码器。具体地,提供了用于解码数据的系统和方法。解码器获取与符号有关的数据并且标识符号的多个候选值。解码器确定多个候选值的每个候选值与关联于符号的参考值之间的距离以获得多个距离,以及解码器至少部分基于多个距离确定是否更新符号的值。
【专利说明】非二进制低密度奇偶校验(LDPC)码的符号翻转解码器
[0001]相关申请的交叉引用
[0002]本申请依据35U.S.C.§ 119(e)要求于2012年8月28日递交的、申请号为61/694,163的美国临时申请的优先权,其以引用的方式整体并入本文中。
【背景技术】[0003]本文中提供的【背景技术】的描述目的在于总体上给出本公开内容的上下文。本文的发明人的工作、在该【背景技术】章节中所描述的工作的程度以及否则不可能有资格作为递交时的现有技术的说明书的各方面,既非清楚地也非隐含地被认定为针对本公开内容的现有技术。
[0004]本公开内容总体上涉及数据解码,并且更具体地涉及用于以低密度奇偶校验(LDPC)编码器编码的数据的解码器。
[0005]LDPC码和用于解码LDPC码的解码器可以用在许多应用和设备中。例如,数据存储、卫星通信、无线通信、有线通信以及电力线通信是可以各自使用LDPC码和LDPC解码器的应用。诸如数码相机闪存存储器、卫星、移动电话以及其它移动设备的设备也可以各自使用LDPC码和LDPC解码器。
[0006]LDPC码可以用于纠正传输在噪声通信或数据存储信道中的信息中的误差。该信息可以在传输之前编码(通过LDPC编码器)并且随后在接收到的时候解码(通过LDPC解码器)。常规的硬解码LDPC技术是典型的双态系统,其中传送的码中的比特被分配到两个二进制状态中的一个。改进的解码结果可以使用诸如概率分布的软信息来获得。然而,存储和处理软信息可能是处理器和存储资源上的非常大的开销。
[0007]先前的LDPC技术典型地基于给定数量的校验是否不满足来确定是否翻转比特。例如,基于哪些比特的组合最可能减少不满足的校验节点的数量,可以选择一个或多个比特的值来翻转。

【发明内容】

[0008]根据本公开内容的实现方式,提供了用于解码数据的系统和方法。解码器获取与符号有关的数据并且标识所述符号的多个候选值。所述解码器确定所述多个候选值的每个候选值与关联于所述符号的参考值之间的距离以获得多个距离,并且至少部分基于所述多个距离确定是否更新所述符号的值。
[0009]所述多个距离形成距离分布,其中所述距离分布包括关联于所述多个距离中的至少一个距离的校验节点的数量。所述确定是否更新所述符号的值进一步至少部分基于阈值和关联于所述多个距离中的第一距离的校验节点的数量之间的比较。可以在所述解码的进一步迭代处修改所述阈值。
[0010]在一些实现方式中,确定是否更新所述符号的所述值包括:标识多个阈值,其中所述多个阈值中的每个阈值对应于所述多个距离中的距离,并且其中所述阈值随着所述对应的距离被修改而被修改。所述确定是否更新所述符号的所述值进一步包括比较所述多个阈值中的每个阈值与所述多个距离中的所述对应的距离。当关联于所述多个距离中的距离的校验节点的数量超出阈值时,更新所述符号的所述值。
[0011]关联于所述符号的第一数量的满足的校验节点对应于所述多个距离中的第一距离,并且关联于所述符号的第二数量的不满足的校验节点对应于所述多个距离中的第二距离。在一些实现方式中,如果基于所述参考值和所述第二距离,所述符号被更新到第二值,则所述第二数量的不满足的校验节点中的每个校验节点被改变为满足的校验节点。
[0012]在一些实现方式中,所述参考值是所述符号的初始值或所述符号的当前值。所述符号是非二进制符号,以使得在所述符号的所述多个候选值中有至少三个候选值。
【专利附图】

【附图说明】
[0013]通过结合附图考虑以下详细的描述,本公开内容的以上和其它特征,包括其本质和其多种优势,将会更显而易见,其中:
[0014]图1是根据本公开内容的实施方式,采用LDPC解码的说明性的通信系统的框图;
[0015]图2A和图2B是根据本公开内容的实施方式,表示接收到的码字的符号的变量节点和用于解码接收到的码字的校验节点之间的通信的图示;
[0016]图3是根据本公开内容的实施方式,用于解码数据的过程的流程图;
[0017]图4是根据本公开内容的实施方式,用于执行解码算法的迭代的过程的流程图;
[0018]图5是根据本公开内容的实施方式,用于确定距离分布的过程的流程图;
[0019]图6是根据本公开内容的实施方式,用于改变执行解码算法的迭代中的更新规则的过程的流程图;以及
[0020]图7是根据本公开内容的实施方式,用于执行本文中所描述的任何过程的计算设备的框图。
【具体实施方式】
[0021]本公开内容总体上涉及在解码器执行解码。为提供本公开内容的全面理解,现在将描述某些说明性的实施方式,包括通过在多次迭代中更新符号值来解码码字的解码器。然而,本领域普通技术人员将要理解的是,本文中描述的系统和方法可以适应和修改为适于正在讨论的应用,并且本文中描述的系统和方法可以在其它合适的应用中采用,并且这样的其它附加和修改不会偏离其范围。
[0022]图1示出了根据本公开内容的一些实施方式,用于部分地基于符号翻转的LDPC解码的说明性的通信系统100。通信系统100用于从传输用户或应用程序102传输信息到接收用户或应用程序130。传输用户或应用程序102表示产生信息的对象或实体。例如,传输用户或应用程序102可以对应于计算机系统中的软件程序或对应于无线电系统中的无线通信传输器的组件。传输用户或应用程序102以数据流的形式产生信息,并且数据流可以通过已经由,例如源编码器(在图1中未示出)预编码的符号值序列来表示。由传输用户或应用程序102产生的信息可以对应于语音信息、视频信息、财务信息或可以以数字或模拟形式表示的任何其它类型的信息,并且由传输用户或应用程序102产生的数据流可以为数字数据流。
[0023]传输用户或应用程序102可以分段或者在其它方面划分数据流为k个符号的固定长度的块。特别地,报文104,也称为S,表示这些块中的一个。特别地,报文104是k个符号的长度,其中每个符号可以为二进制数据或非二进制数据,诸如三进制数据、四进制数据、任何其它适合类型的数据或者及其任何适当的组合。编码器106用于编码报文104,以产生码字110。在本公开内容的一个实施方式中,编码器106是LDPC编码器。然而,基于本文中提供的公开内容和教导,应该清楚的是,编码器106可以为任何其它适当的编码器。码字110,也称为£,具有η个符号的长度,其中η > k。编码器106使用生成器矩阵G108,为了方便标写也称为G,以产生码字110。例如,编码器106可以执行一个或多个矩阵操作来将报文104转换成码字110。在实施方式中,编码器106通过以下矩阵乘法使用生成器矩阵G108来从报文104产生码字110:
[0024]£ = Gni。
[0025]码字110可以由调制器112调制或在其它方面变换为适于在信道114上传输和/或存储的波形。例如,波形可以对应于模拟二进制相移键控(BPSK)信号、模拟相移键控(PSK)信号、模拟频移键控(FSK)信号、模拟正交振幅调制(QAM)信号或任何其它适当的模拟或数字信号。
[0026]信道114指代传输的波形在解调器116处被恢复之前通过其或在其上存储的物理介质。例如,信道114可以是表示计算机系统环境中的存储介质的存储信道或表示无线通信环境中的无线传播环境的通信信道。信道114的多种特性可以损坏在其上传输或存储的数据。例如,信道114可以是非理想的无记忆信道或有记忆信道。信道114的输出由解调器116来解调或处理,以产生接收到的码字118。解调器116可以使用频率滤波器、周期函数的乘法和积分以及/或者任何其它适当的解调技术来解调和/或处理信道114的输出。
[0027]在一些实施方式中,信道114是二进制对称信道模型。在二进制对称信道中,假设比特是独立的,每符号较小数量的误差比每符号较大数量的误差更可能发生。例如,如果已发送的符号是三比特长,并且如果即将发生误差,则三比特符号中的单个比特(并且三比特符号中的其它两个比特被正确地接收)将会比三比特符号中的两个比特更有可能具有误差。最不可能发生的误差是当接收到的三比特符号中的所有三个比特都具有误差时。在示例中,如果已发送的符号是000,最可能接收到的具有误差的符号是001、010或100,因为在这些接收到的符号的每个符号中,仅一个比特具有误差。对于接收到的符号不太可能是110,011或101,因为这些接收到的符号的每个符号要求两个比特具有误差。对于接收到的符号最不可能是111,因为该接收到的符号要求所有三个符号具有误差。初始发送的符号和接收到的符号之间的差异可以称为距离。例如,距离可以对应于符号的以误差接收的比特数。
[0028]在一些实施方式中,信道114是多进制(Q-ary)对称信道。在多进制对称信道中,所有非正确接收的符号同等可能地发生。在示例中,发送为“000”而接收为001、010、100、110、011、101或111的三比特符号的概率相同。换句话说,只要误差的数量大于0,则具有不同数量的误差比特的接收到的符号均同等可能地发生。这意味着,只要距离大于0,则具有初始传输的符号和接收到的符号之间的不同二进制距离的接收到的符号均同等可能。
[0029]在一些实施方式中,信道114是正交-脉冲振幅调制(Q-PAM)信道。在Q-PAM信道中,发生在信道上的误差的概率取决于已传输的符号和接收到的符号之间的相近度。特别地,邻近初始符号(即,已传输的符号)的符号比更远离初始符号的符号来说更可能被接收到。在示例中,可能的符号值是从O到7的整数,并且符号3被传输。在这种情况下,接收到的符号最可能是3,在其之后更可能的符号是2或4,而不是任何其它符号(即,0、1、5、6 或 7)。
[0030]接收到的码字118包含与码字110有关的信息,并且可以是由编码器106初始输出的码字Iio的被损坏或在其它方面被更改的版本。例如,接收到的码字118可以包含码字110的初步估计或噪声版本、由编码器106产生的码字的可能的值的概率分布向量或者上述这些的组合以及其它值。
[0031]检测器120用于处理接收到的码字118,以产生检测器采样122,其是初始数据报文104的估计。检测器120采样接收到的码字118中的每个符号,并且基于其值分配每个符号到二进制。在一些实施方式中,该二进制是基于概率分布来分配的。由检测器120采样的每个符号分配到两个或更多个可能的二进制或状态中的一个。
[0032]解码器124接收并且迭代地处理检测器采样122。检测器120和解码器124可以是两个分离的处理器,或者单个处理器可以用作检测器120和解码器124两者。总体而言,解码器124包括控制电路和/或解码电路,解码电路用于迭代地纠正和/或检测例如由于通过信道114传输而出现在检测器采样122中的误差。在一些实施方式中,解码器124使用奇偶校验矩阵H126和解码技术来产生解码报文128。总体而言,LDPC解码可以使用数学向量模型Jfc =石来描述,其中c是长度为η的二进制串,且H是奇偶校验矩阵H126,其是低密度的、稀疏的nXm矩阵,其中,如上所述,η是码字中符号的数量,m是满足m > n-k的校验节点的数量,并且k是报文中符号的数量。只在二进制串c是码字CllO时才满足该模型。奇偶校验矩阵H126不必是唯一的,并且可以选择为是计算上方便的和/或减少由解码器124的解码技术生成的误差的数量。
[0033]解码器124所使用的迭代解码技术涉及通过基于符号的校验满足或不满足以及基于符号先前是否已经被更新、翻转或切换(toggled)来更新检测器采样122中的符号,以处理检测器采样122。总体而言,如本文中所使用的,“翻转”或“切换”符号意味着更新符号的值到与当前值不同的值。用于翻转数据比特的示例性处理规则在名称为“METHODOLOGYFOR IMPROVED BIT-FLIPPING DECODER INl-READ AND2-READ SCENARIOS”、申请号为13/673,371的美国专利申请中进行了讨论,其据此以引用的方式整体并入本文中。
[0034]在处理之后,解码报文128中的符号的每个比特应该分配为两个二进制状态中的一个。当作为c输入到模型= B中时,解码报文128满足该模型。用于执行解码的适当过程关于图3-图6进行了描述。
[0035]在由解码器124进行处理之后,传送解码报文128到接收用户或应用程序130。接收用户或应用程序130可以对应于与传输用户或应用程序102相同的设备或实体,或者接收用户或应用程序130可以对应于不同的设备或实体。进一步地,接收用户或应用程序130可以或者与传输用户或应用程序102位于同一位置(co-located)或者与传输用户或应用程序102物理分离。如果解码器124纠正由信道114和通信系统100中的其它通信影响所引入的所有误差,则解码报文128是报文104的逻辑复制。否则,解码报文128可以区别于报文104,并且解码器124可以据此声明误差。
[0036]图2A和图2B是根据本公开内容的实施方式,表示示例码字的变量节点220-234和用于解码码字的校验节点200-210之间的通信的图示。[0037]在使用如上所述的检测器120分配给变量节点220-234输入状态或值之后,由解码器124在多个变量节点组上执行变量节点的校验。解码器124使用处理规则来确定变量节点组的状态。确定的状态的指示存储在诸如校验节点200-210的校验节点处的校验子(syndrome)存储器中。奇偶校验矩阵H126(图1)标识哪些校验节点存储用于哪些变量节点的确定的状态的指示。例如,对于图2A和图2B中描绘的节点,奇偶校验矩阵H126可以如下:
[0038]
【权利要求】
1.一种用于解码数据的方法,所述方法包括: 获取与符号相关的数据; 标识所述符号的多个候选值; 确定所述多个候选值的每个候选值与关联于所述符号的参考值之间的距离,以获得多个距离;以及 至少部分基于所述多个距离确定是否更新所述符号的值。
2.根据权利要求1所述的方法,其中所述多个距离形成距离分布,其中所述距离分布包括关联于所述多个距离中的至少一个距离的校验节点的数量。
3.根据权利要求1所述的方法,其中确定是否更新所述符号的值进一步至少部分基于阈值和关联于所述多个距离中的第一距离的校验节点的数量之间的比较。
4.根据权利要求3所述的方法,进一步包括:在所述解码的进一步迭代处修改所述阈值。
5.根据权利要求1所述的方法,其中确定是否更新所述符号的所述值包括: 标识多个阈值, 其中所述多个阈值中的每个阈值对应于所述多个距离中的距离,并且所述阈值随着对应的距离被修改而被修改;以及 比较所述多个阈值中的每个阈值与所述多个距离中的所述对应的距离。
6.根据权利要求1所述的方法,进一步包括:当关联于所述多个距离中的距离的校验节点的数量超出阈值时,更新所述符号的所述值。
7.根据权利要求1所述的方法,其中关联于所述符号的第一数量的满足的校验节点对应于所述多个距离中的第一距离,并且关联于所述符号的第二数量的不满足的校验节点对应于所述多个距离中的第二距离。
8.根据权利要求7所述的方法,其中如果所述符号基于所述参考值和所述第二距离被更新到第二值,则所述第二数量的不满足的校验节点中的每个校验节点被改变为满足的校验节点。
9.根据权利要求1所述的方法,其中所述参考值是所述符号的初始值或所述符号的当前值。
10.根据权利要求1所述的方法,其中所述符号是非二进制符号,以使得在所述符号的所述多个候选值中有至少三个候选值。
11.根据权利要求10所述的方法,进一步包括:翻转所述非二进制符号的当前值,其中所述翻转包括将所述当前值从所述多个候选值中的第一候选值更新到所述多个候选值中的第二候选值。
12.—种解码器,包括通信地耦合到存储器的解码电路,其中所述解码电路被配置为: 从所述存储器获取与符号相关的数据; 标识所述符号的多个候选值; 确定所述多个候选值的每个候选值与关联于所述符号的参考值之间的距离,以获得多个距离;以及 至少部分基于所述多个距离,确定是否更新所述符号的值。
13.根据权利要求12所述的解码器,其中所述多个距离形成距离分布,其中所述距离分布包括关联于所述多个距离中的至少一个距离的校验节点的数量。
14.根据权利要求12所述的解码器,其中确定是否更新所述符号的值进一步至少部分基于阈值和关联于所述多个距离中的距离的校验节点的数量之间的比较。
15.根据权利要求14所述的解码器,其中所述解码电路进一步被配置为在所述解码的进一步迭代处修改所述阈值。
16.根据权利要求12所述的解码器,其中所述解码电路被配置为通过以下来确定是否更新所述符号的所述值: 标识多个阈值,其中所述多个阈值中的每个阈值对应于所述多个距离中的距离,并且所述阈值随着对应的距离被修改而被修改;以及 比较所述多个阈值中的每个阈值与所述多个距离中的所述对应的距离。
17.根据权利要求12所述的解码器,其中所述解码电路被配置为当关联于所述多个距离中的距离的校验节点的数量超出阈值时,更新所述符号的所述值。
18.根据权利要求12所述的解码器,其中关联于所述符号的第一数量的满足的校验节点对应于所述多个距离中的第一距离,并且关联于所述符号的第二数量的不满足的校验节点对应于所述多个距离中的第二距离。
19.根据权利要求18所述的解码器,其中如果所述符号基于所述参考值和所述第二距离被更新到第二值, 则所述第二数量的不满足的校验节点中的每个校验节点被改变为满足的校验节点。
20.根据权利要求12所述的解码器,其中所述参考值是所述符号的初始值或所述符号的当前值。
21.根据权利要求12所述的解码器,其中所述符号是非二进制符号,以使得在所述符号的所述多个候选值中有至少三个候选值。
22.根据权利要求21所述的解码器,其中所述解码电路进一步被配置为通过将所述当前值从所述多个候选值中的第一候选值更新到所述多个候选值中的第二候选值,来翻转所述非二进制符号的当前值。
【文档编号】H03M13/11GK103684476SQ201310394513
【公开日】2014年3月26日 申请日期:2013年8月28日 优先权日:2012年8月28日
【发明者】N·瓦尼卡, S·K·奇拉帕加里 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1