专利名称:用于低密度奇偶校验码解码的方法与系统的制作方法
技术领域:
本发明涉及通信系统,更具体地说是涉及经过编码的系统。
背景技术:
通信系统利用编码来保证噪声通信信道上的可靠通信。这些通信信道提供固定的通信容量,该容量可以用固定信噪比(SNR)下的每符号比特数来表示,它确定了一个理论上限(即通常所说的香农限)。结果,各种编码方案就以实现接近于香农限的速率为目标。有一类接近于香农限的编码就是低密度奇偶校验(LDPC)码。
由于LDPC码有许多缺点,因此在以前并未被广泛采用。一个缺点在于LDPC编码技术非常复杂。利用生成矩阵进行LDPC编码需要储存一个庞大的非稀疏矩阵。另外,LDPC码需要一直保存着大矩阵块;因此,即使LDPC码的奇偶校验矩阵是稀疏的,储存这些矩阵也是成问题的。
从实现的角度来看,也会遇到许多的挑战。举例来说,存储器就是LDPC码在实际应用中为何没有被广泛采用的重要原因。LDPC码的实施中另一个关键的挑战是如何实现解码器中多个处理机(节点)之间的连接网络。另外,解码过程中的运算载荷,特别是校验节点运作,也会产生问题。
因此,需要LDPC通信系统采用简单的编解码步骤。还需要高效率地使用LDPC码来支持高数据速率,同时又不引入更高的复杂度。还需要改善LDPC编码器与解码器的性能。还需要减小实现LDPC编码的存储器需求。另外还需要一种方案来简化LDPC解码器内的处理节点之间的通信。
发明内容
本发明致力于解决这样或那样的需求,其中提供了一种用于结构化低密度奇偶校验(LDPC)码解码的方法。通过限制奇偶检验矩阵的一部分为下三角阵以及/或是满足其他条件来规定LDPC码的结构,从而使得解码器处理节点之间的通信变得非常简单。另外,该方法能够充分利用LDPC码在传输比特上的非均匀差错保护能力,以向高阶调制星座图(比如8-PSK(相移键控))更易受到影响的比特提供额外的差错保护。解码过程在各个解码器迭代或是多个解码器迭代之后向LDPC解码器中加入迭代再生信号星座图比特量度。上述的安排提供了一种解码LDPC码的高效率运算方法。
根据本发明实施例的一个方面,其中公开了一种用于解码低密度奇偶校验(LDPC)码的方法。该方法包括接收一个取决于距离向量信息的先验概率信息,所述的距离向量信息涉及与LDPC码相关的信号星座图的符号点与接受到的有噪声符号点之间的距离。该方法还包括发送一个取决于先验概率信息的后验概率信息。该方法包括根据先验概率及后验概率信息判定与LDPC码相关的奇偶校验方程是否满足。另外,该方法还包括选择性地根据判定步骤再生信号星座比特量度。此外,该方法包括根据再生信号星座比特量度输出解码信息。
根据本发明实施例的另一方面,其中公开了一种用于解码低密度奇偶校验(LDPC)码的系统。该系统包括用于接收一个取决于距离向量信息的先验概率信息的装置,所述的距离向量信息涉及与LDPC码相关的信号星座图的符号点与接受到的有噪声符号点之间的距离。该系统还包括用于发送一个取决于先验概率信息的后验概率信息的装置。另外,该系统还包括根据先验概率及后验概率信息判定与LDPC码相关的奇偶校验方程是否满足的装置。该系统包括用于选择性地根据判定再生信号星座比特量度的装置。另外,该系统还包括用于输出基于再生信号星座比特量度的解码信息的装置。
根据本发明实施例的另一方面,其中公开了一种用于解码低密度奇偶校验(LDPC)码的接收机。该接收机包括一个比特量度生成器,该生成器被设置来根据距离向量信息生成一个先验概率信息,所述的距离向量信息涉及与LDPC码相关的信号星座图的符号点与接受到的有噪声符号点之间的距离。该接收机还包括一个解码器,该解码器被设置来输出一个基于先验概率信息的后验概率信息,所述的先验概率信息是从比特量度生成器接收来的,其中解码器还被设置来根据先验概率及后验概率信息判定与LDPC码相关的奇偶校验方程是否满足。如果奇偶校验方程不满足,那么解码器就输出基于再生信号星座比特量度的解码信息。
根据本发明实施例的另一方面,其中公开了一种发送使用低密度奇偶校验(LDPC)码的信息的方法。该方法包括根据一个结构化奇偶校验矩阵对输入信息进行编码,所述的结构化奇偶校验矩阵对奇偶校验矩阵的子矩阵加上限制条件以生成LDPC码。该方法还包括通过一个无线通信系统发送LDPC码,其中通过无线通信系统进行通信的一个接收机被设置来根据与LDPC码相关的信号星座图迭代解码接收到的LDPC码。该接收机被设置在一个或多个解码迭代之后迭代再生信号星座图比特量度。
通过图示多种具体的实施例及实施方式,本发明的其他方面、特点以及优势在随后的详细说明中都有很明显的体现,其中包括用以实现本发明的最佳方式。本发明还有其他不同的实施例,并且它的若干细节可以从不同的方面加以改进,所有这些都没有偏离本发明的设计思想与范围。因此,附图与说明应该被视为示例性的,而不是限制性的。
本发明为举例说明而非为了限制的目的进行图示,在附图的各个图形中相似的附图标记代表类似的元件,其中图1示出了根据本发明一个实施例的通信系统的示意图,该通信系统被设置使用低密度奇偶校验(LDPC)码;
图2示出了图1所示系统中的一个典型发射机的示意图;图3示出了图1所示系统中的一个典型接收机的示意图;图4示出了根据本发明一个实施例的稀疏奇偶校验矩阵的示意图;图5示出了图4所示矩阵的LDPC码的二分图;图6示出了根据本发明一个实施例的稀疏奇偶校验矩阵的子矩阵的示意图,其中所述的子矩阵包含被限制在下三角区域内的奇偶校验值;图7示出了一张曲线图,该图显示了使用不受限奇偶校验矩阵(H矩阵)的编码与使用具有如图6中所示子矩阵的受限H矩阵的编码之间的性能对比;图8A与8B分别示出了非格雷码8-PSK调制方案与格雷码8-PSK调制方案,它们都被使用在图1所示的系统中;图9示出了一张曲线图,该图显示了用格雷码标示的编码和用非格雷码标示的编码之间的性能对比;图10示出了根据本发明一个实施例的使用非格雷码映射的LDPC解码器的工作流程图;图11示出了根据本发明一个实施例的使用格雷码映射的LDPC解码器的工作流程图,该解码器如图3中所示;图12A-12C示出了根据本发明一个实施例的解码过程中,校验节点与比特节点之间相互作用的示意图;图13A与13B示出了根据本发明各种实施例的用于计算校验节点与比特节点之间发出信息的步骤流程图,两图分别对应使用了前后向方法与并行方法的计算过程;图14A-14C示出了几张曲线图,这些曲线图显示了根据本发明的各种实施例生成LDPC码的仿真结果;图15A与15B分别示出了根据本发明一个实施例的存储器的顶部边缘与底部边缘,该存储器被组织来支持结构化存取以实现LDPC编码中的随机性;以及图16示出了根据本发明实施例的一个计算机系统的示意图,该系统能够执行LDPC码的编解码处理过程。
具体实施例方式
本文描述了一种用于高效率解码结构化低密度奇偶校验(LDPC)码的系统、方法及软件。在以下的描述中,为了说明起见而详尽阐述了许多细节,以提供对于本发明全面彻底的理解。但是对于本领域技术人员来说,不需要这些详尽的细节或是通过等效的形式就可以实现本发明。在其他的例子中,以框图形式示出了一些众所周知的结构及设备,以避免对本发明产生不必要的模糊混淆。
图1示出了根据本发明一个实施例的通信系统的示意图,该通信系统被设置使用低密度奇偶校验(LDPC)码。一个数字通信系统100包括一个发射机101,它生成信号波形并通过通信信道103传送给一个接收机105。在这种离散通信系统100中,发射机101带有一个信息源,它产生可能信息的一个离散集;每个可能的信息有一个对应的信号波形。这些信号波形被通信信道103衰减或是以其他形式改变。为了对抗噪声信道103,就要使用LDPC码。
发射机101生成的LDPC码使得高速实现成为可能,而又不会引起任何性能损失。从发射机101输出的这些结构化LDPC码依靠调制方案(比如8-PSK)来避免将一小部分校验节点分配给那些已经容易受到信道差错影响的比特节点。
这种LDPC码有一种可并行化的解码算法(不像turbo码),这种算法仅涉及一些简单的操作,比如加法、比较以及表查找。另外,仔细设计的LDPC码不会显示出任何误差底限的迹象。
根据本发明的一个实施例,发射机101利用一种相对简单的编码技术生成基于奇偶校验矩阵(在解码期间辅助高效存储器存取)的LDPC码来与接收机105进行通信。只要块长度足够大,发射机101所使用的LDPC码能够胜过级联turbo+RS(Reed-Solomon)码。
图2示出了图1所示系统中的一个典型发射机的示意图。发射机200配备有一个LDPC编码器203,它能接收来自信息源201的输入并输出更高冗余度的编码流,这种编码流适合接收机105所作的纠错处理。信息源201由一个离散符号集X生成k个信号。LDPC码由奇偶校验矩阵确定。另一方面,编码LDPC码通常需要指定生成矩阵。尽管可以利用高斯消元法由奇偶校验矩阵获得生成矩阵,但是得到的矩阵不再是稀疏的,而且储存一个大生成矩阵可能会很复杂。
编码器203用一种简单的编码技术由符号集Y生成信号并送入调制器205,所述的编码技术通过对奇偶校验矩阵施加某种结构来利用奇偶校验矩阵。具体地说,就是通过限制矩阵的某个部分为三角形式来对奇偶校验矩阵施加限制。这种奇偶校验矩阵的结构在下面的图6中有更充分的说明。这种限制会引起可以忽略的性能损失,并因此形成了一种有吸引力的折衷方案。
调制器205将来自编码器203的编码信息映射为信号波形,该信号波形再被送给一个发射天线207,发射天线通过通信信道103发射出这些波形。从而,编码信息就被调制并发送给一个发射天线207。发射天线207的发送信号再传播到一个接收机上,如下所述。
图3示出了图1所示系统中的一个典型接收机的示意图。在接收端,一个接收机300包括一个解调器301,它对来自发射机200的接收信号进行解调。这些信号是接收天线303接收来供解调用的。在解调之后,接收信号被转发给解调器305,解调器305尝试通过与比特量度生成器307协同工作生成信息X’,来重建原始源信息。对于非格雷码映射,比特量度生成器307在解码过程中与解码器305来回(反复)交换概率信息,这在图10中有详细描述。另外,如果使用了格雷码映射(根据本发明的一个实施例),比特量度生成器的一次传递就足够了,因为在每个LDPC解码器迭代之后进一步进行比特量度生成可能只能产生有限的性能提高;该方法在图11中有更详细的说明。要理解本发明所带来的优势,分析LDPC码是如何产生的是很有意义的,这在图4中有所说明。
图4示出了根据本发明一个实施例的稀疏奇偶校验矩阵的示意图。LDPC码是长线性分组码,它有稀疏奇偶校验矩阵H(n-k)×n。通常分组长度n的范围可以从数千到数万比特不等。举例来说,图4中示出了用于长度n=8速率为1/2的LDPC码的奇偶校验矩阵。同样的码也可以用图5中所示的二分图来等效地表示。
图5示出了图4所示矩阵的LDPC码的二分图。奇偶校验方程表示,对于每个校验节点来说,所有相邻比特节点的和(在GF(Galois域)(2)上)等于零。从图中可见,比特节点占据了图形的左侧,并且按照预定的关系与一个或多个校验节点相关。举例来说,对于校验节点m1来说,关于比特节点的表达式n1+n4+n5+n8=0成立。
回到接收机300中,LDPC解码器305被当作一个信息传递解码器,由此解码器305需要得出比特节点的值。为了完成这个任务,比特节点与校验节点彼此间要反复进行通信。这种通信的特性在下面说明。
从校验节点到比特节点,每个校验节点向一个相邻的比特节点提供一个关于那个比特节点取值的估计(“判断”),这种估计是基于来自其他相邻比特节点的信息的。举例来说,如果在上面的例子中n4、n5及n8的和对于m1“似乎”为0,那么m1将向n1指出它的值为0(因为n1+n4+n5+n8=0);否则m1将向n1指出它的值为1。另外,对于软判决解码来说,还需要加入可靠性测量。
从比特节点到校验节点,每个比特节点向一个相邻的校验节点发送一个关于它自身取值的估计,这种估计是基于来自其他相邻校验节点的反馈信息的。在上面的例子中,n1只有两个相邻的校验节点m1和m3。如果m3给n1的反馈信息指示n1的取值很可能是0,那么n1将通知m1对n1自身取值的估计为0。对于比特节点有两个以上相邻校验节点的情况来说,比特节点在向与其通信的校验节点报告判决结果前,将对来自其他相邻校验节点的反馈信息进行多数表决(软判决)。重复上述过程直到所有的比特节点都被认为是正确的为止(也就是说,所有的奇偶校验方程都被满足)或是直至达到预定的最大迭代次数为止并由此宣告解码失败。
图6示出了根据本发明一个实施例的稀疏奇偶校验矩阵的子矩阵的示意图,其中所述的子矩阵包含被限制在下三角区域内的奇偶校验值。如前面所述,编码器203(图2)可以通过限制奇偶校验矩阵下三角区域的值来使用简单的编码技术。根据本发明的一个实施例,对奇偶校验矩阵所施加的限制具有如下形式H(n-k)×n=[A(n-k)×kB(n-k)×(n-k)]其中B是下三角阵。
用HcT=0将任意信息块i=(i0,i1,...,ik-1)编码成一个码字c=(i0,i1,...,ik-1,p0,p1,...,pn-k-1),并用递推方式求得校验位;举例来说,a00i0+a01i1+...+a0,k-1ik-1+p0=0解出p0,a10i0+a11i1+...+a1,k-1ik-1+b10p0+p1=0解出p1,以相同方法解出p2,p3,...pn-k-1图7示出了一张曲线图,该图显示了使用不受限奇偶校验矩阵(H矩阵)的编码与使用图6中所示的受限H矩阵的编码之间的性能对比。该曲线图示出了两种LDPC编码之间的性能对比一种编码使用一般的奇偶校验矩阵,而另一种编码使用被限制为下三角阵的奇偶校验矩阵以简化编码。用于仿真的调制方案是8-PSK。性能损失在0.1dB以内。因此,使用下三角H矩阵的限制所引起的性能损失可以忽略不计,而从编码技术的简化中获取的益处却非常显著。从而任何在行/列交换下等效于下三角或上三角形式的矩阵都可以被用于相同的目的。
图8A与8B分别示出了非格雷码8-PSK调制方案与格雷码8-PSK调制方案,它们都可以被使用在图1所示的系统中。图8A所示的非格雷码8-PSK方案可以被用在图3所示的接收机中,以提供一个需要非常低的帧擦除率(FER)的系统。这种要求也可以通过使用一个如图8B所示的格雷码8-PSK方案,连同一个外码,如Bose、Chaudhuri和Hocquenghem(BCH)码,翰明(Hamming)码,或是Reed-Solomon(RS)码,来共同满足。
在这种方案下,不需要在LDPC解码器305(图3)与比特量度生成器307之间往复,比特量度生成器307可能使用8-PSK调制。在没有外码的情况下,使用格雷码标示的LDPC解码器305会显示出一个早期差错底限,如图9所示。
图9示出了一张曲线图,该图显示了图8A及8B中用格雷码标示的编码和用非格雷码标示的编码之间的性能对比。差错底限源于这样一种情况假设LDPC解码器305发出了正确的反馈信息,那么用非格雷码标示来再生8-PSK比特量度会更加精确,这是因为在非格雷码标示中带有已知的两个比特的两个8-PSK符号间距离更远。这一点可以被等效地视为工作在更高的信噪比(SNR)下。因此,即使使用格雷码或非格雷码标示的相同LDPC码的差错渐近线具有相同的斜率(即彼此平行),使用非格雷码标示的那一条曲线在任意SNR上也会通过较低的FER点。
另一方面,对于不需要非常低FER的系统来说,不需要在LDPC解码器305与8-PSK比特量度生成器307之间进行任何往复的格雷码标示可能更加合适,这是因为在每个LDPC解码器迭代之前再生8-PSK比特量度会引起额外的复杂度。另外,当使用格雷码标示时,在每个LDPC解码器迭代之前再生8-PSK比特量度只能产生非常微弱的性能改善。如前文所述,倘若提供了外码,那么无需往复的格雷码标示就可以被用于仅需非常低FER的系统。
在格雷码标示与非格雷码标示之间的选择还取决于LDPC码的特性。通常,比特或校验节点阶数越高,使用格雷码标示就越好,因为对于较高的节点阶数来说,从LDPC解码器305发往8-PSK(或是类似的更高阶调制)比特量度生成器307的初始反馈会随非格雷码标示变差较多。
8-PSK(或类似的更高阶)调制是与一个二进制解码器一同使用的,但是我们认识到一个符号中的三个(或更多个)比特被接收到时并不是“同等噪声度”的。例如,用格雷码8-PSK标示时,一个符号中的第三个比特就被认为对于解码器来说比另外两个比特含噪声量更大。因此,LDPC码的设计中不会向代表了8-PSK符号中“噪声更大”的第三个比特的那些比特节点指定少量的边界,从而保证那些比特不会被恶化两次。
图10示出了根据本发明一个实施例的使用非格雷码映射的LDPC解码器的工作流程图。在该方法下,LDPC解码器与比特量度生成器相继进行迭代运算。在本例中使用了8-PSK调制;但是同样的原理也适用于其他更高阶的调制方案。在这种情况下,假设解调器301向比特量度生成器307输出一个距离向量d,该向量代表了接受到的有噪符号点与8-PSK符号点之间的距离,该向量的各元素如下式di=-EsN0{(rx-si,x)2+(ry-si,y)2}---i=0,1,...7]]>8-PSK比特量度生成器307与LDPC解码器305进行通信以交换先验概率信息与后验概率信息,分别用u和a表示。也就是说,向量u和a分别代表编码比特似然比对数的先验概率与后验概率。
8-PSK比特量度生成器307如下为各组三个比特生成先验似然比。首先获取编码比特的外部信息ej=aj-ujj=0,1,2接着确定8-PSK符号概率pi,i=0,1,...7。
*yj=-f(0,ej) j=0,1,2其中f(a,b)=max(a,b)+LUTf(a,b),而LUTf(a,b)=ln(1+e-|a-b|)*xj=yj+ejj=0,1,2*p0=x0+x1+x2p4=y0+x1+x2p1=x0+x1+y2p5=y0+x1+y2p2=x0+y1+x2p6=y0+y1+x2p3=x0+y1+y2p7=y0+y1+y2然后,比特量度生成器307确定出编码比特的先验似然比对数作为LDPC解码器305的输入,如下所示
u0=f(d0+p0,d1+p1,d2+p2,d3+p3)-f(d4+p4,d5+p5,d6+p6,d7+p7)-e0u1=f(d0+p0,d1+p1,d4+p4,d5+p5)-f(d2+p2,d3+p3,d6+p6,d7+p7)-e1u2=f(d0+p0,d2+p2,d4+p4,d6+p6)-f(d1+p1,d3+p3,d5+p5,d7+p7)-e2注意到带有两个以上变量的函数f(.)可以迭代求值;比如说f(a,b,c)=f(f(a,b),c)现在来说明使用非格雷码映射的LDPC解码器305的工作过程。在步骤1001中,LDPC解码器305在按照下面所述的(及图12A中所示的)步骤进行第一次迭代之前初始化编码比特的似然比对数vvn→ki=un,]]>n=0,1,...N-1,i=1,2,...比特节点n的阶数这里,vn→ki表示从比特节点n送入其相邻校验节点ki的信息,un表示对应于比特n的解调器输出,N为码字大小。
在步骤1003中,一个校验节点k被更新,从而输入v产生输出w。在图12B中可见,从dc个相邻比特节点输入到校验节点k的输入信息用vn1→k,vn2→k,...,vndc→k来表示。我们的目标是要计算出校验节点k输出给dc个相邻比特节点的输出信息。这些信息被表示为wk→n1,wk→n2,...,wk→ndc,其中wk→ni=g(vn1→k,vn2→k,...,vni-1→k,vni+1→k,...vndc→k).]]>函数g(.)的定义如下g(a,b)=sign(a)×sign(b)×{min(|a|,|b|)}+LUTg(a,b),其中LUT8(a,b)=1n(1+e-|a+b|)-1n(1+e-|a-b|)。与函数f一样,带有两个以上变量的函数g可以迭代求值。
接着,按照步骤1005,解码器305输出一个后验概率信息(图12C),满足an=un+Σjwkj→n]]>按照步骤1007,判定是否所有的奇偶校验方程都被满足。如果这些奇偶校验方程并非都被满足,那么在步骤1009中,解码器305要重新推导出8-PSK比特量度以及信道输入un。然后在步骤1011中更新比特节点。如图14C中所示,从dv个相邻校验节点输入到比特节点n的输入信息用wk1→n,wk2→n,...,wkdv→n来表示。比特节点n的输出信息被计算并返回给dv个相邻校验节点;这些信息用vn→k1,vn→k2,...,vn→kdv表示,并如下计算vn→ki=un+Σj≠iwkj→n]]>在步骤1013中,解码器305输出硬判决(在所有奇偶校验方程都被满足的情况下) 当Hc^T=0]]>时停止上述方法在使用非格雷码标示时是适用的。但是,在使用格雷码标示时,要执行图11中所示的处理步骤。
图11示出了根据本发明一个实施例的使用格雷码映射的LDPC解码器的工作流程图,该解码器如图3中所示。在使用格雷码标示的时候,最好只在LDPC解码器之前生成一次比特量度,因为在每个LDPC解码器迭代之后再生比特量度只能产生微不足道的性能改善。在步骤1101与1103中,与图10所示的步骤1001及1003一样,对编码比特的似然比对数v进行初始化,并更新校验节点。接着在步骤1105中,比特节点n被更新。随后,解码器输出一个后验概率信息(步骤1107)。在步骤1109中,判定是否所有的奇偶校验方程都被满足;如果满足,那么解码器输出硬判决(步骤1111)。否则的话就重复执行步骤1103-1107。
图13A示出了根据本发明一个实施例的用于计算校验节点与比特节点之间发出信息的步骤流程图,计算中采用了前后向方法。对于一个拥有dc条相邻边的校验节点来说,需要执行dc(dc-1)次运算及多次g(.,.)函数。然而前后向方法将运算复杂度降至3(dc-2),其中储存了dc-1个变量。
参照图12B,从dc个相邻比特节点输入到校验节点k的输入信息用vn1→k,vn2→k,...,vndc→k来表示。需要计算出输出信息并从校验节点k返回给dc个相邻比特节点;这些输出信息用wk→n1,wk→n2,...,wk→ndc来表示。
在用前后向方法计算这些输出信息时,前向变量f1,f2,...fdc定义如下f1=v1→kf2=g(f1,v2→k)f3=g(f2,v3→k) fdc=g(fdc-1,vdc→k)在步骤1301中计算出这些前向变量,并在步骤1303中把它们储存下来。
类似地,后向变量b1,b2,...bdc的定义如下bdc=vdc→kbdc-1=g(bdc,vdc-1→k) b1=g(b2,v1→k)在步骤1305中计算出这些后向变量。随后,在步骤1307中根据储存下来的前向变量及算得的后向变量计算输出信息。输出信息如下计算wk→1=b2wk→i=g(fi-1,bi+1)i=2,3,...,dc-1wk→dc=fdc-1在这种方法中,只有前向变量f1,f2,...,fdc需要被储存下来。当后向变量bi被计算出来时,输出信息wk→i也同时被计算出来,从而省略了储存后向变量的需要。
如下所述,通过并行方法还能进一步改善计算载荷。
图13B示出了根据本发明一个实施例的用于计算校验节点与比特节点之间发出信息的步骤流程图,计算中采用了并行方法。在步骤1311中,为具有来自dc个相邻比特节点的输入vn1→k,vn2→k,...,vndc→k的校验节点k计算出下列参数γk=g(vn1→k,vn2→k,...,vndc→k)]]>注意到函数g(.,.)还可以如下表示
g(a,b)=ln1+ea+bea+eb]]>充分利用函数g(.,.)的迭代性质,可以得到下式γk=ln1+eg(vni→k,...,vni-1→k,vni+1→k,...,vndc→k)+vni→keg(vni→k,...,vni-1→k,vni+1→k,...,vndc→k)+evni→k=ln1+ewk→ni++vni→kewk→ni+evni→k]]>因此,wk→ni可以按下列方式解出wk→ni=lnevni→k+γk-1evni→k-γk-1-γk]]>上述方程中的ln(.)项可以利用一张查找表LUTx来获得(步骤1313),LUTx代表函数ln|ex-1|。不像其他查找表LUTf或是LUTg,表LUTx可能需要与量化电平数量相同的条目。按照步骤1315,一旦获取了γk,就要利用上述方程以并行方式为所有ni计算出wk→ni。
γk的计算执行时间最好是log2(dc)。
图14A-14C示出了几张曲线图,这些曲线图显示了根据本发明的各种实施例生成LDPC码的仿真结果。具体地说,图14A-14C示出了使用更高阶调制及3/4码率(QPSK,1.485比特/符号)、2/3码率(8-PSK,1.980比特/符号)与5/6码率(8-PSK,2.474比特/符号)的LDPC码的性能。
有两种通用的方法来实现校验节点与比特节点之间的互连(1)完全并行方法,以及(2)部分并行方法。在完全并行的结构中,所有的节点以及它们之间的互连都是物理实现的。这种结构的优势在于速度。
但是完全并行结构在实现所有的节点及它们之间的连接时会引入更大的复杂度。因此在完全并行结构下,需要较小的块长度来降低复杂度。在那种情况下,对于相同的时钟频率,可能会引起总处理能力的按比例下降以及FER对Es/No的恶化。
实现LDPC编码的第二种方法是物理实现全部节点的一个子集,并且仅使用这些有限数量的“物理”节点来处理编码的所有“功能”节点。尽管LDPC解码器工作可以被处理得非常简单并且能够以并行方式执行,但是设计中的进一步挑战是如何在“随机”分布的比特节点及校验节点之间建立通信。根据本发明的一个实施例,解码器305(图3)通过以结构化的方式对存储器进行存取来解决这个问题。以便实现一种看似随机的编码。下面参照图15A与15B对这种方法进行说明。
图15A与15B分别示出了根据本发明一个实施例的存储器的顶部边缘与底部边缘,该存储器被组织来支持结构化存取以实现LDPC编码中的随机性。通过对奇偶校验矩阵的生成进行集中努力,就能在不损害真随机码性能的前提下实现结构化存取。一般来说,一个奇偶校验矩阵可以用校验节点与比特节点之间的连接来指定。举例来说,比特节点被划分成392点一组(为示例目的示出了392)。另外,假设连接到3阶第一比特节点上的校验节点,例如被编号为a、b、c,那么连接到第二比特节点上的校验节点就被编号为a+p,b+p和c+p,连接到第三比特节点上的校验节点就被编号为a+2p、b+2p和c+2p,等等。对于下一组392个比特节点,连接到第一比特节点的校验节点不同于a、b、c,从而通过选择合适的p,就能让所有的校验节点具有相同的阶数。在自然常数上执行一次随机搜索,使得生成的LDPC码是4迭代及6迭代独立的。
上述的安排在校验节点与比特节点处理过程中辅助进行存储器存取。二分图中的边的值可以被储存在一种存储媒质中,比如随机存取存储器(RAM)。对于真随机LDPC码来说,在校验节点与比特节点处理过程中,需要以随机方式一个接一个地对边的值进行存取。但是这种存取方案对于高数据速率应用场合来说太慢了。图15A与15B中的RAM是以某种方式进行组织的,从而可以在一个时钟周期内取得一大批相关的边;相应地,这些值在存储器中应该被放置在“一起”。我们观察到,在实际应用中,即使使用了真随机码,对于一组校验节点(以及相应的比特节点)来说,相关的边也可以被相邻放置在RAM中,但是与一组比特节点(相应的校验节点)相邻的相关边就会被随机分散在RAM中。因此,本发明中的“一起”源于奇偶校验矩阵本身的设计。也就是说,校验矩阵的设计要保证一组比特节点及校验节点的相关边同时被一起储存在RAM中。
从图15A与15B中可见,每个方框包含一条边的值,所述的边是多个比特(比如6个)。根据本发明的一个实施例,边RAM被划分为两个部分顶边RAM(图15A)与底边RAM(图15B)。底边RAM包含例如2阶比特节点与校验节点之间的边。顶边RAM包含高于2阶的比特节点与校验节点之间的边。因此,对于每个校验节点,2条邻边被储存在底边RAM中,而余下的边都被储存在顶边RAM中。
续上例,一次选取一组392个比特节点和392个校验节点以供处理。对于392个校验节点的处理,从顶边RAM中取出q条连续的行,从底边RAM中取出2条连续的行。在本例中,每个校验节点的阶数为q+2。对于比特节点的处理,如果该组的392个比特节点阶数为2,那么它们的边都位于底边RAM的2条连续行中。如果比特节点的阶数d>2,那么它们的边都位于顶边RAM的某d行中。这d行的地址可以被储存在非易失性存储器中,比如只读存储器(ROM)。其中一行所储存的边对应于392个比特节点的第一条边,另一行中的边对应于392个比特节点的第二条边,等等。另外,各行中属于一组392个节点中的第一个比特节点的边的列指数也可以被储存在ROM中。对应于第二、第三等比特节点的边以“回转”形式跟随起始的列指数。举例来说,如果一行中的第j条边属于第一比特节点,那么第j+1条边就属于第二个比特节点,第j+2条边属于第三个比特节点,……,而第j-1条边属于第392个比特节点。
有了上述的结构(如图15A与15B中所示),LDPC编码期间的存储器访问速度就大大提高了。
图16示出了一个计算机系统1600,在该系统上能够实现本发明的一个实施例。该计算机系统1600包括一条总线1601或是其他用于传递信息的通信装置,还包括一个连接到总线1601上的处理器1603,用于处理信息。计算机系统1600还包括主存储器1605,如随机存取存储器(RAM)或是其他动态存储装置,存储器被连接到总线1601上,用来储存信息以及要由处理器1603执行的指令。主存储器1605还可以被用来在处理器1603执行指令期间储存临时变量或是其他中间信息。计算机系统1600还包括一个只读存储器(ROM)1607或是其他静态存储装置,该存储器被连接到总线1601上,用来储存静态信息以及处理器1603的指令。一个存储装置1609,如磁盘或光盘,被另外连接在总线1601上,用来储存信息及指令。
计算机系统1600可以通过总线1601连接到一台显示器1611上,比如阴极射线管(CRT)显示器、液晶显示器、有源矩阵显示器或是等离子显示器,以便向计算机用户显示信息。一个输入设备1613,比如一个包括字母数字及其他键的键盘,被连接到总线1601上,用来向处理器1603传递信息及命令选择。另一类用户输入设备是光标控制器1615,比如鼠标、轨迹球、或是光标方向键,它们被用来向处理器1603传递方向信息及命令选择,并控制显示器1611上的光标移动。
根据本发明的一个实施例,LDPC码的生成由计算机系统1600实现,这是通过处理器1603执行主存储器1605中所存储的一组指令来完成的。可以从其他的计算机可读媒质,如存储装置1609,中将这类指令读入主存储器1605。执行主存储器1605中所储存的指令序列使得处理器1603完成其中所述的处理步骤。还可以在多处理结构中使用一个或多个处理器来执行主存储器1605中所储存的指令。在另外的实现方式中,可以用硬布线电路替代软件指令或是结合软件指令共同实现本发明的实施例。因此,本发明的实现方式并不局限于任何特定的硬件电路与软件的组合。
计算机系统1600还包括一个连接到总线1601的通信接口1617。通信接 1617向连接到局域网1621的网络链路1619提供了双向数据通信连接。举例来说,通信接口1617可以是一块数字用户线路(DSL)卡或调制解调器、一块集成服务数字网络(ISDN)卡、一个电缆调制解调器,或是一个电话调制解调器,它们能向对应类型的电话线提供数据通信连接。作为另一个例子,通信接口1617可以是一块局域网(LAN)卡(比如说用于EthernetTM或是异步传输模式(ATM)网络),它能向兼容性LAN提供数据通信连接。无线链路也可以实现。在任何一种实施例中,通信接口1617发送并接收携带了数字数据流的电、电磁或光学信号,数字数据流代表了多种类型的信息。另外,通信接口1617还可以包括外围接口设备,比如通用串行总线(USB)接口、PCMCIA(个人计算机存储器卡国际联合会)接口,等等。
网络链路1619通常会通过一个或多个网络向其他数据设备提供数据通信。举例来说,网络链路1619可以通过局域网1621向一台主机1623提供连接,局域网1621与网络1625(比如说一个广域网或是全球分组数据通信网、现在一般称为“Internet”)相连或是与服务供应商运营的数据设备相连。局域网1621与网络1625都使用电、电磁或光信号传达信息与指令。通过各种网络的信号以及网络链路1619上的信号和通过通信接口1617的信号都是带有信息与指令的示范性载波形式,通过它们与计算机系统1600进行数字数据通信。
计算机系统1600能够通过网络发送信息并接收数据,它包括程序代码、网络链路1619以及通信接口1617。在Internet的例子中,一台服务器(未示出)可以通过网络1625、局域网1621以及通信接口1617发送所需的代码,这些代码属于用来实现本发明一个实施例的应用程序所有。处理器1603可以在接收上述传送代码的同时执行它们并/或将代码储存到存储设备1609或是其它非易失性存储器中以供今后执行。以这种方式,计算机系统1600可以获取载波形式的应用代码。
这里用术语“计算机可读媒质”来指代任何参与提供指令给处理器1603以供执行的媒质。这种媒质可以是多种形式的,包括但不局限于非易失性媒质、易失性媒质以及传输媒质。非易失性媒质包括例如光盘或磁盘,如存储设备1609。易失性媒质包括动态存储器,例如主存储器1605。传输媒质包括同轴电缆、铜线以及光纤,包括构成总线1601的金属线。传输媒质还可以是声波、光波或是电磁波形式的,就像在射频(RF)及红外线(IR)数据通信中产生的那样。计算机可读媒质的一般形式包括,例如软盘、软磁盘、硬盘、磁带、任何其他的磁介质、CD-ROM、CDRW、DVD、任何其他光学介质、穿孔卡、纸带、光学标记纸带、任何其他的物理介质—这些物理介质都带有穿孔图样或是其他可光学辨识的标记、RAM、PROM、EPROM、FLASH-EPROM、任何其他的存储芯片或模块、载波、或任何计算机可读的媒质。
在向处理器提供要执行的指令时可以使用多种形式的计算机可读媒质。举例来说,用来实现至少一部分本发明的指令最初可以被储存在一台远程计算机的磁盘上。在这种情况下,远程计算机将指令载入主存储器并利用调制解调器通过电话线发送指令。本地计算机系统的调制解调器在电话线上接收数据并利用一个红外发射器将数据转换成一个红外信号,再将红外信号发送给一台便携式计算设备,比如一部个人数字助理(PDA)以及笔记本电脑。便携式计算设备上的一个红外检测器接收到红外信号上所携带的信息及指令,并将数据放到总线上。总线把数据传送到主存储器,处理器再从主存储器获取并执行指令。主存储器接受到的指令可以选择性地在处理器执行之前或之后被储存到存储设备中。
因此,本发明的各种实施例提供了一种用于生成结构化低密度奇偶校验(LDPC)码的方法,以便简化编码器和解码器。通过限制奇偶校验矩阵为下三角阵来规定LDPC码的结构。另外,该方法还能充分利用LDPC码对传输比特的非均匀差错保护能力,以向高阶调制星座图(如8-PSK(相移键控))中更易受到差错影响的比特提供额外的差错保护。解码过程包括在每个解码器迭代或多个解码器迭代之后向LDPC解码器中重复再生信号星座图比特量度。上述方法可以在不牺牲性能的前提下降低复杂度。
本文中结合多种实施例及实现方式说明了本发明,但是本发明并非局限于此,而是涵盖了多种改进及等效的结构,它们都在附加的权利要求范围之内。
权利要求
1.一种用于解码低密度奇偶校验(LDPC)码的方法,该方法包括接收一个取决于距离向量信息的先验概率信息,所述的距离向量信息涉及接受到的有噪声符号点和与LDPC码相关的信号星座图的符号点之间的距离;发送一个取决于先验概率信息的后验概率信息;根据先验概率及后验概率信息判定与LDPC码相关的奇偶校验方程是否满足;选择性地根据判定步骤再生信号星座比特量度;以及根据再生的信号星座图比特量度输出解码信息。
2.根据权利要求1所述的方法,其特征在于,还包括根据一个后验概率信息以及一个先验概率信息确定外部信息;以及根据外部信息输出与信号星座图相关的符号概率。
3.根据权利要求1所述的方法,其特征在于,所述的信号星座图的符号都使用格雷码编码,而且格雷码编码的符号星座图中更容易受影响的比特被分配到的奇偶校验位至少与格雷码编码的符号星座图中不易受影响的比特分配到的奇偶校验位一样多。
4.根据权利要求1所述的方法,其特征在于,还包括将关于LDPC码的比特节点与校验节点的信息储存在连续的物理存储位置上。
5.根据权利要求1所述的方法,其特征在于,所述的LDPC码都用一种结构化的奇偶校验矩阵进行编码,这种结构化的奇偶校验矩阵对奇偶校验矩阵的一个子矩阵施加了限制。
6.根据权利要求1所述的方法,其特征在于,所述的信号星座图包括8-PSK(相移键控)、16-QAM(正交幅度调制)和QPSK(正交相移键控)中的一种。
7.一种计算机可读媒质,其中存有用于解码低密度奇偶校验(LDPC)码的指令,所述的指令被设置在执行时促使一个或多个处理器执行权利要求1所述的方法。
8.一种用于解码低密度奇偶校验(LDPC)码的系统,该系统包括用于接收一个取决于距离向量信息的先验概率信息的装置,所述的距离向量信息涉及与LDPC码相关的信号星座图的符号点与接受到的有噪声符号点之间的距离;用于发送一个取决于先验概率信息的后验概率信息的装置;用于根据先验概率及后验概率信息判定与LDPC码相关的奇偶校验方程是否满足的装置;用于选择性地根据判定再生信号星座比特量度的装置;以及用于输出基于再生信号星座比特量度的解码信息的装置。
9.根据权利要求8所述的系统,其特征在于,还包括用于根据一个后验概率信息以及一个先验概率信息确定外部信息的装置;以及用于根据外部信息输出与信号星座图相关的符号概率的装置。
10.根据权利要求8所述的系统,其特征在于,所述的信号星座图的符号都使用格雷码编码,而且格雷码编码的符号星座图中更容易受影响的比特被分配到的奇偶校验位至少与格雷码编码的符号星座图中不易受影响的比特分配到的奇偶校验位一样多。
11.根据权利要求8所述的系统,其特征在于,还包括用来将关于LDPC码的比特节点与校验节点的信息储存在连续的物理存储位置上的装置。
12.根据权利要求8所述的系统,其特征在于,所述的LDPC码都用一种结构化的奇偶校验矩阵进行编码,这种结构化的奇偶校验矩阵对奇偶校验矩阵的一个子矩阵施加了限制。
13.根据权利要求8所述的系统,其特征在于,所述的信号星座图包括8-PSK(相移键控)、16-QAM(正交幅度调制)和QPSK(正交相移键控)中的一种。
14.一种用于解码低密度奇偶校验(LDPC)码的接收机,该接收机包括一个比特量度生成器(307),该生成器被设置来根据距离向量信息生成一个先验概率信息,所述的距离向量信息涉及到接受的有噪声符号点和与LDPC码相关的信号星座图的符号点之间的距离;以及一个解码器(305),该解码器被设置来输出一个基于先验概率信息的后验概率信息,所述的先验概率信息是从比特量度生成器(307)接收来的,其中解码器(305)还被设置来根据先验概率及后验概率信息判定与LDPC码相关的奇偶校验方程是否满足,如果奇偶校验方程不满足,那么解码器(305)就输出基于再生信号星座比特量度的解码信息。
15.根据权利要求14所述的接收机,其特征在于,所述的比特量度生成器(307)还被设置来根据一个后验概率信息以及一个先验概率信息确定外部信息,并根据外部信息输出与信号星座图相关的符号概率。
16.根据权利要求14所述的接收机,其特征在于,所述的信号星座图的符号都使用格雷码编码,而且格雷码编码的符号星座图中更容易受影响的比特被分配到的奇偶校验位至少与格雷码编码的符号星座图中不易受影响的比特分配到的奇偶校验位一样多。
17.根据权利要求14所述的接收机,其特征在于,还包括被设置连续储存关于LDPC码的比特节点与校验节点的信息的存储器。
18.根据权利要求14所述的接收机,其特征在于,所述的LDPC码都用一种结构化的奇偶校验矩阵进行编码,这种结构化的奇偶校验矩阵对奇偶校验矩阵的一个子矩阵施加了限制。
19.根据权利要求14所述的接收机,其特征在于,所述的信号星座图包括8-PSK(相移键控)、16-QAM(正交幅度调制)和QPSK(正交相移键控)中的一种。
20.一种用来发送使用了低密度奇偶校验(LDPC)码的信息的方法,该方法包括根据一个结构化奇偶校验矩阵对输入信息进行编码,所述的结构化奇偶校验矩阵对奇偶校验矩阵的子矩阵施加限制以生成LDPC码;以及通过一个无线通信系统(100)发送LDPC码,其中通过无线通信系统(100)进行通信的一个接收机(300)被设置来根据与LDPC码相关的信号星座图迭代解码接收到的LDPC码,所述的接收机(300)被设置在一个或多个解码迭代之后迭代再生信号星座图比特量度。
21.根据权利要求20所述的方法,其特征在于,所述的发射步骤中的接收机(300)包括一个LDPC解码器(305),它被设置来发送一个取决于先验概率信息的后验概率信息,该先验概率信息是由一个比特量度生成器(307)根据距离向量信息生成的,所述的距离向量信息涉及接受到的有噪声符号点和与LDPC码相关的信号星座图的符号点之间的距离,解码器(305)根据一个先验概率及一个后验概率信息判定与LDPC码相关的奇偶校验方程是否满足。
22.根据权利要求20所述的方法,其特征在于,所述的信号星座图包括8-PSK(相移键控)、16-QAM(正交幅度调制)和QPSK(正交相移键控)中的一种。
23.根据权利要求20所述的方法,其特征在于,所述的无线通信系统(100)包括支持LDPC码传输的卫星。
24.一种计算机可读媒质,其中存有用于发送使用了低密度奇偶校验(LDPC)码的信息的指令,所述的指令被设置在执行时促使一个或多个处理器执行权利要求20所述的方法。
全文摘要
本发明提供了一种利用低密度奇偶校验(LDPC)码发送信息的方法。根据一种结构化的奇偶校验矩阵对输入信息进行编码,这种结构化的奇偶校验矩阵对奇偶校验矩阵的一个子矩阵施加了限制以生成LDPC码。LDPC码通过一个无线通信系统(100)(如卫星网络)发送,其中在无线通信系统(100)上进行通信的一个接收机(300)被设置来根据与LDPC码相关的信号星座图对接收到的LDPC码进行迭代解码。接收机(300)被设置在一个或多个解码迭代之后重复再生信号星座图比特量度。
文档编号H03M13/29GK1527499SQ03146510
公开日2004年9月8日 申请日期2003年7月3日 优先权日2002年7月3日
发明者埃罗茨·穆斯塔法, 孙凤文, 李琳南, 埃罗茨 穆斯塔法 申请人:休斯电子公司