作者:mscbsc
链接:http://www.vccoo.com/v/zxo707
来源:微口网
今天Bob通信大讲堂第二课走起:扒一扒物理层里的那些事,从上行和下行两个方向一起扒一扒。
我们把物理层的上一层MAC层传下来的数据叫传输块(TB,Transport Blocks),物理层以1ms的调度周期对TB进行处理,最终通过天线发射出去。那么问题来了:物理层到底对TB干了什么?也就是物理层的处理流程是什么?
答:物理层处理流程与典型通信系统发射机和接收机处理流程类似,具体到4G LTE中,对TB处理包括CRC、信道编码、交织(对抗衰落)、调制、层映射(使用MIMO)、资源映射等。
原来是酱紫,那么问题又来了:上面提到的各种处理中参数如何决定?比如调制阶数如何确定?资源映射中资源多少如何确定?这些物理层都得提前知道才能开工呀。
答:这些参数其实是由上一层MAC层决定的,这也是MAC层的重要功能之一。基站中有一个资源调度器逻辑上属于MAC层,它从物理层获取一些关键信息(如无线信道质量),通过算法得出各种参数,再告诉物理层怎么怎么做,这个过程小编把它称为资源调度。(这么看物理层只是个干活的呀,MAC才是领导)。
上面这两个问题,第一个物理层处理流程,第二个资源调度,就是这个系列文章中物理层要讲的内容。虽然第二个问题资源调度的决定权不在物理层,不过需要物理层提供关键信息,姑且就把它放在这里吧。另外,按照实际数据传输的流程,先有第二个问题,才有第一个问题(不知道资源位置和参数,叫物理层怎么开工),所以小编要先讲资源调度,再讲物理层处理流程。
艾玛,终于铺垫完了,可以正式开讲了。
4G网络数据传输流程之资源调度
4G网络的资源调度有以下几个特点,请先拿小本记下:
4G LTE网络中,资源调度就是指如何分配无线资源PRB;
资源调度分上行和下行,都是由基站来最终决定的,手机重在参与;
基站中的资源调度器执行调度过程,不仅要考虑如何给一个用户分配资源,还要考虑多个用户之间的协调、优先级问题。多个用户之间协调通过多用户调度算法(像轮询、比例公平等)实现,本文中小编暂(qi)不(shi)讨(bu)论(dong),重点讲单用户的资源分配;
资源调度中需要手机参与反馈重要信息,比如信道质量。
先说下行(Bob从基站中下载Alice发给他的小视频)的资源分配再说上行。简单讲:每个1ms的调度周期时间里,基站君的资源调度器收到Bob手机反馈上来的下行链路无线信道质量,查表得出调制方式和最高码率。信号好,采用高阶调制方式,码率高;信号差,采用低阶调制方式,码率低。然后,基站君的资源调度器考虑待传数据量,查表确定分配多少PRB,如下示意图。
能不能说的再具体些?
1、Bob手机物理层向基站君发送CQI,表示下行无线信道质量。这个CQI是Channel Quality Indicate 的缩写,一共4bit,取值1~15,如下表(TS 36.213 Table 7.2.3)。(啥?你问我手机是怎么算出CQI的?鬼才知道,通过解调小区参考信号估计出来的?)
2、基站君收到CQI后,查上表就知道了调制方式和最大码率。CQI越小,说明信号越不好,采用低阶调制方式,码率越低,即保护比特越多。从表中也能看出,对于同一种调制方式,对应多种码率。比如CQI = 1~6,调制方式都是QPSK,但码率越来越高,通过这样的细分保证调度灵活性。
到这里,基站君已经确定了调制方式和最高码率,下面就要确定分配多少物理资源(PRB)了。此时,不同基站厂商按照某种小编不知道的算法,将手机反馈的4bit CQI值,换算成一个5bit的MCS值,取值0~26 。MCS是Modulation and Coding Scheme的缩写,称为调制编码策略,如下表(TS 36.213 Table 7.1.7.1) 。后续将通过MCS来确定物理资源,调整调制阶数。
3、确定MCS后,继续查上表,得到一个对应的TBS Index值,范围也是0~26。TBS Index看名字就知道是用来找TBS的,那TBS是什么鬼?TBS,Transport Block Size,顾名思义是传输块大小,为什么要弄这么个参数呢?小编认(xia)为(chai):
从MAC传到物理层的TB数据大小是没有规律、随机的,而TBS就相当于用来装数据的标准大小的筐,用什么样的车(即多少无线资源)来送走这个筐是固定的。这样,MAC传下来的数据先往TBS这个筐里装,一个小筐不够就换一个大筐,装好后,按照所使用筐的标准找车就好了。因为框有好多种,小小框,小框,中筐,大筐,大大筐等等,所以MAC传下来的数据总能找到合适的筐,这样一切就是流程化、标准化。只要筐的分类合理,总能在复杂性和有效性之间找到平衡点,这就是TBS的意义。\(^o^)/
4、得到TBS Index值后,继续查表(如下TS 36.213 Table 7.1.7.2.1)确定PRB数 。有了TBS Index就锁定了表的某一行,不同的列代表不同的TBS大小,就是小编上面提到的筐,对应有不同的车(PRB)在等着送货。根据货的多少(传输的数据量)在这一行中选择一个最合适的筐,即选择一个大于或等于待传数据量且与待传数据量最接近的TBS。这样,为待传数据分配多少PRB就跟着确定了。
举个栗子,TBS Index = 12, 锁定上表最后一行;假设待传数据量是4000bit,该行中大于4000且与4000最接近的是4136,所以就选TBS = 4136这个筐来装数据,对应的PRB = 18,也就是说基站君分配18个PRB来传这次的数据。
此时,基站君已经知道待传数据的调制阶数、最高码率、MCS、TBS、PRB数,是不是可以交给物理层发射了?呵呵,还没完呢。。。难道没有发现最高码率还没派上用场吗?下面有请最高码率登场。
5、基站君根据上一步选择的TBS和PRB数,计算码率(CR),看是否超过最高码率。如果没超过,则万事大吉;如果超过,MCS就降低一个值,重复第3~5步,直到计算出的码率小于最高码率。
那到底要怎么算码率?(+﹏+)~,码率 = 信息比特数 / PRB中承载数据的总比特数,其中:
信息比特数 = TBS + CRC,信息比特数是指信道编码前的数据,所以要包括CRC附加的24bit;
PRB中承载数据的总比特数 = 能用来传输数据的RE数 x 调制阶数。调制阶数已经知道,还要计算总共有多少RE用来传数据。1个PRB总有168个RE,但这168个RE不能都用来传数据,要减去开销(包括同步信道,PBCH,PDCCH等控制信息占用的RE数),不同网络配置开销数还不一样(想知道如何计算开销?私撩小编吧)。所以PRB中承载数据的总比特数 = PRB数 x (168 - 每个PRB中开销占用RE数)x 调制阶数 。
继续举栗子。手机反馈CQI=7,基站君通过小编不知道的算法得到MCS=13,查表TBS Index=12,假设待传数据是4000bit,查表得到TBS=4136,对应PRB=18,则:
CR的分子,信息比特数 = TBS+CRC = 4136+24 = 4160;
CR的分母,PRB中承载数据的总比特数 = 18(PRB数)x138(1个PRB中传输数据的RE)x 4(调制阶数) = 9936; (小编才不会告诉你138是用168减去CFI=2时PDCCH占用RE和CRS占用RE得到的,O(∩_∩)O~)
所以码率CR = 4160/9936 = 0.419 > 最高码率0.369;
所以MCS降阶选择12,则TBS Index=11,TBS=4008,PRB=20,重新计算码率 =(4008+24)/(20x138x4)= 4032/11040 = 0.365 < 最高码率0.369。
结果OK,Game Over。
艾玛,总算是把下行资源调度完了,简单总结下:
啥?还有上行资源调度?
上行资源调度和下行资源调度总原则是一样的,遵循“获取无线信道质量→MCS→TBS Index→确定TBS及PRB数”,但是也略有不同。示意图如下:
1、虽然上行方向是手机发送数据给基站,不过手机的物理层如何处理数据、用哪些无线资源发送也是由基站决定的,在本文一开始,小编就提到,上行和下行的资源调度都是由基站决定的。
2、上行方向资源调度,基站君也要首先获取无线信道质量。对于下行的无线信道质量,基站君是通过手机反馈的CQI知晓的;那么对于上行,基站君亲自操刀测量手机发送的上行SRS(Sounding Reference Signal)信号,估计出信道质量。
3、上行方向由于是手机给基站发数据,所以基站事先不知道手机有多少数据要发,基站不知道数据量大小就没法决定分配多少资源啊,所以手机要向基站发送BSR(Buffer Status Report),表明手机的缓存里有多少数据要传。
4、基站君通过信道质量得出MCS,进而查表得到TB Index、TBS、PRB,这个过程和下行一样,不详述。
5、基站将决定好的TBS、调制阶数、资源数量等信息打包成TF(Transport Format )发给手机,手机按这些参数指导物理层开工,准备发射。
至此,我们4G网络数据传输流程系列的第二课就Over了,这一课里我们讲了物理层中两个关键问题的第一个:下行和上行资源调度,下一课小编将介绍物理层的详细处理流程,敬请期待。