产生奇偶校验矩阵的方法 【技术领域】
本发明是关于一种用于产生奇偶校验(parity-check)码的方法,更具体地,是关于一种对低密度奇偶校验(Low Density Parity-Check,LDPC)码重排,以产生重排的LDPC码的方法。
背景技术
在数字数据解码领域,经有噪声的传输信道传输后,会利用LDPC码来更正数字数据中的错误比特。请参阅图1。图1是现有的用于更正七比特输入数字数据的多级图10的示意图,七比特数字数据是比特节点v1、v2、v3、v4、v5、v6、v7,多级图10是根据LDPC码C进行错误更正,其中C以如下矩阵表示:
C=1100100010010100100111001111]]>
在多级图10中,按照比特节点v1、v2、v3、v4、v5、v6、v7到校验节点c1、c2、c3、c4的路径,比特节点v1、v2、v3、v4、v5、v6、v7的值传递到校验节点c1、c2、c3、c4,上述路径是根据LDPC码C产生的。每一校验节点针对指向本校验节点的比特节点的值来实施校验计算。例如,校验节点c1校验比特节点v1、v2、v5的值,再将校验结果传递回到相同的比特节点,即v1、v2、v5。因此,在现有的多级图10中可以找到从比特节点vi到比特节点vj的多条路径。
此外,由于LDPC码C的并行解码需要大量存储器和多个处理器,可以利用并行-串行方式来解码比特节点v1、v2、v3、v4、v5、v6、v7,并行-串行方式所使用的处理器数目比并行方式要少。根据并行-串行方式,多级图10中的校验节点c1、c2、c3、c4被划分为多个不相交的群组,在本实施例中以两个不相交的群组为例,其中一个群组包含校验节点c1、c2,另一群组包含校验节点c3、c4。接着,分配特定的处理器来计算比特节点,即,在第一环(cycle)中计算对应于校验节点c1、c2的比特节点v1、v2、v5、v7;在第二环中计算对应于校验节点c3、c4的比特节点v1、v3、v4、v5、v6、v7。此外,取决于是对校验节点c1、c2、c3、c4实施划分或是对比特节点v1、v2、v3、v4、v5、v6、v7实施划分,多级图10可分类为垂直式重组信度传播(Vertical Shuffled Belief Propagation,VSBP)或是水平式重组信度传播(Horizontal Shuffled Belief Propagation,HSBP)。但是,现有的多级图10,不管是采用VSBP或是HSBP,都没有考虑到短环效应(short cycle effect),而短环效应可能影响校验节点c1、c2、c3、c4的计算结果的正确性。因此,提供一种准确而有效率的数字数据校验方法是通信系统的重要考虑。
【发明内容】
利用LDPC码进行数字数据错误比特更正的现有的多级图都没有考虑到短环效应,而短环效应可能影响校验节点的计算结果的正确性。本发明的目的之一是提供一种产生奇偶校验矩阵的方法。
本发明提供一种产生奇偶校验矩阵的方法,用于解码多个欠定节点,包含:根据预定的奇偶校验矩阵,确定多个特定节点;确定对应于该多个特定节点的多个权重;以及根据该多个权重将该多个特定节点分类,以产生该奇偶校验矩阵,并存储在存储器中。
通过对LDPC码重排,本发明的数字数据校验方法准确而有效率,考虑了短环效应,降低了LDPC解码的依赖性。
【附图说明】
图1是现有的用于更正七比特输入数字数据的多级图的示意图。
图2是根据本发明实施例,产生奇偶校验矩阵以解码多个欠定节点的方法的流程图。
图3是根据预定的奇偶校验矩阵和多个欠定节点的多级图的示意图。
图4为根据本发明实施例,确定对应特定节点的权重的方法的流程图。
图5是根据奇偶校验矩阵和多个欠定节点的重排的多级图的示意图。
【具体实施方式】
在说明书及后续的申请专利范围当中使用了某些词汇来指称特定组件。所属领域中具有通常知识者应可理解,制造商可能会用不同的名词来称呼同一个组件。本说明书及后续的申请专利范围并不以名称地差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包括”和“包含”系为一开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此系包含任何直接及间接的电气连接手段。间接的电气连接手段包括通过其它装置进行连接。
请参阅图2与图3。图2是根据本发明实施例,产生奇偶校验矩阵H’以解码多个欠定节点V1、V2、V3、V4、V5、V6、V7的方法200的流程图。图2所示流程图中的步骤不一定按照与图示完全一致的顺序执行,由于不同步骤顺序均能达到实质上相同的效果,图示各步骤不一定保持相邻关系,中间也可插入其它步骤。方法200包含以下步骤:
步骤202:根据预定的奇偶校验矩阵H,确定多个特定节点C1、C2、C3、C4;
步骤204:将多个特定节点C1、C2、C3、C4分类为多个子群组G1、G2,其中每一子群组至少包含一个特定节点,并且,每一特定节点具有多个路径,该多个路径连接至欠定节点V1、V2、V3、V4、V5、V6、V7中的多个节点;
步骤206:将子群组G1、G2扩展为多个相应的级;
步骤208:确定对应于多个特定节点C1、C2、C3、C4的多个权重δ1、δ2、δ3、δ4;
步骤210:根据权重δ1、δ2、δ3、δ4将特定节点C1、C2、C3、C4排序,以产生奇偶校验矩阵H’,并将H’存储在一存储器中。
请注意,根据此实施例,多个特定节点C1、C2、C3、C4是校验节点,而多个欠定节点V1、V2、V3、V4、V5、V6、V7是比特节点,但是这并不意味着对本发明的限制。在本发明的另一实施例中,多个特定节点C1、C2、C3、C4可以是比特节点,而多个欠定节点V1、V2、V3、V4、V5、V6、V7可以是校验节点。此外,为更清楚的描述本发明的精神,预定的奇偶校验矩阵H设定为与前述的LDPC码C相同,H也以如下矩阵表示:
H=1100100010010100100111001111]]>
因此,在步骤202中,可以产生如图3所示的多级图300。图3是根据预定的奇偶校验矩阵H和多个欠定节点V1、V2、V3、V4、V5、V6、V7的多级图300的示意图。多个特定节点C1、C2、C3、C4包含连接多个欠定节点V1、V2、V3、V4、V5、V6、V7的多条路径。此外,消息(message)从欠定节点发出后,在两个时间段后又会回到原先发出消息的欠定节点。预定的奇偶校验矩阵H所形成的最小环长度是4,即矩阵H的周长(girth)为4。在步骤204中,将多个特定节点C1、C2、C3、C4分类为多个子群组G1、G2,其中第一子群组G1包含特定节点C1、C2,第二子群组G2包含特定节点C3、C4,每一特定节点具有多个路径,这些路径连接欠定节点V1、V2、V3、V4、V5、V6、V7中的多个节点。接着,在步骤206中,将子群组G1、G2扩展为两级。本实施例中,在第一级,第一子群组G1中的特定节点C1、C2针对欠定节点V1、V2、V5、V7实施校验计算;在第二级,第二子群组G2中的特定节点C3、C4针对欠定节点V1、V3、V4、V5、V6、V7实施校验计算。
在步骤208中,可由以下方程(1)确定多个权重δ1、δ2、δ3、δ4:
δi=Σj=1L1j+1*γi,j,---(1)]]>
其中,1≤i≤M,M=4,1≤j≤L,γi,j表示一个特定节点Ci具有2(j+1)长度的环的数目,γi,j的初始值设定为0。请注意,一个环的最大长度为2(L+1),在本实施例中L=1。接着,对每一个特定节点Ci,计算所有j值对应的γi,j,也就是搜寻所有具有2(j+1)长度的环。例如,若经过特定节点Ci的具有2(j+1)长度的环有k个,就设定γi,j为k。然后,可通过方程(1)获得特定节点Ci的权重δi。更具体的,图3中具有长度4的所有可能的环如下所示:
{V1,C1,V5,C4,V1},
{V2,C1,V5,C2,V2},
{V5,C2,V7,C4,V5},
{V6,C3,V7,C4,V6}
于是,经过特定节点C1、C2、C3、C4的长度为4的环的数量分别为2、2、1、3,可由以下向量Γ4*1来表示:
Γ4*1=[2、2、1、3]T
接着,根据方程(1),特定节点C1、C2、C3、C4的权重可由以下向量ΔM*1来表示:
ΔM*1=1(1+1)*[2,2,1,3]T=[1,1,0.5,1.5]T]]>
可以看出,特定节点C4具有最大的权重1.5,而特定节点C3具有最小的权重。
简而言之,步骤208中对应于特定节点Ci的权重确定过程可总结如图4。图4为根据本发明的一实施例,确定对应特定节点Ci的权重的方法400的流程图。图4所示流程图中的步骤不一定按照与图示完全一致的顺序执行,由于不同顺序均能达到实质上相同的效果,各步骤不一定保持相邻关系,中间也可插入其它步骤。方法400包含以下步骤:
步骤402:将多级图中一个环的长度设定为2(j+1),其中1≤j≤L,且多级图中环的最大长度是2(L+1);
步骤404:以2(j+1)来设定环的初始长度,令j=1;
步骤406:对于长度为2(j+1)的环,搜寻具有2(j+1)环长度的每一级的子群组中特定节点的全部路径,以产生路径总数;
步骤408:确定对应长度为2(j+1)的环的系数;
步骤410:根据路径总数和系数,确定特定节点的一个因数;
步骤412:设定j=j+1;
步骤414:确定环长度2(j+1)是否大于2(L+1),若环长度小于2(L+1),则进行步骤406,若环长度大于2(L+1),则进行步骤416;
步骤416:将步骤410确定的特定节点的所有因数加和,以产生特定节点的权重。
其中,步骤406中,特定节点Ci对应于环长度2(j+1)的路径总数是γi,j。步骤408中,特定节点对应于环长度2(j+1)的系数是1/(j+1)。因此,步骤416中特定节点Ci的权重是δi=Σj=1L1j+1*γi,j.]]>
确定对应特定节点C1、C2、C3、C4的所有权重δ1、δ2、δ3、δ4之后,就根据多个权重δ1、δ2、δ3、δ4来重排特定节点C1、C2、C3、C4的顺序,以产生步骤416中的奇偶校验矩阵H’。在本实施例中,特定节点C1、C2、C3、C4的权重分别为1、1、0.5、1.5。接着,具有最小权重的特定节点被安排在最左侧,具有第二小权重的特定节点安排在次左侧,以此类推。相应的,可以如图5所示,产生重排的多个特定节点C3、C1、C2、C4。图5是根据奇偶校验矩阵H’和多个欠定节点V1、V2、V3、V4、V5、V6、V7的重排的多级图500的示意图,其中奇偶校验矩阵H’由以下矩阵表示:
H′=0010011110010001001011001111]]>
请注意,奇偶校验矩阵H’是LDPC码。如图5所示,在重排之后,特定节点C3、C1分类至子群组G1,而特定节点C2、C4分类至子群组G2。然后,可应用HSBP算法,连同奇偶校验矩阵H’,以解码多个欠定节点V1、V2、V3、V4、V5、V6、V7。请注意,在本发明的其它实施例中,也可应用VSBP算法,连同奇偶校验矩阵H’,以解码多个欠定节点V1、V2、V3、V4、V5、V6、V7。
因此,通过重排,本发明实施例的方法200降低了LDPC解码的依赖性。更具体的,特定节点C1获取的欠定节点为V1、V2、V5,特定节点C3获取的欠定节点为V3、V6、V7,两者相比是完全不同、没有重叠的。然而根据现有的多级图10,校验节点C1获取的比特节点为V1、V2、V5,校验节点C2获取的比特节点为V2、V5,其中有两个比特节点V2、V5是重叠的。
任何熟习此项技艺者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视所附的权利要求所界定者为准。