用于迭代解码器的改进的turbo均衡方法

文档序号:6592531阅读:174来源:国知局
专利名称:用于迭代解码器的改进的turbo均衡方法
技术领域
本发明涉及数字信号处理,并且更具体地,涉及被称为低密度奇偶校验(LDPC)编 码的数据编码方法。
背景技术
通信是由传输方在通信信道上向接收方传输信息。在现实世界中,通信信道是向 接收方提供从传输方传输的信息的失真版本的有噪信道。硬盘(HD)驱动器就是这样一种 有噪信道,其从传输方接受信息,存储该信息,然后将该信息的或多或少地失真的拷贝提供 给接收方。由诸如HD驱动器的通信信道引入的失真可能大到足以引起信道错误,即,当信道 输入信号是0时,接收方将信道输出信号解释为1,或者反之。信道错误减小了吞吐率,并且 因此是不希望的。因此,存在对检测和/或校正信道错误的工具的持续需要。低密度奇偶 校验(LDPC)编码是用于检测和校正信道错误的一种方法。LDPC码是可以为低信噪比(SNR)应用实现非常低的位错误率(BER)的已知的近 Shannon极限编码之一。LDPC解码以其并行潜力、低实现复杂度、低解码延迟以及在高SNR 下的不很严重的错误平台(error-floor)而著称。实际上认为LDPC码将用于所有下一代 通信标准。

发明内容
在一个实施例中,本发明是一种对编码码字进行解码的方法。为编码码字产生第 一对数似然比(LLR)值集合,每个LLR值具有硬判决值和置信度值。基于第一 LLR值集合 对编码码字执行解码,以便产生具有数目为b的不满足校验节点(USC)的解码码字。为编 码码字产生第二 LLR值集合,至少一个LLR值具有基于USC的数目b的置信度值。基于第 二 LLR值集合对编码码字执行解码。


从下面的详细描述、所附的权利要求书以及附图中,将会完全明了本发明的其它方面、特征和优点,在附图中相似的附图标记指示相似或相同的元件。图1是使用LDPC编码的通信系统100的方框图;图 2 (A)示出了 LDPC H 矩阵 200,图 2 (B)是 H 矩阵 200 的 Tanner 图;图3是由图1的解码器114使用的典型LDPC解码方法300的流程图;图4是turbo均衡系统400的方框图;和图5是根据本发明的一个实施例的TURBO均衡系统500的方框图。
具体实施例方式图1是使用LDPC编码的通信系统100的方框图。数据源102产生被称为原始信息 字104的位集合。LDPC编码器106对原始信息字104编码以便产生码字108,码字108也 被称为信道输入码字。下面更详细地讨论LDPC编码。然后编码器106通过有噪信道110, 例如硬盘驱动器的盘片,发送码字108。信道检测器112从有噪信道110接收码字108作为值y的集合。信道检测器112 将接收的值y转换为对数似然比(LLR)值L。h的集合。LLR值包括(i)表示解码器关于由相 应值y指示的一位硬判决值的最佳猜测的符号位,和(ii)表示解码器关于该硬判决的置信 度的一个或更多个量值位。例如,信道解码器112可以作为5位LLR输出每个L。h值,其中 最高有效位是指示硬判决值的符号位,并且4个量值位的值指示硬判决的置信度。因此,在 一种可能的LLR方案中,二进制00000的LLR值指示具有最低置信度的硬判决值0,二进制 01111的LLR值指示具有最高置信度的硬判决值0,二进制10001指示具有最低置信度的硬 判决值1,并且二进制11111指示具有最高置信度的硬判决值1,其中二进制值10000未使 用。信道检测器112将Leh值发送到LDPC解码器114。LDPC解码器114随后对Leh值 集合执行一个或更多个解码迭代116 (“局部迭代”),以便产生解码码字 。当(i)LDPC解码 器114得到解码正确的码字(DCCW),即, 与信道输入码字108相同时,或(ii)LDPC解码器 114执行了最大允许数目的局部迭代而未得到DCCW,即,LDPC解码器114失败时,LDPC解码 器114终止。当解码器114终止时,它向数据目的地118输出解码码字 。下面更详细地描 述LDPC解码。LDPC 编码为了创建码字108,LDPC编码器106给信息字104的位附加由LDPC码指定的若干 奇偶位。信息字104中的位的数目被以K表示。编码码字中的位被称为变量位,并且这些 变量位的数目被以N表示。因此,由N-K给出奇偶位的数目。LDPC码字中的每个奇偶位以由特定LDPC码所指定的特定方式与码字中的一个或 更多个其它(变量或奇偶)位相关联,并且分配给奇偶位的值被设置为满足LDPC码。典型 LPDC码规定相关联的位满足奇偶校验约束,例如,相关联的位的和是偶数,S卩,和模2 = 0。LDPC 码由被称为奇偶校验矩阵或H矩阵或简称为H的1和0的二维矩阵定义特定的LDPC 码。LDPC编码器和解码器事先都知道H。H包括N列和N-K行,S卩,码字的每个位针对一列, 并且每个奇偶位针对一行。H中的每个1表示列的码字位和行的奇偶位之间的关联。例如, H的第3行第7列处的1意味着第3个奇偶校验位与码字的第7个位相关联。校验位与和该校验位相关联的所有变量位的值的和模2应当为0。典型LDPC码的一种定义特性是H是 “稀疏的”,即,H的元素大部分为0,只有少数为1。图2 (A)示出了 LDPC H矩阵200。H矩阵200包括N = 9列和N-K = 6行。因此, H矩阵200定义接受3位信息字、附加6个奇偶位、并且输出9位码字的LDPC码。LDPC解码信任传播图3是由图1的解码器114使用的LDPC解码方法300的流程图。解码方法300 的核心是被称为信任传播的迭代的两阶段消息传递算法。可以通过使用Tarmer图解释信 任传播。图2 (B)是H矩阵200的Tanner图。一般地,Tanner图包括1)等于H中的列数 的位节点(也被称为变量节点)数目n(并且因此等于变量位的数目N),2)等于H中的行 数的校验节点数目m(并且因此等于奇偶位的数目),3)边202,每个边将单个位节点Iii连 接到单个校验节点IV 4)对于每个位节点η”原始L。h值,和5)对于每个位节点η”计算的 硬判决输出值瓦。图2 (B)的Tarmer图包括9个位节点 -%,6个校验节点HicTm5,18个将位 节点连接到校验节点的边202,9个L。h值和9个元值。Tanner图中的边表示位节点η和校验节点m之间的关系,其中边表示H中的1。例 如,在图2(B)中,边202将第1个位节点Iitl连接到第4个校验节点m3,这是由于在图2 (A) 的H矩阵200的第1列第4行中存在1。Tanner图是二分图,即,一个边仅能将一个位节点连接到一个校验节点,而不能将 一个位节点连接到另一个位节点,或者将一个校验节点连接到另一个校验节点。表 示被以边连接到特定校验节点m的所有位节点η的集合。以Μ(η)表示被以边连接到特定位 节点η的所有校验节点m的集合。特定(位或校验)节点的索引是其在图中的序数序列。返回图3,处理开始于步骤302,并且进入步骤304,进行解码器初始化。解码器初 始化304包括将与每个位节点η连接的所有边(例如,图2 (B)的202)设置为与位节点η相 关联的相应L。h值,并且将位节点η的、值设置为位节点η的L。h的硬判决值。因此,例如, 在图2 (B)中,如果与位节点Iitl相关联的Leh值是十进制值+5,则在步骤304,将使位节点nQ 连接到校验节点mQ和m3的两个边202设置为+5,并且位节点η的、值被设置为1。表述这 个步骤的第一部分的另一种方式是位节点Iitl向集合M(Iitl)中的每个校验节点m发送消息 +5。从位节点η发送到校验节点m的消息被称为位节点或Q消息,并且被以Qnm表示。随后,步骤304向校验子校验步骤306发送包括N个&值的候选解码码字矢量χ。 校验子校验步骤306使用下面的等式(1)计算校验子矢量ζ
Ζ=χΗΓ (1)其中Ht是H矩阵的转置。如果校验子矢量ζ是0矢量,则矢量Jf满足由H定义的所 有奇偶校验约束,即, 是有效的解码码字。在该情况下,处理进入循环冗余校验(CRC)318。相反,如果校验子矢量ζ不是0矢量,则矢量 未通过一个或更多个奇偶校验约束。 校验子矢量ζ中的每个非零元素表示一个失败的奇偶校验约束,其也被称为不满足校验节 点(USC)。校验子矢量ζ中非零元素的数目是矢量 中的USC的数目b。另外,校验子矢量 ζ的非零元素的索引是USC在矢量jf中的索引。如果矢量jf未通过校验子校验306,则处理继续一个或更多个解码迭代308 (“局部
7迭代”)中的第一个迭代。解码迭代308包括三个步骤1)信任传播校验节点更新步骤310, 2)信任传播位节点更新步骤312和3)与步骤306相同的校验子校验步骤314。在信任传播校验节点更新步骤310中,每个校验节点m根据下面的等式(2)、(3) 和(4)使用从集合N(m)中的所有位节点η接收的Qnm消息计算以Rmn表示的一个或更多个 校验节点或R消息
(2) 其中i是解码迭代,N(m) \n是除去位节点η之外的集合N(m),函数sgn返回其操 作数的符号,并且β是正的常数,其值取决于码参数。每个校验节点m将计算的Rmn消息沿 着相同的边送回集合N(m)中的所有位节点η。接着,在信任传播位节点更新步骤312,每个位节点η根据下面的等式(5)计算一 个或更多个Qnm消息 其中Ln(°)是位节点η的原始L。h值,并且M(n) \m是除去校验节点m之外的集合
位节点η将计算的Qnm消息发送到集合Μ(η)中的所有校验节点m。
并且,在位节点更新步骤312中,每个位节点η根据下面的等式(6)和(7)更新其
Xn;

(6)
(7)如果Pn ≥0,则毛=0,并且如果?11<0,则2 = 1。由等式(6)产生的值也称为外 在或E值,并且被以Euire表示。由等式(7)产生的值被称为P值。以等式(2)-(7)表示的 特定信任传播算法被称为最小和算法。注意,瓦值被在每个解码迭代308中更新,并且最后 由解码处理300输出。原始LLR值L。h在解码处理300中保持不变。位节点更新步骤312将由解码器的当前瓦值构成的矢量 发送到校验子校验步骤 314。校验子校验步骤314与上面讨论的步骤306的校验子校验相同。如果矢量 通过了校 验子校验314,则矢量 被发送到CRC步骤318。LDPC解码循环冗余校验和误满足校验节点通过校验子校验306或314意味着矢量f是有效的解码码字,但是不必然是解码正 确的码字(DCCW)。LDPC解码器可能产生不是DCCW的有效解码码字。在该情况下,矢量i中 不存在USC,但是存在误满足校验节点(MSC),即,与偶数个错误位节点相关联的校验节点。 因此,为了确保有效的矢量S是DCCW,处理300将矢量jf传递到循环冗余校验(CRC) 318。CRC 校验是校验和运算,其可以检测传输或存储过程中的数据改变。如果矢量jf通过了 CRC校验,则矢量 是DCCW,并且处理300将全局变量DCCW设置
为真,输出矢量 ,并且在步骤320处终止。否则,矢量jf不是DCCW,并且处理300将全局变量DCCW设置为假,输出矢量jf ,并且在步骤320处终止。全局变量DCCW通知其它解码处理 是否产生了 DCCW。返回步骤314,如果矢量jf未通过校验子校验,则仍然存在一个或更多个USC。解决 USC的典型方法是执行另一个解码迭代308。然而,在特定的局部解码会话中,可能存在不 能在合理的时间量中被满足的一个或更多个USC。因此,LDPC解码器通常具有可以执行多 少次解码迭代的限制。迭代的最大数目的典型值的范围从50到200。在图3中,步骤316确定是否达到了迭代的指定的最大数目。如果未达到,执行另 一个解码迭代308。反之,如果达到了迭代的最大数目,则解码器处理300失败。在该情况 下,处理300将全局变量DCCW设置为假,输出矢量S,并且在步骤320终止。处理300的完整执行被称为局部解码会话。BER、SNR和错误平台LDPC解码器的位错误率(BER)表示解码位具有错误值的概率。因此,例如,具有 10_9的BER的解码器对于处理的每十亿个解码位平均产生1个错误位。未收敛到DCCW的 LDPC局部解码会话对解码器的BER做出贡献。LDPC解码器的BER受解码器的输入信号的信噪比(SNR)的强烈影响。作为SNR的 函数的BER图通常包括两个不同的区域初始“瀑布”区域,其中对于SNR的单位增加,BER 迅速改善(下降);以及随后的“错误平台”区域,其中SNR的增加仅产生BER的略微改善。 因此,在错误平台区域中实现显著的BER改进需要SNR增加之外的方法。—种改善LDPC解码的错误平台特性的方法是增加码字长度。然而,增加码字长度 也增加LDPC解码所需的存储器和其它计算资源。因此,如果这些资源是紧缺的,HD驱动器 上的读通道设备通常就是这种情况,必须寻找其它方法产生必要的错误平台改进。另一种稀缺的资源是处理周期。通常,为了实现指定的吞吐率,HD驱动器为 解码一个码字安排固定数目的读通道处理周期预算。超出该预算的方法(S卩,计划外 (off-the-fly)的方法)将减小吞吐率。更希望在时钟周期分配内恢复DCCW,并且因此不 减小吞吐率的计划内(on-the-fly)的方法。改进LDPC解码器的错误平台特性的另一种方法是使用一个或更多个后处理方 法。当局部解码会话在允许的最大迭代数目内未收敛到DCCW时调用后处理方法。后处理 方法调整与解码处理相关联的一个或更多个变量(例如,y值、L。h值和/或解码器的操作 参数)并且重新启动解码。类似解码自身,后处理方法通常是迭代的,对解码处理的输入进 行多个、顺序的改变。在典型的LDPC局部解码会话中,解码器在前几个解码迭代中收敛到DCCW。相反, 当LDPC解码器在指定的最大迭代数目内未收敛到DCCW时,通常是由于两种情况之一。在 第一种情况中,输入码字包含太多的位错误,即,太少的正确值,从而解码器不能校正所有 位错误,并且输出矢量是具有大量(例如,多于16个)位错误的无效解码码字(ICW)。处 理ICW的典型后处理方法是请求输入码字的重新发送。虽然重新发送是一种计划外方法并 且因此是不希望的,但它通常是用于校正ICW的仅有的可靠选择。在第二种情况下,解码码字拥有少量(例如,16个或更少)USC。这种解码码字被 称为近码字(NCW)。通常,NCW中的USC构成一种被称为陷阱集合的稳定配置,陷阱集合不 受进一步解码迭代的影响。NCW/陷阱集合对LDPC解码器的错误平台特性具有显著影响。
Turbo 均衡TURBO均衡指用于校正NCW的一族后处理方法。具体地,TURBO均衡获取在解码过 程中由解码器产生的一个或更多个值,并且将这些值与原始LLR值组合,以便产生新的调 整后的LLR值,这些值将成为解码器的新输入。在典型的TURBO均衡方案中,失败的解码器的Euire值被与原始Lch值组合,以便创 建新的调整后的Lqi值。然后,该调整后的Lai值被反馈到解码器内,并且重新执行解码。调 整Lai值和重新执行解码的步骤被称为全局迭代。通常,TURBO均衡是迭代处理。如果LDPC解码器未以调整后的Lai值到达DCCW,则 执行另一个全局迭代将调整后的Lai值再次与失败的解码器的新Euire值组合,并且反馈到 LDPC解码器内。当(i)LDPC解码器达到DCCW,或(ii)已经执行了指定的最大允许数目的 全局迭代时,全局迭代停止。由TURBO均衡系统从接受新码字以便解码的时刻到最后全局 迭代完成的时刻所执行的步骤被称为全局解码会话。关于TURBO 均衡的更多信息可见于(i)A. C. Douillard, A. Picart, Μ. Jezequel, P. Didier, C. Berrou 禾口 k. Glavieux 的 " Iterativecorrection of intersymbol interference Turbo-equalization, " Eur.Trans. Commun.,vol. 6, pp.507-511, Sept. -Oct. 1995, 以 及(ii)Yeap, B. L. , Liew, Τ. H. , Hamorsky, J.禾口 Hanzo, L. B.白勺〃 ComparativeStudy of Turbo Equalization Schemes using Convolutional, Convolutional Turbo, and Block-Turbo Codes, " IEEE Transactionson Wireless Communications, 1(2). pp. 266-273,通过引用将这两者完整结合在此。图4是TURBO均衡系统400的方框图。TURBO均衡系统400包括缓冲器402、信道 检测器404 (例如,MAP检测器、Viterbi检测器等)、累加节点(summing node) 406,LDPC解 码器408、缓冲器412和延迟缓冲器416。TURBO均衡系统400类似于图1的通信系统100 的由信道检测器112和LDPC解码器114组成的部分。缓冲器402缓冲从有噪信道(例如,图1的信道110)接收的均衡信道样本值y。 信道检测器404从缓冲器402读取(i)y样本集合,并且从缓冲器412读取(ii)外在信息 值Euire的匹配集合(对于第一个全局迭代,Eldpc = 0),并且产生初始LLR值Lm。累加节点 406从(ii)初始LLR值Lcd中减去从延迟缓冲器416接收的⑴外在信息值Euire^d,以便 产生调整后的Lqi值。LDPC解码器408使用调整后的LLR值Lai执行一个或更多个局部迭代 410,以便产生⑴码字 和(ii)外在信息值Euire的新集合。外在信息值Euire是由LDPC解 码器408产生的LLR值减去调整后的LLR值L。H(见等式6和7)的LLR值。缓冲器412存 储一个全局迭代的外在信息值Euire,以便产生外在信息值EuircH15类似地,延迟缓冲器416 存储并将外在信息值EuircH延迟若干样本(样本数目取决于信道检测器404的处理延迟), 以便产生外在信息值每个全局迭代414包括(i)信道检测器404从缓冲器402和412接收值,并且产 生LLR值L⑶,(ii)累加节点406产生差,(iii) LDPC解码器408执行局部解码会话,和(iV) 缓冲器412和416存储并且延迟Euirc值的相应集合。因此,在给定的全局迭代i中,累加节 点406从初始LLR值Lm中减去在全局迭代i-Ι中产生的Euirc值(即,来自第i_l个全局迭 代的EuircH,并且对于第一个全局迭代,即,i = 0,E°ldpc=0)o系统400的操作的例子如下。变量上标指特定变量所属的全局迭代。例如,Eldpc3指解码器408在第三个全局迭代(即,全局迭代3)中产生WEuirc值。
在接受用于解码的y信号的新集合之后,系统400将所有Euire值初始化为0。由于 Eldpc1指解码器408在全局迭代1中产生的Euirc值,在初始化过程中,系统400将值E111J (存 储在缓冲器412内,并且在全局迭代1中在信道检测器404处应用)和值Euire"(存储在缓 冲器416内,并且在全局迭代1中在累加节点406处应用)初始化为0。在系统400的全局迭代1中,在信道检测器404处应用的缓冲的外在信息值EuffZ 和在累加节点406处应用的延迟的外在信息值Euip^d为空。因此,调整后的LLR值Lai等于 初始LLR值Lm。LDPC解码器408对调整后的LLR值Lai执行一个或更多个局部迭代,并且 向缓冲器412输出新的外在信息值Euire1,缓冲器412将缓冲的外在信息值EuircU输出到延 迟缓冲器416。如果解码器408在全局迭代1过程中收敛到DCCW,则LDPC解码成功。在该情况 下,信道检测器404接收要解码的y值的下一个集合,并且延迟缓冲器412和416被重新初 始化为0。在另一方面,如果 不是DCCW,则系统400开始另一个全局迭代414(即,全局迭 代2)。在全局迭代2中,信道检测器404处理缓冲的y值和缓冲的外在信息值Euire1,以便 给累加节点406产生新的初始LLR值Lm。累加节点406从新的初始LLR值Lm中减去缓冲 的外在信息值Euirc1A并且将得到的调整后的LLR值Lai发送到LDPC解码器408,在LDPC解 码器408处开始新的局部解码会话。LDPC解码器408对调整后的LLR值Lch执行一个或更 多个局部迭代,并且向缓冲器412输出新的外在信息值Euire2,缓冲器412向延迟缓冲器416 输出缓冲的LLR值Euirc2。如果解码器408在全局迭代2期间收敛到DCCW,则LDPC解码成功。在该情况下, 信道检测器404接受要解码的y值的下一个集合,并且延迟缓冲器412和416被重新初始 化为0。在另一方面,如果 不是DCCW,则系统400开始另一个全局迭代414 (即,全局迭代3)。在全局迭代3中,信道检测器404处理缓冲的y值和缓冲的外在信息值Euire2,以便 给累加节点406产生新的初始LLR值Lm。累加节点406从新的初始LLR值Lm中减去缓冲 的外在信息值Euirc2A并且将得到的调整后的LLR值Lai发送到LDPC解码器408,在LDPC解 码器408处开始新的局部解码会话。LDPC解码器408对调整后的LLR值Lch执行一个或更 多个局部迭代,并且向缓冲器412输出新的外在信息值Euire3,缓冲器412向延迟缓冲器416 输出缓冲的LLR值Euirc3。如果解码器408在全局迭代3期间收敛到DCCW,则LDPC解码成功。在该情况下, 信道检测器404接受要解码的y值的下一个集合,并且延迟缓冲器412和416被重新初始 化为0。在另一方面,如果jf不是DCCW,则系统400开始另一个全局迭代414 (即,全局迭代4)。这种全局迭代的处理继续,直到产生DCCW或达到最大数目的全局迭代为止。图5是根据本发明的一个实施例的TURBO均衡系统500的方框图。类似于图4的 TURBO均衡系统400,TURB0均衡系统500类似于图1通信系统100的由信道检测器112和 LDPC解码器114组成的部分。图5的缓冲器502、信道检测器504、累加节点506、LDPC解 码器508、缓冲器512和延迟缓冲器516分别类似于图4的缓冲器402、信道检测器404、累加节点406、LDPC解码器408、缓冲器412和延迟缓冲器416。另外,TURBO均衡系统500包 括LLR调整器520和开关518。LLR产生器524包括缓冲器502、信道检测器504、累加节点 506、开关508、缓冲器512、延迟缓冲器516、LLR调整器520、逻辑块522和开关518。由信道检测器504产生的初始LLR值Lm除了被使用于累加节点506之外,还被使 用于LLR调整器520。由累加节点506产生的标准的调整后的LLR值Lpi被应用到开关518, 而不是被直接使用于LDPC解码器508。LLR调整器520从信道检测器504接收(i)初始LLR值Lm并且从前面的局部解码 会话的LDPC解码器508接收(ii)解码码字f中不满足校验节点的数目b。LLR调整器520 根据下面的等式⑶计算改进的调整后的LLR值Lp2 Lp2 = Sign(L1)^b,(8)其中改进的调整后的LLR值Lp2具有相应的初始LLR值Lm的符号,但是量值等于 USC的以前数目b。因此,例如,如果特定初始LLR值Lm的硬判决为负,jf中USC的数目b是 5,则Lp2将是-5。然后,改进的调整后的LLR值Lp2被应用于开关518。开关518从逻辑块522接收(i) 1位控制信号S,从累加节点506接收(ii)标准的 调整后的LLR值LP1,并且从LLR调整器520接收(iii)改进的调整后的LLR值LP2。如果S 是1,则开关518将改进的调整后的LLR值Lp2输出到LDPC解码器508作为选择的调整后 的LLR值LeH。如果S是0,则开关518将标准的调整后的LLR值Lpi输出到LDPC解码器CF 作为选择的调整后的LLR值Lra。逻辑块522从LDPC解码器508接收当前全局解码迭代的次数i和值b。如果全部 满足下面三个条件,逻辑决522输出1作为控制信号S (l)b小于或等于bmax ;(2) i 不等于 0 模(mod) ρ ;禾口(3)i 大于 iSTAm。bmax指示TURBO均衡系统所允许的USC节点的最大数目。bmax的典型值是16。i是 给定全局迭代的序数。序数i被初始化为0,并且在每次全局迭代开始时递增。P是指示改 进的全局迭代的频率的由操作者定义的值。例如,如果P为4,则为每个标准全局迭代执行 3次改进的全局迭代。iSTAM是使用标准全局迭代方法的由操作者定义的初始全局迭代数字。 例如,如果iSTAKT设置为2,则前两个全局迭代是标准全局迭代。例如,如果P = 4并且iSTAKT =2,则全局迭代1和2是标准全局迭代,全局迭代3是改进的全局迭代,全局迭代4是标准 全局迭代,全局迭代5、6和7是改进的全局迭代,迭代8是标准全局迭代,并且依此类推,全 局迭代12、16、20...是标准全局迭代,并且所有其它全局迭代是改进的全局迭代。如果不满足这三个条件中的一个或更多个,则逻辑块522输出0作为控制信号S。LDPC解码器508接收选择的调整后的LLR值LeH,并且执行解码。LDPC解码器508 输出三组值(1)向延迟缓冲器512输出外在信息值Efi的新集合,(2)向下游处理输出新 的解码码字3 ,以及(3)向LLR调整器520和开关518输出解码码字jf中的USC数目b。如 果LDPC解码器508不收敛到DCCW,则执行系统500的另一个全局迭代。当(i) LDPC解码器 508收敛到DCCW或(ii)系统500在所允许的最大数目的全局迭代内未收敛到DCCW时,系 统500终止。注意,如果改进的全局迭代的频率P被设置为1,则系统500执行的所有全局迭代都是标准全局迭代。类似地,如果初始的标准全局迭代的数字iSTAM被设置为等于全局迭代 的最大数目,则所有全局迭代都是标准全局迭代。研究表明本发明的实施例可以产生迭代解码系统BER的10倍的改进。虽然以实施LDPC编码和解码的硬盘驱动器的上下文描述了本发明,但本发明不 限于此。一般地,本发明可被实现在涉及LPDC编码和解码的任意适合的通信路径中。另外,虽然上面使用的示例信任传播算法是偏移量最小和算法(0MS), 但本发明不限于此,而可以用于任意信任传播变体,例如,和积算法(SPA)或 Bah 1 -Cocke-Je 1 inek-Raviν(BCJR)算法。另外,虽然上面使用的信任传播例子使用特定的解码调度(泛滥调度),其中在 单个校验节点更新步骤中更新所有校验节点,之后在单个位节点更新步骤中更新所有位节 点,但本发明不限于此,而可以用于任意解码调度,例如,行串行调度、列串行调度和行-列 串行调度。另外,虽然示例系统500结合标准全局迭代执行改进的全局迭代,但本发明不限 于此。例如,本发明的一个实施例是仅使用改进的全局迭代的系统。这种系统类似于图5 的系统500,但是忽略了累加节点506、逻辑块522、开关518和延迟缓冲器516。另外,虽然示例系统500使用三个特定准则确定何时执行改进的全局迭代,但本 发明不限于此。可以使用任意适合数目和类型的准则,包括没有准则(例如,总是执行改进 的全局迭代)。另外,虽然示例系统500将改进的调整后的LLR值的量值设置为等于USC的数目 b,但在替换实施例中,改进的调整后的LLR值的量值可被设置为等于基于值b的不同数字 (例如,b+1)。另外,虽然上面使用的示例LDPC解码器是不分层的解码器,但本发明不限于此, 并且可以使用分层解码器和不分层解码器。另外,虽然以LDPC码的上下文描述了本发明的实施例,但本发明不限于此。可以 为可由图定义的任意码实现本发明的实施例,例如,tornado码、结构化IRA码,以图定义的 码具有陷阱集合问题。本发明可被表达为方法和用于实现这些方法的装置的形式。本发明可被表达为包 含在有形介质内的程序代码的形式,所述有形介质诸如是磁记录介质、光学记录介质、固态 存储器、软盘、CD-ROM、硬盘驱动器或任意其它机器可读的存储介质,其中当程序代码被装 入诸如计算机的机器并且由其执行时,该机器成为实现本发明的装置。本发明还可被表达 为,例如,存储在存储介质内的、被装入和/或由机器执行的、或在某种传输介质或载体上 传输的程序代码的形式,诸如在电线或电缆上传输、通过光纤传输或通过电磁辐射传输,其 中当程序代码被装入诸如计算机的机器并且由其执行时,该机器成为实现本发明的装置。 当在通用处理器上实现时,该程序代码段与处理器相结合,以便提供类似于专用逻辑电路 操作的独特设备。除非明确说明,每个数值和范围应被解释为是近似的,就如同在该值或范围前面 加有单词“大约”或“近似” 一样。还应当理解,本领域的技术人员可以对为了解释本发明的属性而描述和示出的部 件的细节、材料和布置进行各种改变,而不脱离本发明的范围。
13
应当理解,此处提出的示例方法的步骤不必然需要以描述的顺序执行,并且这些 方法的步骤的顺序应当被理解为仅是例子。同样,这些方法中可以包括附加步骤,并且可以 在根据本发明的各种实施例的方法中忽略或组合某些步骤。此处对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、 结构或特性可被包括在本发明的至少一个实施例中。在说明书各处出现的短语“在一个实 施例中”不必然全部指相同的实施例,不同的或可替换的实施例也不必然互相排除在其它 实施例之外。这同样适用于术语“实现”。
权利要求
一种用于对编码的码字进行解码的方法,该方法包括以下步骤(a)为所述编码的码字产生对数似然比LLR值的第一集合,每个LLR值具有硬判决值和置信度值;(b)基于LLR值的第一集合对所述编码的码字执行解码,以便产生具有数目为b的不满足校验节点USC的解码码字;(c)为所述编码的码字产生LLR值的第二集合,至少一个LLR值具有基于USC的数目b的置信度值;和(d)基于LLR值的第二集合对所述编码的码字执行解码。
2.如权利要求1所述的方法,其中所述编码的码字是LDPC码字。
3.如权利要求1所述的方法,其中所述第二集合中的每个LLR具有等于USC的数目b 的置信度值。
4.如权利要求1所述的方法,其中步骤(c)和(d)与第一turbo均衡方法的单个迭代 相对应。
5.如权利要求4所述的方法,还包括第一turbo均衡方法的一个或更多个附加迭代。
6.如权利要求4所述的方法,其中步骤(a)和(b)与第二turbo均衡方法的单个迭代 相对应,其中所述第一集合中的LLR值的置信度值不基于来自所述编码的码字的任意以前 解码的USC的数目b。
7.如权利要求4所述的方法,还包括第二turbo均衡方法的一个或更多个迭代,所述第 二 turbo均衡方法包括以下步骤(1)不使任意置信度值基于来自所述编码的码字的任意以前解码的USC数目b,来产生 所述编码的码字的LLR值的第三集合;和(2)基于所述LLR值的第三集合对所述编码的码字执行解码。
8.如权利要求7所述的方法,其中该方法包括交错第一turbo均衡方法的第一迭代集 合和第二 turbo均衡方法的第二迭代集合,其中每个第一集合包括第一 turbo均衡方法的一个或更多个迭代;和每个第二集合包括第二 turbo均衡方法的一个或更多个迭代。
9.如权利要求8所述的方法,其中该方法包括第二turbo均衡方法的一个或更多个迭 代的初始集合。
10.如权利要求1所述的方法,其中步骤(C)包括以下步骤(cl)将USC的数目b和指定的阈值进行比较;和(c2)如果USC的数目b不大于所述指定的阈值,产生具有基于USC的数目b的置信度 值的至少一个LLR值。
11.一种用于对编码的码字进行解码的装置,该装置包括(a)用于为所述编码的码字产生对数似然比LLR值的第一集合的装置,每个LLR值具有 硬判决值和置信度值;(b)用于基于所述LLR值的第一集合对所述编码的码字执行解码,以便产生具有数目 为b的不满足校验节点USC的解码码字的装置;(c)用于为所述编码的码字产生LLR值的第二集合的装置,至少一个LLR值具有基于 USC的数目b的置信度值;和(d)用于基于所述LLR值的第二集合对所述编码的码字执行解码的装置。
12.一种用于对编码的码字进行解码的装置,该装置包括LLR产生器,被配置为为所述编码的码字产生对数似然比LLR值的一个或更多个集合, 每个LLR值具有硬判决值和置信度值;和解码器,被配置为基于所述LLR值的一个或更多个集合之一对所述编码的码字执行解 码,其中所述LLR产生器被配置为为所述编码的码字产生LLR值的第一集合; 所述解码器被配置为基于所述LLR值的第一集合对所述编码的码字执行解码,以便产 生具有数目为b的不满足校验节点USC的解码码字;所述LLR产生器被配置为为所述编码的码字产生LLR值的第二集合,至少一个LLR值 具有基于USC的数目b的置信度值;和所述解码器被配置为基于所述LLR值的第二集合对所述编码的码字执行解码。
13.如权利要求12所述的装置,其中所述LLR产生器包括信道检测器,被配置为基于信道输出码字产生信道检测器CDLLR值的集合;和 LLR调整器,被配置为基于所述CD LLR值的集合和与所述编码的码字的以前解码相对 应的USC数目b,产生第一 turbo均衡方法TEM LLR值的集合。
14.如权利要求13所述的装置,其中所述LLR产生器包括累加节点,被配置为基于所述CD LLR值的集合和与所述编码码字的以前解码相对应的 外在LLR值的集合,产生第二 TEM LLR值的集合;和复用器,被配置为为解码器选择所述第一 TEM LLR值的集合或所述第二 TEM LLR值的皇A朱口 ο 如权利要求12所述的装置,其中所述编码的码字是LDPC码字。 如权利要求12所述的装置,其中所述LLR产生器产生LLR的第二集合和所述解码 器基于LLR值的第二集合执行对编码的码字的解码与第一 turbo均衡方法的单个迭代相对应。
15.如权利要求14所述的装置,其中所述装置被配置为执行第二turbo均衡方法的一 个或更多个迭代,所述第二 turbo均衡方法包括所述LLR产生器不使任意置信度值基于来自所述编码的码字的任意以前解码的USC数 目b,来产生所述编码的码字的LLR值的第三集合;和所述解码器基于所述LLR值的第三集合对所述编码的码字执行解码。
16.如权利要求15所述的装置,其中所述装置被配置为交错第一turbo均衡方法的第 一迭代集合和第二 turbo均衡方法的第二迭代集合,其中每个第一集合包括第一 turbo均衡方法的一个或更多个迭代;和 每个第二集合包括第二 turbo均衡方法的一个或更多个迭代。
17.如权利要求16所述的装置,其中所述装置被配置为执行第二turbo均衡方法的一 个或更多个迭代的初始集合。
18.如权利要求12所述的装置,其中所述LLR产生器被配置为 将USC的数目b和指定的阈值进行比较;和如果USC的数目b不大于所述指定的阈值,产生具有基于USC的数目b的置信度值的至少一个LLR值c
全文摘要
本发明的某些实施例是用于解码编码的码字的改进的turbo均衡方法。在一个实施例中,在全局解码迭代i中,基于由全局迭代i-1产生的解码码字中的不满足校验节点的数目b调整所有解码器输入LLR值(LCH)的量值。该改进的turbo均衡方法可被用作给定全局解码会话的唯一turbo均衡方法,或被与其它turbo均衡方法交插在一起。
文档编号G06K5/04GK101903890SQ200980100343
公开日2010年12月1日 申请日期2009年4月2日 优先权日2009年3月5日
发明者李宗望, 李源星, 杨韶华, 谭卫军, 钟浩, 韩洋 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1