技术标签: 通信协议 5G NR 通信协议学习
RRC 控制 MAC 配置。
UE 的 MAC 实体处理以下传输信道:
MAC 子层为上层提供以下服务:
MAC 子层需要来自物理层的以下服务:
MAC 子层支持以下功能:
引入BWP(Bandwidth Part)以及Numerology概念。可以根据实际的传输需求,配置不同的BWP/numerology,降低了UE功耗。
此外,不同于LTE, MAC PDU中不再是MAC子头+MAC SDU的形式,而采用MAC子头与MAC SDU交叉摆放的形式,提高了数据处理速率。
上行和下行链路的 MAC 功能的相关性如下表所示:
MAC 功能的链路方向关联
MAC 子层在下面定义的信道上运行;
传输信道是 MAC 和第 1 层之间的 SAP,逻辑信道是 MAC 和 RLC 之间的 SAP。
MAC 子层使用下表中列出的传输信道:
MAC 子层在逻辑信道上提供数据传输服务;
为了适应不同种类的数据传输服务,定义了多种类型的逻辑信道,即每种逻辑信道都支持特定类型信息的传输。
每种逻辑信道类型由传输的信息类型定义。
MAC 子层提供下表中列出的控制和业务信道(逻辑信道):
对于上行链路和下行链路,MAC 实体负责将逻辑信道映射到传输信道上。 该映射取决于 RRC 配置的复用。
可以按下表中的描述映射上行链路逻辑信道:
可以如下表中所述映射下行链路逻辑信道:
随机接入过程由 PDCCH 命令,MAC 实体本身或 RRC 根据 TS 38.300 [2]发起,在 MAC 实体中的任何时间点仅存在一个随机接入过程。
SCell 上的随机接入过程仅由具有与 0b000000 不同的 ra-PreambleIndex 的 PDCCH 命令发起。
注 1:如果 MAC 实体接收到对新的随机接入过程的请求而另一个已经在 MAC 实体中正在进行,则由 UE 实
现是继续正在进行的过程还是从新过程开始(例如,对于 SI 请求)。
RRC 为随机接入过程配置以下参数:
以下 UE 变量用于随机接入过程:
当在服务小区上启动随机接入过程时,MAC 实体应:
1> 刷新 Msg3 缓冲区;
2> 将 PREAMBLE_TRANSMISSION_COUNTER 设置为 1;
3> 将 PREAMBLE_POWER_RAMPING_COUNTER 设置为 1;
4> 将 PREAMBLE_BACKOFF 设置为 0 ms;
5> 如果明确发信号通知用于随机接入过程的载波:
6> 否则,如果没有明确表示用于随机接入流程的载波;
7> 如果随机接入过程的服务小区配置了 optionalUplink;
8> 如果下行链路路径损耗参考的 RSRP 小于 rsrp-ThresholdSSB-SUL:
9> 其他:
10> 将 PREAMBLE_POWER_RAMPING_STEP 设置为 preamblePowerRampingStep;
11> 如 果配置了 powerRampingStepHighPriority:
12> 将 SCALING_FACTOR_BI 设置为 1;
13> 如果配置了 scalingFactorBI:
14> 执行随机接入资源选择过程。
MAC 实体应:
1> 如果为波束故障恢复启动了随机接入流程;
2> 如果 beamFailureRecoveryTimer正在运行或未配置;
3> 若 RRC 已明确提供与任何 SSB 和/或 CSI-RS 相关联的波束故障恢复请求的无争用随机接入资源;
4> 如果在 candidateBeamRSList 中的 SSB 中具有高于 rsrp-ThresholdSSB 的 SS-RSRP 的 SSB 中的至少一个 SSB 或者具有在 candidateBeamRSList 中的 CSI-RS 中的高于 rsrp-ThresholdCSI-RS 的 CSI-RS 的 CSI-RS 可用:
5> 否则,如果 ra-PreambleIndex 已由 PDCCH 或 RRC 明确提供; 和
6> 如果 ra-PreambleIndex 不是 0b000000; 和
7> 如果 RRC 没有明确提供与 SSB 或 CSI-RS 相关联的无竞争随机接入资源:
8> 否则,如果 RRC 已明确提供与 SSB 相关联的无争用随机接入资源,并且在相关 SSB 中至少有一个 SS-RSRP 高于 rsrp-ThresholdSSB 的 SSB 可用:
9> 否则,如果已经由 RRC 明确地提供与 CSI-RS 相关联的无争用随机接入资源,并且在相关联的 CSI-RS 中具有高于 rsrp-ThresholdCSI-RS 的 CSI-RSRP 的至少一个 CSI-RS 是可用的:
10> 如果在上面选择了 SSB 并且配置了 PRACH 场景和 SSB 之间的关联:
MAC 实体可以在确定对应于所选择的 SSB 的下一个可用 PRACH 时机时考虑测量间隙的可能发生。
11> 否则,如果在上面选择了 CSI-RS 并且配置了 PRACH 时机和 CSI-RS 之间的关联:
对于每个随机接入前导码,MAC 实体应:
1> 如 果 PREAMBLE_TRANSMISSION_COUNTER 大于 1;
2> 如果没有从较低层收到暂停电力斜坡计数器的通知;
3> 如果选择的 SSB 未更改(即与先前的随机接入前导码传输相同):
与发送随机接入前导码的 PRACH 相关联的 RA-RNTI 被计算为:
RA-RNTI= 1 + s_id + 14 × t_id + 14 × 80 × f_id + 14 × 80 × 8 × ul_carrier_id其中 s_id 是指定 PRACH 的第一个 OFDM 符号的索引(0≤s_id<14),t_id 是系统帧中指定 PRACH 的第一个时隙的索引(0≤t_id<80),f_id 是索引频域中指定的 PRACH 的值(0≤f_id<8),并且 ul_carrier_id 是用于Msg1 传输的 UL 载波(0 表示 NUL 载波,1 表示 SUL 载波)。
一旦发送随机接入前导码并且不管可能出现的测量间隙,MAC 实体应:
1> 如果 MAC 实体发送了用于波束故障恢复请求的无争用随机接入前导码:
2> 如果从较低层接收到 PDCCH 传输的接收的通知;
3> 如果 PDCCH 传输被寻址到 C-RNTI; 和
4> 如果 MAC 实体发送了用于波束故障恢复请求的无争用随机接入前导码:
5> 否则,如果已经在 PDCCH 上接收到针对 RA-RNTI 的下行链路指派,并且接收到的 TB 被成功解码:
6> 如果在 RACH-ConfigCommon 中配置的 ra-ResponseWindow 到期,并且尚未收到包含与发送的 PREAMBLE_INDEX 匹配的随机接入前导码标识符的随机接入响应;
7> 如果在 BeamFailureRecoveryConfig 中配置的 ra-ResponseWindow 到期并且未收到发往 C-RNTI 的 PDCCH:
争用解决方案基于 SpCell 的 PDCCH 上的 C-RNTI 或 DL-SCH 上的 UE 争用解决标识。
发送 Msg3 后,MAC 实体应:
1> 启动 ra-ContentionResolutionTimer 并在 Msg3 传输结束后的第一个符号中的每次 HARQ 重传时重新启动 ra-
ContentionResolutionTimer;
2> 无论可能出现的测量间隙如何,在 ra-ContentionResolutionTimer 运行时监控 PDCCH;
3> 如果从较低层接收到 PDCCH 传输的接收通知:
4> 如 果 ra-ContentionResolutionTimer 到期:
5> 如果争用解决方案被认为不成功:
6> 如果未完成随机接入过程:
完成随机接入流程后,MAC 实体应:
1> 丢弃显式信令无争用随机接入资源,但无争用随机接入资源,用于波束故障恢复请求,如果有的话;
2> 刷新用于在 Msg3 缓冲区中传输 MAC PDU 的 HARQ 缓冲区。
RRC 配置以下参数以维持 UL 时间同步:
1> 当接收到定时提前命令 MAC CE 时,如果用指示的 TAG 维护了 N_ta:
2> 当在属于 TAG 的服务小区的随机接入响应消息中接收到定时提前命令时:
3> 否则,如果与此 TAG 关联的 timeAlignmentTimer 未运行:
4> 停止与此 TAG 关联的 timeAlignmentTimer。
5> 忽略收到的 Timing Advance Command。
6> 当 timeAlignmentTimer 到期时:
当 MAC 实体停止 SCell 的上行链路传输时,由于 MAC 实体的 TAG 之间的最大上行链路传输定时差异或 UE 的任何 MAC 实体的 TAG 之间的最大上行链路传输定时差异超过,MAC 实体考虑与 SCell 关联的 timeAlignmentTimer已过期。
当与该服务小区所属的 TAG 相关联的 timeAlignmentTimer 未运行时,MAC 实体不应在服务小区上执行除了随机接入前导码传输之外的任何上行链路传输。 此外,当与 PTAG 相关联的 timeAlignmentTimer 未运行时,MAC实体不应在除 SpCell 上的随机接入前导码传输之外的任何服务小区上执行任何上行链路传输。
在 PDCCH 上接收的下行链路指配都指示在 DL-SCH 上存在针对特定 MAC 实体的传输并且提供相关的 HARQ 信息。
当 MAC 实体具有 C-RNTI,临时 C-RNTI 或 CS-RNTI 时,MAC 实体应针对其监视 PDCCH 和每个服务小区的每个PDCCH 时机:
1> 如果已经在 PDCCH 上为 MAC 实体的 C-RNTI 或临时 C 接收到该 PDCCH 场景和该服务小区的下行链路分配-RNTI:
2> 如果这是此临时 C-RNTI 的第一个下行链路指配:
3> 考虑 NDI 已被切换。
4> 如果下行链路指配是针对 MAC 实体的 C-RNTI,并且如果指示给相同 HARQ 进程的 HARQ 实体的先前下行链路指派是针对 MAC 实体的 CS-RNTI 接收的下行链路指派或者配置的下行链路指派:
5> 如果已经在用于 MAC 实体的 CS-RNTI 的 PDCCH 上针对该服务小区接收到针对该 PDCCH 时机的下行链路指派:
6> 如果收到的 HARQ 信息中的 NDI 为 1:
8>初始化或重新初始化该服务小区的配置的下行链路指配,以在相关的 PDSCH 持续时间内开始;
9> 将 HARQ 进程 ID 设置为与该 PDSCH 持续时间相关联的 HARQ 进程 ID;
10> 考虑已切换相应 HARQ 进程的 NDI 位;
11> 指示存在针对该服务小区的配置的下行链路指派,并将存储的 HARQ 信息传递到 HARQ 实体。
对于每个服务小区和每个配置的下行链路指配,如果配置和激活,MAC 实体应:
1>如果配置的下行链路指派的 PDSCH 持续时间与在该服务小区的 PDCCH 上接收的下行链路指配的 PDSC
H 持续时间不重叠:
2> 指示物理层在该 PDSCH 持续时间内根据配置的下行链路指配接收 DL-SCH 上的传输块,并将其传递给 HARQ 实体;
3> 将 HARQ 进程 ID 设置为与该 PDSCH 持续时间相关联的 HARQ 进程 ID;
4> 考虑 NDI 位被切换;
5> 指示存在配置的下行链路指配并将存储的 HARQ 信息传递到 HARQ 实体。
对于配置的下行链路指配,与 DL 传输开始的时隙相关联的 HARQ 进程 ID 从以下等式导出:
HARQ 进程 ID = [floor(CURRENT_slot×10 /(numberOfSlotsPerFrame×periodicity))] modulonrofHARQ-Processes
其中 CURRENT_slot =[(SFN×numberOfSlotsPerFrame)+帧中的时隙号]和 numberOfSlotsPerFrame 指的是 TS 38.211
[8]中规定的每帧连续时隙数。
当 MAC 实体需要读取 BCCH 时,MAC 实体可以基于来自 RRC 的调度信息:
1> 如果已经在用于 SI-RNTI 的 PDCCH 上接收到针对该 PDCCH 时机的下行链路指配;
2> 指示用于到 HARQ 实体的专用广播 HARQ 过程的下行链路指配和冗余版本。
HARQ 实体
MAC 实体包括用于每个服务小区的 HARQ 实体,其维持多个并行 HARQ 进程。
每个 HARQ 过程与 HARQ 过程标识符相关联。 HARQ 实体将在 DL-SCH 上接收的 HARQ 信息和关联的 TB 指向对应的 HARQ 进程。
每个 HARQ 实体的并行 DL HARQ 进程的数量在 TS 38.214 [7]中规定。 专用广播 HARQ
文章浏览阅读1.4k次,点赞3次,收藏11次。第十二届蓝桥杯c/c++ B组省赛第一场赛后总结文章目录第十二届蓝桥杯c/c++ B组省赛第一场赛后总结A:空间B:卡片C:直线D:货物摆放E:路径F:时间显示G:砝码称重H:杨辉三角形I :双向排序J:括号序列总结A:空间【问题描述】小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 32 位二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问256MB 的空间可以存储多少个 32 位二进制整数?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题_西安理工大学蓝桥杯四月
文章浏览阅读1.9k次。面对真实环境中各种复杂的情况,提出了基于自监督知识的无监督新集域适应(SUNDA)方法迁移源域的样本对比知识_uda和pda
文章浏览阅读4.1k次。问题描述 在数列 a_1, a_2, …, a_n中,定义两个元素 a_i 和 a_j 的距离为 |i-j|+|a_i-a_j|,即元素下标的距离加上元素值的差的绝对值,其中 |x| 表示 x 的绝对值。 给定一个数列,请问找出元素之间最大的元素距离。输入格式 输入的第一行包含一个整数 n。 第二行包含 n 个整数 a_1, a_2, …, a_n,相邻的整数间用空格分隔,表示给..._不同元素的最大距离
文章浏览阅读8.7k次,点赞3次,收藏2次。,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" AcceptsReturn="True"> 换行设置AcceptsReturn="True"AcceptsReturn的默认响应key为回车键(Enter),如果想改成其他键盘如下设置_wpf textbox输入内容自动换行
文章浏览阅读832次。java泛型的使用_java 泛型
文章浏览阅读449次。华为Java面试题中的九道单选1.Java是从( )语言改进重新设计。A.Ada B.C++ C.Pasacal D.BASIC 答案:B2.下列语句哪一个正确( )A. Java程序经编译后会产生machine codeB. Java程序经编译后会产生byte codeC. Java程序经编译后会产生DLLD. 以上都不正确 答案:B3.下列说法正确的有( )A. class中的constr..._在编译程序时,所能指定的环境变量不包括class.path
文章浏览阅读1.4k次。mysql error code(备忘)转自:http://blog.csdn.net/jason0539/article/details/92784071005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数_3061 - user variable name '' is illegal
文章浏览阅读420次。简介标签是 HTML5 中新定义的标签,它是一个画布标签,只是作为一个图形容器,必须使用脚本来绘制图形。Canvas基本使用<canvas> 标签<canvas>只有两个可选属性:width, height, 如果不给宽高设定初始值时,则默认width为300,height为150,不建议使用CSS样式表来给其设置宽高替换内容IE9版本以前的浏览器不支持<..._canvas关于路径可用属性
文章浏览阅读378次。当逻辑分区实际上太多太细而几乎无法使用时,建立索引也就成为分区的另一个选择。建立索引可以帮助裁剪掉一张表的一些数据块,这样能够减少MapReduce的输入数据量。创建索引先创建一个employees表:hive> create table employees(name string,salary float,subordinates array_ql index
文章浏览阅读8.3k次,点赞3次,收藏6次。起因 今天用IDEA导入一个java工程时,碰上一个问题,代码中所有@override处标红,并提示:@override不支持对接口的实现。 原因是引用JDK5版本中存在小bug的问题。@Override是JDK5就已经有了,但是不支持对接口的实现,认为这不是Override而报错。JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。 解决方法一:【如果是用本地的tomcat配置】File >> Project St.._@override报错
文章浏览阅读4.7k次。1.开始编辑 2.选中要合并的图层:根据图层的编号,点击Selected后,再点击Merge,合并 _arcgis 合并图层 json
文章浏览阅读868次。二、查找原因经过查找资料了解到:Process.waitFor可能导致死锁?因为本地的系统对标准输入和输出所提供的缓冲池有限,所以错误的对标准输出快速的写入和从标准输入快速的读入都有可能造成子进程死锁。问题的关键在缓冲区这个地方:可执行程序的标准输出比较多,而运行窗口的标准缓冲区不够大,所以发生阻塞。接着来分析缓冲区,当Runtime对象调用exec(cmd)后,JVM会启动一个子进程,该进程会与JVM进程建立三个管道连接:标准输入,标准输出和标准错误流。假设该程序不断在向标准输出流和标准错误流写数据,_exec.waitfor()