LTE随机接入流程

PRACH 结构

PRACH 格式

对于格式1到3,频域间隔1.25k ,占用864个子载波(ZC序列长度839,剩余25个子载波

两边保护) 。格式4,频域讲7.5k ,占用144个子载波(ZC 序列139,剩余5个两边保护)。

时频位置

对于TDD ,格式有4种,和TDD 上下行帧划分和prach-ConfigIndex 有关,见211表Table

5.7.1-3。

02prach-ConfigIndex 确定了四元结构体(f RA , t RA 决定了prach 发送的时频位置。, t 1

RA , t RA ) ,

0在211表Table 5.7.1-4中配置。其中f RA 是频率资源索引。t RA =0, 1, 2分别表示资源是否在

所有的无线帧,所有的偶数无线帧,所有的奇数无线帧上重现。t 1

RA =0, 1表示随机接入资源

2是否位于一个无线帧的前半帧或者后半帧。t RA 表示前导码开始的上行子帧号,其计数方式

为在连续两个下行到上行的转换点间的第一个上行子帧作为0进行计数。但对于前导码格式24,t RA 表示为(*)。

序列组产生

每个基站下有64个preamble 序列,怎么产生呢?

1、 由逻辑根序列号RACH_ROOT_SEQUENCE查表Table 5.7.2-4得到物理根序列号。 2、 用zeroCorrelationZoneConfig 以及highSpeedFlag (如果为高速,则是限制级)查

211

表格Table 5.7.2-2得到循环位移N CS ;

3、 用循环位移N CS 与根序列,得到64个preamble 序列。1个根序列可能无法生产64

个preamle 序列,则取下一个根序列继续生成,直到得到64个preamble 。

普通速度模式下(非限制集),preamble 的循环位移时等间隔的,一个根序列能生成

。高速模式下(限制集)循环⎢⎣N ZC N CS ⎥⎦,N ZC 是长度序列长度为839(格式4为139)

位移非等间隔。高速模式下,原根序列和生成好的序列相关,峰值会出现三个,同步时

需要合并三个窗口能量做估计。

MAC 层处理

流程

触发条件

1、 RRC 信令触发。包括切换,初始入网,idle 醒来需要做随机接入。此时没有C-RNTI,msg3

在CCCH 中发送,在msg4中回携带msg3的内容作为UE 标识让UE 知道是否该msg4是

针对自己的。

2、 UE MAC 层触发:此时已经有了C-RNTI ,不是为了入网而是为了2种情况:a 、UE 自己

发现好久没有调整ul timing了需要重新调整;b 、没有SR 资源但需要BSR

3、 PDCCH DCI formart 1A触发:基站发现UE 的ul timing老不对了, 可能是“Timing Advance

Command MAC Control Element”老调整不好了(该方式时相对值调整),基站复位一下

UE 的timing 调整参数(随机接入的timing

调整时绝对值调整,做完后应当复位一下相

对值参数,以后用MAC 控制元素相对值调整) 。基站通过1个特殊的DCI format 1a

告知UE 开始随机接入,该DCI 并不分配下行带宽,只是指示随机接入。

A 、 RNTI 用C-RNTI 加扰;

B 、 字段“Localized/Distributed VRB assignment flag”设置为0

D L D L C 、 Resource block assignment – log 2(N RB (N RB +1) /2) bits 设置为全1 ⎡⎤

D 、 Preamble Index – 6 bits

E 、 PRACH Mask Index – 4 bits

F 、 剩下的bits 全填0。

按照是否竞争,又分Contention based和Non-contention based。非竞争的消息如果Preamble

Index (码索引)填为全0则表示使用竞争的。如果Preamble Index不为0,但PRACH Mask Index

(时频资源索引)为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 。

参数得到后,清空msg3 buff ,设置preamble 传输次数为1

(PREAMBLE_TRANSMISSION_COUNTER=1),设置backoff 参数为0,选择随机接入资源。

注明:如果已经开始了随机接入,基站又指示开始新的一个,UE 选哪个由UE 厂家自己

决定。

RRC 配置参数

此外还要用到几个参数用来算功率与路损的,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 的码发送。判断条件为:P CMAX –

preambleInitialReceivedTargetPower – deltaPreambleMsg3 –

messagePowerOffsetGroupB>0

如果MSG3传输过,现在重传,则选取码组时,和上次一样。在组B 或组A 随机选

一个。

步骤2:选取时频资源

协议容许指定码资源但不指定时频资源。但不容许指定时频资源但不知道码资源。

A 、 如果非竞争接入,PRACH Mask Index= ra-PreambleIndex, 否则PRACH Mask Index=0

B 、参考参数prach-ConfigIndex 与PRACH Mask Index, ra-PreambleIndex,选取时频资源 如果指定了ra-PreambleIndexd(码资源) 但没指定时频资源PRACH Mask

Index ,则随机选择一个时频资源。

如果码资源没有指定,则随机选择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 消息体

Oct 1Oct 2

Oct 3

Oct 4

Oct 5Oct 6

Timing advance command:时频调整,绝对值调整,实际调整量为该IE*16个Ts

Temporary C-RNTI:临时分配的RNTI ,传MSG3时用在传输信道加扰用。

UL Grant如下:

- Hopping flag – 1 bit 是否跳频

- Fixed size resource block assignment – 10 bits 转换后可以得到RIV

- Truncated modulation and coding scheme – 4 bits 调制编码率,213中表Table 8.6.1-1的前16行

- TPC command for scheduled PUSCH – 3 bits 相对功率(实际发送MSG3时功控公式中参数

见f (i ) 为该值加上(PREAMBLE_TRANSMISSION_COUNTER – 1) * powerRampingStep ) 。

213表Table 6.2-1;

- UL delay – 1 bit 为0表示是n+k个子帧传输MSG3,为1是表示n+k个子帧后再等下次机会传输MSG3。其中n 是收到MSG2的当前帧,k 查321表Table 5.1.1.1-1得到。

- CSI request – 1 bit 对于竞争的随机接入没有意义,否则表示CQI

“Fixed size resource block assignment”转换如下:

1、 如果带宽小于等于44RB ,则“resource block assignment”最低位的b 个bits 当作DCI format

U L U L 0中的RIV 。其中b 的长度为b =log 2N RB ⋅N RB +1/2⎡(())⎤。

2、 如果带宽大于44RB ,先确定跳频比特长度hopping bits N UL_hop。如果使用了跳频,带宽

大于49RB 的带宽N UL_hop=2,否则为1;如果没有用跳频,N UL_hop=0。设置

UL UL b =⎛ log 2N RB ⋅N RB +1/2⎝⎡(())⎤-10⎫⎪,在“resource block assignment”中N UL_hop个bits 后⎭

(从高位开始数),加入b 个0。组成新的数据当作RIV 。

MAC 处理

1、 查表321表Table 7.2-1,设置backoff 参数,

2、 如果preamble 的码索引就是终端发出的preamble ,则

a 、 认为接收RAR 成功

b 、 给PHY 调整timing

c 、 设置功率到PHY preambleInitialReceivedTargetPower , (PREAMBLE_TRANSMISSION_COUNTER – 1) * powerRampingStep ) ,用于msg3的功控。 d 、 设置msg3的带宽分配到PHY (需要解析一下,看是在mac 解析还是在phy 解析,见前面“消息体”描述)

e 、 如果基站指定了码索引ra-PreambleIndex ,则认为随机接入完成了,否则: 保存Temporary C-RNTI ,msg3要加扰用 如果是第一次收到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 的响应,且preamle index 是自己,则说明nodeB 收到了自己的发送请求,则调整timing 保存Temporary C-RNTI, 准备在N+6帧发送MSG3(TDD 在第6帧开始的第一个上行子帧发送);

2、 第N 子帧收到了对应RA-RNTI 的响应,且preamle index 不是自己。则说明自己发送的preamble 基站没有收到,则在第N+5帧内调整功率重发preamble (见213 6.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

(见213 6.1.1)。和MAC 层描述的退避矛盾。这里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、Temporary C-RNTI需要保存用来后续msg3加扰;

3、UL Grant的翻译工作如果MAC 层做的话,需要转换成一般的DCI format 0格式。

4、如果重新发送preamble ,且没有收到backoff 参数,自己选取默认的backoff 参数。 MSG3

传输方式

用HARQ ,最大重传次数是RRC 配置的maxHARQ-Msg3Tx 。

用的资源在RAR 中的UL Grant中描述,描述了时频位置,跳频,功控参数。

传输时机

收到RAR 后第6帧(36213中描述),如果第6帧不是上行帧,则等到第一个上行帧传输。

时频位置

收到RAR 后第6帧(36213中描述),如果第6帧不是上行帧,则等到第一个上行帧传输。 发送功率

P PUSCH (i ) =min{P CMAX ,10log 10(M PUSCH (i )) +

preambleInitialReceivedTargetPower +deltaPreambleMsg 3+

PUSCH PL +10log 10((2MPR ⋅K S -1) βoffset ) +

(PREAMBLE_TRANSMISSION _COUNTER -1) ⨯powerRampingStep +δmsg 2}

我把msg3的特定参数带入到了协议中的功控公式即上式。

如果是在组B 发送码,对应于组A 的功率偏移messagePowerOffsetGroupB ,体现在10log (PUSCH i ()) 10M 中,因为分的RB 数目多了。在初始发码的时候只是粗略估计一下组B 的msg3多需要多少功率,而在RAR 之后,就可以精确计算而不需要那个粗略的参数了。

UE 最大发送冲率如果基站sib 中配置了就用基站的,否则用36101中规定的23dbm P CMAX :

(不像wimax 每个终端的能力可以不一样,lte 是基站告诉UE 而不像wimax 相反)。 preambleInitialReceivedTargetPower +deltaPreambleMsg 3为RRC 配置,分别是preamble 期望接收功率与“MSG3相对preamble 的偏移功率”。

10log 10(M PUSCH (i )) :RB 个数

PL :路损

PUSCH :调制方式补偿与CQI 信息补偿。 10log 10((2MPR ⋅K S -1) βoffset

(PREAMBLE_TRANSMISSION _COUNTER -1) ⨯powerRampingStep preamlbe 相对第一次preamble 传输抬升的功率。 最后

δmsg 2:RAR 消息中的TPC 字段,相当于闭环功控基站调整参数。

内容

1、 传输信道用Temporary C-RNTI加扰; 2、 Msg3的最大bits 数目,在RRC 配置中的messageSizeGroupA 规定。

3、 如果是RRC 层触发的随机接入,则逻辑信道为CCCH ,传输RRC 信令,TM 方式,携带一个UE 标识。MAC 还必须保存该CCCH 的消息(RRCConnectionRequest 消息),用作msg4时的比对判断是否msg4是给自己的。

如果是MAC 层自己触发的随机接入,至少携带一个C-RNTI (此时已经有C-RNTI ,在MAC 控制元素中携带该C-RNTI 而不是Temporary C-RNTI )在MAC 控制元素中,也可以携带

BSR 等。

4、每发送完msg3(包括重传),应该起定时器mac-ContentionResolutionTimer 监听msg4。

可见,eNodeB 不能通过传输信道的Temporary C-RNTI 识别UE ,而应该通过解出MAC 信息元素或者RRC 消息后才知道是哪个UE 。

MSG4(Contention Resolution)

Msg4意义

不同UE 可能选择了相同的时频资源,相同的码资源(Preamble index ),则RAR 消息中RA-RNTI 和RAPID 都相同,多个终端可能同时发送msg3。如果同时发送了,则基站无法解出msg3来,也有一点可能基站能解出1个UE 的msg3(比如基站和某个UE 功率差得实在太大,该UE 的信号基站无法收到但基站的信号他能收到,而另外一个UE 信号很好且在相同资源发了相同的preamble )。所以UE 需要比对msg4看是否是针对自己的,如果是自己的才知道没有冲突。

Msg4形式与内容

Msg4的意思是竞争解决,可能是多种形式。

1、 如果msg3是RRC 信令(mac传输CCCH SDU),则Msg4的PDCCH 用Temporary C-RNTI

加扰, msg4中应当携带48bits 的MAC 控制元素“UE Contention Resolution Identity”,该控制元素就是msg3的SDU 。UE 比较如果该控制元素和自己保存的msg3的SDU 相等,则是自己的msg3被基站正确接收了,竞争解决完成。

2、 如果msg3携带C-RNTI ,且是UE 自己发起的随机接入(可能是UE 自己timing 定时

器超时发起,或者没有SR 资源需要发送BSR ),则基站直接针对C-RNTI (非Temporary C-RNTI )分配一个上行PDCCH DCI format 0。

3、 如果msg3携带C-RNTI ,且基站发送PDCCH DCI format 1a触发随机接入,则基站针

对该C-RNTI 发送下行数据分配(PDCCH 用C-RNTI 加扰)。

UE 对Msg4的处理

参考上一节可判断竞争解决是否完成。

如果竞争完成了,对于msg3中携带MAC 控制元素C-RNTI 的情况,则停止定时器mac-ContentionResolutionTimer ,丢弃Temporary C-RNTI,随机接入完成。

如果竞争完成了,对于msg3中携带CCCH SDU 的情况,则停止定时器mac-ContentionResolutionTimer ,Temporary C-RNTI升级为C-RNTI, 随机接入完成。

如果mac-ContentionResolutionTimer 超时,则任务竞争解决失败。

如果任务竞争解决失败,则情况msg3的HARQ 缓存,增加PREAMBLE_TRANSMISSION_COUNTER,如果preamble 传输次数达到最大,则随机接入失败。否则在backoff 窗口内选择一个资源重新开始preamble 发送。

与wimax 对比


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn