一种复合信道下极化码的混合自动重传请求方法与流程

文档序号:17428869发布日期:2019-04-17 03:13阅读:168来源:国知局
一种复合信道下极化码的混合自动重传请求方法与流程

本发明属于通信技术领域,具体是信道编码中的重传方法,涉及一种复合信道下极化码的混合自动重传请求方法。



背景技术:

数字通信系统与我们的日常生活息息相关,而信道编码则是数字通信系统中的核心技术。数字信号在传输过程中会受到信道中的干扰或噪声影响,降低通信质量。信道编码通过在待传输的数据中添加与原数据相关的冗余信息,再在接收端根据这种相关性来检测和纠正传输过程产生的差错,从而对抗传输过程中的干扰。信道编码的发展始于1948年香农发表的具有里程碑意义的论文《通信的数学理论》。香农的有噪信道编码定理表明,对于每一个信道都存在一个相应的称之为信道容量的传输极限,只要信息传输速率小于信道容量,采用合适的信道编码方法,信息的传输可以以任意小的错误概率进行,如果传输速率大于信道容量则不可能实现任意小的误码率。香农虽然指出了可以通过信道编码在信息传输速率不大于信道容量的前提下实现可靠通信,但却没有给出具体实现信道编码的方法。在之后的七十年中,人们一直致力于信道编码的研究,不断冲击香农限。

极化码是一类信道容量可达的信道编码。在过去的十年中,对极化码的理论研究与实践都在众多学者的努力下不断推进。在即将到来的5g通信协议中,极化码被国际无线标准化机构3gpp选为增强移动宽带(enhancedmobilebroadband,embb)场景下上下行链路控制信道的编码方案。在5g的另外两个场景低延时高可靠通信(ultra-reliablelow-latencycommunications,urllc)以及物联网通信(massivemachine-typecommunications,mmtc)中,极化码也被选为了可能的信道编码方案之一。为了构造极化码,每一个极化信道上的可靠度信息是必要的。给定码长和信道状态,我们可以利用多种算法有效计算出极化码的构造。然而在5g的各种场景中,码长、码率以及信道状况都是时变的,如果我们对于每一个参数的不同组合设计相应的极化码构造,显然是不切实际的。同时,在许多通信场景中,实际信道的参数对于发送端是未知的。一种最保守的传输策略是针对质量最差的信道环境设计码率固定的编码结构,但会导致很低的传输效率;另一种传输策略是发送端不断传送编码比特,直到接收端可以正确译码。这种方案需要接收端给出反馈应答(acknowledgement/negativeacknowledgement,ack/nack)表明本次译码是否成功,在大多数通信场景中都可以得到满足。在信道编码中,这种传输策略又被称为混合自动重传请求策略(hybridautomaticrepeatrequest,harq),应用在许多无线通信系统中。与极化码结合的增量冻结重传策略能够达到复合信道的信道容量,但是它采用了串行的联合译码结构,因此存在译码错误传播问题,造成纠错性能的退化。



技术实现要素:

本发明的目的就是针对现有技术的不足,提供一种复合信道下极化码的混合自动重传请求方法。本发明针对二元高斯白噪声(binaryinputadditivewhitegaussiannoise,bi-awgn)复合信道,提出了基于累积路径度量的极化码增量冻结混合自动重传请求方法,解决了增量冻结重传装置中存在的译码错误传播问题,提升了纠错性能。

本发明方法分组的传输在复合信道wcompound下进行,且wcompound为平慢衰落信道,即一个码字块(block)中每个符号(symbol)经历的信道状态相同;复合信道wcompound中存在s个二元高斯白噪声子信道,并且各个子信道间存在退化关系,即ws<ws-1<…<w1,其中<表示信道退化关系,w1为信道质量最好的子信道;wcompound最大传输码率为r,为峰值码率,即w1的信道容量;每时刻信道状态为s个子信道中的一种;对s个子信道分别构造信道容量可达的极化码,码长为n;一个信道的退化信道的极化码信息比特信道集合是该信道信息比特信道集合的子集,即其中a(wi)表示信道wi上的信息比特信道集合;该性质称为极化码的嵌入式结构。

利用极化码的嵌入式结构和基于列表的串行抵消译码算法的思路,本发明提出了基于累积路径度量的极化码增量冻结混合自动重传请求方法。本发明方法包括发送端重传方法和接收端译码方法。

(1)发送端重传方法具体如下:

步骤(1-1).令sendk表示一轮信息传输中第k次传输的分组,首先进行信道参数和传输参数的初始化:发送端已知复合信道wcompound中信道质量最好的二元高斯白噪声子信道w1的信道状态及峰值码率r,接收端已知当前时刻的实际信道状态wreal;设置传输分组的最大重传次数为max_retrans_times。

步骤(1-2).发送端准备发送k位信息比特数据:将分组初次传输的码率设置为峰值码率r,发送端根据w1的信道状态,采用蒙特卡洛方法或密度进化算法构建w1上信道容量可达的极化码,其码长为n,得到信息比特信道集合a(w1);计算r位传输比特的循环冗余校验(cyclicredundancycheck,crc)位,构成k+r位信息比特,置于信息比特信道集合a(w1)上,剩余极化信道位置上放置发送端和接收端都已知的冻结比特,得到码字send1,发送send1到接收端。

步骤(1-3).若发送端收到接收端反馈的肯定应答(acknowledgement,ack),说明接收端译码成功,结束本轮的信息传输,发送端准备传输下一轮数据;

若发送端收到接收端反馈的否定应答(negativeacknowledgement,nack),说明接收端译码失败,按如下方式处理:

如果重传次数大于上限max_retrans_times,接收端译码彻底失败,结束本轮的信息传输,准备传输下一轮数据;

如果重传次数小于等于上限max_retrans_times,发送端降低发送码率,重传数据中传输可靠度低的一部分信息比特,若发送端收到第n次否定应答,说明该轮信息传输中前n个传输分组均译码失败,发送端选择重传的信息比特,降低码率进行第n+1次传输:令w1/(n+1)表示信道容量为r/(n+1)的二元高斯白噪声信道,发送端根据w1/(n+1)的信道状态,采用蒙特卡洛方法或密度进化算法构建w1/(n+1)上信道容量可达的极化码,码长为n,码率为r/(n+1),计算得到信息比特信道集合a(w1/(n+1));发送端选出之前n个传输分组send1,send2,···,sendn中极化信道a(w1/n)-a(w1/(n+1))位置上的信息比特,即send1到sendn中传输可靠度低的|a(w1/(n+1))|个信息比特,置于a(w1/(n+1))极化信道上,剩余位置放置发送端和接收端都已知的冻结比特,得到码字sendn+1,发送该重传分组。

(2)接收端译码方法具体如下:

令receivem表示第m个接收的分组,接收端收到receivem时,首先根据当前时刻的实际信道状态wreal判断是否进行译码:

若wreal关于w1m退化,即wreal<w1/m,receivem分组的传输码率r/m>c(wreal),c(wreal)表示wreal的信道容量,根据香农定理接收端无法译码receivem分组,向发送端反馈否定应答,要求发送端重传一部分信息比特;

若wreal关于w1/m进化,即接收端根据接收分组receive1,receive2,···,receivem的信息译码得到发送端传输的数据,采用串行联合译码结构进行译码:观察其中一个sendi分组码字构造,包含了send1,send2,···,sendi-1分组中极化信道a(w1/(i-1))-a(w1/i)位置上的信息比特,sendi为一轮信息传输中第i次传输的分组,接收端对receivei分组的译码结果作为冻结比特边信息参与到receivei-1,···,receive1分组的译码过程中,从而达成低码率极化码的译码。装置中所有的译码器根据累积译码路径度量的大小保留m条可能译码路径,参与之后的译码过程;所述的累积译码路径度量是在串行联合译码过程中,累加各轮译码得到的路径度量,以此表示译码路径的可靠程度,具体过程如下:

如当前接收端完成了对receivem,receivem-1,···,receivej+1,receivej接收分组的列表串行抵消译码,receivej分组译码结果中包含m条可能路径;遍历所有可能路径,将其作为冻结比特边信息送入receivej-1分组,对receivej-1分组进行码率为r/m的列表串行抵消译码,并进行译码路径更新和累积路径度量更新,receivej为最后一个译码完毕的分组,receivej-1为下一个需要译码的分组;所述的译码路径更新是在前一轮的译码路径上附加本轮译码结果;所述的累积路径度量更新是在前一轮的累积路径度量上累加本轮译码路径度量;receivej-1分组译码完毕后,译码缓冲区中包含m2条译码路径,从中选择累积译码路径度量小的m条路径作为receivej-1分组的译码结果;在receive1分组译码完毕后,接收端如果通过循环冗余校验,从m条译码路径中选择正确的译码结果,向发送端反馈肯定应答,表明该轮信息传输译码成功;接收端如果不能通过循环冗余校验,向发送端反馈否定应答,要求发送端重传一部分信息比特。

通信系统中的串行联合译码结构存在译码错误传播问题,接收端对receivei分组的译码结果作为冻结比特边信息参与到receivei-1,···,receive1分组的译码过程中,若receivei重传分组的译码结果出错,receivei-1,···,receive1分组的译码结果均出错,造成纠错性能的退化。若接收端需要根据接收分组receive1,...,receivem的信息译码得到发送端传输的数据,极化码误块率为eblock,则串行联合译码结构的误块率退化为eserial=1-(1-eblock)m。本发明方法借鉴了列表串行抵消译码算法的思想,装置中所有的译码器将根据累积译码路径度量的大小保留若干条可能译码路径,参与之后的译码过程,在保证能够达到复合信道容量的前提下,解决译码错误传播问题,提升了纠错性能。

附图说明

图1为基于累积路径度量的增量冻结重传策略示意图。

具体实施方式

以下将根据附图阐述具体实施方式。

附图1为基于累积路径度量的增量冻结重传策略示意图,复合信道wcompound中存在4个二元高斯白噪声子信道,它们的信道容量分别为3/4,3/8,1/4,3/16,极化码码长为n=16。译码重传分组时接收端采用列表串行抵消译码算法,列表大小l=2,译码器保留m=2条可能译码路径。

基于累积路径度量的增量冻结重传策略步骤是:

步骤11.信道参数和传输参数的初始化。发送端已知复合信道中二元高斯白噪声子信道w1的信道状态及峰值码率r=3/4,接收端已知当前时刻的实际信道状态wreal。设置传输分组的最大重传次数为max_retrans_times=3。

步骤12.发送端准备发送k位信息比特数据:将分组初次传输的码率设置为峰值码率r=3/4,发送端根据w1的信道状态,采用蒙特卡洛方法或密度进化算法构建w1上信道容量可达的极化码,其码长为n=16,得到信息比特信道集合a(w1);计算r位传输比特的循环冗余校验位,构成k+r=12位信息比特,即u1~u12,置于信息比特信道集合a(w1)上,剩余极化信道位置上放置发送端和接收端都已知的冻结比特,得到码字send1,发送send1到接收端。

接收端收到receive1时,首先根据当前时刻的实际信道状态wreal判断是否进行译码:

若wreal关于w1退化,即wreal<w1,receive1分组的传输码率r>c(wreal),根据香农定理接收端无法译码receive1分组,向发送端反馈否定应答,要求发送端重传一部分信息比特,进入步骤13;

若wreal关于w1进化,即接收端可采用列表串行抵消译码算法对receive1分组译码,得到send1分组上的信息比特u1~u12。接收端根据循环冗余校验位判断译码是否成功:若译码失败,接收端向发送端反馈否定应答要求重传,进入步骤13;若译码成功,接收端向发送端反馈肯定应答,进入步骤17。

步骤13.发送端检查重传次数是否大于max_retrans_times,当前重传次数未超过上限,发送端选择可靠度低的信息比特进行重传。令w1/2表示信道容量为r/2=3/8的二元高斯白噪声信道,发送端根据w1/2的信道状态,采用蒙特卡洛方法或密度进化算法构建w1/2上信道容量可达的极化码,其码长为n=16,码率为r/2=3/8,得到信息比特信道集合a(w1/2);发送端选出send1分组中极化信道a(w1)-a(w1/2)位置上的信息比特,即u7~u12,置于a(w1/2)极化信道上,剩余位置放置发送端和接收端都已知的冻结比特,得到码字send2,并发送send2分组到接收端。

接收端收到receive2时,首先根据当前时刻的实际信道状态wreal判断是否进行译码:

若wreal关于w1/2退化,即wreal<w1/2,receive2分组的传输码率r/2>c(wreal),根据香农定理接收端无法译码receive2分组,向发送端反馈否定应答,要求发送端重传一部分信息比特,进入步骤14;

若wreal关于w1/2进化,即接收端执行串行联合译码:接收端首先采用列表串行抵消译码算法对receive2分组译码,得到decodeout2译码结果集合,译码结果即send1分组中极化信道a(w1)-a(w1/2)位置上的信息比特u7~u12;decodeout2译码结果集合包含m=2条可能译码路径,译码完毕后初始化译码路径和累积路径度量。然后遍历decodeout2译码集合中的m=2个译码结果,将u7~u12作为冻结比特边信息送入receive1接收分组,对receive1分组进行列表串行抵消译码,可得到send1分组中a(w1/2)位置上的信息比特,即u1~u6,并更新译码路径和累积路径度量。此时译码缓冲区中包含m2=4条可能译码路径,接收端从中选择累积译码路径度量小的m=2条路径作为receive1分组的译码结果集合decodeout1。最后接收端根据循环冗余校验位在decodeout1译码结果集合中判断译码是否成功:若译码失败,接收端向发送端反馈否定应答,进入步骤14;若译码成功,接收端向发送端反馈肯定应答,进入步骤17。

步骤14.发送端检查重传次数是否大于max_retrans_times,当前重传次数未超过上限,发送端选择可靠度低的信息比特进行重传。令w1/3表示信道容量为r/3=1/4的二元高斯白噪声信道,发送端根据w1/3的信道状态,采用蒙特卡洛方法或密度进化算法构建w1/3上信道容量可达的极化码,其码长为n=16,码率为r/3=1/4,得到信息比特信道集合a(w1/3);发送端选出send1,send2分组中极化信道a(w1/2)-a(w1/3)位置上的信息比特,即u5,u6,u11,u12,置于a(w1/3)极化信道上,剩余位置放置发送端和接收端都已知的冻结比特,得到码字send3,并发送send3分组到接收端。

接收端收到receive3时,首先根据当前时刻的实际信道状态wreal判断是否进行译码:

若wreal关于w1/3退化,即wreal<w1/3,receive3分组的传输码率r/3>c(wreal),根据香农定理接收端无法译码receive3分组,向发送端反馈否定应答,要求发送端重传一部分信息比特,进入步骤15;

若wreal关于w1/3进化,即接收端执行串行联合译码:接收端首先采用列表串行抵消译码算法对receive3分组译码,得到decodeout3译码结果集合,译码结果即send1,send2分组中极化信道a(w1/2)-a(w1/3)位置上的信息比特u5,u6,u11,u12;decodeout3译码结果集合包含m=2条可能译码路径,译码完毕后初始化译码路径和累积路径度量。然后遍历decodeout3译码集合中的m=2个译码结果,将u5,u6作为冻结比特边信息送入receive1接收分组,u11,u12作为冻结比特边信息送入receive2接收分组,此时可对receive2分组进行列表串行抵消译码,得到send2分组中a(w1/3)位置上的信息比特,即u7~u10,并更新译码路径和累积路径度量。此时译码缓冲区中包含m2=4条可能译码路径,接收端从中选择累积译码路径度量小的m=2条路径作为receive2分组的译码结果集合decodeout2。然后遍历decodeout2译码集合中的m=2个译码结果,将u7~u12作为冻结比特边信息送入receive1接收分组,此时可对receive1分组进行列表串行抵消译码,得到send1分组中a(w1/3)位置上的信息比特,即u1~u4,并更新译码路径和累积路径度量。此时译码缓冲区中包含m2=4条可能译码路径,接收端从中选择累积译码路径度量小的m=2条路径作为receive1分组的译码结果集合decodeout1。最后接收端根据循环冗余校验位在decodeout1译码结果集合中判断译码是否成功:若译码失败,接收端向发送端反馈否定应答,进入步骤15;若译码成功,接收端向发送端反馈肯定应答,进入步骤17。

步骤15.发送端检查重传次数是否大于max_retrans_times,当前重传次数未超过上限,发送端选择可靠度低的信息比特进行重传。令w1/4表示信道容量为r/4=3/16的二元高斯白噪声信道,发送端根据w1/4的信道状态,采用蒙特卡洛方法或密度进化算法构建w1/4上信道容量可达的极化码,其码长为n=16,码率为r/4=3/16,得到信息比特信道集合a(w1/4);发送端选出send1,send2,send3分组中极化信道a(w1/3)-a(w1/4)位置上的信息比特,即u4,u10,u12,置于a(w1/4)极化信道上,剩余位置放置发送端和接收端都已知的冻结比特,得到码字send4,并发送send4分组到接收端。

接收端收到receive4时,首先根据当前时刻的实际信道状态wreal判断是否进行译码:

若wreal关于w1/4退化,即wreal<w1/4,receive4分组的传输码率r/4>c(wreal),根据香农定理接收端无法译码receive4分组,向发送端反馈否定应答,要求发送端重传一部分信息比特,进入步骤16;

若wreal关于w1/4进化,即接收端执行串行联合译码:接收端首先采用列表串行抵消译码算法对receive4分组译码,得到decodeout4译码结果集合,译码结果即send1,send2,send3分组中极化信道a(w1/3)-a(w1/4)位置上的信息比特u4,u10,u12;decodeout4译码结果集合包含m=2条可能译码路径,译码完毕后初始化译码路径和累积路径度量。然后遍历decodeout4译码集合中的m=2个译码结果,将u4作为冻结比特边信息送入receive1接收分组,u10作为冻结比特边信息送入receive2接收分组,u12作为冻结比特边信息送入receive3接收分组,此时可对receive3分组进行列表串行抵消译码,得到send3分组中a(w1/4)位置上的信息比特,即u5,u6,u11,并更新译码路径和累积路径度量。此时译码缓冲区中包含m2=4条可能译码路径,接收端从中选择累积译码路径度量小的m=2条路径作为receive3分组的译码结果集合decodeout3。然后遍历decodeout3译码集合中的m=2个译码结果,将u5,u6作为冻结比特边信息送入receive1接收分组,u11,u12作为冻结比特边信息送入receive2接收分组,此时可对receive2分组进行列表串行抵消译码,得到send2分组中a(w1/4)位置上的信息比特,即u7~u9,并更新译码路径和累积路径度量。此时译码缓冲区中包含m2=4条可能译码路径,接收端从中选择累积译码路径度量小的m=2条路径作为receive2分组的译码结果集合decodeout2。然后遍历decodeout2译码集合中的m=2个译码结果,将u7~u12作为冻结比特边信息送入receive1接收分组,此时可对receive1分组进行列表串行抵消译码,得到send1分组中a(w1/4)位置上的信息比特,即u1~u3,并更新译码路径和累积路径度量。此时译码缓冲区中包含m2=4条可能译码路径,接收端从中选择累积译码路径度量小的m=2条路径作为receive1分组的译码结果集合decodeout1。最后接收端根据循环冗余校验位在decodeout1译码结果集合中判断译码是否成功:若译码失败,接收端向发送端反馈否定应答,进入步骤16;若译码成功,接收端向发送端反馈肯定应答,进入步骤17。

步骤16.重传次数超过上限max_retrans_times,进入步骤17。

步骤17.结束该轮信息传输,清空发送端的发送分组缓冲区和接收端的译码缓冲区,开始下一轮传输,进入步骤12。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1