LDPC译码器、存储设备及无线通信设备的制作方法

文档序号:17272443发布日期:2019-04-02 23:58阅读:113来源:国知局
LDPC译码器、存储设备及无线通信设备的制作方法

本实用新型涉及LDPC码技术领域,特别是涉及一种LDPC译码器、存储设备及无线通信设备。



背景技术:

低密度奇偶校验(Low-density parity-check,LDPC)码是一种具有良好性能的好码。其属于线性分组码的一种,通过一个预先构造的稀疏校验矩阵进行编码和译码,具有迫近香农限的性能。

虽然LDPC码在性能上具有较大的优越性,尤其是在码长较长时具有显著优势。但是,LDPC码的编译码实现方法的复杂度较高,所需要的节点数量较多,硬件电路实现成本和难度较高的问题限制了其应用的范围。

为了平衡LDPC码的译码电路实现难度与译码性能之间的矛盾,现有技术中提供了许多不同的译码算法和译码思路,用以改善LDPC码编码和译码在电路实现上存在的缺陷和问题。

但是,如何能够在保障一定的译码性能的前提下,尽可能的降低实现LDPC译码所需要的硬件成本仍然是当前LDPC码实际应用过程中迫切需要解决的问题。



技术实现要素:

本实用新型实施例主要解决的技术问题是提供一种LDPC译码器、存储设备及无线通信设备,以降低实现LDPC译码所需的硬件成本。

为解决上述技术问题,本实用新型实施例提供了一种LDPC译码器。

该LDPC译码器包括:校验节点处理电路,所述校验节点处理电路用于接收第一可靠性信息,执行校验节点处理并输出第二可靠性信息;变量节点处理电路,所述变量节点处理电路与所述校验节点处理电路连接,用于接收所述第二可靠性信息,执行变量节点处理以更新变量节点的比特信息;译码判决电路,所述译码判决电路用于对所述变量节点的比特信息进行译码判决;等比例缩小电路,所述等比例缩小电路分别与所述变量节点处理电路和所述校验节点处理电路连接,用于等比例缩小从所述变量节点传递至所述校验节点的第一可靠性信息、从所述校验节点传递至所述变量节点的第二可靠性信息以及所述变量节点的比特信息。

可选地,所述等比例缩小电路包括移位单元;所述移位单元用于对所述第一可靠性信息、第二可靠性信息以及比特信息执行向右移位操作。

可选地,所述等比例缩小电路还包括执行监视器,所述执行监视器与所述移位单元连接,用于控制所述移位单元执行向右移位操作。

可选地,所述执行监视器包括判断电路和控制电路;所述判断电路用于判断所述变量节点当前的比特信息是否大于预设的阈值;所述控制电路用于在所述判断电路确定所述变量节点当前的比特信息大于预设阈值时,控制所述移位单元对所述第一可靠性信息、第二可靠性信息以及比特信息执行向右移位操作。

可选地,所述校验节点处理电路由若干加法器和比较器组成;

所述若干个加法器和比较器配合设置,用于在每一个校验节点,通过如下算式计算所述第二可靠性信息:

Ej,i=α(Πi′SIGN{Mi′,j})MINi′{|Mi′,j|}

其中,Ej,i为从第j个校验节点传递到第i个变量节点的第二可靠性信息,i′为与校验节点j连接的所有变量节点中,除了第i个变量节点外的变量节点;Mi′,j为第i′个变量节点传递到第j个校验节点的第一可靠性信息。

可选地,所述校验节点处理电路具体用于:根据当前的第一可靠性信息,找到传递到第j个校验节点的所有第一可靠性信息中的第一最小值和第二最小值;选择所述第一最小值或者所述第二最小值作为最小值,计算所述第二可靠性信息。

可选地,所述等比例缩小电路具体用于:等比例缩小所述第一最小值、第二最小值以及比特信息的初始值。

可选地,所述LDPC译码器还包括:编码信息接收电路;所述编码信息接收电路与所述校验节点处理电路连接,用于接收具有预设码长的编码信息。

为解决上述技术问题,本实用新型实施例还提供了一种存储设备,包括若干存储单元以及存储控制器。其中,所述存储控制器设置有如上所述的LDPC译码器,进行LDPC译码。

为解决上述技术问题,本实用新型实施例还提供了一种无线通信设备。其中,所述无线网络通信设备设置有如上所述的LDPC译码器,进行LDPC译码。

本实用新型实施例中提供的LDPC译码器,通过额外设置的等比例缩小电路,可以对第一可靠性信息、第二可靠性信息以及比特信息的等比例缩小操作来减小这些信息的绝对值,从而避免了数据溢出的不利情况。这样使得LDPC译码器可以在保障译码性能的前提下,也被允许使用较少的位宽表示比特信息,达至降低译码器硬件成本的目标。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1为本实用新型实施例提供的LDPC码的应用场景示意图;

图2为LDPC码的Tanner图;

图3为LDPC译码方法的方法流程图;

图4为本实用新型实施例提供的LDPC译码器的结构框图;

图5为本实用新型实施例提供的LDPC译码器的译码方法流程图;

图6为本实用新型另一实施例提供的LDPC译码器的结构框图。

具体实施方式

为了使本实用新型的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本实用新型进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本实用新型,并不用于限定本实用新型。

LDPC码可以应用在多种信息传输场景中,例如无线射频通信信道的信道编码或者存储设备的存储信道编码,用以提高信息传输的可靠性。

图1为本实用新型实施例提供的LDPC码在存储设备(如固态硬盘) 应用时的示意图。如图1所示,该存储设备包括:信息读写接口10、LDPC 编码器20、LDPC译码器30、读写控制器40以及若干FLASH存储区块50。

所述信息读写接口10是用于写入或者输出数据流的数据接口,具体可以根据实际使用需要,设置为相对应的接口形式(如USB接口)。

所述LDPC编码器20由相应的硬件电路组成,用以根据预设的生成矩阵和相应的编码算法,对从信息读写接口10输入的输入信息进行 LDPC编码。所述LDPC译码器30根据预设的译码算法和校验矩阵,由相应的硬件电路组成。对从FLASH存储区块50读取的编码信息执行 LDPC译码操作。

所述读写控制器40与FLASH存储区块50连接,作为数据读写的控制中枢,用于根据控制指令,控制数据写入相应的FLASH存储区块 50或者从FLASH存储区块50的特定位置读取数据。

在实际使用过程中,如图1所示的存储设备可以包括如下的数据读写过程:

在数据写入时,数据流通过信息读写接口10输入至所述LDPC编码器20。由所述LDPC编码器20对输入的数据进行LDPC编码后,输出至读写控制器40。所述读写控制器40根据控制指令,将编码信息有序的存储到FLASH存储区块50相应的存储地址中。

在数据读取时,所述读写控制器40根据控制指令,从FLASH存储区块50对应的存储地址中读取编码信息,并输入至所述LDPC译码器 30中。所述LDPC译码器30对FLASH存储区块50中读取的编码信息进行LDPC译码操作,将解码后的解码信息经由所述信息读写接口10 输出。

经过上述对存储信道进行LDPC编码和解码的过程,可以有效的提高存储设备的可靠性,弥补基于FLASH闪存技术等存储器(如SSD) 在存储可靠性上的缺陷。

相类似地,在无线传输信道中,也可以应用LDPC码来提高收发双方信息传递的可靠性和抗干扰能力,降低信息传输过程中各种外界干扰的影响。

例如,在建立无线通信信道的一组通信模组之间也可以分别设置有 LDPC编码器和LDPC译码器。在信息发送端,通信模组通过LDPC编码器对发送信息进行LDPC编。而在信息接收端,通信模组通过LDPC 译码器对接收到的编码信息进行LDPC译码。

在应用LDPC码的应用场合中,总是期望LDPC译码器可以在保障译码性能的同时,通过更小的硬件电路成本实现。以下结合LDPC码的特点,详细的描述一种可以在保证译码性能的前提下,降低LDPC译码器所需的硬件成本的LDPC译码器结构。

LDPC码的校验矩阵H中的每一行表示LDPC码的一个校验节点,校验矩阵H的每一列表示LDPC码的一个变量节点。例如,如下所示的校验矩阵H:

在该校验矩阵H中,“0”表示对应的校验节点与变量节点之间没有连接(如v3和c1之间),“1”表示对应的校验节点与变量节点之间存在连接(如v1和c1之间)。在每一行或者每一列中,“1”的总数称为校验矩阵的行重或者列重。

为便于理解,LDPC码还可以通过Tanner图的直观形式来表示。如图2所示,该Tanner图包含了校验节点和变量节点两类节点。其中,校验节点有4个,对应于校验矩阵H中的各行。而变量节点有7个,与校验矩阵H中各列相对应。变量节点与校验节点之间的连线数与校验矩阵 H中“1”的数量相同。

结合如图2所示的Tanner图,一种被称为“和积算法”的软信息传递方式经常被应用于LDPC解码器进行LDPC码的解码。典型的“和积算法”的基本解码方式具体如下:

首先进行初始化。然后,根据当前变量节点的比特信息(在第一次迭代计算过程时,当前变量节点的比特信息由初始信息给定),分别计算每个变量节点连接的校验节点的外部概率信息,并传递给与变量节点连接的校验节点。

每个校验节点根据输入的外部概率信息,计算校验方程被满足的概率(假设给定信息位和其它信息位具有独立概率分布)并传递给与其连接的变量节点(也被称作变量节点处理或者水平处理)。

变量节点根据所述校验节点反馈的概率信息,可以对变量节点的比特信息进行更新(也被称作校验节点处理或者垂直处理)。更新后的比特信息每一位都可以通过硬判决的方式确定对应的解码结果。

最后,判断解码结果是否能够满足校验矩阵。在满足时,输出解码信息。而不满足时,重复进行变量节点处理和校验节点处理,重新对变量节点的比特信息进行更新,直至达到设定的最大迭代次数为止。

从以上的解码过程可以看到,虽然“和积算法”是一种软信息解码方法,能够提供相比于传统的比特翻转算法等“硬判决”方式更好的译码性能。但是,和积算法的变量节点处理和校验节点处理的过程中包含了大量复杂的乘法和除法运算,为硬件电路实现带来了较大的困难。

进一步的,可以使用对数拟然比(LLR)表示变量节点和校验节点之间传递的概率信息的方式来改善上述和积算法的表现,降低硬件实现难度。这样的算法通常被称为“最小和算法”。

该最小和算法对变量节点和校验节点之间传递的外部概率信息和校验概率信息的更新过程可以通过如下的算式(1)、算式(2)以及算式(3)表示:

Li=∑jEj,i+ri (1)

Mi,j=Li-Ej,i (2)

Ej,i=α(∏i′SIGN{Mi′,j})MIMi′{|Mi′,j|} (3)

其中,Li为第i个变量节点的比特信息。在二进制序列中,表示第i 个变量节点取“1”和“0”的概率。在传统的和积算法中,其是由为变量节点取“1”的概率和量节点取“0”的概率两个概率信息组成的。而应用对数拟然比(LLR)表示以后,将以上的两个概率信息统一为一个概率信息表示。

Ej,i为从第j个校验节点传递至第i个变量节点的概率信息。为陈述简便,在本实施例中,以“第二可靠性信息”表示从校验节点传递至变量节点的,被校验方程满足的概率。该第二可靠性信息Ej,i在LDPC译码过程中将不断的进行迭代更新,直至解码成功或者解码失败。

Mi,j为从第i个变量节点传递至第j个校验节点的外部概率信息。为区别说明,在本实施例中,以“第一可靠性信息”表示从变量节点传递至校验节点的外部概率信息。同样地,该第一可靠性信息Mi,j在LDPC译码过程中将不断的进行迭代更新,直至解码成功或者解码失败。

ri为第i个变量节点的初始信息。该初始信息是在未进行迭代更新时,变量节点的先验概率,可以是根据实际情况所确定的初始值。

α为根据实际情况或者经验设置的衰减常数。该衰减常数是一个经验数值,由技术人员选定。

i′为与校验节点j连接的所有变量节点中,除了第i个变量节点外的其它变量节点。

基于最小和算法的译码过程大致如下:在初始化完成以后,首先应用算式(2),计算变量节点传递给校验节点的第一可靠性信息。

然后,校验节点基于输入的第一可靠性信息,应用算式(3)计算对应的第二可靠性信息,并反馈至变量节点。变量节点通过输入的第二可靠性信息,应用算式(1)更新自身的比特信息,完成一次完整的迭代更新过程。

在一个迭代更新完成以后,通过如下硬判决的方式确定第i位的解码结果:在Li≥0时,确定该位的解码结果为1。若否,则确定该位的解码结果为0。

最后,对最终的解码结果进行奇偶校验,判断解码结果是否满足校验方程。若是,则确认解码成功,输出解码信息。若否,则重新执行一次迭代更新的步骤,直至迭代更新的次数到达上限值。

从上述的LDPC解码算法可以看出,应用“最小和算法”实现的 LDPC译码器只需要使用加法器和比较器即可实现全部的运算,硬件实现难度较低。因此,LDPC解码器的硬件设计中广泛的采用最小和算法的结构设置。

在一些实施例中,通过对算式(3)的简化,还可以进一步的降低所述“最小和算法”所需要的计算量。

从算式(3)中可以看出,在节点数量较多的情况下,MINi′{|Mi′,j|}(找到第二可靠性信息绝对值集合中最小的那个元素)的运算量较大,本实施例中可以通过如下方式来缩减算式(3)所需要的运算量:

对于每个校验节点,首先找到两个定值(第一定值和第二定值)作为最小值的候选,在实际操作过程中,可以分别设置两个不同的变量- 第一最小值和第二最小值并将第一定值和第二定值分别赋值给相应的变量。然后,在算式(3)的计算过程中,直接选择使用第一定值和第二定值的其中一个作为最小值,代入算式(3)中计算获得第二可靠性信息。

图3为用于实现上述实施例的LDPC译码算法的方法流程图。如图 3所示,所述方法包括如下步骤:

初始化阶段:

311、初始化变量节点,将初始信息赋值给对应的变量节点。假设所述编码信息为i位的二进制序列,VNi为第i个变量节点,CNj为第j 个校验节点。

312、令第二可靠性信息初始化为0。

校验节点处理阶段:

321、根据当前的第二可靠性信息和变量节点的比特信息,计算第一可靠性信息。

通过上述步骤321,可以实现对于外部概率信息的更新。可以理解的是,在每次迭代过程中,随着第二可靠性信息和变量节点的比特信息的更新,该外部概率信息均相应的实现迭代更新。

322、根据接收到的第一可靠性信息,确定校验节点的第一最小值和第二最小值。

323、判断该第一可靠性信息的绝对值是否与第一最小值相等。若是,执行步骤324,若否,执行步骤325。

324、使用第一最小值作为所述外部概率信息集合中的最小值,通过算式(3)计算所述第二可靠性信息。

325、使用第二最小值作为所述外部概率信息集合中的最小值,通过算式(3)计算所述第二可靠性信息。

通过变量节点输出的外部概率信息,校验节点据此通过算式(3) 来计算更新所述第二可靠性信息并反馈至与其连接的变量节点。

变量节点处理阶段:

331、根据校验节点传递反馈的第二可靠性信息,通过算式(1)计算更新变量节点的比特信息。

332、判断变量节点VNi的比特信息是否大于等于0。若是,则确定第i位的解码结果为1(步骤332a)。若否,则确定第i位的解码结果为 0(步骤332b)。

步骤332是根据变量节点的比特信息,确定解码结果的硬判决过程。在每完成一次比特信息的硬判决过程以后,都可以记作一次完成的迭代更新过程,迭代更新次数增加1次。

译码判断阶段:

341、对获得解码结果进行奇偶校验。亦即,对于LDPC码的校验矩阵H,判断是否存在HzT=0。若是,表明通过校验,执行步骤342。若否,则表明没有通过校验,重新返回校验节点处理阶段(执行步骤321)。

重新返回校验节点处理阶段以后,第一可靠性信息、第二可靠性信息以及比特信息均会随之迭代更新一次,并获得一个新的解码结果。

342、确定解码成功并输出所述解码结果。

一般的,虽然更新后的解码结果更可能满足校验方程。但是,为了避免过多的更新迭代次数,造成译码效率低下的问题,需要在适当的情况下停止迭代更新的循环。

在一些实施例中,在返回校验节点处理之前,还可以包括如下步骤:

313、判断迭代更新次数是否到达预设的次数上限。若否,则重新执行后续更新外部概率信息和校验概率信息的步骤(即返回步骤321)。若是,则确定解码失败(步骤343)。

当然,在当前码字解码失败以后,接收端可以通过要求重传等方式来实现消息的可靠传输,确保接收端能够获得准确的传输信息。

基于图3所示的LDPC译码方法设计的LDPC译码器结构中,避免了乘法和除法运算,译码器的实现难度和硬件成本能够被很好的控制。

在一些实施例中,还可以通过降低译码器的位宽的方式来进一步的降低译码器所占用的电路面积。

其中,所述译码器的位宽是指用于表示LDPC译码算法中的涉及的各个变量(如外部概率信息、校验概率信息以及比特信息)的比特位数。

可以理解的是,越大的位宽(越多的比特位数)可以表示数的绝对值越大,例如6比特位可以表示的最大的二进制数为26。当然,使用的位宽越大,硬件电路所需要占用的芯片面积也越大。基于节约成本的考虑,设计人员总是期望使用更小的位宽。

但是,在硬件电路的设计和运行时,通常需要使用足够大的位宽来表示某个变量。否则,当这个变量数值的绝对值大于位宽所能够表示的最大数值时,会出现数据溢出的情况,对计算结果造成很大的影响。

因此,为了避免数据溢出的发生,导致出现解码性能的极大下降以及误码率(BER)显著上升等问题,实际上LDPC译码器所能够使用的,用于表示比特信息的最小位宽是受到限制的。亦即,LDPC译码器表示比特信息的位宽可以确定为一个最低值。在此,使用“设计许可最小位宽”这样的术语来表示该位宽的最低值。

例如,假设LDPC码的校验矩阵的最大列重为9,向变量节点输入的编码信息为6比特时,初始信息、第一可靠性信息和第二可靠性信息都需要相对应地使用6比特的位宽来表示,以满足数据输入的要求。

变量节点的比特信息由于是初始信息和第二可靠性信息累加后获得的和值(从算式(1)可以看出)。这样的至少需要10比特的位宽(即此时的设计许可最小位宽为10比特)来表示才能避免和值的绝对值较大于位宽所能够表示的最大数值,发生数据溢出。

为了打破表示比特信息的设计许可最小位宽的限制,本实用新型实施例提供了一种LDPC译码器。该LDPC译码器通过额外新增的功能电路,可以以较小的电路成本,来解决上述的技术问题,突破比特信息的表示位宽的限制,避免出现数据溢出的情况。

图4为本实用新型实施例提供的LDPC译码器。如图4所示,该 LDPC译码器包括:校验节点处理电路410,变量节点处理电路420,译码判决电路430以及等比例缩小电路440。

其中,所述校验节点处理电路410用于接收第一可靠性信息,执行校验节点处理并输出第二可靠性信息。所述变量节点处理电路420与所述校验节点处理电路连接,用于接收所述第二可靠性信息,执行变量节点处理以更新变量节点的比特信息。所述译码判决电路430则用于对所述变量节点的比特信息进行译码判决。

当然,根据LDPC码的译码规则,在译码判断电路译码判决,确定解码信息不符合校验矩阵时,可以重新返回校验节点处理电路410和变量节点处理电路420,对比特信息进行更新后再进行译码判决。

所述等比例缩小电路440是一个额外新增的功能电路。其分别与所述变量节点处理电路420和所述校验节点处理电路410连接,用于等比例缩小从所述变量节点传递至所述校验节点的第一可靠性信息、从所述校验节点传递至所述变量节点的第二可靠性信息以及所述变量节点的比特信息。

另外,所述LDPC译码器只使用较低的位宽来表示所述比特信息,其小于设计许可最小位宽,以起到节省译码器电路成本的技术效果。

考虑到译码器的硬件设计通常是基于定点数值(fixed-point value) 进行运算的。这样会导致在某个变量乘以特定缩小系数进行等比例缩放时,很容易出现符号翻转的问题。例如,简单的将数值等比例缩小0.5 倍时,-1*0.5=0。

由此,为了避免等比例缩放时出现符号翻转的问题,在一些实施例中,如图4所示,所述等比例缩小电路还可以包括移位单元451,通过移位单元451来执行等比例缩放的操作。

所述移位单元451可以对需要等比例缩小的数值(包括所述第一可靠性信息、第二可靠性信息、比特信息以及初始信息)执行向右移位操作,从而在保证不发生符号翻转的前提下,等比例缩小这些数值。

在另一些实施例中,考虑到等比例缩放在某些特定环境(例如数值较小时)下仍然会对LDPC译码算法计算结果造成影响。因此,为了降低等比例缩小对于LDPC译码性能的影响,如图4所示,其还可以进一步的设置执行监视器452。该执行监视器452与所述移位单元连接,控制所述移位单元选择性的在部分的迭代更新过程中执行向右移位操作,从而实现等比例缩放的效果。

具体的,所述执行监视器452可以由判断电路和控制电路组成,用以选择性的控制是否执行向右移位操作。

其中,所述判断电路用于判断所述变量节点当前的比特信息是否大于预设的阈值。所述控制电路则用于在所述判断电路确定所述变量节点当前的比特信息大于预设阈值时,控制所述移位单元对所述第一可靠性信息、第二可靠性信息以及比特信息执行向右移位操作。

通过这样的方式,可以减少对绝对值较小的变量进行等比例缩放操作时容易导致准确度丢失的问题。

在本实用新型实施例提供的LDPC译码器中,等比例缩小第一可靠性信息、第二可靠性信息以及比特信息(包括初始信息)可以使得这些概率信息的绝对值减小。因此,这些可靠性信息的和值(亦即更新后的比特信息)的绝对值也会相应的减少,从而降低了对于位宽大小的要求。

换言之,在硬件电路设计时,只需要使用较少的位宽表示比特信息也可以避免发生数据溢出,从而打破原有的设计许可最小位宽的限制,进一步的减少了硬件电路占用的电路面积。例如,在上述例子中,对涉及的变量都等比例缩小以后,可以使用8bit的位宽来表示比特信息的同时也不会发生数据溢出的问题,减少20%的硬件成本。

在另一些实施例中,所述校验节点处理电路可以由多个加法器和比较器配合组成,执行如下的校验节点处理过程:

在每一个校验节点,通过如下算式(2)计算所述第二可靠性信息:

Ej,i=α(∏i′SIGN{Mi′,j})MINi′{|Mi′,j|} (2)

其中,Ej,i为从第j个校验节点传递到第i个变量节点的第二可靠性信息,i′为与校验节点j连接的所有变量节点中,除了第i个变量节点外的变量节点;Mi′,j为第i′个变量节点传递到第j个校验节点的第一可靠性信息。

较佳的是,如图3所示的方法实施例所记载的,所述校验节点处理电路还可以执行如下的方法来计算算式(2)中的变量MINi′{|Mi′,j|}:

首先,根据当前的第一可靠性信息,找到传递到第j个校验节点的所有第一可靠性信息中的第一最小值和第二最小值;

然后,选择所述第一最小值或者所述第二最小值作为最小值,计算所述第二可靠性信息。

相对应地,在执行这样的功能步骤时,所述等比例缩小电路具体用于等比例缩小所述第一最小值、第二最小值以及比特信息的初始值,即可实现对于第一可靠性信息、第二可靠性信息以及比特信息的等比例缩小。

图6为本实用新型另一实施例提供的LDPC译码器的结构示意图。与图4所示的LDPC译码器相比,除图4所示的校验节点处理电路410,变量节点处理电路420,译码判决电路430以及等比例缩小电路440以外,在本实施例中还包括了一个编码信息接收电路。

其中,所述编码信息接收电路610用于接收具有预设码长的编码信息。所述编码信息接收电路610还可以用于进行初始化。该初始化是指对变量节点的比特信息以及其它需要使用的变量进行迭代前的初始化过程。

所述变量节点处理电路620与所述编码信息接收电路610连接,用于对每个变量节点执行所述变量节点处理,更新第一可靠性信息和第二可靠性信息。所述变量节点处理电路630与所述校验节点处理电路620 连接,用于执行所述校验节点处理,根据所述第二可靠性信息更新变量节点的比特信息。

所述译码判决电路640用于比特信息进行硬判决,确定每一位的解码结果并判定解码结果是否符合校验矩阵。

若判定为符合校验矩阵,便可以直接输出解码信息,完成当前码字的解码。若判定为不符合校验矩阵,则需要重新返回校验节点处理电路 620和变量节点处理电路630,进行比特信息的更新以进行下一次的译码判决。

所述等比例缩小电路650分别与所述校验节点处理电路和所述变量节点处理电路连接,用于等比例缩小LDPC解码过程中所涉及的相关变量(包括从所述变量节点传递至所述校验节点的第一可靠性信息、从所述校验节点传递至所述变量节点的第二可靠性信息、所述变量节点的比特信息以及用于初始化的初始信息等),以减小这些变量的绝对值。

基于以下的原因,对于LDPC译码方法中涉及的变量(包括第一可靠性信息、第二可靠性信息、比特信息以及初始信息)进行等比例缩放事实上并不会对使用浮点数值(floating-point value)的LDPC译码算法的计算结果造成影响。

一方面,在本实用新型说明书中揭露的用于进行第二可靠性信息更新的算式(3)中可以看出,更新第二可靠性信息时需要对集合中的元素执行比较运算,找到最小值后进行计算。整个LDPC算法的重点在于第二可靠性信息之间的相对值。

另一方面,在LDPC译码算法的迭代过程中,变量节点进行更新计算时的符号是一致的(不是正便是负),不会出现中零区域。

应当说明的是,在本实用新型实施例中,仅对所述LDPC译码器中的硬件电路均采用功能性命名的方式进行描述(如编码信息接收电路610,校验节点处理电路620,变量节点处理电路630,译码判决电路640 以及等比例缩小电路650)。本领域技术人员可以根据本实用新型实施例揭露的硬件电路所要执行的功能,对常用的电路结构进行选择、调整或者组合,获得用以执行上述方法实施例中一个或者多个功能的实际电路结构。

图5为本实用新型实施例提供的LDPC译码器进行LDPC译码的方法流程图。如图5所示,所述方法可以包括如下步骤:

初始化阶段:

511、将初始信息赋值给对应的变量节点,作为变量节点的比特信息。其中,VNi为第i个变量节点,CNj为第j个校验节点。

512、所有校验节点提供的第二可靠性信息均初始化为0。

校验节点处理阶段:

521、根据当前的第二可靠性信息和变量节点的比特信息,计算每个变量节点i向与其连接的校验节点j的第一可靠性信息。

步骤521可以被称为是对第一可靠性信息的更新。在每一次的迭代过程中,随着比特信息等的变化,第一可靠性信息也会发生相应的改变,实现迭代更新。

522、根据当前的第一可靠性信息,确定每个校验节点j的第一最小值和第二最小值,并且将所述第一最小值、第二最小值以及外部概率信息组成外部概率信息集合。

该第一最小值和第二最小值都是每个校验节点预先找到的定值,作为最小值的候选,用以进行第二可靠性信息的计算。

523、判断是否满足等比例缩放的条件。若是,执行步骤424;若否,跳过步骤524,执行步骤525。

虽然等比例缩放操作在应用浮点数值计算时不会对LDPC译码算法的计算结果造成影响。但是,对于定点数值而言,等比例缩放操作仍然会损失一定的准确度,尤其是在绝对值较小的情况下,等比例缩放的影响会非常明显。

因此,为了保证LDPC译码算法的译码性能,可以根据实际情况设置一些特定的等比例缩放条件,选择性的在一部分迭代更新过程中进行等比例缩放操作而并不是在整个LDPC译码过程都进行等比例缩放。

在一些实施例中,所述等比例缩放的条件具体可以设置为变量节点当前的比特信息的绝对值是否小于预设的阈值。只有在所述比特信息的绝对值大于等于预设的阈值的情况下,才认为满足等比例缩放的条件。

该预设的阈值是一个用以确保等比例缩放操作不会影响译码器正常使用的临界值。其可以由本领域技术人员根据多个不同的因素(如对译码器的性能要求)等,通过实验性手段综合确定。

524、等比例缩小所述第一最小值、第二最小值以及初始信息。

在本实施例中,由于第二可靠性信息是由预先设置的第一最小值或第二最小值为基础计算获得的。因此,通过对第一最小值、第二最小值以及初始编码信息进行等比例缩小即可实现本实用新型实施例所揭露的等比例缩小LDPC译码算法中涉及的变量的数值。

525、判断该外部概率信息的绝对值是否与第一最小值相等。若是,执行步骤526,若否,执行步骤527。

526、使用第一最小值作为所述外部概率信息集合中的最小值,通过算式(3)计算所述第二可靠性信息。

527、使用第二最小值作为所述外部概率信息集合中的最小值,通过算式(3)计算所述第二可靠性信息。

步骤527是校验节点基于更新后的外部概率信息通过算式(3),计算更新所述用于提供给变量节点的第二可靠性信息的更新过程。

变量节点处理阶段:

531、根据校验节点输入的第二可靠性信息,通过算式(1)计算更新变量节点的比特信息。

532、判断更新后的变量节点VNi的比特信息是否大于等于0。若是,确定第i位的解码结果为1(步骤532a);若否,确定第i位的解码结果为0(步骤532b)。

译码判决阶段:

541、对获得解码结果(多位的二进制序列)进行奇偶校验。亦即,判断是否存在HzT=0。若是,表明通过校验,执行步骤542。若否,则表明没有通过校验,重新返回校验节点处理阶段。

542、确定解码成功并输出所述解码结果。

当重新返回校验节点处理阶段以后,便可以再进行一次迭代,对变量节点的比特信息进行更新,从而提高解码成功的可能性。一般的,为了避免过多的更新次数,造成译码效率低下的问题,在重新返回校验节点处理阶段之前,还可以包括如下步骤:

543、判断迭代更新次数是否到达预设的次数上限。若是,则执行后续的变量节点处理步骤和校验节点处理步骤,对比特信息进行更新。若否,则确定为解码失败(步骤544)。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的示例性的LDPC码解码步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本实用新型的范围。所述的计算机软件可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。

以上所述仅为本实用新型的实施方式,并非因此限制本实用新型的专利范围,凡是利用本实用新型说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本实用新型的专利保护范围内。

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