




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RB分配总结LTE中的RB分配包括PDSCH信道的RB的分配和PUSCH的RB分配,上下行调度时的资源分配总结如下:(1) 在数据调度的过程中,重传数据的资源分配优先于初传数据的资源分配。(2) 为了保证UE的数据传输能够分配到资源,在上下行实际分配RB之前,会使用get hole为UE预分配RB资源,即能够得到hole的UE就能够实际分配到RB。(3) 在为UE分配hole时,上下行都是按照LC的优先级进行的hole分配。(4) 在下行调度的过程中优先为PCCH,BCCH以及可能存在msg2,mag4事先预留PRB资源。(5) 上行调度过程中,PUCCH和PRACH占用的资源是静态配置的。详细的资源分配参看下文。1 PDSCH资源分配1.1下行hole相关1.1.1 下行hole初始化在下行调度中,cell结构体下面会存在2个结构体,一个是子帧配置的结构体dl_subframe_hole_config10,另外一个是调度用的结构体sched_dl_free_hole10。这2个结构体中实际上就是2条链表,分别为子帧配置的链表和当前调度可用hole信息的链表。下行hole初始化包括这两种的初始化,即函数mac_subframe_hole_init()和mac_dl_sched_freehole_list_init()。1.1.1.1 下行子帧配置初始化mac_subframe_hole_init()就是对cell结构体下dl_subframe_hole_config10中链表的构建。该函数在mac_dl_scheduler_init中调用,即增加小区时调用,配置在一个无线帧内上下行调度所能够使用的PRB资源。由于在TDD中,对资源的利用是上下行所使用的频域资源相同,时域分开,即上行帧和下行帧不可能同时存在,所以在TDD中将一个无线帧上下行的子帧所能够使用的频域资源存放在一个结构体中,故在对子帧配置的资源的初始化时使用mac_subframe_hole_init()这一个函数。图1为该函数的流程图:图1,TDD代码中子帧配置的初始化在将代码改为FDD时,在cell结构体下面将原来的上下行共用的资源配置的结构体分开为2个结构体dl_subframe_hole_config10和ul_subframe_hole_config10。但在对上下行资源配置的初始化时并没有将其分开,还是在mac_subframe_hole_init()这一个函数中做,只是没有了参数sf_type,详细见代码。1.1.1.2 下行调度链表初始化函数mac_dl_sched_freehole_list_init()就是对cell结构体中sched_dl_free_hole10的调度链表构建。该函数在mac_dl_scheduler_prepare()中调用,即在下行调度准备中构建当前调度能够使用的PRB资源。该函数的功能就是将子帧配置链表中取相应的子帧配置中能够使用的PRB资源,并将其中的信息组成一个节点插入到当前子帧的调度链表中作为第一个节点。该节点的内容详见MAC_RB_HOLE。函数流程图见图2。图2 下行调度链表初始化过程1.1.2 下行hole分配下行hole分配分为初传的hole分配,和重传的hole分配。1.1.2.1初传hole分配初传的hole分配,使用mac_get_dl_hole()分配。在下行调度过程中,按照逻辑信道的优先级为UE分配PDCCH和PDSCH资源,即CCE和hole,其中cce的分配在hole分配之后,即UE只有在取得了hole之后才会去申请CCE资源,关于CCE的分配详见CCE分配的详细设计文档。此处的hole的分配是对PRB的一个预分配,并不是PRB的实际分配,其实际分配见1.2节。对UE的hole的分配之前会为可能存在的msg2和msg4以及PCCH,BCCH预留PRB资源。UE在满足以下2个条件时为其分配hole:(1),UE被调度;(2),UE有数据待发。具体分配hole时,使用mac_ get_ dl_hole()为UE申请hole,该函数就是对当前调度的链表中的的节点一个一个的查找。并且在mac_get_dl_hole的第二个参数会按1个RB的要求去申请,即UE申请所得到的hole内PRB的数目必须大于或等于1个PRB。,若该节点中rbs_free大于或等于UE所申请的就将该节点返回给UE,并停止查找。调度链表中节点的内容为MAC_RB_HOLE所定义的参数,其中参数rbs_free决定当前节点可不可以继续为UE分配hole,只有该参数大于1,该节点才能为UE分配hole。在每次为UE成功分配一个hole时只会更新rbs_free这一个参数。在使用mac_get_dl_hole()函数成功为UE申请hole后,会对节点中的参数rbs_free的更新。首先将rbs_free减去1个PRB(此处可能会造成资源浪费),然后计算UE待发数据与其MAC PDU子头部之和所需PRB数目(此处的计算是将UE的实际所需PRB数目减1,所以不会造成资源浪费)与当前节点中的rbs_free比较,取最小的那个值即为该UE的实际分配的PRB数目,之后将节点中的rbs_free减去该UE实际分配的PRB数目。更新完毕之后将UE的实际分配的PRB数目填写到UE节点中,方便在实际PRB的分配时获取。说明:get hole在lte_mac_get_hole.c文件中,更新hole在调用mac_get_dl_hole()函数的lte_mac_dl_sched.c文件中,实际的RB分配在lte_mac_dfg.c文件中。1.1.2.2重传hole分配重传时,会根据UE是MIMO还是非MIMO的调用相应的函数进行hole分配,MIMO的使用函数mac_harq_dl_mimo_get_hole()对UE进行hole分配;非MIMO的使用函数mac_harq_dl_get_hole()对UE进行hole分配:(1)在mac_harq_dl_get_hole()中会给非MIMO重传的UE分配PDCCH和PDSCH资源,更新hole节点信息,其中优先选择TYPE2类型的RB hole,如果满足资源分配要求的hole不是TYPE2的时候,需要更新hole节点中的subset参数,以供下次TYPE1调度使用。(2)在mac_harq_dl_mimo_get_hole()中会给MIMO重传的UE分配PDCCH和PDSCH资源,如果申请的RB=1,使用TYPE0分配并且将TYPE1的subset中的剩余RB构造新的TYPE2 RB hole插入到下行调度用的free hole链表后面。如果申请的RB1,且UE所需要的PRB数目大于或等于1个RBG时使用mac_calc_dl_rb_num_type0()计算rb_start和valid_rb_num。在得到UE的rb_start和valid_rb_num这两个参数后,使用mac_calc_riv_of_type0()计算得到DCI信息中的ra值,即用比特表示的给该UE分配的PRB的实际位置。1.2.1.2 RESOURCE_ALLOC_TYPE1使用type1分配只有一种情况:RI1,且UE所需的PRB数目小于一个RBG时使用mac_calc_dl_rb_num_type1()计算得到rb_start和valid_rb_num。在得到UE的rb_start和valid_rb_num这两个参数后,使用mac_calc_riv_of_type1()计算得到DCI信息中的ra值,即用比特表示的给该UE分配的PRB的实际位置。1.2.1.3 RESOURCE_ALLOC_TYPE2使用type2分配有2种情况:其主要区别在确认用type2分配方式后(1)若调度链表中节点信息中的first_meet_type0为1,即该节点已经使用过type0的资源分配方式,则调用 mac_calc_dl_rb_num_type2_after_type0()计算rb_start和valid_rb_num。(2)在与(1)对立的情况使用mac_calc_dl_rb_num_type2_after_type1()计算rb_start和valid_rb_num。在得到UE的rb_start和valid_rb_num这两个参数后,使用mac_calc_riv_of_type2()计算得到DCI信息中的ra值,即用比特表示的给该UE分配的PRB的实际位置1.2.1.4 下行初传RB分配小结从代码中的3中资源分配方式对于MAC_RB_HOLE结构体中的参数的更新见表1,可以看出:(1)type2不能放在第一次分配(2)在第一次使用type0分配时,在函数mac_calc_dl_rb_num_type0()和mac_calc_dl_rb_num_type0_ri1()会判断first_meet_type0的标志位,若为0即首次遇到type0则更新current_prb。MAC_RB_HOLEType0Type1Type2rb_startfree_rb_numcurrent_prbRBG_SUBSET表1 PRB分配后对节点参数的更新具体的为某个UE实际分配RB的函数为mac_make_pdsch_cfg_for_1ue(),即1.2节的所有的分配都在这个函数中,详见该函数的流程图5。图5 mac_make_pdsch_cfg_for_1ue流程图1.2.2下行重传的RB分配在mac_dl_process_retr()函数中会对重传的UE按照MIMIO和非MIMO的分别排序。在代码中重传的资源分配主要在mac_dl_process_retr()中,该函数的流程图见图6。图6 TDD中下行重传处理图2 PUSCH分配相对于下行调度RB的分配,上行RB的分配就没有那么的复杂了,下行RB的分配有3中分配方式,而上行的资源分配只有一种方式,即给一个UE分配的PRB必须是连续的,可以说上行的RB分配方式就只有下行RB分配方式中的TYPE2这一种。2.1上行hole相关2.1.1 上行hole初始化在上行调度中,cell结构体下面会存在2个结构体,一个是子帧配置的结构体ul_subframe_hole_config10,另外一个是调度用的结构体sched_ul_free_hole10。2.1.1.1 子帧配置链表初始化与下行不同的是由于上行物理信道中存在PRACH信道与PUSCH抢占RB资源,而且PRACH的配置又存在奇帧和偶帧的差别,所以在上行的子帧配置的结构体ul_subframe_hole_config10中存在3条链表:(1) 没有PRACH的子帧配置链表no_pra_hole_cfg(2) 偶帧时存在PRACH的子帧配置链表even_frame_hole_cfg(3) 奇帧时存在PRACH的子帧配置链表odd_frame_hole_cfg这3条链表的初始化在函数mac_subframe_hole_init()处理,详见图1。2.1.1.2 上行调度链表初始化调度用的结构体sched_ul_free_hole10中存在一条给当前调度用的链表,该链表的初始化在函数mac_ul_sched_freehole_list_init()。对上行调度链表的初始化即函数mac_ul_sched_freehole_list_init的流程,详见图7。图7上行调度链表初始化流程图2.1.2 上行hole分配上行hole分配包括2个函数mac_get_ul_hole()和mac_harq_ul_get_hole()即初传和重传的分配。2.1.2.1 上行初传hole分配上行初传hole分配的过程即函数mac_get_ul_hole的流程。该函数就是对当前调度的链表中的的节点一个一个的查找。并且在mac_get_ul_hole的第二个参数会按1个RB的要求去申请,即UE申请所得到的hole内PRB的数目必须大于或等于1个PRB。,若该节点中rbs_free大于或等于UE所申请的就将该节点返回给UE,并停止查找。调度链表中节点的内容为MAC_RB_HOLE所定义的参数,其中参数rbs_free决定当前节点可不可以继续为UE分配hole,只有该参数大于1,该节点才能为UE分配hole。在每次为UE成功分配一个hole时只会更新rbs_free这一个参数。在使用mac_get_ul_hole()函数成功为UE申请hole后,会对节点中的参数rbs_free的更新。首先将rbs_free减去1个PRB(此处可能会造成资源浪费),然后计算UE待发数据与其MAC PDU子头部之和所需PRB数目(此处的计算是将UE的实际所需PRB数目减1,所以不会造成资源浪费)与当前节点中的rbs_free比较,取最小的那个值即为该UE的实际分配的PRB数目,之后将节点中的rbs_free减去该UE实际分配的PRB数目。更新完毕之后将UE的实际分配的PRB数目填写到UE节点中,方便在实际PRB的分配时获取。说明:说明:get hole在lte_mac_get_hole.c文件中,更新hole在调用mac_get_ul_hole()函数的lte_mac_ul_sched.c文件中,实际的RB分配在lte_mac_ul_sched.c文件中。2.1.2.2上行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渠道管理(第二版)项目一 渠道管理认知(教案)
- 出租车全员安全培训内容课件
- 2025年北京租房合同范本
- 2025【合同范本】电子产品全国总代理合同
- 2025年原材料供应合同
- 2025医院清洁外包服务合同
- 2025汽车销售合同
- 冲击波课件教学课件
- 2025商务合同范本国际设备采购合同
- 2025【合同范本】挂靠合同协议示例
- 协会借款管理制度内容
- 心理咨询经典案例分析
- 2025年浙能集团招聘笔试参考题库含答案解析
- 物业公司化粪池清掏服务方案
- 新《公司法》对国有企业的影响
- 电化学储能系统测试操作方法
- 人教版(新教材)七年级上册地理第一章第一节《地球的宇宙环境》教学课件
- 物业楼宇管家岗位培训
- 劳动合同(模版)4篇
- 第10课《往事依依》公开课一等奖创新教学设计-1
- 剪映操作全教程
评论
0/150
提交评论