应用低密度奇偶校验码进行数据传输的方法

文档序号:7538592阅读:351来源:国知局
专利名称:应用低密度奇偶校验码进行数据传输的方法
技术领域
本发明涉及数据通信技术,尤其涉及数据通信中应用低密度奇偶校验LDPC码在发送端和接收端进行数据传输的方法。
背景技术
在现有的数据通信技术中,为了对要传输的数据增加保护,通常使用具有稀疏校验矩阵的LDPC码在发送端和接收端分别对数据进行编码和解码。
图1示出了现有的利用LDPC码的数据传输的示意图;图2示出了现有的利用LDPC码的数据传输的方法流程图。如图1所示,在进行数据传输时,发送端在初次传输时将全部的信息比特和部分冗余比特R1发送给接收端。在信道的信噪比较低的情况下,如果接收端利用接收到的部分冗余比特R1无法对数据包进行正确的LDPC解码,则发送端再将一部分冗余比特R2传送给接收端,接收端将两部分冗余比特合并到一起,再次进行LDPC解码。按照如此方式,发送端可以通过多次重传将所有的冗余比特都发送给接收端,以便接收端执行LDPC解码。
如图2所示,现有的利用LDPC码的数据传输过程主要包括以下步骤。
在步骤201~202中,发送端对信息比特进行LDPC编码,获得冗余比特;再对所获得的冗余比特进行最大程度的打孔,并将所有信息比特和未被打孔的冗余比特R1发送给接收端。
在步骤203~205中,接收端在被打孔的位置处对软信息赋予零值,与接收到的冗余比特R1和与信息比特相对应的数据一起进行LDPC解码,获得数据对应的软信息;根据所获得的软信息来判断LDPC解码是否成功,并在不成功的情况下,接收端请求发送端进行数据重传。
在步骤206~207中,发送端从被打孔的冗余比特中选取一部分,即R2,发送给接收端;接收端将本次接收到的冗余比特R2加入到对应的位置,对其他仍然被打孔的冗余比特的软信息赋予零值,并连同曾经接收到的冗余比特R1和数据一起进行LDPC解码,再返回执行步骤204,再次确定LDPC解码是否成功。
可见,在现有的数据传输方案中,初次的数据传输只是将部分冗余比特发送给接收端,当因网络状况不佳等原因造成LDPC解码失败时,通过数据重传再向接收端发送一部分冗余比特,合并到原来接收到的冗余比特中,再次执行LDPC解码。如此重复数据重传,直到LDPC解码成功或者将冗余比特全部发送给接收端。
在上述现有技术中,由于所有的信道编码都存在其对应的能够成功解码所需的最低信噪比,即香农Shannon限。这样,当网络状况较差、传输信道的信噪比低于对经LDPC编码的码字进行成功解码所需的最低信噪比时,即使将所有的冗余比特都发送到接收端,也不能成功解码。从而在低信噪比时无法获得吞吐量的提升。
另外,在信噪比较低的情况下,信息比特和冗余比特在传输过程中均会在较大程度上受到噪声的影响。如果信息比特在传输过程中出现误码,则即使接收端获得了所有的冗余比特,也无法成功解码。如果冗余比特在传输过程中出现误码,则由于发送端只对同一部分的冗余比特进行一次传输,则接收端仍然无法成功解码。

发明内容
本发明提供一种在网络数据通信中应用LDPC码在发送端和接收端进行数据传输的方法,使得即使当前传输信道的信噪比低于对要传输的码字成功解码所需的最低信噪比,也能够实现成功解码。
在根据本发明的方法中,发送端对欲传输的信息比特进行LDPC编码,获得第一冗余比特,并将该信息比特和第一冗余比特一起发送给接收端。接收端接收所述信息比特对应的数据以及冗余比特,进行LDPC解码,并在解码失败时向发送端发送数据重传请求。发送端接收来自于接收端的数据重传请求,对信息比特打孔和对打孔后的信息比特进行LDPC编码,获得第二冗余比特,并将该第二冗余比特发送给接收端。接收端对接收到的数据按照与发送端相同的方式进行打孔,根据接收到的第二冗余比特对该打孔后的数据进行LDPC解码,获得未被打孔的信息比特。然后,接收端用未被打孔的信息比特更新接收到的数据,根据第一冗余比特对更新后的数据进行LDPC解码,获得信息比特。
较佳地,发送端对信息比特打孔包括按照预先设置的打孔模式,从信息比特中移除与预先设置的每次打孔数相等的信息比特,并在被移除的信息比特对应的位置处塡入哑比特。在这种情况下,接收端根据接收到的第一冗余比特对更新后的数据进行LDPC解码,获得信息比特。
可替代地,发送端对信息比特进行打孔包括按照预先设置的打孔模式,从所述信息比特中移除与预先设置的每次打孔数相等的信息比特,并在被移除的信息比特对应的位置处塡入第一冗余比特和哑比特。在这种情况下,接收端对该打孔后的数据进行LDPC解码进一步获得第一冗余比特,并用获得的第一冗余比特更新接收到的第一冗余比特,接收端根据更新后的第一冗余比特对更新后的数据进行LDPC解码,获得信息比特。
较佳地,接收端在获得信息比特之后,进一步判断LDPC解码是否成功,在LDPC解码被判断为不成功时,接收端请求发送端再次进行数据重传。此时,发送端对欲传输的信息比特再次打孔,对经过再次打孔的所述信息比特进行LDPC编码,获得第三冗余比特,并将该第三冗余比特发送给接收端。接收端对第一次传输中接收到的数据按照与发送端相同的方式进行再次打孔,根据接收到的第三冗余比特对经过再次打孔的接收数据进行LDPC解码,获得再次打孔中未被打孔的信息比特,用再次打孔中未被打孔的信息比特更新接收数据。然后接收端根据第二冗余比特对更新后的接收数据进行LDPC解码,获得首次打孔中未被打孔的信息比特,用所获得的未被打孔的信息比特更新接收到的数据,并根据第一冗余比特对再次更新后的接收数据进行LDPC解码,获得信息比特。
在多次重传的过程中,可以进一步包括从第一次重传中获得未被打孔的信息比特中与再次打孔中未被打孔的信息比特相对应的信息比特,更新经过再次打孔的接收数据。
较佳地,该方法进一步包括发送端对打孔中未被打孔的信息比特进行交织,并将交织结果作为打孔后的信息比特;接收端对所获得的未被打孔的信息比特进行解交织,获得解交织结果,并将解交织结果作为未被打孔的信息比特。
在本发明中,在进行第一次数据传输时,发送端将信息比特和第一冗余比特一起发送到接收端,进行数据重传时,发送端对信息比特进行打孔,再进行LDPC编码,得到第二冗余比特。在接收端,首先对接收到的数据进行同样的打孔操作,然后使用第二冗余比特对进行打孔操作后的数据进行LDPC解码,获得未被打孔的信息比特。在这个过程中,由于进行解码的是在打孔后缩短长度的数据,因此需要实际进行解码的比特数据的数量降低了。然后,接收端用未被打孔的信息比特更新接收到的数据,根据第一冗余比特对更新后的数据进行LDPC解码,获得信息比特。在这个过程中,由于原始接收到的数据的一部分被更新,也就是说该数据的一部分已经被确定,因此根据第一冗余比特实际进行解码的比特数据的数量也降低了。由于接收端在两次解码的每一次解码的过程中实际需要解码的比特数据的数量降低了,因此即使当前传输信道的信噪比低于对要传输的码字成功解码所需的最低信噪比,本发明也能够实现成功解码。
进一步,本发明可以进行多次重传,从而可以进一步提高成功解码的可能性。并且,在多次重传后进行LDPC解码之前,可以以上一次传输所获得的数据为基础,进行本次LDPC解码,并在解码后更新初次传输接收到的数据的值,即通过全迭代解码来双方向更新数据的值。由于在解码过程中进行了更多的迭代译码,则接收端可以进一步提高成功解码的可能性。
另外,接收端在对信息比特进行打孔之后,还可以执行交织操作,从而改变信息比特在各次LDPC解码中所对应的校验节点,并在接收端执行反交织操作,还原原来的校验节点。这样,即使由于一些信息比特在多次重传中均发生误码,本发明也能够实现成功解码。
此外,本发明在对信息比特进行打孔之后,还可以将上一次传输中的冗余比特塡充到移除的信息比特的位置处,并且接收端在LDPC解码后更新上一次传输中的冗余比特,即对冗余比特进行纠错。因此当信息比特受到的干扰较小从而可靠度较高,而冗余比特受到的干扰较大时,本发明可以避免由于冗余比特在重传中从未得到更新而成为LDPC解码失败的主要因素,进一步提高成功解码的可能性。


下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中
图1为现有的利用LDPC码的数据传输的示意图;图2为现有的利用LDPC码的数据传输的方法流程图;图3为根据本发明实施例1的方法进行数据传输的示意图;图4为本发明实施例1中数据传输的方法流程图;图5为根据本发明实施例2的方法进行数据传输的示意图;图6为本发明实施例2中数据传输的方法流程图;图7为本发明实施例2中接收端利用所有接收到的冗余比特执行LDPC解码的方法流程图;图8为执行LDPC解码时比特节点和校验节点关系的示意图;图9为实施例3中交织之后的比特节点和校验节点关系的示意图;和图10为根据本发明实施例4的方法进行数据重传的示意图。
具体实施例方式
为使本发明的目的、技术方案更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
实施例1在本实施例中,发送端在初次传输时将全部的信息比特和冗余比特发送给接收端,如果接收端不能正确进行LDPC解码,则发送端对信息比特进行打孔,并在打孔位置处塡入哑比特,再进行LDPC编码,并将形成的新的冗余比特发送给接收端;接收端根据新的冗余比特确定未被打孔的信息比特的值,作为对全部信息比特进行LDPC解码的辅助。本实施例仅执行一次数据的重传。
在本实施例的数据传输执行之前,执行数据传输的网络系统预先对发送端和接收端设置打孔模式和每次打孔数,以便发送端移除信息比特和接收端加入哑比特的位置能够保持一致。
在本实施例中,将初次传输中的冗余比特称作第一冗余比特,将第一次重传中的冗余比特称作第二冗余比特。
图3示出了根据本发明实施例的方法进行数据传输的示意图;图4示出了本发明实施例1中数据传输的方法流程图。如图3和图4所示,本实施例中的数据传输方法包括以下步骤在步骤401~402中,发送端对信息比特进行LDPC编码,获得第一冗余比特R1,并将信息比特和第一冗余比特R1发送给接收端。
在此处的两个步骤中,发送端首先对源比特进行循环冗余校验CRC编码,获得CRC校验比特;并将源比特和所获得的CRC校验比特组成LDPC的信息比特,进行LDPC编码,得到作为LDPC校验比特的冗余比特R1,即第一冗余比特;然后,将信息比特和第一冗余比特R1一起组成数据包,发送给接收端。
进行CRC编码的目的在于接收端能够以CRC校验比特为依据,来判断所接收到的数据正确与否;进行LDPC编码的目的在于利用LDPC码的低密度校验矩阵,来增强被编码数据在传输过程中抗突发差错的能力。
例如,对于包括1000比特的数据包,800个比特为经过CRC编码后的信息比特,200个比特为通过LDPC编码形成的第一冗余比特R1。在初次传输时,发送方将800比特的信息比特和200比特的冗余比特R1组成一个数据包,发送给接收端。
在步骤403中,接收端对接收到的数据和第一冗余比特进行LDPC解码,获得信息比特对应的软信息,确定信息比特的取值。
接收端接收到的数据是指与发送端进行LDPC编码的信息比特相对应的数据;接收端通过对这些数据进行LDPC解码可以得到每个信息比特的软信息,进而最后得到信息比特。其中,该软信息是对信息比特取值的可靠度的衡量。信息比特的软信息越接近于负无穷,则该信息比特的取值为0的可能性就越大;反之,信息比特的软信息越接近于正无穷,那么该信息比特为1的可能性就越大。例如利用200个冗余比特R1获得800个信息比特对应的软信息。然后接收端再根据软信息的数值将各个信息比特的取值确定为0或者1。例如,经过解码得到的软信息的数值为-100,则将该软信息对应的信息比特的取值确定为0。
在步骤404~405中,接收端判断LDPC解码是否成功,在LDPC解码失败时,接收端在自身保存接收到的数据和第一冗余比特,并请求发送端进行数据重传。
此处接收端从确定具体取值的信息比特中提取出CRC校验比特;然后按照CRC校验规则对CRC校验比特进行运算,如果运算结果为0,则判定CRC校验成功,即所接收到的源比特正确;反之,在运算结果为1时,判定CRC校验失败,表明所接收到的源比特中由于传输信道中的噪声等影响而出现误码。如果通过了CRC校验,则判定LDPC解码成功;否则,判定LDPC解码失败。
在步骤406中,发送端根据预先设置的打孔模式和每次打孔数,对信息比特打孔,在打孔位置上塡入哑比特,并对未被打孔的信息比特和哑比特进行LDPC编码,得到第二冗余比特,再将所获得的第二冗余比特发送给接收端。
所谓哑比特是指取值为0或者为1的比特,并且发送端和接收端对于一次数据传输过程中的哑比特的具体取值是一致的。为了便于说明,本实施例中以0作为哑比特取值。
仍然参见图3,假设打孔模式为由前至后连续打孔,每次打孔数为100比特,由于本实施例中只进行一次重传,即本次重传为第一次重传,则发送端在本步骤中移除800个信息比特中的前100个比特,并用100比特的0作为哑比特进行塡充。然后发送端对该100比特的0和后700个信息比特进行LDPC编码,获得第二冗余比特,即R2,并将冗余比特R2发送给接收端。
在步骤407中,接收端利用接收到的第二冗余比特进行LDPC解码,确定未被打孔的信息比特对应的值。
由于接收端预先获取发送端的打孔模式和每次打孔数,因此,能够准确地确定每次重传中信息比特的打孔位置和打孔比特数。本步骤中,接收端采用与发送端相同的方式,对接收到的与信息比特相对应的数据进行打孔,恢复出步骤406中进行LDPC编码的信息比特,即未被打孔的信息比特和哑比特,并且未被打孔的信息比特与哑比特合并在一起的长度等于全部信息比特的长度。本步骤等同于接收端从接收到的数据中读取与未被打孔的信息比特相对应的信息比特,并在打孔位置上用0塡充,组成与在发送端经过打孔后的信息比特相对应的数据。在利用第二冗余比特进行LDPC解码后,得到未被打孔的数据的软信息,从而确定信息比特的值。
例如,本步骤中接收端接收到冗余比特R2后,将100比特的0赋予前100位,并将这100比特的软信息取为绝对值较大的负实数,以表明其取值为0的可靠度非常高。然后,从初次传输中接收到的800个信息比特对应的数据中取出后700个比特,作为未被打孔的信息比特,并根据冗余比特R2,通过LDPC解码确定后700个比特的软信息。而后,根据所确定的软信息的数值,得出这700个信息比特对应的数据的取值。
在步骤408中,接收端从解码结果中解析出未被打孔的信息比特的值,利用被解析出的信息比特的值,对接收到的数据中的对应位置进行更新;然后,接收端利用第一冗余比特,对更新后的接收到的数据进行LDPC解码。
例如,接收端用步骤407中确定的后700个比特的值,替换所接收到的数据中的后700个比特,以完成信息比特更新。然后再利用第一冗余比特,对更新后的全部800个信息比特对应的数据执行LDPC解码,得出全部的软信息,完成数据包的解码。
本实施例在数据重传过程中通过打孔来将信息比特的长度缩短。对于接收端而言,相当于打孔中被塡入的哑比特通过无噪声的信道到达接收端,等同于提高了传输信道的平均信噪比。并且在接收端进行两次LDPC解码,每次解码所实际需要确定的比特数据的数量相比现有技术降低了,从而即使在信道的信噪比低于对当前数据包进行成功解码的最低信噪比时,也能够正确解出数据包中的信息,实现成功解码。
实施例2为了进一步提高接收端进行LDPC解码的成功率,可以进行两次重传。在本实施例中,发送端在第二次重传时,对信息比特进行再次打孔,即从首次打孔中未被打孔的信息比特中移除一部分信息比特,再在其余的位置上用0塡充。然后接收端对经过再次打孔的信息比特进行LDPC编码,形成第三冗余比特,并将第三冗余比特发送给接收端。接收端利用第三冗余比特进行LDPC解码,得到与再次打孔中未被打孔的信息比特相对应的值,并更新接收到的信息比特;而后再以同样的方式,利用第二冗余比特和第一冗余比特进行LDPC解码。
图5使出了根据本发明实施例2的方法进行数据传输的示意图;图6示出了本发明实施例2数据传输的方法流程图。下面参考图5和图6详细说明本实施例的数据传输方法,其中,步骤601~607中的操作与实施例1中的步骤401至407相同,这里不再重复说明。
在步骤608~609中,判断LDPC解码是否成功,在LDPC解码失败时,接收端保存第二冗余比特,请求发送端进行第二次重传。
在步骤610中,发送端对信息比特再次打孔,从首次打孔中未被打孔的信息比特中移除等于每次打孔数的信息比特,得到再次打孔中未被打孔的信息比特,对经过再次打孔的信息比特进行LDPC编码,并将所获得的第三冗余比特发送给接收端。
本步骤中在第一次数据重传后解码失败的情况下,发送端按照预先设置的打孔模式和每次打孔次数,对信息比特进行再次打孔,从步骤606的打孔中未被打孔的信息比特中移除一部分信息比特,即保留更少的一部分信息比特。例如,在步骤606中从800个信息比特中移除了前100个信息比特,则本步骤从后700个信息比特中再次移除前100个信息比特,并在除了后600个信息比特之外的位置处用作为哑比特的0来塡充。然后发送端对取值为0的前200个比特和所保留的600个信息比特进行LDPC编码,获得200个比特的冗余比特R3,再将冗余比特R3发送给接收端。
在步骤611中,接收端利用接收到的第一、第二和第三冗余比特进行LDPC解码。
具体地说,如图7所示,本步骤的具体操作包括在步骤6111中,接收端从接收到的数据中获取与再次打孔中未被打孔的信息比特相对应的数据,将其余位置用哑比特塡充,并利用第三冗余比特对再次打孔中未被打孔的信息比特对应的数据和哑比特进行LDPC解码,确定再次打孔中未被打孔的信息比特对应的值。
例如,本步骤中接收端从初次传输中接收到的800个比特的数据中提取后600个比特,将前200个比特用0代替,并将这前200个比特的软信息取为绝对值较大的负数。根据冗余比特R3,通过LDPC解码确定后600个比特的软信息,并根据所确定的软信息的数值,得出这600个比特数据的取值。
在步骤6112~6113中,接收端用所确定的再次打孔中未被打孔的信息比特对应的值更新所接收到的数据中的对应位置;从更新后的接收数据中获取与首次打孔中未被打孔的信息比特相对应的数据,将其余的位置用0塡充,并利用第二冗余比特进行LDPC解码,确定首次打孔中未被打孔的信息比特对应的值。
对于图5中的第二次重传,此处接收端用在步骤6111中确定的后600个信息比特的值替换初次传输中接收到的800个比特中的对应位置,以实现数据的更新。然后接收端从更新后的800个比特中取出后700个比特,用0作为前100个比特的值,再根据冗余比特R2进行LDPC解码,得到后700个比特的软信息,进而确定这700个比特的值。
在步骤6114~6115中,用所确定的首次打孔中未被打孔的信息比特的值再次更新接收到的数据中的对应位置;接收端利用第一冗余比特对再次更新后的接收数据进行LDPC解码,确定全部信息比特的值。
例如,接收端用步骤6113中确定的后700个比特的值来替换经过一次更新的800个比特的对应信息比特,再用冗余比特R1进行LDPC解码,从而确定全部800个比特的软信息,进而解出全部数据的值。
与第一实施例相比,本实施例中发送端在第二次重传时对更少的信息比特进行编码,因此接收端在解码时的未知信息更少,因此本实施例中成功解码的可能性更高。另外可以根据传输信道的平均信噪比,适当地调整每次打孔数,以便在由信噪比所决定的解码能力下,每次解出尽可能多的信息比特。
在上述过程中,每次利用重传的冗余比特进行LDPC解码而确定信息比特的值后,都用所获得的值更新接收到的数据中的对应位置,以便后续的LDPC解码中所用的数据保持较高的可靠度。此种解码方法中接收端的数据的更新是单方向的,可以被称作半迭代LDPC解码。
另外,也可以采用双方向更新数据的全迭代LDPC解码。具体而言,全迭代LDPC解码与半迭代LDPC解码相比,在步骤6111中的操作不同,而在步骤6112至6115中的操作相同。对于全迭代LDPC解码,在步骤6111中,接收端从利用第二冗余比特解出的数据中取出与再次打孔中未被打孔的信息比特相对应的数据,更新经过再次打孔的接收数据,将其余位置用哑比特塡充,并利用第三冗余比特对经过再次打孔的信息比特对应的数据进行LDPC解码,确定与再次打孔中未被打孔的信息比特相对应的数据的值。
全迭代LDPC解码通过更多的迭代译码,能够获得更大的解码成功的可能性,从而带来更好的解码结果。
利用本实施例的方法,通过两次重传来减少每次LDPC解码中未知信息的数量,从而能够在大多数情况下实现成功解码。在少数情况中,即使重传两次也无法成功解出信息比特,则可以按照本实施例的思想启动第三、第四次甚至更多次的数据重传。在启动多次数据重传的情况下,预先设置最大打孔数,则发送端每次在接收到重传请求时,都要判断已打孔的信息比特数是否达到最大打孔数,如果是,表明无法再对信息比特进行打孔,则结束数据传输的流程;否则,继续进行打孔操作。
实施例3如图8所示,在现有技术中,接收端利用比特节点和校验节点进行LDPC解码,其中比特节点对应于作为解码对象的信息比特和冗余比特,而校验比特对应于奇偶校验方程。在利用重传的冗余比特进行多次LDPC解码时,各个信息比特对应的数据按照同样的方式与比特节点相对应,则每个校验节点只按照解码算法对固定位置的比特节点中的内容进行校验。当由于一些信息比特在多次重传中均发生误码而导致解码失败时,即这些信息比特对应的比特节点构成终止集合,例如图8中的比特节点v1、v2和v4,由于终止集合中的各个比特节点在每次LDPC解码时都由固定的校验节点进行校验,则即使不断地对信息比特进行打孔来形成有助于解码的冗余比特,也会出现总是无法成功解码的情况。
本实施例利用交织和解交织来解决上述问题,其中交织指按照预先设定的交织算法来调整信息比特的位置,解交织是指按照预先设定的解交织算法将信息比特被调整的位置复原,交织和解交织是一对互逆过程。
具体而言,如果发生数据重传,则发送端在完成信息比特的打孔后,对未被打孔的信息比特进行交织,再在打孔位置上塡入哑比特并通过LDPC编码获得重传的冗余比特;接收端进行LDPC解码后,要先对解码结果进行解交织,再对接收到的数据进行更新。如图9所示,在经过交织处理后,比特节点v1至v8与各个校验节点的连接发生了变化,即改变各个比特节点在LDPC解码时的校验节点,从而能够避免终止集合的产生。
以实施例1的流程为基础,本实施例在步骤406中的操作变为发送端根据预先设置的打孔模式和每次打孔数,对信息比特打孔,在打孔位置上塡入哑比特,并且根据预先设定的交织算法,对未被打孔的信息比特执行交织,将交织结果作为打孔后的信息比特;然后对本次打孔中未被打孔的信息比特和哑比特进行LDPC编码,得到第二冗余比特,再将所获得的第二冗余比特发送给接收端。
另外,本实施例在步骤407中的操作变为接收端利用第二冗余比特进行LDPC解码,并对解码结果进行解交织,并将交织结果作为本次打孔中未被打孔的信息比特对应的值。
应用本实施例的方法,通过交织和解交织处理对信息比特的位置进行调整,改变信息比特在每次LDPC解码时都有固定的校验节点来处理的局面,从而当一些信息比特在多次重传中均发生误码而导致解码失败时,也能够很大程度地提高成功解码的可能性。
实施例4本实施例中每次在生成冗余比特时,发送端都将上一次传输的冗余比特塡充到被打孔位置上,进行LDPC编码;接收端进行LDPC解码后,利用所获得的未被打孔的信息比特的值和上一次传输的冗余比特,对初次传输的信息比特和上一次传输的冗余比特进行更新。
以实施例1中的流程为基础,本实施例在步骤406中的操作变为发送端根据预先设置的打孔模式和每次打孔数,对信息比特打孔,在打孔位置上塡入哑比特和第一冗余比特,并对未被打孔的信息比特、哑比特和第一冗余比特进行LDPC编码,得到第二冗余比特,再将所获得的第二冗余比特发送给接收端。
例如,假设打孔模式为由前至后连续打孔,每次打孔数为250比特,则发送端移除800个信息比特中的前250个比特,并用50比特的0和长度为200比特的初次传输中的冗余比特R1塡充。然后发送端对该50比特的0、冗余比特R1和后550个信息比特进行LDPC编码,获得冗余比特R2,并将冗余比特R2发送给接收端。
可见,虽然本实施例在编码时塡充了上一次传输的冗余比特,但是由于每次打孔数较多,因此,仍然保证信息比特的长度不变。
本实施例在步骤407至408中的操作变为接收端利用第二冗余比特进行LDPC解码,确定与未被打孔的信息比特相对应的数据的值以及第一冗余比特的值;接收端利用解码得到的未被打孔的信息比特对应的数据和第一冗余比特分别对接收到的数据和第一冗余比特进行更新,并进行LDPC解码。
图10示出了根据本发明实施例4的方法进行数据重传的示意图。具体而言,以图10中的一次重传为例,接收端接收到冗余比特R2后,将50比特的0以及初次传输的冗余比特R1赋予前250个信息比特对应的数据。然后,从初次传输中接收到的800个比特的数据中取出后550个比特,并根据冗余比特R2,通过LDPC解码获得冗余比特R1和后550个比特的软信息。而后,根据所确定的软信息的数值,得出冗余比特R1和后550个比特的取值。
此后,接收端用所确定的后550个比特数据的值,替换初次传输中接收到的信息比特中的后550个比特,以完成接收数据的更新;并且用所确定的冗余比特R1的取值,更新初次传输中接收到的冗余比特R1;最后采用更新后的冗余比特R1解码出全部800个比特数据的取值。
本实施例中每次重传都对上一次传输中的冗余比特进行LDPC编码并在解码后进行更新,则当信息比特受到的干扰较小从而可靠度较高,而冗余比特受到的干扰较大时,可以避免由于冗余比特在重传中从未得到更新而成为LDPC解码失败的主要因素。可见,本实施例能够对冗余比特进行很大程度上的纠错,进一步提高成功解码的可能性。
上述各个实施例中以数值0作为哑比特的取值,也可以以数值1作为哑比特的取值,只需发送端和接收端保持一致即可。
上述的实施例3和实施例4仅以实施例中执行一次重传为基础进行说明,这两个实施例的思想同样也可以用于实施例2中执行两次乃至多次重传的情况下。
本发明中的数据传输方法不仅可以应用于有线网络中,还可以应用于无线网络中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种应用低密度奇偶校验LDPC码在发送端和接收端进行数据传输的方法,包括A.发送端对欲传输的信息比特进行LDPC编码,获得第一冗余比特,并该信息比特和第一冗余比特一起发送给接收端;B.接收端接收所述信息比特对应的数据以及冗余比特,进行LDPC解码,并在解码失败时向发送端发送数据重传请求;C.发送端接收来自于接收端的数据重传请求,对所述信息比特打孔和对打孔后的信息比特进行LDPC编码,获得第二冗余比特,并该第二冗余比特发送给接收端;D.接收端对接收到的数据按照与发送端相同的方式进行打孔,根据接收到的第二冗余比特对该打孔后的数据进行LDPC解码,获得未被打孔的信息比特;和E.用所述的未被打孔的信息比特更新接收到的数据,根据第一冗余比特对更新后的数据进行LDPC解码,获得信息比特。
2.如权利要求1所述的方法,其特征在于步骤C中所述的对信息比特打孔包括按照预先设置的打孔模式,从所述信息比特中移除与预先设置的每次打孔数相等的信息比特,并在被移除的信息比特对应的位置处塡入哑比特;步骤E所述的第一冗余比特是接收端接收到的第一冗余比特。
3.如权利要求1所述的方法,其特征在于步骤C中所述的对信息比特进行打孔包括按照预先设置的打孔模式,从所述信息比特中移除与预先设置的每次打孔数相等的信息比特,并在被移除的信息比特对应的位置处塡入第一冗余比特和哑比特;所述步骤E之前进一步包括通过步骤D所述的对该打孔后的数据进行LDPC解码进一步获得第一冗余比特,用获得的第一冗余比特更新接收到的第一冗余比特;步骤E所述的第一冗余比特是更新后的第一冗余比特。
4.如权利要求3所述的方法,其特征在于,所述通过步骤E所述的对该打孔后的数据进行LDPC解码进一步获得第一冗余比特包括从对该打孔后的数据进行LDPC解码的结果中提取所述第一冗余比特的软信息;所述用获得的第一冗余比特更新接收到的第一冗余比特包括用所述第一冗余比特的软信息替代接收端接收到的第一冗余比特。
5.如权利要求1所述的方法,其特征在于所述步骤E之后进一步包括F.判断LDPC解码是否成功,在LDPC解码被判断为不成功时,接收端请求发送端再次进行数据重传;G.发送端对欲传输的信息比特信息比特再次打孔,对经过再次打孔的所述信息比特进行LDPC编码,获得第三冗余比特,并该第三冗余比特发送给接收端;H.接收端对所述步骤B中接收到的数据按照与发送端相同的方式进行再次打孔,根据接收到的第三冗余比特对经过再次打孔的接收数据进行LDPC解码,获得再次打孔中未被打孔的信息比特,用所述再次打孔中未被打孔的信息比特更新接收数据;和I.根据第二冗余比特对更新后的接收数据进行LDPC解码,获得步骤D所述打孔中未被打孔的信息比特,用所获得的未被打孔的信息比特再次更新接收到的数据,并根据第一冗余比特对再次更新后的接收数据进行LDPC解码,获得信息比特。
6.如权利要求5所述的方法,其特征在于,步骤H所述对经过再次打孔的接收数据进行LDPC解码之前进一步包括从所述步骤D中获得未被打孔的信息比特中与再次打孔中未被打孔的信息比特相对应的信息比特,更新经过再次打孔的接收数据。
7.如权利要求5所述的方法,其特征在于,步骤H中所述的获得再次打孔中未被打孔的比特信息包括从步骤H中所述的LDPC解码的结果中读取再次打孔中未被打孔的信息比特的软信息;步骤H中所述用再次打孔中未被打孔的信息比特更新接收数据包括所述再次打孔中未被打孔的信息比特的软信息塡入到接收数据中的对应位置。
8.如权利要求1所述的方法,其特征在于,在步骤C所述对打孔后的信息比特进行LDPC编码之前进一步包括对所述打孔中未被打孔的信息比特进行交织,并交织结果作为打孔后的信息比特;在所述步骤E之前进一步包括对所获得的未被打孔的信息比特进行解交织,获得解交织结果,并解交织结果作为未被打孔的信息比特。
9.如权利要求1或5所述的方法,其特征在于,所述获得未被打孔的信息比特包括从LDPC解码的结果中提取所述未被打孔的信息比特对应的软信息;所述用未被打孔的信息比特更新接收到的数据为所述未被打孔的信息比特的软信息塡入到接收数据中的对应位置。
全文摘要
本发明公开了一种应用低密度奇偶校验LDPC码在发送端和接收端进行数据传输的方法。在该方法中,发送端首先对欲传输的信息比特进行LDPC编码,获得第一冗余此特,并将该信息比特和第一冗余比特发送给接收端。接收端接收所述信息比特对应的数据和冗余比特,进行LDPC解码,并在解码失败时向发出数据重传请求。发送端接收数据重传请求,发送端对信息比特打孔和对打孔后的信息比特进行LDPC编码,获得第二冗余比特,并将该第二冗余比特发送给接收端。接收端对接收到的数据按照与发送端相同的方式进行打孔,根据接收到的第二冗余比特对该打孔后的数据进行LDPC解码,获得未被打孔的信息比特,然后用未被打孔的信息比特更新接收到的数据,根据第一冗余比特对更新后的数据进行LDPC解码,获得信息比特。
文档编号H03M13/11GK101034953SQ200610056709
公开日2007年9月12日 申请日期2006年3月6日 优先权日2006年3月6日
发明者兰普·马蒂尔斯, 朱嘉, 张海滨, 施惠丰 申请人:西门子通信技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1