ShareTechnote系列LTE(15):HARQ
HARQ
HARQ(hybrid ARQ)是一个非常复杂的过程,这里仅简要描述。
先考虑一下术语。什么是H-ARQ?为什么用“Hybrid ”这个词?
ARQ代表自动重复请求,Hybrid 表示混合了FEC(前向纠错)。FEC也不是LTE特有的技术,是一种通用的纠错机制。
15.1 HARQ架构
下面是LTE HARQ实体的总体架构,详细描述见36.321 5.4.2.1和5.4.2.2。
15.2 HARQ进程
根据是用于FDD还是TDD以及是用于上行链路还是下行链路,HARQ处理模式稍微不同,这里只谈FDD。
在FDD中,我们使用8个HARQ进程。
i)下行链路:异步过程
a)可以任意顺序使用8个HARQ进程(异步进程)。
b)在获取数据之前,UE不知道任何有关下行数据的HARQ进程信息。所以网络在PDCCH(DCI)中发送这些信息(进程ID,RV)。
ii)上行链路:同步过程
a)必须在特定的子帧中使用特定的进程(同步进程)。UE必须每8个子帧使用相同的HARQ进程号。
b)由于UE必须在特定的子帧上使用特定的HARQ进程ID,因此eNode B确切地知道何时会出现哪个HARQ进程。eNode B还可以知晓RV,因为eNode B的上行 Grant(DCI 0)可以使用MCS字段指定RV。
c)它有两种操作模式:自适应和非自适应HARQ
<自适应上行HARQ进程>
下面是一个典型的上行HARQ进程的例子(关键思想是每次上行重传使用不同的RV,RV由DCI 0确定)。
<非自适应上行HARQ进程>
以下是非自适应上行HARQ进程的一个例子(关键思想是每次上行重传使用不同的RV,并且RV由TS36.321“5.4.2.2 HARQ进程”中指定的预定义序列确定)。
UE如何知道它是否应该进行自适应重传和非自适应重传? 如果检测到DCI 0且未切换NDI,则执行自适应重传(在这种情况下,UE不关心HARQ反馈(PHICH),它根据DCI 0信息重新传输)。如果得到HARQ反馈(PHICH=NACK),但没有得到DCI 0,则执行非自适应重传。在这种情况下,UE在没有来自DCI 0的信息的情况下重新传输预先定义的RV和MCS中的PUSCH。
上行链路的详细HARQ过程在36.321-5.4.2.2中进行了描述,下面是对图中规范的解释:
15.3 HARQ进程ID同步
当通过HARQ进程传输数据时,接收器和发送器应该知道每个HARQ进程的进程ID的信息,这样接收器就可以成功地保存每个进程数据,而不会混淆。
如果是异步HARQ(如LTE中的PDSCH传输),发送方应明确告知接收方HARQ进程ID。对于LTE,DCI1和DCI2携带这些信息。
如果是同步harq呢?在这种情况下,不必通知进程ID,可以从传输时间推断出进程ID(在LTE上行HARQ情况下,此计时用SFN和子帧号表示),计算公式如下:
接收端(LTE中的eNode B)是否需要知道确切的HARQ进程ID?不是的。只要eNode B准备至少8个HARQ缓冲区,并为每个子帧分别存储至少8个子帧跨度的PUSCH,就可以正确解码每个HARQ数据。一个可能的步骤如下:
i)eNode B准备8个单独的HARQ缓冲区,并将其命名为buf0、buf1、、buf7。
ii)当eNode B接收到第一个PUSCH时,将其放入eNode B中的第一个上行HARQ缓冲区(buf0)中。
iii)当eNode B接收到第二个PUSCH时,将其放入eNode B中的第二个上行HARQ缓冲区(buf1)中……重复此过程
iv)当eNode B接收到第8个PUSCH时,将其放入eNode B中的第8个上行HARQ缓冲区(buf7)中。
v)当eNode B接收到第9个PUSCH时,将其放入eNode B中的第一个上行HARQ缓冲区(buf0)。重复此过程。
这样,在UE端分配的上行HARQ进程ID和在eNode B接收器缓冲区分配的buf编号之间可能存在不匹配,但解码数据不会有问题。
ShareTechnote系列LTE(15):HARQ相关推荐
- ShareTechnote系列LTE(8):小区搜索
小区搜索 8.1 小区搜索(测量.评估.检测) 这里小区搜索是指代表测量.评价.检测过程的总称,这与小区选择过程紧密相关,因为UE在进行小区选择之前首先要经历这个搜索过程,同时,在空闲模式下,这一过程 ...
- ShareTechnote系列LTE(13):上行链路数据传输调度-持续调度
上行链路数据传输调度-持续调度 LTE中有两种数据传输调度方案.在算法方面,最简单的是持续调度.在此调度模式下,网络以DCI格式0为每个子帧发送"Grant". i)网络在下行PD ...
- ShareTechnote系列LTE(6):下行子帧解码(PCFICH、PHICH、PDCCH、PDSCH解码)
下行子帧解码(PCFICH.PHICH.PDCCH.PDSCH解码) 假定初始化.同步.IB解码.注册已经完成,并且UE处于连接模式的前提下,解码用户数据(PDSCH)的整个过程为: i)处理子帧中第 ...
- ShareTechnote系列LTE(14):上行链路信号解码
上行链路信号解码 解码上行信号指解码PUCCH和PUSCH.总体流程如下: i)UE将PUSCH(或PUCCH)传输至eNodeB ii)eNodeB检测DMRS(解调参考信号:PUSCH DMRS. ...
- STM32 基础系列教程 15 - SPI
前言 学习stm32 SPI通信接口使用,学会用SPI接口收发数据. 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cu ...
- Java 阶段面试 知识点合集 - 我们到底能走多远系列(15)
我们到底能走多远系列(15) 扯淡:这些知识点来源是通过面试涉及到的,面的公司不多,知识点涉及也不多,我每次面试后都在备忘录里写下有用的东西,集合起来分享一下,因为是知识点,所以就不出什么面试题目啦. ...
- 【Mac 教程系列第 15 篇】如何查看 Mac 产品的序列号
这是[Mac 教程系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 点击左上角的 logo 标志,选择关于本机,然后会弹出如下界面 你的问题得到解决了吗?欢迎在评论区留言. 赠人玫瑰,手有余香,如 ...
- 【Flutter 问题系列第 15 篇】如何给 Flutter 中的图片设置透明度
这是[Flutter 问题系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 在 Flutter 中,如果背景色是颜色的话,我们知道可以直接通过 Color.fromRGBO(r, g, b, op ...
- 【Unity3D 教程系列第 15 篇】本地数据持久化之 Playerprefs 类
这是[Unity3D 教程系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:什么是 PlayerPrefs 类 二:PlayerPrefs 类中的静态方法 1:写入数据 2:读取数据 ...
最新文章
- 百度网盘小程序互转工具:wx2正式开源!
- 【Alpha 冲刺】 2/12
- 单元格格式_单元格格式的用法你知道吗~~
- class传参 python_Python 初学者必备的常用内置函数
- 安装fastdfs依赖包
- C# 6.0 (C# vNext) 的新功能:Exception-Handling Improvements
- cad在布局怎么调比例_CAD中如何在布局空间调整图形比例?
- 学习zookeeper基础知识
- 学习ES6路线了解图
- python不是内部或外部命令
- 联想K3全系,救黑砖(只要手机链接电脑有端口识别就能恢复正常)
- vdbench和fio
- 【软技能】完全写作指南--演讲幻灯片
- 互联网科普-什么是淘宝
- 3D动漫游戏建模很难学?教你如何使用3DMax和ZBrush制作卡通角色
- 第十五周 项目一(1)直接插入排序
- echarts柱形图x轴y轴互换_echarts图表x,y轴的设置
- 程序员戴耳机是为了撩妹子?感觉好酷的样子~
- 杭电OJ 1181(C++)
- MySQL常用类型转换函数总结