生成长和短块长度低密 度奇偶校验(LDPC)码的方法和装置 相关申请
本申请涉及,且遵循35U.S.C§119(e)要求享有于2003年10月27日提交的美国临时申请序号为No.60/514,683,题目为“1/3和1/4码速率LDPC码”,和于2003年11月7日提交的美国临时申请序号为No.60/518,199,题目为“1/3,1/4和2/5码速率LDPC码”的较早申请日的优先权。
【技术领域】
本发明涉及通信系统,特别涉及编码系统。
背景技术
通信系统利用编码来保证穿过有干扰信道的可靠通信。例如,在无线(或无线电)系统中,如卫星网络,来自地理和环境因素的干扰源大最存在。这些通信信道表现出固定容量,固定容量可表示成特定信噪此(SNR)下比特每符号,定义了理论上限(通称为香农极限)。因此,编码设计的目标就是要达到逼近这个香农极限的速率。这一目标与带宽受限制的卫星系统特别密切相关。逼近香农极限的这类编码之一是低密度奇偶校验(LDPC)码。
通常,LDPC码因为一些缺点没有广泛应用。缺点之一是LDPC编码技术非常复杂。编码一个LDPC码,使用它的生成矩阵需要存储一个非常巨大的非稀疏矩阵。另外,LDPC码需要大的块来成为有效的;因此,即使LDPC码的奇偶校验矩阵是稀疏的,存储这些矩阵也是个问题。
从实现的观点来看,面临很多挑战。例如,LDPC码在实际中没有广泛应用的一个重要原因是存储。LDPC编码的长度,由此需要更大的存储空间。而且,LDPC码应用中的关键挑战是怎样在解码器的多个处理引擎(节点)之间获得连接网络。进一步,解码过程中的计算负担,特别是校验节点操作,引发了问题。
因此,需要应用简单的编码和解码过程的LDPC通信系统。且需要有效使用LDPC编码来支持高地数据速率,而不引入更大的复杂性。还需要提高LDPC编码器和解码器的性能。还需要最小化实施LDPC编码的存储需求。
【发明内容】
本发明提出这些和其他的需求,这里提供一种编码低密度奇偶校验(LDPC)码的方法。一个编码器根据表1-6之一生成具有外部Bose ChaudhuriHocquenghem(BCH)码的LDPC码来作为LDPC编码信号传输。表1-6中每一个规定奇偶比特累加器的地址。该方法有利地提供了有利的LDPC码的编码和解码,并且最小化存储和处理资源。
根据本发明实施例的另一个方面,LDPC码由根据信号群(constellation)调制的信号表示,包括8-PSK(相移键控),16-QAM(正交调幅),QPSK(正交相移键控),16-APSK(幅度相移键控)和32-APSK调制之一。
根据本发明实施例的还有另一个方面,调制的LDPC编码信号通过支持宽带卫星应用的卫星链路发射。
仍另一方面,本发明的特征和益处从下面的具体描述,简化为例举几个实际实施例和应用,包括试图实施本发明的最好模型而。本发明也包括其他不同实施例,且可以在显而易见的方面修改其几介细节,均不脱离本发明的范围和精神。因此,附图和说明作为实际的图示,并不作为限制。
【附图说明】
本发明通过例子图示,且不通过限定,在所附的附图中使用相同参考数字指相同的元件,其中:
图1为根据本发明实施例配置成使用低密度奇偶校验(LDPC)码的通信系统简图为;
图2A和2B为示范性配置于图1的发射器中的LDPC编码器。
图2C和2D为图2B的LDPC编码器根据本发明实施例分别生成长帧长度码和短帧长度LDPC码的编码过程的流程图;
图3图示了图1系统中的示范性接收器;
图4图示了依照本发明一个实施例的稀疏奇偶校验矩阵;
图5图示了图4的矩阵的LDPC码的双向图表;
图6图示了根据本发明的一个实施例的一稀疏奇偶校验矩阵的子矩阵,其中所述子矩阵包括限制于下三角区域的奇偶校验值;
图7为LDPC码以1/3和1/4速率相对于重复码性能的简图;
图8为LDPC码以不同速率和图2A发射机支持的调制机制性能的简图;
图9为根据本发明实施例能执行LDPC编码过程的计算系统简图;
【具体实施方式】
描述一种有效地编码短帧长度低密度奇偶校验(LDPC)码的系统、方法和软件。在下面的描述中,为了解释的目的,阐明了大量特定细节以便提供对本发明整体上的理解。然而显然,对于本领域技术人员来说本发明可以实施而不用这些特定细节或者等价装置。在其他例子中,公知的结构和装置以框图表示以避免不必要地模糊本发明。
附图1是根据本发明实施例配置成使用低密度奇偶校验(LDPC)码的通信系统的简图。数字通信系统100包括发射机101,其生成通过通信信道103到接收机105的信号波形。在该离散的通信系统100中,发射机101有生成可能消息离散系列的消息源;每个可能消息具有相应的信号波形。这些信号波形被通信信道103削弱或改变。为了对抗信道103中的噪声,使用LDPC码。
举例来说,信道103为服务于卫星终端(例如非常小型孔径终端(VSATs))的支持宽带卫星应用的卫星链路。这样的应用包括卫星广播和交互式服务(且服从于数字视频广播(DVB)-S2标准)。所述通过卫星(DVB-S)标准的数字视频广播已广泛为世界提供,例如数字卫星电视节目。
所述发射机101生成的LDPC码实现了不导致任何性能损耗的高速实现。这些从发射机101输出的结构化LDPC码,通过调制机制(例如8-PSK),避免分配小数目校验码给已经对信道差错敏感的比特节点。
这样的LDPC码有平行解码算法(不像turbo码),其长处在于使用简单算法例如加法,比较和查表。另外,认真设计的LDPC码不需展示任何错误层标记。
根据本发明的一个实施例,发射机101使用相时简单的编码技术生成,基于奇偶校验矩阵(其在解码过程中便于有效存储访问)的LDPC码来与接收机105通信。只要块长度足够大,所述发射机101使用胜过连接turbo+RS(Reed-Solomon)码的LDPC码。
附图2A和2B是附图1发射机中配置的示范性LDPC编码器。如附图2A所示,发射机200配置了LDPC编码器203,其接收来自信息源201的输入,且输出更高冗余的编码流来适合在接收器105的误差校正处理。所述信息源201从离散字母表X生成k信号。LDPC码由奇偶校验矩阵规定。另一方面,通常编码LDPC码需要指定发生器矩阵。即使能够从使用Gaussian消去法的奇偶校验矩阵获得发生器矩阵,得到的矩阵不再稀疏且存储大的发生器矩阵会很复杂。
编码器203使用简单的编码技术从字母表Y生成信号到调制器205,它只通过将结构强加到奇偶校验矩阵来使用奇偶校验矩阵。具体地,通过将矩阵的一部分限制为三角形而将限制置于奇偶校验矩阵。这样奇偶校验矩阵的结构在下面的附图6中充分描述。这样的限制导致可忽略的性能损耗,且因此,形成有吸引力的折衷。
调制器205从编码器203将编码信息映射到传送到发射天线207的信号波形,其通过通信信道103发射这些波形。因此,编码信息被调制并被分布到发射天线207。来自发射天线207的发射传播到接收机(如图3所示),如下文将描述的那样。
附图2B示出了根据本发明一个实施例的使用Bose ChaudhuriHocquenghem(BCH)编码器和循环冗余校验(CRC)编码器的LDPC编码器。在这种情况下,由LDPC编码器203,和CRC编码器209和BCH编码器211生成的码,有连接在一块的外部BCH码和内部低密度奇偶校验(LDPC)码。另外,差错检测使用循环冗余校验(CRC)码达到。在示范性的实施例中,CRC编码器209,使用发生器多项式(x5+x4+x3+x2+1)(x2+x+1)(x+1)的8比特CRC码编码。所述CRC码输出到BCH编码器211。
附图2C是根据本发明实施例的附图2B的LDPC编码器生成长帧长度LDPC码的编码过程流程图。在步骤221中,接收信息比特且处理成编码器链209,211,和203。因此,LDPC编码器203在步骤233中基于接收的信息比特以外部BCH码生成LDPC码。所述码也包括CRC码。下面,经步骤225,所述LDPC码由调制的信号表示,通过信道103传送,在示意性的实施例中,为链接到一个或多个卫星终端的卫星(步骤227)。
LDPC编码器203系统地编码块大小为kldpc的信息块,i=(i0,i1,...ikldpc-1)]]>到尺寸为nldpc的码字c=(i0,i1,...ikldpc-1,p0,p1,...pnldpc-kldpc-1).]]>所述码字的传输以给定顺序从i0开始,以LDPC码参数(nldpc,kldpc)的pnldpc-kldpc-1结束。
LDPC编码器203的任务是为每块kldpc信息比特(i0,i1,...ikldpc-1)确定nldpc-kldpc奇偶比特(p0,p1,...pnldpc-kldpc-1)。所述处理过程如下。首先,初始化奇偶比特;
p0=p1=p2=...=pnldpc-kldpc-1=0.]]>举例来说,已经系统地编码kldpc比特来生成nldpc比特。第一信息比特i0在表1-3中的第一行中规定的奇偶比特地址中被累加。表1中码的1/3速率,相应的参数如下:q=120,nldpc=64800,kldpc=nBCH=21600,kBCH=21408(12比特误差校正BCH)。对于1/4速率,LDPC码具有下列相关参数:q=135,nldpc=64800,kldpc=nBCH=16200,kBCH=16008(12比特误差校正BCH),对于2/5速率,LDPC码具有下列参数:q=108,nldpc=64800,kldpc=nBCH=25920,kBCH=25728(12比特误差校正BCH)。
例如,对于1/3速率(表1),i0的结果如下:
p34903=p34903_i0
p20927=p20927_i0
p32093=p32903_i0
p1052=p1052_i0
p25611=p25611_i0
p16093=p16093_i0
p16454=p16454_i0
p5520=p5520_i0
p506=p506_i0
p37399=p37399_i0
p18518=p18518_i0
p21120=p21120_i0
在上面的等式中,加法在GF(2))中。
然后,对于下面的359信息比特,im,m=1,2,...,359,这些比特在地址为{x+mmod360×q}mod(nldpc-kldpc)的奇偶比特上累加,其中x表示相应于第一比特i0奇偶比特累加器的地址,且q为由码速率而定的常数。继续速率为1/3、q=120的例子,对于信息比特i1,执行如下运算:
p35023=p35023_i1
p21047=p21047_i1
p32213=p32213_i1
p1172=p11172_i1
p25731=p25731_i1
p16574=p16574_i1
p16574=p16574_i1
p5640=p5640_i1
p626=p626_i1
p37519=p37519_i1
p18638=p18638_i1
p21240=p21240_i1
对于第361信息比特i360,奇偶比特累加器的地址在表1-3的第二行给出。以相似的方式,后面359信息比特im,m=(361,362,...,719)奇偶比特累加器的地址使用公式{x+m mod360×q}mod(nldpc-kldpc)得到,其中x表示相应信息比特i360的奇偶比特累加器的地址,例如,表1-3中第二行的条目。以相似的方式,对于每一组360个新信息比特,表1-3中的新一行用于寻找奇偶比特累加器的地址。
奇偶比特累加器地址(速率1/3) 34903 20927 32093 1052 25611 16093 16454 5520 506 37399 18518 21120 11636 14594 22158 14763 15333 6838 22222 37856 14985 31041 18704 32910 17449 1665 35639 16624 12867 12449 10241 11650 25622 34372 19878 26894 29235 19780 36056 20129 20029 5457 8157 35554 21237 7943 13873 14980 9912 7143 35911 12043 17360 37253 25588 11827 29152 21936 24125 40870 40701 36035 39556 12366 19946 29072 16365 35495 22686 11106 8756 34863 19165 15702 13536 40238 4465 40034 40590 37540 17162 1712 20577 14138 31338 19342 9301 39375 3211 1316 33409 28670 12282 6118 29236 35787 11504 30506 19558 5100 24188 24738 30397 33775 9699 6215 3397 37451 34689 23126 7571 1058 12127 27518 23064 11265 14867 30451 28289 2966 11660 15334 16867 15160 38343 3778 4265 39139 17293 26229 42604 13486 31497 1365 14828 7453 26350 41346 28643 23421 8354 16255 11055 24279 15687 12467 13906 5215 41328 23755 20800 6447 7970 2803 33262 39843 5363 22469 38091 28457 36696 34471 23619 2404 24229 41754 1297 18563 3673 39070 14480 30279 37483 7580 29519 30519 39831 20252 18132 20010 34386 7252 27526 12950 6875 43020 31566 39069 18985 15541 40020 16715 1721 37332 39953 17430 32134 29162 10490 12971 28581 29331 6489 35383 736 7022 42349 8783 6767 11871 21675 10325 11548 25978 431 24085 1925 10602 28585 12170 15156 34404 8351 13273 20208 5800 15367 21764 16279 37832 34792 21250 34192 7406 41488 18346 29227 26127 25493 7048 39948 28229 24899 17408 14274 38993 38774 15968 28459 41404 27249 27425 41229 6082 43114 13957 4979 40654 3093 3438 34992 34082 6172 28760 42210 34141 41021 14705 17783 10134 41755 39884 22773 14615 15593 1642 29111 37061 39860 9579 33552 633 12951 21137 39608 38244 27361 29417
2939 10172 36479 29094 5357 19224 9562 24436 28637 40177 2326 13504 6834 21583 42516 40651 42810 25709 31557 32138 38142 18624 41867 39296 37560 14295 16245 6821 21679 31570 25339 25083 22081 8047 697 35268 9884 17073 19995 26848 35245 8390 18658 16134 14807 12201 32944 5035 25236 1216 38986 42994 24782 8681 2832 14932 34249 4107 29382 32124 22157 2624 14468 38788 27081 7936 4368 26148 10578 25353 4122 39751
表1 奇偶比特累加器地址(速率1/4) 23606 36098 1140 28859 18148 18510 6226 540 42014 20879 23802 47088 16419 24928 16609 17248 7693 24997 42587 16858 34921 21042 37024 20692 1874 40094 18704 14474 14004 11519 13106 28826 38669 22363 30255 31105 22254 40564 22645 22532 6134 9176 39998 23892 89371 5608 16854 31009 8037 40401 13550 19526 41902 28782 13304 32796 24679 27140 45980 10021 40540 44498 13911 22435 32701 18405 39929 25521 12497 9851 39223 34823 15233 45333 5041 44979 45710 42150 19416 1892 23121 15860 8832 10308 10468 44296 3611 1480 37581 322541 3817 6883 32892 40258 46538 11940 6705 21634 281 50 43757 895 6547 20970 28914 30117 25736 41734 11392 22002 5739 27210 27828 34192 37992 10915 6998 3824 42130 4494 35739 8515 1191 13642 30950 25943 12673 16726 34261 31828 3340 8747 39225 18979 17058 43130 4246 4793 44030 19454 29511 47929 15174 24333 19354 16694 8381 29642 46516 32224 26344 9405 18292 12437 27316 35466 41992 15642 5871 46489 26723 23396 7257 8974 3156 37420 44823 35423 13541 42858 32008 41282 38773 26570 2702 27260 46974 1469 20887 27426 38553 22152 24261 8297
19347 9978 27802 34991 6354 33561 29782 30875 29523 9278 48512 14349 38061 4165 43878 8548 33172 34410 22535 28811 23950 20439 4027 24186 38618 8187 30947 35538 43880 21459 7091 45616 15063 5505 9315 21908 36046 32914 11836 7304 39782 33721 16905 29962 12980 11171 23709 22460 34541 9937 44500 14035 47316 8815 15057 45482 24461 30518 36877 879 7583 13364 24332 448 27056 4682 12083 31378 21670 1159 18031 2221 17028 38715 9350 17343 24530 29574 46128 31039 32818 20373 36967 18345 46685 20622 32806
表2 奇偶比特累加器地址(速率2/5) 31413 18834 28884 947 23050 14484 14809 4968 455 33659 16666 19008 13172 19939 13354 13719 6132 20086 34040 13442 27958 16813 29619 16553 1499 32075 14962 11578 11204 9217 10485 23062 30936 17892 24204 24885 32490 18086 18007 4957 7285 32073 19038 7152 12486 13483 24808 21759 32321 10839 15620 33521 23030 10646 26236 19744 21713 36784 8016 12869 35597 11129 17948 26160 14729 31943 20416 10000 7882 31380 27858 33356 14125 12131 36199 4058 35992 36594 33698 15475 1566 18498 12725 7067 17406 8372 35437 2888 1184 30068 25802 11056 5507 26313 32205 37232 15254 5365 17308 22519 35009 718 5240 16778 23131 24092 20587 33385 27455 17602 4590 21767 22266 27357 30400 8732 5596 3060 33703 3596 6882 873 10997 24738 20770 10067 13379 27409 25463 2673 6998 31378
15181 13645 34501 3393 3840 35227 15562 23615 38342 12139 19471 15483 13350 6707 23709 37204 25778 21082 7511 14588 10010 21854 28375 33591 12514 4695 37190 2137918723 5802 7182 2529 29936 35860 28338 10835 34283 25610 33026 31017 21259 2165 21807 37578 1175 16710 21939 30841 27292 33730 6836 26476 27539 35784 18245 16394 17939 23094 19216 17432 11655 6183 38708 28408 35157 17089 13998 36029 15052 16617 5638 36464 15693 28923 26245 9432 11675 25720 26405 5838 31851 26898 8090 37037 24418 27583 7959 35562 37771 17784 11382 11156 37855 7073 21685 34515 10977 13633 30969 7516 11943 18199 5231 13825 19589 23661 11150 35602 19124 30774 6670 37344 16510 26317 23518 22957 6348 34069 8845 20175 34985 14441 25668 4116 3019 21049 37308 24551 24727 20104 24850 12114 38187 28527 13108 13985 1425 21477 30807 8613 26241 33368 35913 32477 5903 34390 24641 26556 23007 27305 38247 2621 9122 32806 21554 18685 17287 27292 19033 25796 31795 12152 12184 35088 31226 38263 33386 24892 23114 37995 29796 34336 10551 36245 35407 175 7203 14654 38201 22605 28404 6595 1018 19932 3524 29305 31749 20247 8128 18026 36357 26735 7543 29767 13588 13333 25965 8463 14504 36796 19710 4528 25299 7318 35091 25550 14798 7824 215 1248 30848 5362 17291 28932 30249 27073 13062 2103 16206 7129 32062 19612 9512 21936 38833 35849 33754 23450 18705 28656 18111 22749 27456 32187 28229 31684 30160 15293 8483 28002 14880 13334 12584 28646 2558 19687 6259 4499 26336 11952 28386 8405 10609 961 7582
10423 13191 26818 15922 36654 21450 10492 1532 1205 30551 36482 22153 5156 11330 34243 28616 35369 13322 8962 1485 21186 23541 17445 35561 33133 11593 19895 33917 7863 33651 20063 28331 10702 13195 21107 21859 4364 31137 4804 5585 2037 4830 30672 16927 14800
表3
在耗尽所有信息比特之后,最终奇偶比特由下面得到。首先,执行下列运算,以i=1开始
pi=pi_pi-1,i=1,2,...,nklpc-kldpc-1。
最终内容pi,i=0,1,...,nldpc-kldpc-1等于奇偶比特pi。
在耗尽所有信息比特之后,最终奇偶比特由下面得到。首先,执行下列运算,以i=1开始
pi=pi_pi-1,i=1,2,...,nldpc-kldpc-1。
最终内容pi,i=0,1,...,nldpc-kldpc-1等于奇偶比特pi。
至于BCH编码,根据本发明一个实施例,由BCH编码器211使用的BCH码发生器多项式如下:
g(x)=(1+x+x3+x5+x14)×(1+x6+x8+x11+x14)×(1+x+x2+x6+x9+x10+x14)×
(1+x4+x7+x8+x10+x12+x14)×(1+x2+x4+x6+x8+x9+x11+x13+x14)×
(1+x3+x7+x8+x9+x13+x14)×(1+x2+x5+x6+x7+x10+x11+x13+x14)×
(1+x5+x8+x9+x10+x11+x14)×(1+x+x2+x3+x9+x10+x14)×(1+x3+x6+x9+x11+x12+x14)×
(1+x4+x11+x12+x14)×(1+x+x2+x3+x5+x6+x7+x8+x10+x1+x14).
m=(mkbch-1,mkbch-22,...m1,m0)]]>信息比特到码字c=(mkbch-1,mkbch-2,...m1,m0,dnbch-kbch-1,dnbch-kbch-2,...,d1,d0)]]>上的BCH编码,由下面得到。消息多项式m(x)=mkbch-1xkbch-1+mkbch-2xkbch-2+...+m1x+m0]]>乘以xnbch-kbch。然后,xnbch-kbch m(x)除以g(x)。d(x)=dnbch-kbch-1xnbch-kbch-1+...+d1x+d0]]>作为余数,码字多项式设置如下:c(x)=xnbch-kbchm(x)+d(x)]]>
正如所讨论的,kldpc比特系统地编码来生成nldpc比特。根据本发明一个实施例,nldpc为16200比特,其为短块长度。给定该码相关的短长度,具有长度约为1620。比特或更短的LDPC码被认为是“短的”块长度码。
根据本发明一个实施例,一些短块码(例如表5的速率为1/5)通过缩短稍长(km,nm)的块尺寸nm>16200的“母”码版本生成。如附图2D所示,在BCH编码比特的kldpc前加上km-kldpc个虚拟零(经过步骤251)。正如步骤253,得到的km比特系统地编码来生成nm比特。如步骤255,然后删除第一km-kldpc虚拟零,且发射得到的nldpc=16200比特(步骤257)。应当指出km-kldpc=nm-nldpc。表4-6提供其它示范性短码速率,1/3,1/5和2/5(nldpc为16200比特): 奇偶比特累加器地址(速率1/3) 416 8909 4156 3216 3112 2560 2912 6405 8593 4969 6723 6912 8978 3011 4339 9312 6396 2957 7288 5485 6031 10218 2226 3575 3383 10059 1114 10008 10147 9384 4290 434 5139 3536 1965 2291 2797 3693 7615 7077 743 1941 8716 6215 3840 5140 4582 5420 6110 8551 1515 7404 4879 4946 5383 1831 3441 9569 10472 4306 1505 5682 7778 7172 6830 6623 7281 3941 3505 10270 8669 914 3622 7563 9388 9930 5058 4554 4844 9609 2707 6883 3237 1714 4768 3878 10017 10127 3334 8267
表4
奇偶比特累加器地址(速率1/4) 6295 9626 304 7695 4839 4936 1660 144 11203 5567 6347 12557 10691 4988 3859 3734 3071 3494 7687 10313 5964 8069 8296 11090 10774 3613 5208 11177 7676 3549 8746 6583 7239 12265 2674 4292 11869 3708 5981 8718 4908 10650 6805 3334 2627 10461 9285 11120 7844 3079 10773 3385 10854 5747 1360 12010 12202 6189 4241 2343 9840 12726 4977
表5 奇偶比特累加器地址(速率2/5) 5650 4143 8750 583 6720 8071 635 1767 1344 6922 738 6658 5696 1685 3207 415 7019 5023 5608 2605 857 6915 1770 8016 3992 771 2190 7258 8970 7792 1802 1866 6137 8841 886 1931 4108 3781 7577 6810 9322 8226 5396 5867 4428 8827 7766 2254 4247 888 4367 8821 9660 324 5864 4774 227 7889 6405 8963 9693 500 2520 2227 1811 9330 1928 5140 4030 4824 806 3134 1652 8171 1435 3366 6543 3745 9286 8509 4645 7397 5790 8972 6597 4422 1799 9276 4041 3847 8683 7378 4946 5348 1993 9186 6724 9015 5646 4502 4439 8474 5107 7342 9442 1387 8910 2660
表6
如表1-6提供的上述设计LDPC码的方法,优点在于允许存储和重获关于比特节点的分割组相关信息以及校验位于存储器(例如随机存取存储器(RAM))中邻近存储位置的节点。因此,可以不用使用不同的解码器来支持多码速率。进一步,所述设计可使用单个RAM存储器用,从而最小化集成电路的尺寸。如所提到的,上述在示范性实施例中的LDPC码,能够适用于多种数字视频应用,比如MPEG(运动图象专家组)分组传输。
附图3为附图1系统中的示范性接收机简图。在接收方面,接收机300包括实施解调从发射机200接收的信号的解调器301。这些信号由接收天线303接收来解调。解调之后,接收信号向前传送给LDPC解码器305,其通过结合比特矩阵发生器307的生成信息X’试图重构起始源信息。在解码过程中比特矩阵发生器307与解码器305来回(反复)交换信息。这些解码方法在共同未决的,题目为“Method and System for Routing in Low Density Parity Check(LDPC)Decoders”,于2003年7月3日(系列号No.10/613,824;代理案号PD-203009)提交的申请中充分描述。需要指出的是,经表1-6构建的LDPC码,可以使用通常解码技术支持多码速率(从而,多数据速率);相反,比如卷积码,需要收缩技术(puncturing techniques)来达到中间速率。
为了进一步突出本发明带来的优点,检验怎样生成LDPC码是有益的,如附图4所讨论的。
附图4为根据本发明的一个实施例的稀疏奇偶校验矩阵简图,LDPC码为长的线性稀疏奇偶校验矩阵H(n-k)xn块码。典型的块长度,n,从几千到几万比特范围。例如,如附图4所示一个长度n=8速率为1/2的LDPC码奇偶校验矩阵。相同的码可如附图5的双向图等同表示。
附图5是附图4矩阵的LDPC码双向图的图示。奇偶校验等式意味着对于每个校验节点,所有邻近比特节点的和(over GF(Galois Field))等于零。如图所示,根据预定的关系,比特节点占据图的左侧且和一个或多个校验节点相关。例如,相应于校验节点m1,根据比特节点,下面的表达式为n1+n4+n5+n8=0。
回到接收机300,认为LDPC解调器305是信息通过解调器,解调器305致力于寻找比特节点的值。为了完成这项任务,比特节点和校验节点互相反复通信。这个通信状况在下面描述。
从校验节点到比特节点,每个校验节点向连接比特节点提供一个关于基于从来自其他连接比特节点信息的比特节点值的估计(“评价”)。例如,在上述例子中如果n4,n5和n8的和“看上去像”为0到m1,那么m1会指示n1,n1的值为0(因为n1+n4+n5+n8=0);否则m1会指示n1,n1的值为1。另外,对于软判决解码,增加一种可靠的措施。
从比特节点到校验节点,每个比特节点向接邻近校验节点转发一个基于来自其他邻近校验节点反馈的关于它自身值的估计。在上述例子中n1只有两个邻近校验节点m1和m3。如果从m3到n1的反馈显示n1的有效度大概为0,那么n1会通报m1其n1自己的值的估计为0。在比特节点有多于两个相邻校验节点的情况下,比特节点向它通信的校验节点报告决定前,在从它校验节点的反馈上执行多数投票(软判决)方案。上述过程一直重复直到认为比特节点正确(即满足所有奇偶校验等式)或者直到达到预定最大迭代值,藉此公布解码失败。
附图6为根据本发明实施例的稀疏奇偶校验矩阵的子矩阵简图,其中子矩阵包括限定于下三角区域的奇偶校验值。如前面所述,编码器203(附图2A和2B)能够通过限制奇偶校验矩阵下三角的值而运用简单的编码技术。根据本发明的一个实施例,强加到奇偶校验矩阵的限制为下面形式:
H(n-k)xn=[A(n-k)xkB(n-k)x(n-k)]
其中B为下三角。
任何一个信息块i=(i0,i1,...ik-1)编码为一个码字c=(i0,i1,...,ik-1,p0,p1,...,pn-k-1)使用HcT=0,且递归地解答奇偶比特,例如:
a00i0+a01i1+...+a0,k-1ik-1+p0=0_Solvep0
且对于p2,p3,...,pn-k-1是类似
a10i0+a11i1+...+a1,k-1ik-1+b10p0+p1=0_solvep1的
附图7和8为由LDPC码通过附图2A的发射机200支持不同码速率和调制机制的性能曲线图。特别是,附图7的分别图示出码速率1/3和1/4LDPC码与重复速率2/3和重复速率1/2LDPC码之间性能的对照,在这样的情况下,考虑QPSK LDPC码速率1/3和1/4的情况在附加高斯白噪声(AWGN)信道上的性能。可见,关于重复的2/3LDPC码速率1/3码速率提供大约1.3dB增益,然而关于重复的2/3LDPC码速率1/4LDPC码速率提供大约0.4dB增益。循环码通过重复信息源比特为一套奇偶比特来构造。因此当使用在向后兼容结构化调制机制的低优先级中时,速率1/3和1/4LDPC码会相应于循环码提供性能上的优势。
附图8例举了1/5,1/3和2/5速率短帧长度码连同1/4,1/3和2/5速率长帧长度码的性能。如其所示,1/3和2/5速率的短码显示了他们配对长码的可比性能(在0.2dB之内)。
上面详述的所述LDPC编码过程可通过多种硬件和/或软件配置执行。实际上,上述方法也可容易地通过软件改变单独配置,由此,减小硬件改造成本。
附图9图示在其上实现根据本发明实施例的示范性硬件。一个计算系统900包括总线901或其他通信机制来通信信息,和耦合到总线901的处理器903来处理信息。计算系统900还包括主存储器905,比如随机存取存储器(RAM)或其他动态存储装置,耦合到总线901上来存储信息和处理器903执行的指令。主存储器905也可用来存储临时变量或处理器903执行指令时的其它中间信息。计算系统900可进一步包括只读存储器(ROM)907或其他耦合到总线901的静态存储装置来存储静态信息和处理器903的指令。存储装置909,比如磁盘或光盘,耦合到总线901来持久存储信息和指令。
计算系统900可以通过总线901耦合到显示器911上,比如液晶显示器,或有源矩阵显示器,向用户显示信息。一个输入装置913,比如包括字母键和其他键的键盘,可耦合到到总线901来交流信息和选择指令给处理器903。输入装置913包括光标控制,比如鼠标,跟踪球,或光标方向键,来交流方向信息和选择指令到处理器903及在显示器911上控制光标移动。
根据本发明具体实施例,附图2C和2D的处理过程可通过响应执行包含在主存储器905中指令安排的处理器903的系统900提供。这样的指令可从诸如存储装置909之类的另一个计算机可读介质读入到主存储器905中。包含在主存储器905中的指令配置的执行使处理器903实施这里描述的处理步骤。在多处理排列中的一个或多个处理过程也可用来执行包含在主存储器905中的指令。在另一替换实施例中,可以用硬件电路代替或细合软件指令来实施本发明的实施例。在另一个实施例中,可使用如局部可编程门阵列(FPGAs)之类的可重新组装的硬件,其中其逻辑门的功能性和连接拓扑通过编程存储器查表,而在运行时间上进行控制。因此,本发明的实施例不限制于任何特定硬件电路和软件的结合。
计算系统900还包括至少一个耦合到总线901的通信接口915。所述通信接口915提供耦合到网络链路(未示出)的两路数据通信。通信接口915发送和接收承载代表不同类型信息的数据流的电、电磁、或光信号。另外,通信接口915包括外围接口设备,比如通用串行总线(USB)接口,PCMCIA(个人电脑存储卡国际协会)接口等等。
处理器903可执行通过信息接口915接收的码,和/或为下面的执行来存储存储器909中的或其它非易失性存储器中存储的码。以这种方式,计算系统900可以获得载波形式的应用码。
这里所用的术语“计算机可读介质”是指任何参与提供供处理器903执行指令的介质。这样的介质可有多种形式,包括但不限定于非易失性介质、易失性介质和传输介质。非易失性介质包括,例如,光盘或磁盘,如存储装置909。易失性介质包括动态存储器,比如主存储器905。传送介质包括同轴电缆、铜导线和光纤,包括构成总线901的导线。传送介质也可为声、光、电磁波形式,比如那些在射频(RF)和红外(IR)数据通信中生成的波。计算机可读介质的常规形式包括,例如,软磁盘软盘、软盘、硬盘、磁带、任何其他磁介质、CD-ROM,CDRW,DVD,任何其他光介质,卡带、纸带、光标记表、任何其他孔形式物理介质或其他光可读标记、RAM、PROM、和EPROM,FLASH-EPROM、其他任何存储芯片或胶卷、载波或其他任何计算机可读的介质。
不同形式计算机可读介质可致力于提供指令给处理器来执行。例如,执行本发明至少一个部分的指令可在远程电脑的磁盘上初始化生成。在此情况下,发送指令的远端计算机使用调制解调器通过电话线将指令装载到主存储器。本地系统的调制解调器在电话线上接收数据,且使用红外发射机将数据转变为红外信号并将该红外信号传发射到便携计算设备,如个人数字助理(PDA)或膝上电脑。便携计算设备上的红外检测器接收由红外信号承载的信息和指令,并将数据置于总线上。总线将数据转送到主存储器,处理器从那里重获指令并执行所述指令。主存储器接收的指令可在处理器执行之前和之后随意地存储在存储设备上。
因此,本发明多种实施例提供了根据表1-6之一生成具有外部BoseChaudhuri Hocquenghem(BCH)码的LDPC码来像LDPC编码信号一样传输。每一个表1-6规定奇偶比特累加器的地址。上述方法地有益地减小复杂度而不牺牲性能。
虽然通过结合多个具体实施例和实施方式来描述本发明,本发明并不限于此,而是涵盖多种显而易见的落入所附权利要求的范围中的变型和等同方式。