基于turbo乘积码的混合自动重发请求的方法和装置
技术领域
本发明涉及无线和有线通信,特别涉及基于turbo乘积码(turboproduct code)实现混合自动重发请求(Hybrid Automatic RepeatRequest,Hybrid-ARQ)的方法和装置,以增大系统流量。
技术背景
目前有许多采用其他码方案的混合自动重发请求技术方案,比如turbo码,卷积码等。但是采用turbo乘积码的混合自动重发请求(Hybrid-ARQ)技术方案还没有出现过。使用TPC的系统一般只采用自动重发请求(ARQ)技术方案。
关于TPC
信道编码在通信中的作用非常重要。通过信道的信息位会引入噪声和失真。特别是,无线信道噪声和失真很严重。高效的信道编码能够极大地降低由来自信道的噪声和失真引入的信息位的误码率。然而高效的信道编码会带来更高的处理复杂度,比如Turbo码。
Turbo乘积码(TPC或BTC)是一种具有软输入/软输出解码的乘积线性码。它的性能可以与使用次优化加权算法的卷积Turbo码(Convolution Turbo Code)的性能相比。TPC提供了性能与复杂度之间的良好的折中,并且在实现方面由于低的复杂度而具有吸引力。由于过去提出了乘积码的turbo解码器,关于它的工作已经进行了很多以提高其性能,其中或是在给定的近最佳误码率(BER)性能下降低实现复杂度,或是在实现复杂度的限制之下提高误码率(BER)性能。
编码器
目前有三种常用的turbo乘积码的子码。其中之一是汉明码(Hamming code),只能纠正单个错误。其中再一个是BCH码,能够纠正多于一个错误。另一个是单奇偶码(SPC)。由汉明码或SPC构成的TPC容易实现,但是其编码增益受到限制。由BCH码构成的TPC具有很高的解码复杂度,但是能够获得更高的编码增益。因此,选择TPC的哪种子码系统取决于系统设计的要求。
解码器
乘积码turbo解码器1的基本结构表示在图1中。乘积码的各种turbo解码器可以根据所述附图描述。接收的软信道值能够由turbo解码器解码,并且发送位的软值被输出。根据turbo解码器的软输出,能够直接进行硬判决。与CTC(卷积Turbo码)相似,在SISO解码2之前,接收的信道值被减去外部信息的反馈。因此,外部信息在迭代时收敛于信道中的实际噪声,解码的码字收敛于实际发送的码字。
关于混合自动重发请求(Hybrid-ARQ)
有两种基本的技术来控制数据通信系统中的错误:自动重发请求(Automatic Repeat reQuest(ARQ))以及向前纠错码(FEC)。ARQ方案在实现上是简单的,并且提供很高的可靠性。然而,随着信道误码率增加,它们的流量效率快速下降。另一方面,FEC方案提供恒定的流量效率,但是在高信道误码率下可靠性下降。如果ARQ和FEC这两种控制方案被适当地组合,它们的缺点能够被克服。这种组合被称为混合自动重发请求。混合自动重发请求(HARQ)方案可以划分为三个类别:类型-I,类型-II,以及类型-III。
类型-I:在基本的类型-I(HARQ)中,数据被FEC编码后还要被CRC等校验码编码(校验码用于检测帧的错误)。在接收端,FEC码首先被解码。如果包中仍然有错误(通过校验码检测),则请求该包的重发。错误包被丢弃。重发使用相同的FEC码。
类型-II:类型-II HARQ方案也称为增量冗余(IR)方案。在IR ARQ方案中,被检测错误的数据包不被丢弃,而是与由发送端重发的数据包按一定规则组合(如最大必合并)用于随后的解码。对于类型-II HARQ方案,重发的数据包由于信道的变化,在接收端通常与第一次接收到的不同,而是携带了更多附加的冗余信息,所以合并后能更高效的译码
类型-III:类型-III HARQ方案是类型-II HARQ方案的一个特例:每个包是可自解码的,即,如果可能,重发的包可以与先前的版本组合,但是每个版本包含正确接收数据所必需的全部信息。
现有的TPC+ARQ方案不能获得更高的流量。
发明内容
本发明的目的在于用turbo乘积码实现混合自动重发请求,以增加系统流量。
本发明的基本思想是通过传统的TPC编码将信息位编码成矩阵,然后在将信息矩阵交织后又一次对其编码。这里,可以得到一个要发送的信息矩阵,以及通过两次TPC编码获得的另外两个校验矩阵。首先发送该信息矩阵以及一个校验矩阵。如果接收端不能恢复发送的信息位,接收端请求重发。在传统的技术方案中,全部信息以及校验矩阵被重发。但是在新的技术方案中,只有第二个校验矩阵被重发。在接收到第二个校验矩阵之后,接收端联合两个校验矩阵以及一个信息矩阵通过迭代算法解码信息位。由于TPC码的性质,交织会重新排列码块中元素的顺序,从而纠错的能力变得更高。
为此,本发明提供了一种在发送端实现基于turbo乘积码的混合自动重发请求的方法,其特征在于包括以下步骤:
在发送端中,将要发送的信息位首先由TPC编码器编码为一个信息矩阵和一个校验矩阵1,并且在交织该信息矩阵之后,重新编码交织后的信息矩阵,并且得到另一个校验矩阵2;
在发送端首先发送信息矩阵和校验矩阵1,用于在接收端恢复信息位;
对于发送端,在发送信息矩阵和校验矩阵1之后,如果收到来自接收端的不确认指示NACK,则只重发校验矩阵2到接收端,用于在接收端恢复信息位。
本发明还提供了一种在接收端实现基于turbo乘积码的混合自动重发请求的方法,其特征在于包括以下步骤:
接收端接收的信息矩阵、一个校验矩阵1和一个校验矩阵2是这样形成的,在发送端中将要发送的信息位首先由TPC编码器编码为一个信息矩阵和一个校验矩阵1,并且在交织该信息矩阵之后,重新编码交织后的信息矩阵,并且得到另一个校验矩阵2;
首先如果接收端接收到发送端发送的信息矩阵和校验矩阵1并通过信道解码正确恢复了信息位,则送回一个确认指示ACK到发送端,如果不能恢复信息位,则传送回一个不确认指示NACK到发送端;
在接收端如果传送回一个不确认指示NACK到发送端,将只收到发送端重发的校验矩阵2;
接收端在接收到校验矩阵2之后,恢复信息矩阵。
本发明还提供了一种基于turbo乘积码的混合自动重发请求的方法,其特征在于包括以下步骤:
在发送端中,将要发送的信息位首先由TPC编码器编码为一个信息矩阵和一个校验矩阵1,并且在交织该信息矩阵之后,重新编码交织后的信息矩阵,并且得到另一个校验矩阵2;
在发送端首先发送信息矩阵和校验矩阵1;
如果在接收端通过信道解码正确恢复了信息位,则传送回一个确认指示ACK到发送端,如果不能恢复信息位,则传送回一个不确认指示NACK到发送端;
对于发送端,如果收到NACK,只重发校验矩阵2到接收端;
在接收端,在接收到校验矩阵2之后,恢复信息矩阵。
本发明还提供了一种发送端设备,用于实现基于turbo乘积码的混合自动重发请求,其特征在于:
该发送端设备具有TPC编码器,将要发送的信息位首先编码为一个信息矩阵和一个校验矩阵1,并且在交织该信息矩阵之后,重新编码交织后的信息矩阵,并且得到另一个校验矩阵2;
发送端设备首先发送信息矩阵和校验矩阵1,用于在接收端设备恢复信息位;
对于发送端设备,在发送信息矩阵和校验矩阵1之后,如果收到来自接收端设备的不确认指示NACK,则只重发校验矩阵2到接收端设备,用于在接收端设备恢复信息位。
本发明还提供了一种接收端设备,用于实现基于turbo乘积码的混合自动重发请求的方法,其特征在于,
该接收端设备具有解码器,该接收端设备接收的信息矩阵、一个校验矩阵1和一个校验矩阵2是这样形成的,在发送端设备中,将要发送的信息位首先由TPC编码器编码为一个信息矩阵和一个校验矩阵1,并且在交织该信息矩阵之后,重新编码交织后的信息矩阵,并且得到另一个校验矩阵2;
如果接收端设备接收到发送端发送的信息矩阵和校验矩阵1,并且解码器通过信道解码正确恢复了信息位,则接收端设备送回一个确认指示ACK到发送端设备,如果不能恢复信息位,则传送回一个不确认指示NACK到发送端设备;
接收端设备如果传送回一个不确认指示NACK到发送端设备,将只收到接收端设备重发的校验矩阵2;
接收端设备在接收到校验矩阵2之后,恢复信息矩阵。
本发明还提供了一种基于turbo乘积码的混合自动重发请求装置,包括发送端设备和接收端设备,其特征在于
发送端设备具有TPC编码器,将要发送的信息位首先编码为一个信息矩阵和一个校验矩阵1,并且在交织该信息矩阵之后,重新编码交织后的信息矩阵,并且得到另一个校验矩阵2;
接收端设备具有解码器,发送端设备首先发送信息矩阵和校验矩阵1;如果接收端设备的解码器通过信道解码正确恢复了信息位,则接收端设备传送回一个确认指示ACK到发送端设备,如果不能恢复信息位,则传送回一个不确认指示NACK到发送端设备;发送端设备如果收到NACK,只重发校验矩阵2到接收端;接收端设备在接收到校验矩阵2之后,恢复信息矩阵。
通过以下附图和实施方式的描述,会对本发明的其他目的,特征以及优点有更清楚的了解。
附图说明
在此引用并组成说明书一部分的附图示出了本发明的实施方式,并结合以下说明示例性地解释本发明。
图1表示乘积码的turbo解码器的结构;
图2表示本发明中的编码过程;
图3表示本发明中的解码器过程;
图4表示混合自动重发请求(Hybrid-ARQ)过程流程图;
图5表示本发明的方法与传统的方法的仿真结果。
具体实施方式
以下结合附图具体描述本发明的实施。
组合TPC与混合自动重发请求(Hybrid-ARQ)的技术方案
新方案组合了TPC和混合自动重发请求以提供更高的系统流量。
在发送端中,要发送的信息位首先由TPC编码器编码为一个信息矩阵和一个校验矩阵,称为“校验矩阵1”。并且在交织该信息矩阵之后,重新编码交织后的信息矩阵,并且得到另一个校验矩阵,称为“校验矩阵2”。(如图2中所示)
参见图4,对于一个要发送的信息块,在步骤41发送端首先发送信息矩阵和“校验矩阵1”。在步骤42如果接收端通过信道解码正确恢复了信息位,则传送回一个ACK(acknowledgement确认)指示。如果不能恢复信息位,则传送回一个NACK(not acknowledgement不确认)指示到发送端。
对于发送端,如果收到NACK指示前面的信息位块遇到了不能纠正的错误,并且需要重发。
对于传统的方案,整个前面的码块(信息矩阵和校验矩阵1)被重发。但是对于新方案,在步骤44只发“校验矩阵2”到接收端。这里发送端需要将信息矩阵交织后重新进行TPC编码,得到“校验矩阵2”。
在接收端,在接收到“校验矩阵2”之后,恢复出信息矩阵。信息矩阵的恢复可以采用两种方法。
1)在步骤45,根据发送端中的交织方式来交织前一次接收的信息矩阵,然后将交织的信息矩阵与“校验矩阵2”组合以产生一个TPC编码块。然后解码该码块得到发送的信息。
2)在步骤45,首先用1)的方法恢复一个TPC编码块,然后对该TPC码块做一次迭代译码(包括一次行解码和列解码),一次译码后得到信息矩阵和“校验矩阵2”的软信息。然后解交织该一次迭代译码后得到的信息矩阵。将解交织的信息矩阵与“校验矩阵1”组合以产生另一个码块,并对该另一个码块做一次迭代译码。译码后得到信息矩阵和“校验矩阵1”的软信息,再重复上述交织信息矩阵、将交织的信息矩阵与校验矩阵2相组合以产生TPC码块、对该TPC码块进行译码、解交织译码后得到的信息矩阵、将解交织的信息矩阵与校验矩阵1相组合以产生另一个码块、对该另一个码块进行译码4次。整个解码过程表示在图3中。
在图3的流程中,还可以包括步骤46到48。如果接收端通过上述1)或2)信道解码正确恢复了信息位,则传送回一个ACK(acknowledgement确认)指示。如果不能恢复信息位,则传送回一个NACK(not acknowledgement不确认)指示到发送端。
对于发送端,如果收到NACK,则表示前面的信息位块遇到了不能纠正的错误,并且需要重新发送校验矩阵1,校验矩阵2或信息矩阵。
根据上述方案的一个一般的混合自动重发请求方案可以表达为图4中的流程图。假设使用的是最简单的发送-等待(SW)模式。
由于TPC码的性质,交织会重新排列码块中单元的顺序,结果纠正错误的概率变得更大。
仿真结果
在此,仿真在AWGN(加性高斯白噪声)环境下上述方法与传统方法的流量。传统方法使用TPC编码和解码,如果检测到错误,整个块被重发。
在仿真中,使用16QAM信令和(64,57)(64,57)TPC码。包长度是512。发送速率是10000bits/s。流量的定义是接收成功的信息率,并且定义为
(包长度)*(成功包数量)*发包率/(总发送的包数量)
在仿真中,保证包错误率低于5%,并且没有设置重发次数。在低SNR条件下,需要更多的重发次数以达到PER要求。更多的重发次数是不适于实现的,但是适于比较的目的。
仿真的结果表示在图5中。
从图5可见,可以得出结论,本发明的方法在流量上胜过传统的方法。本发明的方法相对于现有的方法具有更高的流量。