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相关推荐

  1. ShareTechnote系列LTE(8):小区搜索

    小区搜索 8.1 小区搜索(测量.评估.检测) 这里小区搜索是指代表测量.评价.检测过程的总称,这与小区选择过程紧密相关,因为UE在进行小区选择之前首先要经历这个搜索过程,同时,在空闲模式下,这一过程 ...

  2. ShareTechnote系列LTE(13):上行链路数据传输调度-持续调度

    上行链路数据传输调度-持续调度 LTE中有两种数据传输调度方案.在算法方面,最简单的是持续调度.在此调度模式下,网络以DCI格式0为每个子帧发送"Grant". i)网络在下行PD ...

  3. ShareTechnote系列LTE(6):下行子帧解码(PCFICH、PHICH、PDCCH、PDSCH解码)

    下行子帧解码(PCFICH.PHICH.PDCCH.PDSCH解码) 假定初始化.同步.IB解码.注册已经完成,并且UE处于连接模式的前提下,解码用户数据(PDSCH)的整个过程为: i)处理子帧中第 ...

  4. ShareTechnote系列LTE(14):上行链路信号解码

    上行链路信号解码 解码上行信号指解码PUCCH和PUSCH.总体流程如下: i)UE将PUSCH(或PUCCH)传输至eNodeB ii)eNodeB检测DMRS(解调参考信号:PUSCH DMRS. ...

  5. STM32 基础系列教程 15 - SPI

    前言 学习stm32 SPI通信接口使用,学会用SPI接口收发数据. 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cu ...

  6. Java 阶段面试 知识点合集 - 我们到底能走多远系列(15)

    我们到底能走多远系列(15) 扯淡:这些知识点来源是通过面试涉及到的,面的公司不多,知识点涉及也不多,我每次面试后都在备忘录里写下有用的东西,集合起来分享一下,因为是知识点,所以就不出什么面试题目啦. ...

  7. 【Mac 教程系列第 15 篇】如何查看 Mac 产品的序列号

    这是[Mac 教程系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 点击左上角的 logo 标志,选择关于本机,然后会弹出如下界面 你的问题得到解决了吗?欢迎在评论区留言. 赠人玫瑰,手有余香,如 ...

  8. 【Flutter 问题系列第 15 篇】如何给 Flutter 中的图片设置透明度

    这是[Flutter 问题系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 在 Flutter 中,如果背景色是颜色的话,我们知道可以直接通过 Color.fromRGBO(r, g, b, op ...

  9. 【Unity3D 教程系列第 15 篇】本地数据持久化之 Playerprefs 类

    这是[Unity3D 教程系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:什么是 PlayerPrefs 类 二:PlayerPrefs 类中的静态方法 1:写入数据 2:读取数据 ...

最新文章

  1. 百度网盘小程序互转工具:wx2正式开源!
  2. 【Alpha 冲刺】 2/12
  3. 单元格格式_单元格格式的用法你知道吗~~
  4. class传参 python_Python 初学者必备的常用内置函数
  5. 安装fastdfs依赖包
  6. C# 6.0 (C# vNext) 的新功能:Exception-Handling Improvements
  7. cad在布局怎么调比例_CAD中如何在布局空间调整图形比例?
  8. 学习zookeeper基础知识
  9. 学习ES6路线了解图
  10. python不是内部或外部命令
  11. 联想K3全系,救黑砖(只要手机链接电脑有端口识别就能恢复正常)
  12. vdbench和fio
  13. 【软技能】完全写作指南--演讲幻灯片
  14. 互联网科普-什么是淘宝
  15. 3D动漫游戏建模很难学?教你如何使用3DMax和ZBrush制作卡通角色
  16. 第十五周 项目一(1)直接插入排序
  17. echarts柱形图x轴y轴互换_echarts图表x,y轴的设置
  18. 程序员戴耳机是为了撩妹子?感觉好酷的样子~
  19. 杭电OJ 1181(C++)
  20. MySQL常用类型转换函数总结

热门文章

  1. QY-19 GNSS位移监测站工作原理是什么?浅谈
  2. vue引用tinymce富文本编辑器及tinymce配置
  3. VMware创建虚拟机图文教程(详细步骤高手篇)
  4. 用processing生成屏保程序
  5. 视频格式无损/快速转换——ffmpeg(mkv等转mp4)
  6. 我最大渔政船南海首航 宣示中国对南海主权
  7. hive查询语句中的常见错误
  8. 迈克菲无法更新您的软件。
  9. python爬虫是干嘛的?好学吗?
  10. 【深度学习笔记】cs231n neural networks 3