一:舉例——一個(gè)完整的隨機(jī)接入過(guò)程 先簡(jiǎn)要分析一個(gè)隨機(jī)接入的例子,本例是用高通工具QCAT來(lái)說(shuō)明,一次隨機(jī)接入過(guò)程如下圖所示: 從協(xié)議棧的工作機(jī)制來(lái)做一個(gè)簡(jiǎn)要解釋: UE的NAS層的MM子層,需要發(fā)起一次業(yè)務(wù)請(qǐng)求serviceRequest。因?yàn)?/span>NAS的MM層需要干活了,所以調(diào)用其下層的功能。于是,AS層的RRC層,開(kāi)始工作并為NAS的MM提供服務(wù)。注意,規(guī)范中經(jīng)常的一種描述是“上層調(diào)用下層的功能、下層給上一層提供服務(wù)”。 第二條信令,我們看到,RRC層封裝了RRC CONNECTION REQUEST的包,并傳遞給其下層PDCP/RLC/MAC去進(jìn)一步處理。PDCP/RLC層因與隨機(jī)過(guò)程接入基本無(wú)關(guān),故在QCAT的filter中已將其過(guò)濾。 于是,MAC層,開(kāi)始組織并觸發(fā)隨機(jī)接入過(guò)程,于是我們順次看到了MSG1/MSG2/MSG3,并在MSG4中競(jìng)爭(zhēng)成功并解決沖突(contention resolution)。 后面其他的信令這里不解釋。 很明顯,,這是從UE角度來(lái)看的、一次完整的隨機(jī)接入過(guò)程。 通過(guò)調(diào)用隨機(jī)接入過(guò)程,RRC層也完成了從一次從idle到connected的狀態(tài)轉(zhuǎn)換,并最終為MM層傳遞NAS信令Servicerequest至MME。 再看下時(shí)間: 如果從139到210定義這次時(shí)間,大概是71ms。 即可以認(rèn)為,UE花了大約70ms,完成了一次從空閑態(tài)到連接態(tài)的RRC狀態(tài)轉(zhuǎn)換。 大家應(yīng)該還記得LTE在25.913規(guī)范中的約定,LTE UE連接態(tài)到空閑態(tài)的遷徙時(shí)長(zhǎng)不得超過(guò)100ms。 為了讓大家看清楚里面的碼流,順次截圖如下 1. LTE NAS EMM Plain OTAOutgoing Message -- Service Request Msg (MM層的消息) 2. LTE RRC OTA Packet -- UL_CCCH (RRC層的消息,RRC CONREQ,注意里面有ue-identity這個(gè)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) 這些截圖具體里面涉及到的參數(shù)太多,限于篇幅,此處不能一一詳述。 二:隨機(jī)接入過(guò)程的流程解析 在LTE中,有五種情況,需要觸發(fā)隨機(jī)接入過(guò)程,描述如下:
每個(gè)小區(qū)中的UE可通過(guò)公共信令(比如SIB2中的RACH-ConfigCommon)或?qū)S眯帕睿ū热?/span>RRC重配置中的RACH-ConfigDedicated)等這些方式,獲得的RACH配置及隨機(jī)接入相關(guān)參數(shù)。UE生成最多64個(gè)Preamble,而這64個(gè)Preamble又被分為2組,因此隨機(jī)接入過(guò)程也被分為2種,即大家熟知的,基于競(jìng)爭(zhēng)的隨機(jī)接入和非競(jìng)爭(zhēng)的隨機(jī)接入。 1. 基于競(jìng)爭(zhēng)(contention based)的隨機(jī)接入:由UE自行選擇前導(dǎo)(preamble)序列,存在沖突的可能,需進(jìn)行競(jìng)爭(zhēng)解決(contention resolutioon)。 2. 基于非競(jìng)爭(zhēng)(contention free)的隨機(jī)接入:由網(wǎng)絡(luò)側(cè)eNodeB指定前導(dǎo)preamble,因?yàn)榛驹谀硞€(gè)時(shí)刻唯一指定前導(dǎo)序列所以不存在沖突,無(wú)需進(jìn)行競(jìng)爭(zhēng)解決。比如上面列舉的第3/5兩種情況,可以采用無(wú)競(jìng)爭(zhēng)的隨機(jī)接入。 競(jìng)爭(zhēng)的和無(wú)競(jìng)爭(zhēng)的隨機(jī)接入過(guò)程如下圖所示: 隨機(jī)接入的具體步驟解釋 第一步:隨機(jī)接入前導(dǎo)發(fā)送 確定前導(dǎo)序列 若eNodeB指定隨機(jī)接入前導(dǎo),則采用該分配的前導(dǎo);否則由UE進(jìn)行前導(dǎo)選擇:根據(jù)Msg 3消息長(zhǎng)度進(jìn)行隨機(jī)接入序列組(A組或B組)選擇,然后在所選擇的序列組中,按等概率原則隨機(jī)選擇一個(gè)前導(dǎo)序列號(hào)。 根據(jù)eNodeB指示的根ZC序列號(hào)、循環(huán)移位配置、是否采用restricted set(僅FDD)、以及前導(dǎo)序列號(hào),進(jìn)行ZC序列的選擇和循環(huán)移位的計(jì)算。 PRACH資源選擇和發(fā)射功率計(jì)算 根據(jù)PRACH配置、PRACH Mask索引、以及PRACH的相關(guān)定時(shí)約束,按等概率隨機(jī)原則,選擇一個(gè)PRACH資源進(jìn)行前導(dǎo)發(fā)送。 根據(jù)eNodeB指示的PRACH期望接收功率、前導(dǎo)格式和前導(dǎo)發(fā)送計(jì)數(shù),進(jìn)行PRACH開(kāi)環(huán)發(fā)射功率計(jì)算和power ramping過(guò)程??蓞⒖?/span>36.213. 第二步:隨機(jī)接入響應(yīng)接收 在由eNodeB指示長(zhǎng)度的搜索時(shí)間窗口內(nèi),進(jìn)行PDCCH監(jiān)測(cè)及盲檢,注意此時(shí)PDCCH的DCI的CRC部分,是用RA-RNTI來(lái)加擾的。 根據(jù)前導(dǎo)發(fā)送的子幀號(hào)和頻率索引來(lái)計(jì)算RA-RNTI(取值范圍1~60) eNodeB采用DCI Format 1A或1C發(fā)送該PDCCH DCI的格式大家可參考其他文檔,后面再專文解釋 若UE盲檢到一個(gè)由RA-RNTI加擾的PDCCH,則根據(jù)該PDCCH所含的下行調(diào)度信息,接收同一TTI(1ms)內(nèi)的PDSCH信道。 此時(shí),PDSCH攜帶了隨機(jī)接入響應(yīng)RAR的MAC PDU。 提取MAC PDU包含BI MAC子頭(若存在的話),用于更新Backoff值。 在RAR中讀取與發(fā)送前導(dǎo)相匹配的RAPIDMAC子頭和對(duì)應(yīng)的MAC RAR。 對(duì)該MAC RAR進(jìn)行解碼,提取TA命令、20-bit的上行授權(quán)(UL grant,也稱為隨機(jī)接入響應(yīng)授權(quán))和Temporary C-RNTI。 若是非競(jìng)爭(zhēng)的,則隨機(jī)接入過(guò)程成功結(jié)束;若是競(jìng)爭(zhēng)的則設(shè)定Temporary C-RNTI,并進(jìn)行UL grant解碼,準(zhǔn)備進(jìn)行Msg 3發(fā)送。 倘若UE未檢測(cè)到任何一個(gè)由RA-RNTI加擾的PDCCH,或者對(duì)應(yīng)隨機(jī)接入響應(yīng)中并沒(méi)有與發(fā)送前導(dǎo)相匹配的RAPID MAC子頭,則退回第一步,進(jìn)行一次新的前導(dǎo)發(fā)送嘗試。 若是基于競(jìng)爭(zhēng)的,基于Backoff值加入一個(gè)隨機(jī)延遲后,再進(jìn)行一次新的前導(dǎo)發(fā)送嘗試 將前導(dǎo)發(fā)送計(jì)數(shù)器加1,并相應(yīng)的調(diào)整前導(dǎo)發(fā)送功率(power ramping的過(guò)程也可參考36.213) 若前導(dǎo)發(fā)送次數(shù)達(dá)到最大限定次數(shù),則認(rèn)為該次隨機(jī)接入過(guò)程失敗,并向高層(RRC層)指示隨機(jī)接入失敗。 MAC PDU及MAC RAR結(jié)構(gòu)如下圖所示。 第三步:Msg 3發(fā)送 根據(jù)eNodeB指示的相關(guān)功控參數(shù)、路損估計(jì)、PUSCH發(fā)送所占RB數(shù)等等,計(jì)算Msg 3的開(kāi)環(huán)發(fā)射功率; 根據(jù)隨機(jī)接入響應(yīng)授權(quán),按指定的資源和格式在PUSCH上進(jìn)行Msg 3發(fā)送; 采用Temporary C-RNTI(第二步中收到的)進(jìn)行加擾; Msg 3中包含了用于競(jìng)爭(zhēng)解決的信息; 在由RRC連接建立/重建觸發(fā)的隨機(jī)接入中,在CCCHSDU中包含了UE Identity 其它情況(切換、上/下行數(shù)據(jù)待傳輸)觸發(fā)的隨機(jī)接入中,在C-RNTI MAC控制信元中包含了UE的C-RNTI Msg 3會(huì)采用上行HARQ來(lái)提高接收可靠性 采用上行HARQ來(lái)提高Msg 3的接收質(zhì)量??刹捎梅亲赃m應(yīng)重傳、或自適應(yīng)重傳,直到競(jìng)爭(zhēng)解決成功、或達(dá)到Msg 3最大重傳次數(shù)為止。 eNodeB通過(guò)TemporaryC-RNTI的上行授權(quán),來(lái)指示Msg 3的自適應(yīng)重傳,無(wú)論UE是否已經(jīng)被分配了一個(gè)C-RNTI,且無(wú)論NDI(新數(shù)指示)值是什么。 第四步:競(jìng)爭(zhēng)解決(MSG4) 每次Msg 3新傳輸/重傳后,啟動(dòng)或重新啟動(dòng)競(jìng)爭(zhēng)解決定時(shí)器mac-ContentionResolutionTimer。 競(jìng)爭(zhēng)解決情形一:在由RRC連接建立/重建觸發(fā)的隨機(jī)接入中,在CCCHSDU中包含了UE Identity。 檢測(cè)由TemporaryC-RNTI加擾的PDCCH,并根據(jù)該下行分配將對(duì)應(yīng)的PDSCH進(jìn)行解碼(MSG4)。 若該PDSCH解碼OK,檢查UEContention Resolution Identity MAC控制信元中所含內(nèi)容是否與Msg 3發(fā)送的CCCH SDU攜帶的UEIdentity相匹配,若匹配,競(jìng)爭(zhēng)通過(guò)。 若競(jìng)爭(zhēng)解決通過(guò),UE將TemporaryC-RNTI升級(jí)為C-RNTI 。 競(jìng)爭(zhēng)解決情形二:其它情況(切換、上/下行數(shù)據(jù)待傳輸)觸發(fā)的隨機(jī)接入中,在C-RNTI MAC控制信元中包含了UE的C-RNTI 。 若隨機(jī)接入過(guò)程由UE發(fā)起,檢測(cè)由C-RNTI加擾的PDCCH上行授權(quán)。 若隨機(jī)接入過(guò)程由eNodeB發(fā)起(PDCCHorder),檢測(cè)由C-RNTI加擾的PDCCH。 若競(jìng)爭(zhēng)解決成功,丟棄TemporaryC-RNTI 。 競(jìng)爭(zhēng)解決中的下行HARQ過(guò)程 eNodeB發(fā)送用于競(jìng)爭(zhēng)解決的PDSCH時(shí),也采用HARQ過(guò)程來(lái)提高該PDSCH接收可靠性。 僅競(jìng)爭(zhēng)解決成功的UE反饋ACK,否則(PDSCH未成功譯碼、或PDSCH成功譯碼但競(jìng)爭(zhēng)解決失?。┎环答伻魏?/span>ACK/NACK。這樣做,能防止由于PUCCH ACK/NACK信道上的沖突而導(dǎo)致ACK/NACK接收質(zhì)量惡化。 若競(jìng)爭(zhēng)解決失敗,或競(jìng)爭(zhēng)解決定時(shí)器超時(shí),則認(rèn)為競(jìng)爭(zhēng)解決失敗,退回第一步進(jìn)行一次新的前導(dǎo)發(fā)送嘗試 若是基于競(jìng)爭(zhēng)的,基于Backoff值加入一個(gè)隨機(jī)延遲后,再進(jìn)行一次新的前導(dǎo)發(fā)送嘗試。功率ramping。 若前導(dǎo)發(fā)送次數(shù)達(dá)到最大限定次數(shù),則認(rèn)為該次隨機(jī)接入過(guò)程失敗,并向高層RRC指示本次隨機(jī)接入失敗。 一次隨機(jī)接入過(guò)程示意圖如下(這是找到的最好的圖了): 三:幾點(diǎn)解釋: 1. 關(guān)于UE-identity,只有兩種可能,S-TMSI或randomvalue。RandoVaule的空間、協(xié)議定義是2的40次方。即如果UE有S-TMSI就使用S-TMSI;若沒(méi)有S-TMSI,那么在MSG3中,會(huì)在0到2^40-1中選擇一個(gè)隨機(jī)數(shù),作為MSG3中的UE-Identity IE。 UE-identity是用來(lái)解決沖突的唯一判據(jù)。 2. 關(guān)于前文提到的TimeAlignmentTime定時(shí)器的解釋,在TS36.331中的描述摘錄如下,此定時(shí)器通過(guò)公共信令或?qū)S眯帕顐鬟f到UE: – TimeAlignmentTimerThe 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 關(guān)于TimeAlignmentTime的解釋,在TS 36.321中的描述摘錄如下: 5.2 Maintenance of Uplink Time AlignmentThe 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. 信令中關(guān)于RACH及隨機(jī)接入?yún)?shù)的IE定義 – RACH-ConfigDedicatedThe 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-ConfigCommonThe 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中下發(fā)的關(guān)于RACH的相關(guān)參數(shù)見(jiàn)下圖: 而切換的時(shí)候,基站傳遞到UE的專用的RACH參數(shù)見(jiàn)下圖: 限于篇幅和時(shí)間關(guān)系,春天工作室 關(guān)于隨機(jī)接入過(guò)程的討論和分享,今天就到此為止,歡迎指正、勘誤和探討。 |
|