LTE随机接入很全文档格式.docx
《LTE随机接入很全文档格式.docx》由会员分享,可在线阅读,更多相关《LTE随机接入很全文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
,
是长度序列长度为839(格式4为139)。
高速模式下(限制集)循环位移非等间隔。
高速模式下,原根序列和生成好的序列相关,峰值会出现三个,同步时需要合并三个窗口能量做估计。
MAC层处理
流程
触发条件
1、RRC信令触发。
包括切换,初始入网,idle醒来需要做随机接入。
此时没有C-RNTI,msg3在CCCH中发送,在msg4中回携带msg3的内容作为UE标识让UE知道是否该msg4是针对自己的。
2、UEMAC层触发:
此时已经有了C-RNTI,不是为了入网而是为了2种情况:
a、UE自己发现好久没有调整ultiming了需要重新调整;
b、没有SR资源但需要BSR
3、PDCCHDCIformart1A触发:
基站发现UE的ultiming老不对了,可能是“TimingAdvanceCommandMACControlElement”老调整不好了(该方式时相对值调整),基站复位一下UE的timing调整参数(随机接入的timing调整时绝对值调整,做完后应当复位一下相对值参数,以后用MAC控制元素相对值调整)。
基站通过1个特殊的DCIformat1a告知UE开始随机接入,该DCI并不分配下行带宽,只是指示随机接入。
A、RNTI用C-RNTI加扰;
B、字段“Localized/DistributedVRBassignmentflag”设置为0
C、Resourceblockassignment–
bits设置为全1
D、PreambleIndex–6bits
E、PRACHMaskIndex–4bits
F、剩下的bits全填0。
按照是否竞争,又分Contentionbased和Non-contentionbased。
非竞争的消息如果PreambleIndex(码索引)填为全0则表示使用竞争的。
如果PreambleIndex不为0,但PRACHMaskIndex(时频资源索引)为0也是可以的,说明码资源基站单独分配UE了,但时频资源UE还是要自己竞争(感觉这样做很无聊,一般实现应该是都一起分配了吧)。
发送Preamble
准备
先必须得到一些PRACH和RACH的配置参数,才能发起随机接入。
1、确定时频资源。
prach-ConfigIndex
2、确定码资源。
先从RACH_ROOT_SEQUENCE查表确定根序列,zeroCorrelationZoneConfig以及highSpeedFlag确定了循环位移,则可以从根序列确定64个preamble序列。
把这64个序列取一部分(RRC配置numberOfRA-Preambles),取的这部分又分为2组(组A和组B),RRC配置了numberOfRA-Preambles,则组B大小为numberOfRA-Preambles-numberOfRA-Preambles。
3、确定功率资源。
组B用来传大数据的msg3,但由于RB多了多功率有要求。
计算组B传输的功率不能大于最大功率,用到参数deltaPreambleMsg3。
4、确定RAR响应窗口ra-ResponseWindowSize;
5、每次preamble不成功后重发增加的功率。
powerRampingStep
6、Preamble最大重传此时。
preambleTransMax
7、初始功率。
preambleInitialReceivedTargetPower
8、Preamble功率偏移。
DELTA_PREAMBLE
9、MSG3的HARQ重传次数。
maxHARQ-Msg3Tx
10、发送组B的preamble需要用到的功率参数messagePowerOffsetGroupB
11、等待msg4成功完成的定时器mac-ContentionResolutionTimer。
参数得到后,清空msg3buff,设置preamble传输次数为1(PREAMBLE_TRANSMISSION_COUNTER=1),设置backoff参数为0,选择随机接入资源。
注明:
如果已经开始了随机接入,基站又指示开始新的一个,UE选哪个由UE厂家自己决定。
RRC配置参数
PRACH-Configfielddescriptions
highSpeedFlag
Parameter:
High-speed-flag,seeTS36.211,[21,5.7.2].TRUEcorrespondstoRestrictedsetandFALSEtoUnrestrictedset.
产生序列时用,如果为高速,则用限制级的序列偏移。
prach-ConfigurationIndex,seeTS36.211[21,5.7.1].
确定时频位置时用,确定帧号、子帧号、时隙号,即确定时域位置。
prach-FreqOffset
prach-FrequencyOffset,seeTS36.211,[21,5.7.1].ForTDDthevaluerangeisdependentonthevalueofprach-ConfigIndex.
确定时频位置时用,确定频域位置,相对顶部(或底部)多少个RB。
rootSequenceIndex
RACH_ROOT_SEQUENCE,seeTS36.211[21,5.7.1].
根序列逻辑索引,产生序列时用,
zeroCorrelationZoneConfig
NCSconfiguration,seeTS36.211,[21,5.7.2:
table5.7.2-2]forpreambleformat0..3andTS36.211,[21,5.7.2:
table5.7.2-3]forpreambleformat4.
产生序列时用,觉得序列偏移。
mac-ContentionResolutionTimer
TimerforcontentionresolutioninTS36.321[6].Valueinsubframes.Valuesf8correspondsto8subframes,sf16correspondsto16subframesandsoon.
MaximumnumberofMsg3HARQtransmissionsinTS36.321[6],usedforcontentionbasedrandomaccess.Valueisaninteger.
MSG3的最大HARQ传输次数
messagePowerOffsetGroupB
ThresholdforpreambleselectioninTS36.321[6].ValueindB.Valueminusinfinitycorrespondsto–infinity.ValuedB0correspondsto0dB,dB5correspondsto5dBandsoon.
用组B时,UE发送时功率需要大几个DB
messageSizeGroupA
ThresholdforpreambleselectioninTS36.321[6].Valueinbits.Valueb56correspondsto56bits,b144correspondsto144bitsandsoon.
用组A时,MSG3的最大的消息大小。
numberOfRA-Preambles
Numberofnon-dedicatedrandomaccesspreamblesinTS36.321[6].Valueisaninteger.Valuen4correspondsto4,n8correspondsto8andsoon.
Preamble总共的个数
PowerrampingfactorinTS36.321[6].ValueindB.ValuedB0correspondsto0dB,dB2correspondsto2dBandsoon.
UE重发preamble时,每次功率增加的步长
InitialpreamblepowerinTS36.321[6].ValueindBm.ValuedBm-120correspondsto-120dBm,dBm-118correspondsto-118dBmandsoon.
基站期望的目标功率
preamblesGroupAConfig
ProvidestheconfigurationforpreamblegroupinginTS36.321[6].Ifthefieldisnotsignalled,thesizeoftherandomaccesspreamblesgroupA[6]isequaltonumberOfRA-Preambles.
符合参数,包含sizeOfRA-PreamblesGroupA,messageSizeGroupA,messagePowerOffsetGroupB
如果没有该参数数目只有组A没有组B,组A的大小和RA组大小一样。
MaximumnumberofpreambletransmissioninTS36.321[6].Valueisaninteger.Valuen3correspondsto3,n4correspondsto4andsoon.
Preamble最大发送次数
ra-ResponseWindowSize
DurationoftheRAresponsewindowinTS36.321[6].Valueinsubframes.Valuesf2correspondsto2subframes,sf3correspondsto3subframesandsoon.
UE发送完preamble后,等待响应的窗口,如果窗口没有收到响应,认为基站没有收到。
窗口为“发送完preamble的最后一个子帧+3”到“发送完preamble的最后一个子帧+3+ra-ResponseWindowSize
”
ra-PRACH-MaskIndex
ExplicitlysignalledPRACHMaskIndexforRAResourceselectioninTS36.321[6].
非竞争时用,表明时频位置。
ra-PreambleIndex
ExplicitlysignalledRandomAccessPreambleforRAResourceselectioninTS36.321[6].
非竞争时用,表明UE发的码序列索引。
此外还要用到几个参数用来算功率与路损的,MAC和PHY用
P-Max,终端最大发送功率,msg3发送功率的最大值。
如果基站sib中配置了就用基站的,否则用36101中规定的23dbm(不像wimax每个终端的能力可以不一样,lte是基站告诉UE而不像wimax相反)。
referenceSignalPower基站RS发送功率,用来算路损,发送msg3
betaOffset-CQI-Index:
CQI在PUSCH中传输时,占的总资源比例,在基站指定的随机接入中如果上报CQI就会用到,既用来决定msg3的CQI占用的RE数,也会用来做msg3的功控。
deltaMCS-Enabled:
msg3功控时,是否需要针对不同调制方式做修正。
资源选择
步骤1:
选取码资源
RRC如果配置了指定的资源,则用RRC配置的,参数ra-PreambleIndex为码索引,ra-PRACH-MaskIndex为时频位置。
当RRC配置了指定的资源(ra-PreambleIndex不全为0),则选择指定的资源。
如果RRC没有配置指定的资源,则
如果MSG3没有传输过:
如果组B存在,且需要传输的MSG3大于messageSizeGroupA,则看组B要求的功率是否满足,如果满足则随机选取组B的码发送。
判断条件为:
PCMAX–preambleInitialReceivedTargetPower–deltaPreambleMsg3–messagePowerOffsetGroupB>
如果MSG3传输过,现在重传,则选取码组时,和上次一样。
在组B或组A随机选一个。
步骤2:
选取时频资源
协议容许指定码资源但不指定时频资源。
但不容许指定时频资源但不知道码资源。
A、如果非竞争接入,PRACHMaskIndex=ra-PreambleIndex,否则PRACHMaskIndex=0
B、参考参数prach-ConfigIndex与PRACHMaskIndex,ra-PreambleIndex,选取时频资源
如果指定了ra-PreambleIndexd(码资源)但没指定时频资源PRACHMaskIndex,则随机选择一个时频资源。
如果码资源没有指定,则随机选择1个时频资源,再在该资源后面连续2帧再选2个资源,最后在这3个资源中几率均等的选取一个。
功率选择
PREAMBLE_RECEIVED_TARGET_POWER=preambleInitialReceivedTargetPower+DELTA_PREAMBLE+(PREAMBLE_TRANSMISSION_COUNTER–1)*powerRampingStep;
可见,发码的时候是不用协议中功控公式的,不需要估计路损等参数,指示从目标功率开始从最小的一次次往上抬功率。
RAR
监听窗口
UE第n帧发完RA后,在n+3到n+3+ra-ResponseWindowSize监听基站的RAR响应。
ra-ResponseWindowSize最大为10,如果更大会引起其他传输的误解。
RAR消息类容
RA-RNTI
RAR对应的PDCCH中CRC用RA-RNTI加扰,RA-RNTI=1+t_id+10*f_id。
t_id为子帧索引,f_id为子帧内的第几个时频资源。
可见,UE只能解出自己发送preamble的时频资源的RAR。
RAR消息头
针对同一个RA-RNTI(时频资源),可能基站能解出多个码的preamble,也可能一个也解不出来。
基站应当针对所有解出的preamble回一个大RAR消息,该消息包含若干子RAR消息体(每个消息体对应1个RAPID子头,RAPID是preamble的码索引),每个消息体针对不同的preamble码回的。
但backoff参数只有一个在MAC子头中。
基站必须在一个MAC包中回所有同一RA-RNTI的RAR,不然会扰乱UE的时序,后面会讲。
RAR消息体
Timingadvancecommand:
时频调整,绝对值调整,实际调整量为该IE*16个Ts
TemporaryC-RNTI:
临时分配的RNTI,传MSG3时用在传输信道加扰用。
ULGrant如下:
-Hoppingflag–1bit是否跳频
-Fixedsizeresourceblockassignment–10bits转换后可以得到RIV
-Truncatedmodulationandcodingscheme–4bits调制编码率,213中表Table8.6.1-1的前16行
-TPCcommandforscheduledPUSCH–3bits相对功率(实际发送MSG3时功控公式中参数
为该值加上(PREAMBLE_TRANSMISSION_COUNTER–1)*powerRampingStep)。
见213表Table6.2-1;
-ULdelay–1bit为0表示是n+k个子帧传输MSG3,为1是表示n+k个子帧后再等下次机会传输MSG3。
其中n是收到MSG2的当前帧,k查321表Table5.1.1.1-1得到。
-CSIrequest–1bit对于竞争的随机接入没有意义,否则表示CQI
“Fixedsizeresourceblockassignment”转换如下:
1、如果带宽小于等于44RB,则“resourceblockassignment”最低位的b个bits当作DCIformat0中的RIV。
其中b的长度为
。
2、如果带宽大于44RB,先确定跳频比特长度hoppingbitsNUL_hop。
如果使用了跳频,带宽大于49RB的带宽NUL_hop=2,否则为1;
如果没有用跳频,NUL_hop=0。
设置
,在“resourceblockassignment”中NUL_hop个bits后(从高位开始数),加入b个0。
组成新的数据当作RIV。
MAC处理
1、查表321表Table7.2-1,设置backoff参数,
2、如果preamble的码索引就是终端发出的preamble,则
a、认为接收RAR成功
b、给PHY调整timing
c、设置功率到PHYpreambleInitialReceivedTargetPower,(PREAMBLE_TRANSMISSION_COUNTER–1)*powerRampingStep),用于msg3的功控。
d、设置msg3的带宽分配到PHY(需要解析一下,看是在mac解析还是在phy解析,见前面“消息体”描述)
e、如果基站指定了码索引ra-PreambleIndex,则认为随机接入完成了,否则:
<
1>
保存TemporaryC-RNTI,msg3要加扰用<
2>
如果是第一次收到rar,且msg3不是RRC消息(RRC消息在CCCH上传),则生成msg3时在MAC的控制元素中带上C-RNTI(此时只能是SR资源不可用或者时频太久没有调整,触发随机接入)
3、如果RAR消息头中没有UE自己的preamble索引RAPID,或者在监听窗口没有收到RAR消息,处理一样(213里面说处理是不一样的,和MAC矛盾),MAC的处理见下。
A、发送此时加1.PREAMBLE_TRANSMISSION_COUNTER+1
B、如果达到最大preamble发送次数,通知高层
C、如果MAC自己发起的随机接入(SR触发或时偏调整触发),则在0和backoff值中随机选取一个,等到时间结束在发preamble
D、重新选择资源发送preamble。
下面说下物理层的描述,和MAC描述有冲突。
1、第N子帧收到了对应RA-RNTI的响应,且preamleindex是自己,则说明nodeB收到了自己的发送请求,则调整timing保存TemporaryC-RNTI,准备在N+6帧发送MSG3(TDD在第6帧开始的第一个上行子帧发送);
2、第N子帧收到了对应RA-RNTI的响应,且preamleindex不是自己。
则说明自己发送的preamble基站没有收到,则在第N+5帧内调整功率重发preamble(见2136.1.1)。
和MAC层描述的退避矛盾。
物理描述是有一定道理的,因为假设基站针对一个RA-RNTI在一条大消息中回所有的preamble码字的RAR。
如果没有本UE的但有别的UE的,说明其他UE已经检测出来了下面进行msg3和msg4流程了,不会再发码,因此本UE赶快发码也不会和别人冲突。
但细想一下,有可能出现这种情况:
比如有10个UE在同一个时频位置发送了preamble(RA-RNTI相同),基站可能只检测出2个preamble(可能还检测错了),如果UE不退避直接发送,那么还有至少还有8个UE要发送很可能再次碰撞。
因此这种情况建议还是按照MAC层规定退避。
3、过了RAR接收窗口还没收到对应RA-RNTI响应,则在第N+4帧内调整功率重发preamble(见2136.1.1)。
这里PHY描述有道理的,基站收到东西后不管有没有收到都应该回RAR,没有检测出来码但检测到信号了就只发个backoff。
但RAR都没发说明UE功率太小了,赶快加大功率发了根本不需要退避。
针对MAC和PHY描述不一致,实现建议:
1、eNodeB在针对一个RA-RNTI回RAR时,把针对该RA-RNTI的所有preamble码字的RAR都在一条消息中带下来。
只要检测到信号,都回RAR。
2、UE如果收到针对自己RA-RNTI的RAR,但如果没有针对自己preamlbe的响应,则退避。
3、UE如果在接收窗口没有收到任何针对自己RA-RNTI的RAR,则直接在N+4帧内重新发码,不需要退避了。
上面描述都是321中说的,自己补充几点:
1、timing值在RAR时是绝对值,而以后的MAC信息元素调整是相对值,随机接入完成后timing值应当复位。
如果随机接入过程中(MSG4下来之前)收到了MAC信息元素的timing调整,厂家自己决定怎么做,可以忽略该调整;
2、TemporaryC-RNTI需要保存用来后续msg3加扰;