HARQ介绍

HARQ介绍1 本文是根据温金辉 深入理解 LTE A 整理而来 2 欢迎指正 1 HARQ HybridAutoma 混合式自动重传请求 是一种结合 FEC ForwadErrorC 与 ARQ 方法的技术 LTE 中提供两级重传处理机制 MAC 层的 HARQ 机制和 RLC 层的 ARQ 只针对 AM 模式数据传输 机制 丢失或者出错的数据主要是由 HAR

1.本文是根据温金辉《深入理解LTE-A》整理而来。 2.欢迎指正。

1.HARQ:Hybrid Automatic Repeat reQuest,混合式自动重传请求,是一种结合FEC(Forwad Error Correction)与ARQ方法的技术。

  • LTE中提供两级重传处理机制:MAC层的HARQ机制和RLC层的ARQ(只针对AM模式数据传输)机制。
  • 丢失或者出错的数据主要是由HARQ机制处理,ARQ机制进行补充。
  • FEC通过添加冗余信息,使得接收端能够纠正一部分错误,从而减少重传次数。
  • 对于FEC无法纠正的错误,接收端会根据ARQ机制请求发送端重发数据。接收端使用检错码(CRC校验码),检测接收到的数据是否出错。无错,发送ACK,发送端接着发送新的数据;有错,发送NACK,发送端重发相同的数据。

2.HARQ 进程

  • HARQ使用stop-and-wait protocal(停等协议)来发送数据。在停等协议中,发送端每发送一个TB后,就会停下来等待确认信息(ACK/NACK)。每次传输后发送端就停下来等待确认,会导致吞储量很低。因此LTE中使用多个stop-and-wait process:当一个HARQ process在等待确认信息时,发送端会使用另一个HARQ process继续发送数据。
HARQ介绍
图1  并行的HARQ process

图1所示:

  • 每个TTI,每个HARQ process只处理一个TB。 TB和HARQ process一一对应。
  • 每个HARQ process在接收端有独立的HARQ buffer,对接收到的数据进行软合并。
  • 空分服复用中,一个TTI会并行传输两2个TB,每个TB有各自独立的HARQ确认信息,并使用不同的HARQ process来处理。此时,一个HARQ实体包括2个HARQ process集合。
  • 使用多个HARQ process,会导致接收端的MAC层送往RLC层数据是乱序的。图1中,传输块5在传输块1前解码成功,导致传输块5先发送到RLC层,RLC层需要对接收到的数据进行重排序。

3.HARQ 相关概念

  • HARQ process number:唯一指定HARQ process。
  • NDI:New Data Indicator,用于指示当前数据是新传还是重传。
  • RV:Redundancy Version,指示当前传输使用的冗余版本,取值范围在0~3。
  • MCS:调制编码方式。
  • TBS:Transport Block Size,重传的TBS保持不变,否则无法进行软合并。
  • PRB数和PRB所在的频域位置:重传的TBS不变,但下行重传以及上行自适应重传的PRB数、PRB所在的频域位置和MCS可以改变,为调度提供灵活性。
HARQ介绍
表1  HARQ信息

4.HARQ同步异步、自适应非自适应

  •  针对同一TB的初传和重传而言。
  • HARQ协议在时域上分为同步和异步,异步意味着重传可以发生在任意时刻,能以任意顺序使用HARQ process,同步意味着只能在规定时刻重传,在某个特定的子帧,只能使用特定的HARQ process。同步HARQ好处是在于HARQ process number可以直接从系统帧号/子帧号推导出来,无需显示发送HARQ process number;异步HARQ好处在于重传调度更加灵活。
  • 自适应HARQ(adaptiveHARQ)意味着可以改变重传所使用的PRB资源以及MCS。非自适应HARQ(non-adaptiveHARQ)意味着重传必须与前一次传输(新传或前一次重传)使用相同的PRB资源和MCS 。
HARQ介绍
表2  重传分类

5.BLER 

无线网络中,按块(block,就是TB)为传送数据单位的。发送端使用块中的数据计算出一个CRC,并随着该块一起发到接收端。接收端根据收到的数据计算出一个CRC与接收到的CRC比较,如果二者相等,接收端就认为收到了正确的数据,发送一个ACK;如果二者不相等,接收端就认为收到了错误数据,发送NACK,要求重传该块。如果在规定时间内,发送端没有接收到接收端的回复,认为发送失败,会自动重传该块。

  • BLER,block error rate,误块率,出错的块在所有发送的块中所占的百分比(只计算初传的block)。如LTE中数据信道的BLER要求为10%以下,控制信道的BLER则在1%以下。当BLER不超过10%时,UE将向eNodeB上报它所能解码的最高MCS(通过CQI)。
  • 计算举例:假设发送500个block数据,其中499个block回复ACK,1个block回复NACK,则BLER=1/500=0.2%。 

6.下行HARQ

6.1 简介

  • 下行HARQ使用异步、自适应方式,意味着重传发生在任意时刻和频域位置。
  • 下行重传总是通过PDCCH来重新调度。
  • 下行PDSCH传输对应的ACK/NACK在PUCCH或者PUSCH上发送。
  • 通常eNodeB和UE侧的解码处理时间至少为3ms。
  • 下行HARQ最大重传次数是由eNodeB确定的,不同的厂家可能有不同的实现,UE并不知道下行最大重传次数(可以知道上行的),只能根据收到的NDI决定是进行软合并(重传)还是清空HARQ buffer(新传)。
HARQ介绍
图3  下行数据传输

 6.2 timing

  • 下行传输中,除配置的周期性SPS子帧上的PDSCH传输外,PDSCH总是伴随PDCCH在同一个子帧上传输。下行HARQ的初传和重传、重传和重传之间没有固定的timing关系,但是PDSCH传输与 对应的ACK/NACK之间有固定的timing关系。
  • 对于FDD,如果UE在下行子帧n-4上检测到PDSCH传输,或检测到一个指示下行SPS释放的PDCCH,则UE会在上行子帧n上回复ACK/NACK。
  • 对于TDD,多个下行子帧发送的PDSCH可能需要在同一个上行子帧回复ACK/NACK。如表3。
HARQ介绍
表3 下行子帧HARQ反馈窗口

6.3 HARQ bundling

将同一小区的多个下行子帧对应同一codeword的ACK/NACK做逻辑与操作,最终得到1比特或=2比特的ACK/NACK信息。举例如图13-6。

HARQ介绍

 

  • HARQ bundling只适用于单个Cell的场景,载波聚合下没有HARQ bundling。

问题:假如eNodeB在第三个子帧上发送了PDCCH和PDSCH,但是UE没有检测到,此时UE应该反馈00。但由于UE不知道eNodeB是否在第三个子帧上发送了数据,根据HARQ bundling原理,反馈回01。

为了解决上述的问题,PDCCH中引入了DAI(DownLink Assignment Index),用于告诉UE在HARQ反馈窗口内有多少个子帧包含下行传输。

注:FDD中,一个上行子帧内只需要对一个下行子帧的PDSCH回应,因此没有DAI概念!!

6.4 HARQ multiolexing

将同一小区的同一下行子帧发送的2个codeword对应的ACK/NACK做逻辑与操作,得到1比特ACK/NACK信息。如图13-10。

HARQ介绍

7.HARQ分类 

3类型编辑根据重传内容的不同,在3GPP标准和建议中主要有3种混合自动重传请求机制,包括HARQ-I、HARQ-II和HARQ-III等。

7.1 HARQ-I型

HARQ-I即为传统HARQ方案,它仅在ARQ的基础上引入了纠错编码,即对发送数据包增加循环冗余校验(CRC)比特并进行FEC编码。收端对接收的数据进行FEC译码和CRC校验,如果有错则放弃错误分组的数据,并向发送端反馈NACK信息请求重传与上一帧相同的数据包。一般来说,物理层设有最大重发次数的限制,防止由于信道长期处于恶劣的慢衰落而导致某个用户的数据包不断地重发,从而浪费信道资源。如果达到最大的重传次数时,接收端仍不能正确译码 (在3G LTE系统中设置的最大重传次数为3),则确定该数据包传输错误并丢弃该包,然后通知发送端发送新的数据包。这种HARQ方案对错误数据包采取了简单的丢弃,而没有充分利用错误数据包中存在的有用信息。所以,HARQ-I型的性能主要依赖于FEC的纠错能力。

 

 

参考文献:

  1. 重传,ARQ和HARQ》–简书,ARQ和HARQ概念讲解容易理解和记忆   https://www.jianshu.com/p/fb
  2. 《HARQ 和 ARQ》   http://blog.sina.com.cn/s/blog_746b60460102uwzo.html
  3.  

 

 

 

 

 

 

 

 

 

 

 

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

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

(0)
上一篇 2026年3月19日 下午10:32
下一篇 2026年3月19日 下午10:32


相关推荐

  • 快速幂算法(全网最详细地带你从零开始一步一步优化)

    快速幂算法(全网最详细地带你从零开始一步一步优化)快速幂算法 带你从零开始一步一步优化目录快速幂算法 带你从零开始一步一步优化什么是快速幂算法再次思考快速幂算法初步入门压榨性能再优化终极优化参考资料博客文章版权声明什么是快速幂算法首先 我们先来看一道 ACM 程序设计题 这道题是杭电 OJ 中序号为 2035 的题目 没做过这道题目的同学可以

    2026年3月20日
    2
  • sdk (软件开发工具包)

    sdk (软件开发工具包)软件开发工具包 外语首字母缩写 SDK 外语全称 Software nbsp Development nbsp Kit 一般都是一些软件工程师为特定的软件包 软件框架 硬件平台 操作系统等建立应用软件时的开发工具的集合 nbsp 1 nbsp 软件开发工具包括广义上指辅助开发某一类软件的相关文档 范例和工具的集合 软件开发工具包是一些被软件工程师用于为特定的软件包 软件框架 硬件平台 操作系统等创建应用软件的开发工具的集合

    2026年3月19日
    2
  • SQL Server 2016 KB2919355 安装失败

    SQL Server 2016 KB2919355 安装失败WindowsServe 安装 SQLServer201 检查未通过 需要安装 nbsp KB nbsp 错误如下图 按提示 下载安装 nbsp WindowsServe 更新 KB nbsp 下载文件为 Windows8 1 KB x64 msu 690MB 但是安装时又提示错误

    2026年2月20日
    2
  • Animation用法_animation动画效果

    动画类型Android的animation由四种类型组成XML中 alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果JavaCode中AlphaAnimation渐变透明度动画效

    2022年3月9日
    53
  • 试用字节版Manus扣子空间

    试用字节版Manus扣子空间

    2026年3月15日
    2
  • linux下载文件命令sz_linux下载整个文件夹命令

    linux下载文件命令sz_linux下载整个文件夹命令wget是linux下一个从网络上自动下载文件的常用自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。一般的使用方法是:wget+空格+参数+要下载文件的url路径,例如:1wget http://www.linuxsense.org/xxxx/xxx.tar.gz-c参数,这个也非常

    2022年8月24日
    9

发表回复

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

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