随机接入进程.docx

上传人:b****5 文档编号:30724336 上传时间:2023-08-19 格式:DOCX 页数:22 大小:305.88KB
下载 相关 举报
随机接入进程.docx_第1页
第1页 / 共22页
随机接入进程.docx_第2页
第2页 / 共22页
随机接入进程.docx_第3页
第3页 / 共22页
随机接入进程.docx_第4页
第4页 / 共22页
随机接入进程.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

随机接入进程.docx

《随机接入进程.docx》由会员分享,可在线阅读,更多相关《随机接入进程.docx(22页珍藏版)》请在冰豆网上搜索。

随机接入进程.docx

随机接入进程

随机接入进程

当UE需要接入到网络的时候,需要从随机接入信道上发RRC建立请求消息给RNC,这就涉及到随机接入进程。

在R5版本以前它包括PRACH接入进程和CPCH接入进程,但CPCH属于偏房出身,所以一直没有归入到R99必须支持的功能。

最后到R6版本就干脆从25214协议中给删除了。

其实在3GPP协议的演进过程中,各个厂家都试图把自己的专利技术变成3GPP标准。

很像古代皇子们夺王位的斗争,残酷、激烈而又充满智慧。

很多技术像短命的皇帝一样,屁股还没有坐热就又被新朝代给取代了。

所以希望《3G演义》能像一个照相机一样,记录下在这个时代里演进的一些技术。

随即接入进程从协议分层的角度,主要分为两个子层:

物理层和MAC层。

从理解的角度看,由于大部分在UE实现,这两部分结合非常紧密,属于骨和肉的关系。

把它们割裂开是不利于理解协议和实现流程的。

所以本文干脆把这两层合到一起讲。

随机接入的整个流程如图1。

UE如果要发起随机接入,必须先从RRC层获取随机接入的各种参数。

这些信息可以从广播的SIB5中获取,如

这些参数包括哪些呢?

1、前导扰码的序号(0~15)

2、消息部分的长度(10ms还是20ms)

3、AICH_Transmission_Timing参数(0或1)

4、每个接入业务类型(ASC)的可用签名序列和RACH子信道组

5、前导发射功率攀升步长powerRampStep

6、前导初始发射功率constantValue

7、前导重传最大次数preambleRetransMax

primaryCPICH-TX-Power33,

constantValue-21,

prach-PowerOffset

{

powerRampStep2,

preambleRetransMax20

},

8、随机接入消息中最后发送的前导功率和控制部分功率之间的偏移量Pp-m=Pmessage-control–Ppreamble

9、传输格式集,包括随机接入消息控制和数据部分的功率偏移。

10、RACH传输的参数:

RACH前导最大循环次数、拥塞时回退时间指数的上下限等。

rach-TransmissionParameters

{

mmax6,

nb01Min3,

nb01Max40

}

图1RACHtransmissioncontrolprocedure(UEside,informative)

接着获取本次随机接入的ASC(接入服务类型)。

UE在CELL_Idle和CELL_FACH状态下,对ASC的选择是不太一样的。

在CELL_Idle状态下,UE是靠USIM卡本身的AC(接入类型)来选择ASC的。

什么是接入类型?

从网络的角度,每个UE的接入可以分成不同等级的。

一般用户的接入类型是普通优先级,AC从0~9。

对于一些级别高的用户,如政府机构和一些紧急服务单位(消防、救护等)的用户,可以把接入类型设置为高优先级,AC从10~15。

AC的值在烧卡的时候写入,目前默认都是0,如图3。

也可以通过读USIM卡的数据获取,在Gemplus卡它位于0x6F78,如图2。

图2SIM卡中关于接入等级(AC)的位置

图3USIM卡分配的接入等级

UE通过小区广播的SIB5中AC到ASC映射表获取自己的ASC。

在25331协议中,对不同的AC到ASC的映射有如表1的规定。

AC

0-9

10

11

12

13

14

15

ASC

1stIE

2ndIE

3rdIE

4thIE

5thIE

6thIE

7thIE

表1AC到ASC的映射表

ASC分为8个等级(0~7),其中ASC0的优先级最高,ASC7的优先级最低。

目前配置是所有的AC对应ASC都是0,不区分优先级,相当于没打开这个功能。

如图4。

该值是在PRACH的属性中配置。

SIB5中有这样的字段:

ac-To-ASC-MappingTable

{0,0,0,0,0,0,0}

图4PRACH信道的参数配置

在CELL_FACH态中,逻辑信道是有优先级的(在RB建立或重配的时候分配,如:

mac-LogicalChannelPriority5),简称LogicalchannelPriority(MLP)。

MAC层利用MLP来决定后续RACH上数据块传输使用的ASC。

前面用AC算出来的ASC称为NumASC,那么在所有传输数据块具有一样的MLP的情况,ASC=min(NumASC,MLP);如果MLP不一样,ASC = min(NumASC,MinMLP)。

那么ASC小的用户又如何出优越性呢?

一句话,MAC层的持久度(persistencevalue)检查算法通过让ASC大的用户降低接入频率从而把接入机会让给ASC小的高优先级用户。

对于每个ASC对应一个持久度Pi,可以根据表2得出不同ASC的Pi的计算公式。

其中si是在SIB5中下发的ASC持久比例因子。

一共有6个,s2到s7,像图4中,只下发了一个因子,s2=0.9。

不广播的时候持久比例因子默认为1。

persistenceScalingFactorList

{

psf0-9

},

ASC#i

0

1

2

3

4

5

6

7

Pi

1

P(N)

s2P(N)

s3P(N)

s4P(N)

s5P(N)

s6P(N)

s7P(N)

表2ASC对应的持久度

P(N)的计算公式:

P(N)=2(N1)。

N是动态持久级初始值(如图4),在SIB7中有,目前配置1。

这个值是可以动态变化,系统可以根据拥塞情况进行优先级排队。

PhyCHinformationelements

PRACHslistedinsysteminformationblocktype5

MP

1to

TheorderofthePRACHsisthesameasinsysteminformationblocktype5or5bis.

>Dynamicpersistencelevel

MP

Dynamicpersistencelevel10.3.6.35

表3SIB7中对N值的定义

所以对于ASC0,它的持久度最高,P0=1,其次是ASC1,

通过合理配置ASC持久比例因子

,可以使得低ASC的用户有比较高的持久度

每次物理层PRACH在发前导码前,MAC层要进行一次持久度

的检查。

UE算出本地的持久度

,然后在0~1之间取一个随机数R。

如果

,那么持久度检查通不过,必须再等待10ms后再进行一次持久度检查,一直到通过才能让物理层发PRACH前导。

如果系统拥塞的情况下,可以通过增大SIB7中的N值,降低低优先级用户的持久度

,在MAC层上增大它们随机接入的难度,从而把接入机会让给高优先级的用户。

在通过持久度检查后,就该轮到物理层进行PRACH接入了。

它接入的原理如图5,首先发一个4096码片的前导来确定是否被允许接入,然后才发10ms或20ms的消息帧。

图5随机接入传输数据的结构

如果NodeB允许接入,那么在对应的AICH上会有AI的确认指示。

这两个物理信道的定时关系如图6。

前导和AI的间隔是固定,否则UE是无法确认AI是否属于自己。

这个值由AICH_Transmission_Timing来决定(目前配置0)。

AICH_Transmission_Timing

p-p,min

p-a

p-m

0

15360chips(3accessslots)

7680chips

15360chips(3accessslots)

1

20480chips(4accessslots)

12800chip

20480chips(4accessslots)

表4AICH_Transmission_Timing定义的定时关系

AICH_Transmission_Timing=1是用在小区半径很大(比如40km)的情况,这个时候空口传输延时很大,所以需要加大前导和AI的间隔。

图6TimingrelationbetweenPRACHandAICHasseenattheUE

对于PRACH,每20ms有15次接入的机会,如图7。

物理层首先要解决的第一个问题是:

选在哪个接入时隙发起前导?

图7PRACH接入时隙和AICH的定时关系(p-a=7680chips)

如果都选在时隙0,那么显然会造成冲突,结果是谁也接入不了。

在逻辑上,RACH分成了12个子信道。

在图4的PRACH有效子信道号中配置,如果12个子信道全部有效的话,该值应该是4095。

目前配置240,所以是第4、5、6、7子信道有效。

availableSubChannelNumbers{subCh7,subCh6,subCh5,subCh4}(12比特长度,1表示该子信道有效)。

但每个ASC从有效RACH子信道选出自己可用的一部分子信道。

在图4的ASC分配的子信道中有定义。

对于AICH_Transmission_Timing=0,把ASC的assignedSubChannelNumber值按照b2b1b0b2b1b0b2b1b0b2b1b0(忽略b3)排列得到掩码,然后和availableSubChannelNumbers的值进行AND操作,得出本ASC可用子信道号。

我们目前配置assignedSubChannelNumber都是全1,所以availableSubChannelNumbers中所有的有效子信道都可用,也就是对每个ASC,4、5、6、7子信道都可用。

对于AICH_Transmission_Timing=0,要按照b3b2b1b0b3b2b1b0b3b2b1b0进行AND操作。

prach-Partitioningfdd:

{

{

accessServiceClass-FDDASC0

{

availableSignatureStartIndex0,

availableSignatureEndIndex15,

assignedSubChannelNumber{b3,b2,b1,b0}

}

},

{

accessServiceClass-FDDASC1

{

availableSignatureStartIndex0,

availableSignatureEndIndex15,

assignedSubChannelNumber{b3,b2,b1,b0}

}

},

{

accessServiceClass-FDDASC2

{

availableSignatureStartIndex0,

availableSignatureEndIndex15,

assignedSubChannelNumber{b3,b2,b1,b0}

}

}

},

UE根据自己的ASC按上述操作得到可用RACH子信道组。

根据SFN从表5中找出可用的接入时隙,然后随机选择一个进行随机接入。

SFNmodulo8ofcorrespondingP-CCPCHframe

Sub-channelnumber

0

1

2

3

4

5

6

7

8

9

10

11

0

0

1

2

3

4

5

6

7

1

12

13

14

8

9

10

11

2

0

1

2

3

4

5

6

7

3

9

10

11

12

13

14

8

4

6

7

0

1

2

3

4

5

5

8

9

10

11

12

13

14

6

3

4

5

6

7

0

1

2

7

8

9

10

11

12

13

14

表5RACH子信道的有效上行链路接入时隙

4096个码片的前导码里面是由16比特的签名序列重复256次得到。

系统一共有16个可用的签名序列。

不同的签名序列如表6。

Preamble

signature

Valueofn

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

P0(n)

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

P1(n)

1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

P2(n)

1

1

-1

-1

1

1

-1

-1

1

1

-1

-1

1

1

-1

-1

P3(n)

1

-1

-1

1

1

-1

-1

1

1

-1

-1

1

1

-1

-1

1

P4(n)

1

1

1

1

-1

-1

-1

-1

1

1

1

1

-1

-1

-1

-1

P5(n)

1

-1

1

-1

-1

1

-1

1

1

-1

1

-1

-1

1

-1

1

P6(n)

1

1

-1

-1

-1

-1

1

1

1

1

-1

-1

-1

-1

1

1

P7(n)

1

-1

-1

1

-1

1

1

-1

1

-1

-1

1

-1

1

1

-1

P8(n)

1

1

1

1

1

1

1

1

-1

-1

-1

-1

-1

-1

-1

-1

P9(n)

1

-1

1

-1

1

-1

1

-1

-1

1

-1

1

-1

1

-1

1

P10(n)

1

1

-1

-1

1

1

-1

-1

-1

-1

1

1

-1

-1

1

1

P11(n)

1

-1

-1

1

1

-1

-1

1

-1

1

1

-1

-1

1

1

-1

P12(n)

1

1

1

1

-1

-1

-1

-1

-1

-1

-1

-1

1

1

1

1

P13(n)

1

-1

1

-1

-1

1

-1

1

-1

1

-1

1

1

-1

1

-1

P14(n)

1

1

-1

-1

-1

-1

1

1

-1

-1

1

1

1

1

-1

-1

P15(n)

1

-1

-1

1

-1

1

1

-1

-1

1

1

-1

1

-1

-1

1

表6前导签名序列

在SIB5的PRACH信息中,有可用的签名序列,目前是全部使用。

availableSignatures{signature15,signature14,signature13,signature12,signature11,signature10,signature9,signature8,signature7,signature6,signature5,signature4,signature3,signature2,signature1,signature0}。

每个ASC使用全部的签名序列。

所以UE值需要在签名序列中随机选择一个生成对应的前导码发走即可。

在发送前导码的时候,需要发送多大的功率呢?

第一次发前导的时候,并不能估计信道质量,所以只能开环功控。

UE首先要根据初始功率(constantValue)算出PRACH的初始发射功率,目前导频是33dBm,而初始功率是-21dB,所以PRACH的初始发射功率应该是12dBm,也就是16mw。

还有UE的发射功率不能超过它本身的最大功率,也就是说开环功率调整的发射功率必须在UE的最大发射功率和最小发射功率之间,超过这个范围按照边界值处理。

最小发射功率是-50dBm,最大发射功率根据UE的功率类型设定,如表7。

OperatingBand

PowerClass1

PowerClass2

PowerClass3

PowerClass4

Power

(dBm)

Tol

(dB)

Power

(dBm)

Tol

(dB)

Power

(dBm)

Tol

(dB)

Power

(dBm)

Tol

(dB)

BandI

+33

+1/-3

+27

+1/-3

+24

+1/-3

+21

+2/-2

BandII

-

-

-

-

+24

+1/-3

+21

+2/-2

BandIII

-

-

-

-

+24

+1/-3

+21

+2/-2

BandIV

-

-

-

-

+24

+1/-3

+21

+2/-2

BandV

-

-

-

-

+24

+1/-3

+21

+2/-2

BandVI

-

-

-

-

+24

+1/-3

+21

+2/-2

表7UEPowerClasses

发完前导后,UE就监测NodeB在对应的AICH信道时隙上的接入指示。

有三种结果:

收到允许接入指示、收到拒绝接入指示、没有响应。

收到AICH的确认应答,这是皆大欢喜的事情。

UE根据AICH_Transmission_Timing的定时参数,在严格的时间点上发送接入消息。

那么能发多大的消息呢?

rach-TransportFormatSetcommonTransChTFS:

{

ttitti20:

传输时间间隔为20ms

{

{

rlc-Sizefdd:

{

octetModeRLC-SizeInfoType2sizeType1:

15

对于RLC的大小,协议规定

OctetModeRLC-SizeInfoType2:

:

=CHOICE{

--Actualsize=(sizeType1*8)+48

sizeType1INTEGER(0..31),

--Actualsize=(sizeType2*16)+312

sizeType2INTEGER(0..63),

--Actualsize=(sizeType3*64)+1384

sizeType3INTEGER(0..56)

所以上面是15*8+48=168比特

},

numberOfTbSizeList

{

one:

NULL每个TTI最多只传1个168比特的传输块。

},

logicalChannelListconfigured:

NULL

},

{

rlc-Sizefdd:

{

octetModeRLC-SizeInfoType2sizeType2:

3

RLC大小是3*16+312=360比特

},

numberOfTbSizeList

{

one:

NULL每个TTI最多只传1个360比特的传输块。

},

logicalChannelListconfigured:

NULL

}

},

semistaticTF-Information

{

channelCodingTypeconvolutional:

half,1/2卷积编码

rateMatchingAttribute160,

crc-Sizecrc16

}

},

目前配置是1×168和1×360两个格式。

UE可以根据需要传输的数据量来选择合适的传输格式。

不同的格式它的βc和βd是可以不一样的,由高层进行配置。

rach-TFCSnormalTFCI-Signalling:

complete:

{

ctfcSizectfc2Bit:

{

{

ctfc20,

powerOffsetInformation

{

gainFactorInformationsignalledGainFactors:

{

modeSpecificInfofdd:

{

gainFactorBetaC11

},

gainFactorBetaD15

},

powerOffsetPp-m-1

}

},

{

ctfc21,

powerOffsetInformation

{

gainFactorInformationsignalledGainFactors:

{

modeSpecificInfofdd:

{

gainFactorBetaC11

},

gainFactorBetaD15

},

powerOffsetPp-m2

}

}

}

},

βc是无线帧中控制部分的增益因子(和DPCCH的βc一样),βd是无线帧中数据部分的增益因子(和DPDCH的βd一样),如图8。

控制部分和数据部分的相对功率通过这两个值可以确定,但它们的绝对功率到底发多少?

这由powerOffsetPp-m字段来决定。

它表示控制部分的传输功率必相邻前导(也就是最后一个前导)的功率高Pp-m[dB]。

从上面的配置看,当我们要发送1×360比较大的数据块时,需要配置更高的功率。

它比发1×168数据块的时候大3dB。

图8Structureoftherandom-accessmessagepartradioframe

如果收到拒绝接入指示,那么物理层向MAC层上报NackonAICHreceived状态,在10ms后,算出一个随机回退时间并等待,最后把控制权交回给MAC层,如图1。

也就是说本次的物理层随机接入结束了。

UE是如何算回退时间的呢?

大家在某一个时隙同时接入导致冲突后,如果回退时间又一致的话,将会出现再次冲突的恶果。

所以采用随机算法来回避。

回退定时器TBO1是这样定义的:

在0NBO1minNBO1NBO1max中间取随机的整数值NBO1,定时器的长度就是NBO1×10ms。

比如目前配置NBO1min=3,NBO1max=40(25331协议规定这两个值的范围是0~50),所以平均回退时间T=(3+40)/2=21.5ms。

rach-TransmissionParameters

{

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1