HARQ发展_harq技术

HARQ发展_harq技术自动重发请求含义,以及混合自动重发请求(包括Type-I,和CC-HARQ,IR-HARQ)的编译码方式。包括在传统HARQ的基础上衍生出来的时分复用,码分复用,功率域复用的HARQ

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

HARQ(Hybrid Automatic repeat request)混合自动重发请求

先介绍几个要素:

  1. Forward error correction (FEC)前向纠错:通过增加冗余信息进行错误检测;
  2. Automatic repeat request (ARQ)自动重发请求:
    (1)与TCP行为的数据包兼容;
    (2) 利用循环冗余校验(cyclic redundancy check,CRC)进行错误检测
    (3)接收端通过检测,如果解码成功,则返回ACK(positive acknowledgement),如果解码失败,则返回NACK(negative acknowledgement)
  3. HARQ
    (1) FEC + ARQ
    (2) FEC: 纠正一部分错误
    (3) ARQ: 仍然进行错误检测

ARQ的编码特点:
ARQ
这里TX是发射端,RX是接收端,可以看得出来,从TX发送包S1,但RX解码失败,然后把接收到的包丢弃,反馈NACK给TX,接着TX继续发送包S1,第二次RX解码成功,然后反馈ACK给TX,TX接收到反馈后开始发送新的包S2.

HARQ的编码特点

  1. Type-I HARQ: 也即传统的HARQ,相对于ARQ而言,加入了前向纠错。由于ARQ只是单纯的检查错误,如果有错误,则直接丢弃,而Type-I HARQ 不仅检查错误,当检查出错误之后,没有直接丢弃,二十尝试纠正错误,如果无法纠正错误,则丢弃该包,反馈NACK给发送端,发送端收到NACK,则重新发送与之前一样的包;
  2. Type-II HARQ: 在接收端考虑内存,根据编译码不同还分为IR-HARQ和CC-HARQ
    编码特点:
    HARQ
    在这里,在RX中考虑内存,即绿色框框代表的部分,除此之外,在TX端发送的数据包也被分为了几部分,如S1(1),S1(2),这个的不同具体和是IR还是CC有关。

IR-CC
追加合并HARQ(chase combining, CC): 发射端发送数据包S1,接收端接收到数据包,先对其检错(CRC),如果有错,然后尝试纠错(FEC),若还是不能成功解码,则将该包缓存,反馈NACK给发射端,发射端接收到NACK,然后再重传相同的包,接收端收到新的包,然后与之前的包叠加合并进行解码,直到解码成功或者达到最大重传次数。
增量冗余HARQ(Incremental redundancy, IR): 首先将信息经过编码后按照一定的周期打孔(在该图,就可以看到S1编码后,打孔为S1(1)和S1(2)),根据码率兼容原则发送给接收端,发送端进行译码,译码错误,反馈NACK给发射端,发射端重传S1(2),这不是简单的对前面包的复制,而是还加入了冗余信息,每一次重传的冗余信息量都是不同的,接收端然后进行组合译码,将之前接收的所有比特组合形成更低码率的码字,从而获得更大的编码增益,达到递增冗余的目的。

总结:
在这里插入图片描述

关于HARQ设计的自由度

  1. 功率自适应(power adaptation)
    在这里插入图片描述
    发送端在每一轮中都改变子码字的功率,每次发射功率都是根据反馈信息而进行改变,但是每一次发送,子码字的长度都是相同的。
  2. 长度自适应(length adaptation)
    在这里插入图片描述
    发送端在每次传输都改变带宽,传输功率是常数,带宽每次根据额外的反馈进行改变。
  3. 速率适应(rate adaptation)
    (1)时域复用
    在这里插入图片描述
    (2)码域复用

Cross-packet coding HARQ(叉包HARQ)[1]

在这里插入图片描述
叉包HARQ,在第一次解码失败后,发送端发送的数据包是旧的数据包和新的数据包叠加形成的数据包,并且以速率R2发送这个叠加后的数据包,接收端收到数据包,联合之前接收的数据包一起解码。
在这里插入图片描述

Layer-coded HARQ(L-HARQ)[2]

XP-HARQ的实际实施

在这里插入图片描述
在这里插入图片描述
参考文献:
[1] M. Jabi, E. Pierre-Doray, L. Szczecinski, and M. Benjillali, ”How to Boost the Throughput of HARQ with Off-the- Shelf Codes,” IEEE Trans. Commun., vol. 65, no. 6, pp. 2319-2331, June 2017.
[2] R. Sassioui, M. Jabi, L. Szczecinski, L. B. Le, M. Benjillali, and B. Pelletier, ”HARQ and AMC: Friends or Foes ?,” IEEE Trans. Commun., vol. 65, no. 2, pp. 635-650, Feb. 2017
[3] Jabi, M., Benyouss, A., Le Treust, M., Pierre-Doray, E., & Szczecinski, L. (2017). Adaptive cross-packet HARQ. IEEE Transactions on Communications, 65(5), 2022-2035.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219282.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java学习书籍推荐[通俗易懂]

    Java学习书籍推荐[通俗易懂]一、入门  《Java2从入门到精通》-推荐  《ThinkinginJava》-强烈推荐*  O’reilly的Java编程基础系列-参考*  二、进阶  《JavaCookBook》-非常推荐*(包含了Java编程的Tips,适合当做手册来查阅)  《O’reilly-JavaIO》-推荐*(包含JavaIO编程的各个方面)

    2022年6月19日
    30
  • iidea2022.01激活【2022.01最新】2022.01.24

    (iidea2022.01激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1TCF2R91JZ-eyJsaWNlbnNlSWQi…

    2022年3月31日
    58
  • intellij和pycharm_idea激活成功教程步骤

    intellij和pycharm_idea激活成功教程步骤写在最前:    可以的话,请购买产品,支持创作成果。因为IntelliJIDEA和Pycharm这一系列产品对于学生和老师都是forfree,所以,有教育邮箱的可以用邮箱认证,一年验证一次。下面是讲解激活成功教程方法了(针对2018版本系列产品):到官网下载你想要的IDE,这里用PyCharm为例,将鼠标移到PyCharm位置,会有Download按钮显示出来,点击,…

    2022年8月28日
    5
  • android之activity横竖屏切换时的生命周期以及横竖屏切换时的资源适配方案

    背景:之前有过两篇写activity的博客android之activity的生命周期详解:详细介绍了activity的整个生命周期、各状态间的转换和返回桌面时保存activity的状态android之activity中onSaveInstanceState和onRestoreInstanceState的触发时机:介绍了activity中这两个方法的触发时机和作用本篇博客会牵扯到里面的内容,如果你都

    2022年3月11日
    43
  • Intent.FLAG_ACTIVITY_NEW_TASK|FLAG_ACTIVITY_CLE…「建议收藏」

    Intent.FLAG_ACTIVITY_NEW_TASK|FLAG_ACTIVITY_CLE…「建议收藏」Intent.FLAG_ACTIVITY_NEW_TASK如果将intent设置这一项就会从历史队列中独立出来,生成一个新的activity的队列。FLAG_ACTIVITY_CLEAR_TOP就会将新站第一个activity在原来队列中位于他上面的activity都清空。例如有四个activityABCD,他们中都有一个按钮,按a的按钮会跳到b,b->c,c->d,d->b,如果acti

    2022年10月5日
    3
  • zookeeper入门教程_kubernetes github

    zookeeper入门教程_kubernetes githubzookeeperwatcher架构zookeeper 配置中心分布式ID分布式锁集群搭建数据一致性协议:zab协议Zookeeper Leader选举Observer角色及其配置watcher架构客户端首先将Watcher注册到服务器,同时将Watch对象保存到客户端的Watch管理器中。当Zookeeper服务器监听到的数据发生变化时,服务器会通知客户端,接着客户端的Watch管理器会触发相关的Watcher来回调响应处理逻辑,从而完成整体的数据发布/订阅流程。javaAPIJava

    2022年8月8日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号