通信人家园

标题: BCCH和PCCH怎么打MAC包?  [查看完整版帖子] [打印本页]

时间:  2011-5-19 22:30
作者: illidan     标题: BCCH和PCCH怎么打MAC包?

BCCH和PCCH不算SRB和DRB,没有LCID。

MAC PDU那一章注明了是DL-SCH UL-SCH,明摆着排除了PCCH/PCH。

BCCH算是DL-SCH家的。但是LCID就没它的份。

如果PCCH和BCCH用transparent MAC PDU,基站怎么告诉UE,MAC SDU的长度呢(反言之,就是padding有多少)?我只能猜到,UE按照36.331规定的各种SIB块与Paging消息的长度,解出MAC PDU中的消息,剩余的就是padding。


[自问自答一下,不一定正确]
对于SRB1/2,36.331也规定了它的格式,又何不让UEblind decoding,而是有一个sub-header(包括LCID和L字段)呢?因为SRB和DRB的SDU可以复用,因而必须有对应的sub-header,否则UE无法解复用。

而SIB和paging不与其它SDU复用,因而让UE进行盲解是可行的(即不带sub-header,没有LCID和L)。


不管怎么说,协议里的MAC PDU (DL-SCH and UL-SCH except transparent MAC and Random Access Response, MCH)这个说法是有欠严谨的。因为SIB也属于DL-SCH家族,但它又不用这个格式。

[ 本帖最后由 illidan 于 2011-5-20 11:19 编辑 ]
时间:  2011-5-20 09:09
作者: strike

层2是透传的
时间:  2011-5-20 09:29
作者: illidan

原帖由 strike 于 2011-5-20 09:09 发表
层2是透传的


好吧,那UE怎么知道TB中有多少是padding呢?
时间:  2011-5-20 11:06
作者: strike

SIB没有PADDING,当某些域不存在的时候,ASN.1会处理该问题。个人理解,仅供参考。
时间:  2011-5-20 11:10
作者: illidan

原帖由 strike 于 2011-5-20 11:06 发表
SIB没有PADDING,当某些域不存在的时候,ASN.1会处理该问题。个人理解,仅供参考。


简单来说,传输块的大小是离散的(按照那个表格)。比如MAC选择的传输块是1100,而SiB大小是1080 bits。此时不打20bits的padding又能如何?
时间:  2011-5-20 11:14
作者: strike

你理解错了SIB在发送端添加的位置,先去看看发送端什么时候添加SIB吧
时间:  2011-5-20 11:24
作者: illidan

原帖由 strike 于 2011-5-20 11:14 发表
你理解错了SIB在发送端添加的位置,先去看看发送端什么时候添加SIB吧


SIB由高层产生,然后交给MAC及其调度器。MAC根据SI的周期啥的,在合法的时刻,用PDCCH/PDSCH(以Si-RNTI加扰)把它发下去。

那你先说说,如果SIB是1080bit,而传输块表里没有这个值,不加padding,MAC层要怎么办才好呢?

[ 本帖最后由 illidan 于 2011-5-20 11:29 编辑 ]
时间:  2011-5-20 11:26
作者: strike

各自实现的问题,交给MAC不一定MAC就需要处理嘛,完全可以直接给PHY,PHY在最后资源映射的时候才添加进去,和TB没有关系的
时间:  2011-5-20 11:28
作者: strike

如果按你的说法,在IDLE下,没有DCI指示的情况,就没法接收SIB了么?呵呵,IDLE下不给UE分配PDSCH资源的
时间:  2011-5-20 11:31
作者: illidan

原帖由 strike 于 2011-5-20 11:26 发表
各自实现的问题,交给MAC不一定MAC就需要处理嘛,完全可以直接给PHY,PHY在最后资源映射的时候才添加进去,和TB没有关系的


36.212里,pHY做channel coding的输入就是调度器/MAC扔下来的TB呀。速率匹配的时候,物理资源的多少和时频位置也是调度器指定的呀。

MAC不管行么?假设SIB有2000bit,MAC就分了一个RB-pair,这行么?
时间:  2011-5-20 12:22
作者: strike

SIB永远只占中间的6个RB,和TB SIZE完全没关系,TB_SIZE只是针对单个用户,SIB针对所有用户,你反过来想一下
时间:  2011-5-20 12:26
作者: illidan

原帖由 strike 于 2011-5-20 12:22 发表
SIB永远只占中间的6个RB,和TB SIZE完全没关系,TB_SIZE只是针对单个用户,SIB针对所有用户,你反过来想一下


你说的是MIB,映射到PBCH。完毕。

[ 本帖最后由 illidan 于 2011-5-20 12:28 编辑 ]
时间:  2011-5-20 12:30
作者: illidan

MIB一共40bit,其中14bit信息,10bit预留,16bit CRC。编码为480bit / radio frame,映射到PBCH,每10ms发一次,每40ms一个周期。

而SIB长度是可变的,它映射到DL-SCH/PDSCH。PDSCH一切都由MAC调度器说了算,包括时频资源,MCS(TBSize, 调制阶数)等等。

SIB也是给所有用户,但它也映射到TB中,有TBSize,有快速调度,有速率匹配。

[ 本帖最后由 illidan 于 2011-5-20 12:32 编辑 ]
时间:  2011-5-20 12:33
作者: strike

那我问你,PDSCH上的参考信号也是MAC说了算么?
时间:  2011-5-20 12:47
作者: strike

上面是MIB的,偶确实说错了~~不过SIB和MIB的发送端添加位置一样,你再想想
时间:  2011-5-20 13:06
作者: illidan

原帖由 strike 于 2011-5-20 12:33 发表
那我问你,PDSCH上的参考信号也是MAC说了算么?


这个和本次topic无关。

CRS或URS的排布位置在协议也有规定。AP0~3这4个AP中,要使用几个,基站可决定。而Port5,Port7, Port8等的URS,基站也可以决定加不加。


MIB的信道映射是固定的,编解码也是固定,UE在固定的时频资源上,用这个固定的信道编码就能解出MIB。

而SIB和SRB/DRB一样,是要由MAC调度器来调度的,它映射到Dl-SCH,SIB也要经过快速调度、TB选择、调制阶数、速率匹配这些动态过程,它不是固定的。

好吧,你一直在拿SIB或MIB说事。PCCH/Paging的情形是类似的。你能否解释一下Paging是如何发送给uE的(只要到MAC/PHY这个层面就行,不用提高层)。

[ 本帖最后由 illidan 于 2011-5-20 13:08 编辑 ]
时间:  2011-5-20 13:26
作者: strike

不是拿那说事呢,我给你看张图你就明白了

[ 本帖最后由 strike 于 2011-5-20 16:39 编辑 ]

附件: temp.jpg (2011-5-20 13:26, 41.88 KB) / 下载次数 3
https://www.txrjy.com/forum.php?mod=attachment&aid=MTM3MTU5fDk0NDg0ZTgyfDE3MzE3ODE3MDh8MHww
时间:  2011-5-20 14:55
作者: illidan

原帖由 strike 于 2011-5-20 13:26 发表
不是拿那说事呢,我给你看张图你就明白了

137159


这个图只是各个信道映射到具体的时频(即RE)上。也就是相当于36.211的内容。还有212, 213,321规定的流程呢。

CRS, URS占哪些RE,这个协议里计算公式,主要是PhyCellID有关。

HI根据基站的配置,遇到的控制域的时频资源上,每组PHICH占3个REG。

DCI映射到控制域的PDCCH上。根据基站选择的CCE来映射。物理层会做一次加扰映射到具体的RE,MAC只管逻辑CCE就行。

PSS和SSS,PBCH也有固定的映射位置。

DBCH(SIB), PCCH,DCCH, DTCH都映射到PDSCH,在你这个图里都是TbRmData那部分。SIB和PCCH也要经过快速调度、TB选择、调制阶数、速率匹配这些动态过程。不像PSS,SSS,PBCH,PHICH,CRS/URS有固定的时频位置和信道编码。

基站MAC在调度SIB时,会有DCI 1C/1A over PDCCH(SI-RNTI加扰,映射到common search space)来通告RB的位置,以及TB大小,以及其它信息。而包含SIB或PCCH的TB也同样经过信道编码过程,这个过程与SRB/DRB的TB的信道编码过程完全相同。

你也冷静地想想。如果UE事先不知道传输块大小,对于经过了TC和RM的SIB或者Paging,它怎么解得出来?又不是PBCH,PHICH这些固定的信道编码。

注:以上这些解释与本主题完全无关。

[ 本帖最后由 illidan 于 2011-5-20 15:15 编辑 ]
时间:  2011-5-20 15:48
作者: strike

MAC在收到PHY的SIB 数据后,直接扔给RRC,RRC通过ASN.1解码即可获得。

解释如下:
发送端:网络在生成SIB时,如果生成了1000bit,经过ASN.1编码后,变成1100bit,二此时TB大小为1200bit,则有100bit的是多余的。
接收端:当UE的PHY收到1200bit的数据后,给MAC,此时MAC不用做任何处理,直接将1200bit扔个RRC,RRC通过ASN.1解码,会只取1100bit进行操作,即可获得1000bit的有效数据。

关键点在于ASN.1

前面的解释我只是想说,SIB完全可以不经过MAC来实现,UE如此,网络侧亦可。跑题就跑题吧~~
时间:  2011-5-23 08:45
作者: illidan

原帖由 strike 于 2011-5-20 15:48 发表
MAC在收到PHY的SIB 数据后,直接扔给RRC,RRC通过ASN.1解码即可获得。

解释如下:
发送端:网络在生成SIB时,如果生成了1000bit,经过ASN.1编码后,变成1100bit,二此时TB大小为1200bit,则有100bit的是多余的。
...


简而言之,MAC还是打了padding了。

ASN.1应该是有这个功能的。

其实在3G时代就有这种情况了。以前的PCCH,BCCH,CCCH映射到FACH/S-CCPCH的年代,传输块大小是静态分配好的,但SIB,Paging,SRB等消息的大小是变化的。它们映射到静态大小的FACH或DCH传输块时,也是由MAC打上padding,对齐传输块大小,然后交L1进行信道编码和速率匹配。




通信人家园 (https://www.txrjy.com/) Powered by C114