LTE学习笔记--MAC--SR

2024-01-06 20:20
文章标签 学习 笔记 mac lte sr

本文主要是介绍LTE学习笔记--MAC--SR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

UE是没有权利主动在PUSCH上发送数据的,只能通过PUCCH向eNB发送Scheduling Request(SR),eNB给UE分配上行资源后UE才可在PUSCH上发送数据。但在SR中并没有包含所要传输数据的大小,因此eNB要么分配一个足够大的资源(这显然不可能),要么分配一个大于Buffer Status Report(BSR)的资源,这样在分配资源比所要发送的数据包小时,只发送一个BSR,以请求一个更大的上行资源。
UE只有在RRC_CONNECTED状态下切上行同步的情况下才会发起SR,重传数据没有SR。如果此时状态不是RRC_CONNECTED或者上行失步,UE将发起RA,以RAR3的形式完成调度请求。在SR请求极度不平常时,甚至可以不实现SR,单纯以RA代替。
另一个问题在于,UE发起SR时机的是随机的,eNB并不知道在什么位置能收到SR。因此eNB必须在可能的SR位置一直作检测。这样,SR就形成一个周期。SR在PUCCH(PUCCH format 1)上发送(UE可以在PUCCH上主动发请求)。某个UE的SR周期是由eNB通过SchedulingRequestConfig.sr-ConfigIndex指定的,因此eNB可以根据收到SR的位置推断出到底是哪一个UE发的SR而无需C-RNTI。
SchedulingRequestConfig的各个字段如下图所示。其中sr-PUCCH-ResourceIndex指明了SR使用的是哪一个PUCCH1资源(port 0);Sr-ConfigIndex配置了SR的周期以及在周期内的偏移;dsr-TransMax指明了SR的最大传输次数。注意到SchedulingRequestConfig
只有 PUCCH format 1/1a/1b 和 PUCCH format 3 可用于发送 SR。如果在同一子帧上,需要同时发送 SR 和 PUCCH format 3(HARQ ACK/NACK),则 SR 会复用到 PUCCH format 3 发送中,而不是在 sr-PUCCH-ResourceIndex 指定的PUCCH format 1 资源上发送。


这里写图片描述

通过Sr-ConfigIndex查下表可得SR的周期和在后期内的偏移。


这里写图片描述

并且发送SR的子帧满足以下式子:

(10nf+ns/2NOFFSET,SRmodSRPERIODICITY=0) ( 10 ∗ n f + ⌊ n s / 2 ⌋ − N O F F S E T , S R m o d S R P E R I O D I C I T Y = 0 )

以Sr-ConfigIndex=9为例,其SR排布周期如下:


这里写图片描述

eNB回发UL Grant的时机是不确定的,一种最极端的情况是eNB根本没有收到SR,因此当然也不会回发UL Grant。因此UE必须维护一个sr-ProhibitTimer定时器,当UE在此窗口期间没有收到UL-Grant(或其他回应),UE将重发SR,直到最大次数dsr-TransMax。当超过dsr-TransMax则认为UE与eNB失去连接或失步,发起RA过程。
从上面的配置文件可以看出,小区内不同UE的SR周期可以不一样,但通常都会配置相同的SR周期。从之前的表格可以看出,此周期越大可容纳的UE越多,每个子帧上预留给SR PUCCH1的资源越少,但是SR延迟越高。
配置SR所使用的PUCCH1资源是UE specific的,配置的参数前面已经描述过了为sr-PUCCH-ResourceIndex。此参数较为简单,不予详述。

这篇关于LTE学习笔记--MAC--SR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/577501

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i