我是靠谱客的博主 鲤鱼红酒,最近开发中收集的这篇文章主要介绍扒一扒物理层里的那些事,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作者: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了,这一课里我们讲了物理层中两个关键问题的第一个:下行和上行资源调度,下一课小编将介绍物理层的详细处理流程,敬请期待。

最后

以上就是鲤鱼红酒为你收集整理的扒一扒物理层里的那些事的全部内容,希望文章能够帮你解决扒一扒物理层里的那些事所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部