隨機接入過程解析


一:舉例——一個完整的隨機接入過程

 http://www.360doc.com/content/17/0828/20/46887361_682852152.shtml

先簡要分析一個隨機接入的例子,本例是用高通工具QCAT來說明,一次隨機接入過程如下圖所示:

從協議棧的工作機制來做一個簡要解釋:

UE的NAS層的MM子層,需要發起一次業務請求serviceRequest。因為NAS的MM層需要干活了,所以調用其下層的功能。於是,AS層的RRC層,開始工作並為NAS的MM提供服務。注意,規范中經常的一種描述是“上層調用下層的功能、下層給上一層提供服務”。

第二條信令,我們看到,RRC層封裝了RRC CONNECTION REQUEST的包,並傳遞給其下層PDCP/RLC/MAC去進一步處理。PDCP/RLC層因與隨機過程接入基本無關,故在QCAT的filter中已將其過濾。

於是,MAC層,開始組織並觸發隨機接入過程,於是我們順次看到了MSG1/MSG2/MSG3,並在MSG4中競爭成功並解決沖突(contention resolution)。

后面其他的信令這里不解釋。

很明顯,,這是從UE角度來看的、一次完整的隨機接入過程。 通過調用隨機接入過程,RRC層也完成了從一次從idle到connected的狀態轉換,並最終為MM層傳遞NAS信令Servicerequest至MME。

再看下時間: 如果從139到210定義這次時間,大概是71ms。 即可以認為,UE花了大約70ms,完成了一次從空閑態到連接態的RRC狀態轉換。 大家應該還記得LTE在25.913規范中的約定,LTE UE連接態到空閑態的遷徙時長不得超過100ms。

為了讓大家看清楚里面的碼流,順次截圖如下

1. LTE NAS EMM Plain OTAOutgoing Message -- Service Request Msg (MM層的消息)

2. LTE RRC OTA Packet -- UL_CCCH (RRC層的消息,RRC CONREQ,注意里面有ue-identity這個IE)

3. LTE Random Access Request (MSG1) Report (注意里面的RA-RNTI)

4. LTE Random AccessResponse (MSG2) Report (注意里面的Temp-C-RNTI)

5. LTE UE Identification Message (MSG3)Report

6. LTE Contention Resolution Message (MSG4) Report (注意 contentionresult=Pass)

7. LTE RRC OTA Packet -- DL_CCCH (rrcConnectionSetup)

8. LTE RRC OTA Packet -- UL_DCCH(rrcConnectionSetupComplete)

 

這些截圖具體里面涉及到的參數太多,限於篇幅,此處不能一一詳述。

 

 

二:隨機接入過程的流程解析

 

在LTE中,有五種情況,需要觸發隨機接入過程,描述如下:

  1. 在RRC_IDLE態下,進行RRC連接建立請求。

  2. 進行RRC連接重建請求。(RRC重建有5種原因,前面博文有描述。無線鏈路失敗、切換失敗、完整性保護失敗、RRC重配置失敗,mobility from E-UTRA失敗)

  3. 切換過程中,通過隨機接入獲取與目標小區的上行同步。

  4. 在RRC_CONNECTED態下,當有上行數據需要發送時,但卻沒有可用的PUCCH SR資源時,此時UE需要通過隨機接入請求獲得上行的調度資源授權;或在RRC_CONNECTED態下,當有上行數據需要發送時,而上行處於失步狀態(定時器TimeAlignmentTimer超時),那么需要通過隨機接入過程,進行上行同步並請求上行調度資源授權。

  5. 在RRC_CONNECTED態下,當有下行數據需要發送時,而上行處於失步狀態(定時器TimeAlignmentTimer超時),此時由網絡通過下發PDCCH order、從而觸發隨機接入。

 

每個小區中的UE可通過公共信令(比如SIB2中的RACH-ConfigCommon)或專用信令(比如RRC重配置中的RACH-ConfigDedicated)等這些方式,獲得的RACH配置及隨機接入相關參數。UE生成最多64個Preamble,而這64個Preamble又被分為2組,因此隨機接入過程也被分為2種,即大家熟知的,基於競爭的隨機接入和非競爭的隨機接入。

1. 基於競爭(contention based)的隨機接入:由UE自行選擇前導(preamble)序列,存在沖突的可能,需進行競爭解決(contention resolutioon)。

2. 基於非競爭(contention free)的隨機接入:由網絡側eNodeB指定前導preamble,因為基站在某個時刻唯一指定前導序列所以不存在沖突,無需進行競爭解決。比如上面列舉的第3/5兩種情況,可以采用無競爭的隨機接入。

 

競爭的和無競爭的隨機接入過程如下圖所示:

 

 

隨機接入的具體步驟解釋

 

第一步:隨機接入前導發送

 

確定前導序列

若eNodeB指定隨機接入前導,則采用該分配的前導;否則由UE進行前導選擇:根據Msg 3消息長度進行隨機接入序列組(A組或B組)選擇,然后在所選擇的序列組中,按等概率原則隨機選擇一個前導序列號。

根據eNodeB指示的根ZC序列號、循環移位配置、是否采用restricted set(僅FDD)、以及前導序列號,進行ZC序列的選擇和循環移位的計算。

PRACH資源選擇和發射功率計算

根據PRACH配置、PRACH Mask索引、以及PRACH的相關定時約束,按等概率隨機原則,選擇一個PRACH資源進行前導發送。

根據eNodeB指示的PRACH期望接收功率、前導格式和前導發送計數,進行PRACH開環發射功率計算和power ramping過程。可參考36.213.

 

第二步:隨機接入響應接收

在由eNodeB指示長度的搜索時間窗口內,進行PDCCH監測及盲檢,注意此時PDCCH的DCI的CRC部分,是用RA-RNTI來加擾的。

根據前導發送的子幀號和頻率索引來計算RA-RNTI(取值范圍1~60)

eNodeB采用DCI Format 1A或1C發送該PDCCH

DCI的格式大家可參考其他文檔,后面再專文解釋

 

若UE盲檢到一個由RA-RNTI加擾的PDCCH,則根據該PDCCH所含的下行調度信息,接收同一TTI(1ms)內的PDSCH信道。

此時,PDSCH攜帶了隨機接入響應RAR的MAC PDU。

提取MAC PDU包含BI MAC子頭(若存在的話),用於更新Backoff值。

在RAR中讀取與發送前導相匹配的RAPIDMAC子頭和對應的MAC RAR。

對該MAC RAR進行解碼,提取TA命令、20-bit的上行授權(UL grant,也稱為隨機接入響應授權)和Temporary C-RNTI。

若是非競爭的,則隨機接入過程成功結束;若是競爭的則設定Temporary C-RNTI,並進行UL grant解碼,准備進行Msg 3發送。

 

倘若UE未檢測到任何一個由RA-RNTI加擾的PDCCH,或者對應隨機接入響應中並沒有與發送前導相匹配的RAPID MAC子頭,則退回第一步,進行一次新的前導發送嘗試。

若是基於競爭的,基於Backoff值加入一個隨機延遲后,再進行一次新的前導發送嘗試

將前導發送計數器加1,並相應的調整前導發送功率(power ramping的過程也可參考36.213)

若前導發送次數達到最大限定次數,則認為該次隨機接入過程失敗,並向高層(RRC層)指示隨機接入失敗。

 

 

MAC PDU及MAC RAR結構如下圖所示。

 

第三步:Msg 3發送

根據eNodeB指示的相關功控參數、路損估計、PUSCH發送所占RB數等等,計算Msg 3的開環發射功率;

根據隨機接入響應授權,按指定的資源和格式在PUSCH上進行Msg 3發送;

采用Temporary C-RNTI(第二步中收到的)進行加擾;

Msg 3中包含了用於競爭解決的信息;

在由RRC連接建立/重建觸發的隨機接入中,在CCCHSDU中包含了UE Identity

其它情況(切換、上/下行數據待傳輸)觸發的隨機接入中,在C-RNTI MAC控制信元中包含了UE的C-RNTI

Msg 3會采用上行HARQ來提高接收可靠性

采用上行HARQ來提高Msg 3的接收質量。可采用非自適應重傳、或自適應重傳,直到競爭解決成功、或達到Msg 3最大重傳次數為止。

eNodeB通過TemporaryC-RNTI的上行授權,來指示Msg 3的自適應重傳,無論UE是否已經被分配了一個C-RNTI,且無論NDI(新數指示)值是什么。

 

第四步:競爭解決(MSG4)

每次Msg 3新傳輸/重傳后,啟動或重新啟動競爭解決定時器mac-ContentionResolutionTimer。

 

競爭解決情形一:在由RRC連接建立/重建觸發的隨機接入中,在CCCHSDU中包含了UE Identity。

檢測由TemporaryC-RNTI加擾的PDCCH,並根據該下行分配將對應的PDSCH進行解碼(MSG4)。

若該PDSCH解碼OK,檢查UEContention Resolution Identity MAC控制信元中所含內容是否與Msg 3發送的CCCH SDU攜帶的UEIdentity相匹配,若匹配,競爭通過。

若競爭解決通過,UE將TemporaryC-RNTI升級為C-RNTI 。

 

競爭解決情形二:其它情況(切換、上/下行數據待傳輸)觸發的隨機接入中,在C-RNTI MAC控制信元中包含了UE的C-RNTI 。

若隨機接入過程由UE發起,檢測由C-RNTI加擾的PDCCH上行授權。

若隨機接入過程由eNodeB發起(PDCCHorder),檢測由C-RNTI加擾的PDCCH。

若競爭解決成功,丟棄TemporaryC-RNTI 。

 

競爭解決中的下行HARQ過程

eNodeB發送用於競爭解決的PDSCH時,也采用HARQ過程來提高該PDSCH接收可靠性。

僅競爭解決成功的UE反饋ACK,否則(PDSCH未成功譯碼、或PDSCH成功譯碼但競爭解決失敗)不反饋任何ACK/NACK。這樣做,能防止由於PUCCH ACK/NACK信道上的沖突而導致ACK/NACK接收質量惡化。

 

若競爭解決失敗,或競爭解決定時器超時,則認為競爭解決失敗,退回第一步進行一次新的前導發送嘗試

若是基於競爭的,基於Backoff值加入一個隨機延遲后,再進行一次新的前導發送嘗試。功率ramping。

若前導發送次數達到最大限定次數,則認為該次隨機接入過程失敗,並向高層RRC指示本次隨機接入失敗。

 

 

一次隨機接入過程示意圖如下(這是找到的最好的圖了):

 

 

 

 

三:幾點解釋:

1. 關於UE-identity,只有兩種可能,S-TMSI或randomvalue。RandoVaule的空間、協議定義是2的40次方。即如果UE有S-TMSI就使用S-TMSI;若沒有S-TMSI,那么在MSG3中,會在0到2^40-1中選擇一個隨機數,作為MSG3中的UE-Identity IE。 UE-identity是用來解決沖突的唯一判據。

2. 關於前文提到的TimeAlignmentTime定時器的解釋,在TS36.331中的描述摘錄如下,此定時器通過公共信令或專用信令傳遞到UE:

– TimeAlignmentTimer

The IE TimeAlignmentTimer is used to control how long the UE is considereduplink time aligned. Corresponds to the Timer for time alignment inTS 36.321 [6]. Value in number of sub-frames. Value sf500 corresponds to500 sub-frames, sf750 corresponds to 750 sub-frames and so on. In this releaseof the specification, uplink time alignment is common for all serving cells.

TimeAlignmentTimer informationelement

-- ASN1START

 

TimeAlignmentTimer ::= ENUMERATED {

sf500, sf750, sf1280, sf1920, sf2560, sf5120,

sf10240, infinity}

-- ASN1STOP

 

 

關於TimeAlignmentTime的解釋,在TS 36.321中的描述摘錄如下:

5.2 Maintenance of Uplink Time Alignment

The UE has aconfigurable timer timeAlignmentTimer which is used to control how long the UE is considered uplink timealigned [8].

The UE shall:

- when a Timing Advance Command MAC control element is received:

- apply the Timing Advance Command;

- start or restart timeAlignmentTimer.

- when a TimingAdvance Command is received in a Random AccessResponse message:

- if the Random Access Preamble was not selected by UE MAC:

- apply the Timing Advance Command;

- start or restart timeAlignmentTimer.

- else, if the timeAlignmentTimer is not running:

- apply the Timing Advance Command;

- start timeAlignmentTimer;

- when the contention resolution isconsidered not successful as described in subclause 5.1.5, stop timeAlignmentTimer.

- else:

- ignore the received Timing Advance Command.

- when timeAlignmentTimerexpires:

- flush all HARQ buffers;

- notifyRRC torelease PUCCH/SRS;

- clearany configured downlink assignments and uplink grants.

The UE shall notperform any uplink transmission except the Random Access Preamble transmissionwhen timeAlignmentTimer is notrunning.

 

3. 信令中關於RACH及隨機接入參數的IE定義

– RACH-ConfigDedicated

The IE RACH-ConfigDedicated is used to specify thededicated random access parameters.

RACH-ConfigDedicated informationelement

-- ASN1START

 

RACH-ConfigDedicated::= SEQUENCE {

ra-PreambleIndex INTEGER(0..63),

ra-PRACH-MaskIndex INTEGER(0..15)

}

 

-- ASN1STOP

 

– RACH-ConfigCommon

The IE RACH-ConfigCommon is used to specify thegeneric random access parameters.

RACH-ConfigCommon information element

-- ASN1START

 

RACH-ConfigCommon ::= SEQUENCE {

preambleInfo SEQUENCE{

numberOfRA-Preambles ENUMERATED{

n4, n8, n12, n16 ,n20,n24, n28,

n32, n36, n40, n44, n48,n52, n56,

n60, n64},

preamblesGroupAConfig SEQUENCE{

sizeOfRA-PreamblesGroupA ENUMERATED{

n4, n8, n12, n16,n20, n24, n28,

n32, n36, n40, n44,n48, n52, n56,

n60},

messageSizeGroupA ENUMERATED{b56, b144, b208, b256},

messagePowerOffsetGroupB ENUMERATED{

minusinfinity, dB0,dB5, dB8, dB10, dB12,

dB15, dB18},

...

} OPTIONAL --Need OP

},

powerRampingParameters SEQUENCE{

powerRampingStep ENUMERATED{dB0, dB2,dB4, dB6},

preambleInitialReceivedTargetPower ENUMERATED {

dBm-120, dBm-118,dBm-116, dBm-114, dBm-112,

dBm-110, dBm-108,dBm-106, dBm-104, dBm-102,

dBm-100, dBm-98, dBm-96,dBm-94,

dBm-92, dBm-90}

},

ra-SupervisionInfo SEQUENCE{

preambleTransMax ENUMERATED{

n3, n4, n5, n6, n7, n8, n10, n20, n50,

n100, n200},

ra-ResponseWindowSize ENUMERATED{

sf2, sf3, sf4, sf5, sf6,sf7,

sf8, sf10},

mac-ContentionResolutionTimer ENUMERATED {

sf8,sf16, sf24, sf32, sf40, sf48,

sf56,sf64}

},

maxHARQ-Msg3Tx INTEGER(1..8),

...

}

 

-- ASN1STOP

 

最后,SIB2中下發的關於RACH的相關參數見下圖:

而切換的時候,基站傳遞到UE的專用的RACH參數見下圖:

 

限於篇幅和時間關系,春天工作室 關於隨機接入過程的討論和分享,今天就到此為止,歡迎指正、勘誤和探討。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM