PageSourceSearch

https://nrexplained.com/_next/static/chunks/pages/ra_msg1-a5ffcb2bde65cd819fa0.js

js nrexplained.com collected 2026-10-06 12:14:51 UTC 18,301 bytes, 1 lines download raw bytes

1_N_E=(window.webpackJsonp_N_E=window.webpackJsonp_N_E||[]).push([[66],{"Qn+y":function(e,s,i){"use strict";i.r(s),i.d(s,"default",(function(){return p}));var c=i("nKUr"),t=i("q1tI"),n=i("8lYe"),r=i("b0oO"),o=i("SFb0"),a=i("KXDj"),d=i("hAPS"),l=i("W9HR"),j=i("vRNQ"),b=i.n(j),h=i("KZ+0"),x=(i("EvlH"),i("mrQI")),m=i("IObe"),O=i.n(m);function p(){var e=Object(t.useState)(!0),s=e[0],i=e[1];return Object(c.jsxs)("div",{className:b.a.wrapper,children:[Object(c.jsx)(r.a,{title:"Random Access MSG1",keywords:"3GPP, 5G, NR, NR explained, Random access procedure, RA, PRACH, MSG1, random access preamble.",description:"Physical layer procedures for control: random access procedure, random access preamble, MSG1. Reference: 3GPP TS 38.213.",url:"ra_msg1"}),Object(c.jsx)(d.a,{showSidebar:s}),Object(c.jsxs)("main",{className:b.a.main,children:[Object(c.jsx)(a.a,{}),Object(c.jsx)(l.a,{title:["Random access: random access preamble (MSG1)","V15.11.0"],showSidebar:s,setShowSidebar:i}),Object(c.jsx)("p",{children:"Physical random access procedure is triggered upon request of a PRACH transmission by higher layers or by a PDCCH order. A configuration by higher layers for a PRACH transmission includes the following:"}),Object(c.jsxs)("ul",{children:[Object(c.jsx)("li",{children:"A configuration for PRACH transmission"}),Object(c.jsxs)("li",{children:["A preamble index, a preamble SCS, ",Object(c.jsxs)("em",{children:["P",Object(c.jsx)("sub",{children:"PRACH,target"})]}),", a corresponding RA-RNTI, and a PRACH resource"]})]}),Object(c.jsxs)("p",{children:["A PRACH is transmitted using the selected PRACH format with transmission power ",Object(c.jsxs)("em",{children:["P",Object(c.jsx)("sub",{children:"PRACH,b,f,c"})]}),"(",Object(c.jsx)("em",{children:"i"}),"), on the indicated PRACH resource."]}),Object(c.jsxs)("p",{children:["A UE is provided a number ",Object(c.jsx)("em",{children:"N"})," of SS/PBCH blocks associated with one PRACH occasion and a number ",Object(c.jsx)("em",{children:"R"})," of contention based preambles per SS/PBCH block per valid PRACH occasion by ",Object(c.jsxs)("em",{children:[Object(c.jsx)("strong",{children:"ssb-perRACH-Occasion"}),"And",Object(c.jsx)("strong",{children:"CB-PreamblesPerSSB"})]})," in ",Object(c.jsx)(o.default,{href:"/rrc#RACHConfigCommon",text:"RACH-ConfigCommon"}),"."]}),Object(c.jsxs)("ul",{children:[Object(c.jsxs)("li",{children:[Object(c.jsx)("strong",{children:Object(c.jsx)("em",{children:"N < 1"})}),": one SS/PBCH block is mapped to ",Object(c.jsx)("em",{children:"1/N"})," consecutive valid PRACH occasions, and",Object(c.jsx)("br",{}),Object(c.jsx)("em",{children:"R"})," contention based preambles with consecutive indexes associated with the SS/PBCH block per valid PRACH occasion start from preamble index 0"]}),Object(c.jsxs)("li",{children:[Object(c.jsx)("strong",{children:Object(c.jsx)("em",{children:"N \u2265 1"})}),": ",Object(c.jsx)("em",{children:"N"})," SS/PBCH blocks are associated with one PRACH occasion, and",Object(c.jsx)("br",{}),"each SSB is associated with ",Object(c.jsx)("em",{children:"R"})," preambles, with index starts from  ",Object(c.jsx)(x.default,{formula:"n\\cdot N_{preamble}^{total}/N"}),", where ",Object(c.jsx)(x.default,{formula:"N_{preamble}^{total}"})," is provided by ",Object(c.jsx)("em",{children:"totalNumberOfRA-Preambles"})," in ",Object(c.jsx)(o.default,{href:"/rrc#RACHConfigCommon",text:"RACH-ConfigCommon"})," and is an integer multiple of ",Object(c.jsx)("em",{children:"N"}),", ",Object(c.jsx)("em",{children:"0 \u2264 n \u2264 N - 1"}),"."]})]}),Object(c.jsx)(h.CalcPreamble,{}),Object(c.jsx)("br",{}),Object(c.jsxs)("p",{children:["For ",Object(c.jsx)("strong",{children:"link recovery"}),", a UE is provided ",Object(c.jsx)("em",{children:"N"})," SS/PBCH blocks associated with one PRACH occasion by ",Object(c.jsx)("em",{children:"ssb-perRACHOccasion"})," in ",Object(c.jsx)(o.default,{href:"/rrc#BeamFailureRecoveryConfig",text:"BeamFailureRecoveryConfig"}),". For a dedicated RACH configuration provided by ",Object(c.jsx)(o.default,{href:"/rrc#RACHConfigDedicated",text:"RACH-ConfigDedicated"}),", if cfra is provided, a UE is provided ",Object(c.jsx)("em",{children:"N"})," SS/PBCH blocks associated with one PRACH occasion by ",Object(c.jsx)("em",{children:"ssb-perRACHOccasion"})," in occasions."]}),Object(c.jsxs)("ul",{children:[Object(c.jsxs)("li",{children:[Object(c.jsx)("strong",{children:Object(c.jsx)("em",{children:"N < 1"})}
1),": one SS/PBCH block is mapped to ",Object(c.jsx)("em",{children:"1/N"})," consecutive valid PRACH occasions."]}),Object(c.jsxs)("li",{children:[Object(c.jsx)("strong",{children:Object(c.jsx)("em",{children:"N \u2265 1"})}),": all consecutive ",Object(c.jsx)("em",{children:"N"})," SS/PBCH blocks are associated with one PRACH occasion."]})]}),Object(c.jsx)("hr",{}),Object(c.jsx)("h4",{children:"How to map SSBs to valid PRACH occasions"}),Object(c.jsxs)("p",{children:["SS/PBCH block indexes provided by ",Object(c.jsx)("em",{children:"ssb-PositionsInBurst"})," in ",Object(c.jsx)(o.default,{href:"/rrc#SIB1",text:"SIB1"})," or in ",Object(c.jsx)(o.default,{href:"/rrc#ServingCellConfigCommon",text:"ServingCellConfigCommon"})," are mapped to ",Object(c.jsx)("strong",{children:"valid PRACH occasions"})," in the following order:"]}),Object(c.jsxs)("ol",{style:{width:"95%",marginTop:"0"},children:[Object(c.jsxs)("li",{children:["in increasing order of preamble indexes within a single PRACH occasion. ",Object(c.jsxs)("span",{className:b.a.what,children:["Defined by ",Object(c.jsx)("em",{children:"N"}),", which is ",Object(c.jsx)("em",{children:"ssb-perRACHOccasion"}),". If ",Object(c.jsx)("em",{children:"N < 1"}),", ",Object(c.jsx)("em",{children:"1 / N"})," SSBs will be mapped to one PRACH occasion."]})]}),Object(c.jsxs)("li",{children:["in increasing order of frequency resource indexes for frequency multiplexed PRACH occasions. ",Object(c.jsxs)("span",{className:b.a.what,children:["If ",Object(c.jsx)("em",{children:"msg1-FDM"})," (possible values 1, 2, 4, 8) in ",Object(c.jsx)(o.default,{href:"/rrc#RACHConfigGeneric",text:"RACH-ConfigGeneric"})," > 1, there'll be multiple PRACH occasions in one time instance, multiplexed in frequency domain."]})]}),Object(c.jsxs)("li",{children:["in increasing order of time resource indexes for time multiplexed PRACH occasions within a PRACH slot. ",Object(c.jsxs)("span",{className:b.a.what,children:["the time domain PRACH configuration is indicated by ",Object(c.jsx)("em",{children:"prach-ConfigurationIndex"})," in ",Object(c.jsx)(o.default,{href:"/rrc#RACHConfigGeneric",text:"RACH-ConfigGeneric"}),", which is an index to the configuration tables defined in ",Object(c.jsx)(o.default,{href:"https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3213",text:"TS 38.211"})," clause 6.3.3.2."]})]}),Object(c.jsx)("li",{children:"in increasing order of indexes for PRACH slots"})]}),Object(c.jsx)("p",{children:"Definition of terminologies:"}),Object(c.jsxs)("ul",{children:[Object(c.jsxs)("li",{children:[Object(c.jsx)("strong",{children:"Association period"}),": ",Object(c.jsx)("span",{style:{color:"gray"},children:"starting from frame 0, for mapping SS/PBCH blocks to PRACH occasions,"})," is the smallest value in the set determined by the ",Object(c.jsx)("strong",{children:"PRACH configuration period"})," according Table 8.1-1 such that ",Object(c.jsx)(x.default,{formula:"N_{TX}^{SSB}"})," SS/PBCH blocks are mapped at least once to the PRACH occasions within the association period."]}),Object(c.jsxs)("li",{children:[Object(c.jsx)("strong",{children:Object(c.jsx)(x.default,{formula:"N_{TX}^{SSB}"})}),": obtained from the value of ",Object(c.jsx)("em",{children:"ssb-PositionsInBurst"})," in ",Object(c.jsx)(o.default,{href:"/rrc#SIB1",text:"SIB1"})," or in ",Object(c.jsx)(o.default,{href:"ServingCellConfigCommon",text:"ServingCellConfigCommon"}),".",Object(c.jsx)("br",{}),"If after an integer number of SS/PBCH blocks to PRACH occasions mapping cycles within the association period there is a set of PRACH occasions or PRACH preambles that are not mapped to ",Object(c.jsx)(x.default,{formula:"N_{TX}^{SSB}"})," SS/PBCH blocks, no SS/PBCH blocks are mapped to the set of PRACH occasions or PRACH preambles."]}),Object(c.jsxs)("li",{children:[Object(c.jsx)("strong",{children:"Association pattern period"}),": includes one or more ",Object(c.jsx)("strong",{children:"association periods"})," and is determined so that a pattern between PRACH occasions and SS/PBCH blocks repeats at most every 160 msec. PRACH occasions not associated with SS/PBCH blocks after an integer number of association periods, if any, are not used for PRACH transmissions."]})]}),Object(c.jsx)(h.MapSsbToOccasion,{}
1),Object(c.jsx)("hr",{}),Object(c.jsx)("p",{children:"For a PRACH transmission triggered by a PDCCH order, the PRACH mask index field, if the value of the random access preamble index field is not zero, indicates the PRACH occasion for the PRACH transmission where the PRACH occasions are associated with the SS/PBCH block index indicated by the SS/PBCH block index field of the PDCCH order."}),Object(c.jsxs)("p",{children:["For a PRACH transmission triggered by higher layers, if ",Object(c.jsx)("em",{children:"ssb-ResourceList"})," is provided, the PRACH mask index is indicated by ",Object(c.jsx)("em",{children:"ra-ssb-OccasionMaskIndex"})," which indicates the PRACH occasions for the PRACH transmission where the PRACH occasions are associated with the selected SS/PBCH block index."]}),Object(c.jsx)("p",{children:"The PRACH occasions are mapped consecutively per corresponding SS/PBCH block index. The indexing of the PRACH occasion indicated by the mask index value is reset per mapping cycle of consecutive PRACH occasions per SS/PBCH block index. The UE selects for a PRACH transmission the PRACH occasion indicated by PRACH mask index value for the indicated SS/PBCH block index in the first available mapping cycle."}),Object(c.jsx)("p",{children:"For the indicated preamble index, the ordering of the PRACH occasions is"}),Object(c.jsxs)("ol",{style:{width:"95%",marginTop:"0"},children:[Object(c.jsx)("li",{children:"in increasing order of frequency resource indexes for frequency multiplexed PRACH occasions"}),Object(c.jsx)("li",{children:"in increasing order of time resource indexes for time multiplexed PRACH occasions within a PRACH slot"}),Object(c.jsx)("li",{children:"in increasing order of indexes for PRACH slots"})]}),Object(c.jsxs)("p",{children:["For a PRACH transmission triggered upon request by higher layers, a value of ",Object(c.jsx)("em",{children:"ra-OccasionList"}),", if ",Object(c.jsx)("em",{children:"csirs-ResourceList"})," is provided, indicates a list of PRACH occasions for the PRACH transmission where the PRACH occasions are associated with the selected CSI-RS index indicated by csi-RS. The indexing of the PRACH occasions indicated by ",Object(c.jsx)("em",{children:"ra-OccasionList"})," is reset per association pattern period."]}),Object(c.jsx)("strong",{children:O.a.table_8_1_1_mapping_between_prach_configuration_period_and_ssb_to_prach_occasion_association_period.title}),Object(c.jsxs)("table",{children:[Object(c.jsx)("thead",{children:Object(c.jsx)("tr",{children:O.a.table_8_1_1_mapping_between_prach_configuration_period_and_ssb_to_prach_occasion_association_period.head.map((function(e,s){return Object(c.jsx)("th",{children:e},s)}))})}),Object(c.jsx)("tbody",{children:O.a.table_8_1_1_mapping_between_prach_configuration_period_and_ssb_to_prach_occasion_association_period.body.map((function(e,s){return Object(c.jsxs)("tr",{children:[Object(c.jsx)("td",{children:e[0]}),Object(c.jsxs)("td",{children:["{",e[1].join(", "),"}"]})]},s)}))})]}),Object(c.jsx)("hr",{}),Object(c.jsx)("h4",{children:"How to decide if a PRACH occasion is valid"}),Object(c.jsxs)("p",{children:["For paired spectrum or supplementary uplink band ",Object(c.jsx)("strong",{children:"all PRACH occasions are valid"}),"."]}),Object(c.jsx)("p",{children:"For unpaired spectrum:"}),Object(c.jsxs)("ul",{children:[Object(c.jsxs)("li",{children:["if a UE is not provided ",Object(c.jsx)(o.default,{href:"/rrc#TDDULDLConfigCommon",text:"tdd-UL-DL-ConfigurationCommon"}),", a PRACH occasion in a PRACH slot is valid if it does not precede a SS/PBCH block in the PRACH slot and starts at least ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})," symbols after a last SS/PBCH block symbol, where ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})," is provided in Table 8.1-2."]}),Object(c.jsxs)("li",{children:["If a UE is provided ",Object(c.jsx)(o.default,{href:"/rrc#TDDULDLConfigCommon",text:"tdd-UL-DL-ConfigurationCommon"}),", a PRACH occasion in a PRACH slot is valid if",Object(c.jsxs)("ul",{children:[Object(c.jsx)("li",{children:"it is 
1within UL symbols, or"}),Object(c.jsxs)("li",{children:["it does not precede a SS/PBCH block in the PRACH slot and starts at least ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})," symbols after a last downlink symbol and at least ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})," symbols after a last SS/PBCH block symbol, where ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})," is provided in Table 8.1-2."]})]})]})]}),Object(c.jsxs)("p",{children:["For preamble format B4: ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})," = 0."]}),Object(c.jsxs)("strong",{children:["Table 8.1-2: ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})," values for different preamble SCS ",Object(c.jsx)("em",{children:"\u03bc"})]}),Object(c.jsxs)("table",{children:[Object(c.jsx)("thead",{children:Object(c.jsxs)("tr",{children:[Object(c.jsx)("th",{children:"Preamble SCS [kHz]"}),Object(c.jsx)("th",{children:Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"gap"})]})})]})}),Object(c.jsxs)("tbody",{children:[Object(c.jsxs)("tr",{children:[Object(c.jsx)("td",{children:"1.25"}),Object(c.jsx)("td",{rowSpan:"2",children:"0"})]}),Object(c.jsx)("tr",{children:Object(c.jsx)("td",{children:"5"})}),Object(c.jsxs)("tr",{children:[Object(c.jsx)("td",{children:"15"}),Object(c.jsx)("td",{rowSpan:"4",children:"2"})]}),Object(c.jsx)("tr",{children:Object(c.jsx)("td",{children:"30"})}),Object(c.jsx)("tr",{children:Object(c.jsx)("td",{children:"60"})}),Object(c.jsx)("tr",{children:Object(c.jsx)("td",{children:"120"})})]})]}),Object(c.jsx)("img",{src:"/213/validprach.png",alt:"valid prach",style:{width:"700px",maxWidth:"98%"}}),Object(c.jsx)("strong",{children:"Valid/invalid PRACH occasions for TDD"}),Object(c.jsx)("hr",{}),Object(c.jsx)("h4",{children:"When to transmit PRACH after PDCCH order"}),Object(c.jsx)("p",{children:"If a random access procedure is initiated by a PDCCH order, the UE, if requested by higher layers, transmits a PRACH in the selected PRACH occasion for which a time between the last symbol of the PDCCH order reception and the first symbol of the PRACH transmission is"}),Object(c.jsxs)("span",{children:["\u2265 ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"T,2"})]})," + \u0394",Object(c.jsx)("sub",{children:"BWPSwitching"})," + \u0394",Object(c.jsx)("sub",{children:"Delay"})," msec, where"]}),Object(c.jsxs)("ul",{style:{marginTop:"10px"},children:[Object(c.jsxs)("li",{children:[Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"T,2"})]})," is a time duration of ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"2"})]})," symbols corresponding to a PUSCH preparation time for UE processing capability 1 with SCS configuration ",Object(c.jsx)("em",{children:"\u03bc"}),". I.e., ",Object(c.jsx)("em",{children:"N"}),Object(c.jsx)("sub",{children:"2"})," = {10, 12, 23, 36} for ",Object(c.jsx)("em",{children:"\u03bc"})," = {0, 1, 2, 3}"]}),Object(c.jsxs)("li",{children:[Object(c.jsx)("em",{children:"\u03bc = "})," min{",Object(c.jsx)("em",{children:"\u03bc"}),Object(c.jsx)("sub",{children:"PDCCH order"}),", ",Object(c.jsx)("em",{children:"\u03bc"}),Object(c.jsx)("sub",{children:"PRACH transmission"})," }. For a PRACH transmission using 1.25 kHz or 5 kHz SCS, the UE determines ",Object(c.jsxs)("em",{children:["N",Object(c.jsx)("sub",{children:"2"})]})," assuming SCS configuration ",Object(c.jsx)("em",{children:"\u03bc"})," = 0."]}),Object(c.jsxs)("li",{children:["\u0394",Object(c.jsx)("sub",{children:"BWPSwitching"})," = 0 if the active UL BWP does not change. Otherwise, \u0394",Object(c.jsx)("sub",{children:"BWPSwitching"})," is defined in ",Object(c.jsx)(o.default,{href:"https://www.3gpp.org/DynaReport/38133.htm",text:"TS 38.133"})]}),Object(c.jsxs)("li",{children:["\u0394",Object(c.jsx)("sub",{children:"Delay"})," = 0.5 msec for FR1 and \u0394",Object(c.jsx)("sub",{children:"Delay"})," = 0.25 msec for FR2. "]})]}),Object(c.jsx)("hr",{}),Object(c.jsx)("h4",{children:"What happens if PRACH collides with PUSCH/PUCCH/SRS"}),Object(c.jsx)("p",{children:"For single cell operation or for operation with carrier aggregation in a same frequency band, a UE does not transmit PRACH and PUSCH/PUCCH/SRS"}),Object(c.jsxs)("ul",{children:[Object(c.jsx)("li",{children:"in a same slot, or,"}),Object(c.jsxs)("li",{children:["when a gap between the first or last symbol of a PRACH transmission in a first slot is separated by less than ",Object(c.jsx)("em",{children:"N"})," symbols from the last or first symbol, respectively, of a PUSCH/PUCCH/SRS transmission in a second slot where",Object(c.jsxs)("ul",{children:[Object(c.jsxs)("li",{children:[Object(c.jsx)("em",{children:"N"})," = 2 for ",Object(c.jsx)("em",{children:"\u03bc"})," = 0 or ",Object(c.jsx)("em",{children:"\u03bc"})," = 1, ",Object(c.jsx)("em",{children:"N"})," = 4 for ",Object(c.jsx)("em",{children:"\u03bc"})," = 2 or ",Object(c.jsx)("em",{children:"\u03bc"})," = 3."]}),Object(c.jsxs)("li",{children:[Object(c.jsx)("em",{children:"\u03bc"})," is the SCS configuration for the active UL BWP."]}
1)]})]})]})]}),Object(c.jsx)(n.a,{})]})}},jhUV:function(e,s,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/ra_msg1",function(){return i("Qn+y")}])}},[["jhUV",0,2,9,1,3,4,5,7,6,8,10,14]]]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.