|
||
Basic funcationality and mechanism for NR SR is almost same as LTE SR. If you are familiar with LTE SR, it would not be difficult to understand SR in NR and easier to understand NR SR by comparision with LTE SR.
What is SR ?SR is a special Physical Layer message for UE to ask Network to send UL Grant (DCI Format 0_0 /0_1) so that UE can transmit PUSCH. Putting it other way, SR is an Uplink Physical Layer message from UE to Network, saying "I have some data to send to you. Would you send me some Grant for me to send the data ?". When is SR triggered / transmitted ?There are roughly two cases of occasion where SR is triggered. First case would be the necessity based and the second case would be periodicity based. Necessity based case mean that UE triggers SR when it has some data to transmit but have no UL grant from Network. Periodicity based case mean that UE triggers SR with a certain periodicity (specified in RRC) regardless of whether it has any data to send or not. Following illustration shows overal process for Necessity based SR transmittion.
Physical Channel to Carry SRHow UE send SR message ? UE send it on a PUCCH (or on UCI part on PUSCH). Not all PUCCH format can carry the SR. Some PUCCH format can carry SR and some other don't. UE is using a certain PUCCH format depending on situations to send SR. (For the detailed PUCCH format that can carry SR, refer to PUCCH format page).
In NR, PUCCH format 0 or 1 carrySR. ==> 38.213 - 9.2.4 states : A UE can be configured by SchedulingRequestResourceConfig a set of configurations for SR in a PUCCH transmission using either PUCCH format 0 or PUCCH format 1 Who is controlling the SR process ?Even though SR message itself is a kind of physical layer message, it is controlled by MAC layer process (it is similar to many other physical layer channel are controlled by MAC layer) Overall SR process (when to send SR) is controlled by MAC layer as illustrated below. (See 38.321 5.4.4 for details) When SR is not triggered/pre-empted ?There are some cases where UE does not trigger SR even when it may trigger it otherwise. Followings are the list of those cases where UE does not send SR. These are all based on 38.321-5.4.4)
Positive SR vs Negative SRThis is one of the most confusing concept to me regarding 5G SR, which is still not clear to me. So as part of learning process, I will put down what is described in 3GPP specification and put my own questions. It will be appreciated if any of you let me learn via email or linkedIn. My question is simple : 38.213-9.2.4 UE procedure for reporting SRThe UE transmits a PUCCH in the PUCCH resource for the corresponding SR configuration only when the UE transmits a positive SR. For a positive SR transmission using PUCCH format 0, the UE transmits the PUCCH by obtaining m_0 as described for HARQ-ACK information and by setting m_cs = 0. For a positive SR transmission using PUCCH format 1, the UE transmits the PUCCH as described in by setting b (0) = 0 38.213 - 9.2.5.1 UE procedure for multiplexing HARQ-ACK or CSI and SR in a PUCCHIf a UE would transmit a PUCCH with positive SR and at most two HARQ-ACK information bits in a resource using PUCCH format 0, the UE transmits the PUCCH in the resource using PUCCH format 0 in PRB(s) for HARQ-ACK information If the UE would transmit negative SR and a PUCCH with at most two HARQ-ACK information bits in a resource using PUCCH format 0, the UE transmits the PUCCH in the resource using PUCCH format 0 for HARQ-ACK information If a UE would transmit a PUCCH with O_ACK HARQ-ACK information bits in a resource using PUCCH format 2 or PUCCH format 3 or PUCCH format 4 in a slot, ceil[log2(K+1)] bits representing a negative or positive SR, in ascending order of the values of schedulingRequestResourceId and a schedulingRequestResourceId associated with schedulingRequestID-BFR-SCell, If a UE would transmit a PUCCH with O_CSI report bits in a resource using PUCCH format 2 or PUCCH format 3 or PUCCH format 4 in a slot, ceil[log2(K+1)] bits representing a negative or positive SR, in ascending order of the values of schedulingRequestResourceId and a schedulingRequestResourceId associated with schedulingRequestID-BFR-SCell, 38,213 - 9 UE procedure for reporting control information :If a UE would transmit on a serving cell a PUSCH without UL-SCH that overlaps with a PUCCH transmission on a serving cell that includes positive SR information, the UE does not transmit the PUSCH. : As mentioned above, I got much clearer understanding than before after chat with PHY/L1 Guru. I think the form of live dialog as quoted below would be better than I am trying to summarize it. [Q] what would be the definition of negative SR ? 'No SR from UE' ? or 'SR from UE with bit field set to 0' ? [A] it means "No SR". It is just that in NR, on certain PUCCH format and/or multiplexing rule, the UE sometimes send a SR bit if there is a SR occasion, even if UL Grant is not required
[Q] what do you mean by this "the UE sometimes send a SR bit if there is a SR occasion" ? UE send SR with bit = 0 ? [A] yes, but only when SR is not alone
[Q] 'only when SR is not alone' mean 'only the case where SR is scheduled together with other UCI' ? [A] yes
[Q] What if a periodic SR is scheduled at slot N, No data to send from UE side. No other UCI is scheduled at slot N... in this case UE should skip SR ? or send Negative SR ? [A] The UE skips SR. 38.213 - 9.2.4 : The UE transmits a PUCCH in the PUCCH resource for the corresponding SR configuration only when the UE transmits a positive SR.
[Q] I see... but I got confused by other statements from 9.2.5.1 [A] 9.2.5.1 states what happens when you have collision with other resources -> PUCCH Format 0 : a positive SR changes the cyclic shift values -> PUCCH Format 1: put the HARQ in the SR resources for positive SR -> Long PUCCH format: SR bits are appended to the payload
This is a nice chat with another expert, Xinya Shen. He kindly reached out to me to help me with the detailed understanding and allowed me to share this discussion with readers. I tried not to summarize anything and share the chat as it is so that you can have a kind of first hand experience with our chat and follow through the thread of chat (thought process) in real context. [Xingya] In general, the SR resource is called Positive SR when the UE has a demand for SR transmission on the SR resource, and the SR resource is called Negative SR when the UE has no demand for SR transmission on the SR resource. [Sharetechnote] Assuming this is periodic SR case, Does "the UE has no demand for SR transmission on the SR resource" mean that 'UE has no demand for SR transmission because it already has enough UL grant or no data to transmit' ? [Xingya] Yes, your understanding is correct.
[38.213-9.2.4] The UE transmits a PUCCH in the PUCCH resource for the corresponding SR configuration only when the UE transmits a positive SR. [Sharetechnote] Does this imply that UE does NOT transmit PUCCH when UE transmit a negative SR ? Does negative SR mean 'No PUCCH / NO SR' ? [Xingya] This statement means that the UE transmits PUCCH on the SR resource ("PUCCH resource of the corresponding SR configuration") only if both PUCCH transmission and SR transmission are present. When the UE does not need to transmit SR but only PUCCH, the UE transmits on the PUCCH resource, at this time, the SR resource is called negative SR
[38.213 - 9.2.5.1] If a UE would transmit a PUCCH with positive SR and at most two HARQ-ACK information bits in a resource using PUCCH format 0, the UE transmits the PUCCH in the resource using PUCCH format 0 in PRB(s) for HARQ-ACK information If the UE would transmit negative SR and a PUCCH with at most two HARQ-ACK information bits in a resource using PUCCH format 0, the UE transmits the PUCCH in the resource using PUCCH format 0 for HARQ-ACK information [Sharetechnote] What is the difference between the two statements ? It sounds same to me. [Xingya] The difference between these two statements is the meaning of "resource". In the first statement, the "resource" refers to SR resource, while in the second statement, "resource" refers to PUCCH resource.
[Sharetechnote] Does this imply that SR can be transmitted via PUCCH format 2,3,4 as well as format 0,1 ? Is it going against the statement 'The UE transmits a PUCCH in the PUCCH resource for the corresponding SR configuration only when the UE transmits a positive SR.' from 38.213-9.2.4 ? [Xingya] Yes. if the SR is transmitted via PUCCH fomat 2,3,4 it should be encoded with the ACK/NACK bits. For format 0, different m_cs value are used to distinguish the cases betwenn PUCCH with positive SR and PUCCH without SR. For PUCCH format 1, PUCCH with positive SR should be transmitted on SR resource.
[38.213 - 9] If a UE would transmit on a serving cell a PUSCH without UL-SCH that overlaps with a PUCCH transmission on a serving cell that includes positive SR information, the UE does not transmit the PUSCH. [Sharetechnote] Does this imply that if aperiodic CSI report occasion and SR occasion overlaps, the aperiodic CSI report should drop ? [Xingya] Yes
[Sharetechnote] Sometimes you use 'SR Resources' and 'PUCCH Resources' in different meaning which confuses me a little bit. Since SR is carried by PUCCH, I thought SR Resource is also a type of PUCCH Resource as in following statement The difference between these two statements is the meaning of "resource". In the first statement, the "resource" refers to SR resource, while in the second statement, "resource" refers to PUCCH resource. When you say SR Resources, does it mean 'a type of PUCCH resource allocated for PUCCH' and when you say PUCCH resources, does it mean the PUCCH resource allocated only for Ack/Nack ? [Xingya] Yes, your understanding is correct. The SR resource I mentioned refers to a type of PUCCH resource, configured by IE "Resource" in IE "SchedulingRequestResourceConfig", where IE "Resource" is associated to "PUCCH-ResourceId". The PUCCH resource is the resource that carry ACK/NACK. SR ConfigurationsFollowings are Configurations and Interdependancies among the parameters regarding SR (NOTE : You may need further understandings on pucch-Config. Refer to this note for pucch config details) RRC ParametersSchedulingRequestConfig ::= SEQUENCE { schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod OPTIONAL, schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL -- Need N }
SchedulingRequestToAddMod ::= SEQUENCE { schedulingRequestId SchedulingRequestId, sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128} sr-TransMax ENUMERATED {n4, n8, n16, n32, n64, spare3, spare2, spare1} }
SchedulingRequestResourceConfig ::= SEQUENCE { schedulingRequestResourceId SchedulingRequestResourceId, schedulingRequestID SchedulingRequestId, periodicityAndOffset CHOICE { sym2 NULL, sym6or7 NULL, sl1 NULL, -- Recurs in every slot sl2 INTEGER (0..1), sl4 INTEGER (0..3), sl5 INTEGER (0..4), sl8 INTEGER (0..7), sl10 INTEGER (0..9), sl16 INTEGER (0..15), sl20 INTEGER (0..19), sl40 INTEGER (0..39), sl80 INTEGER (0..79), sl160 INTEGER (0..159), sl320 INTEGER (0..319), sl640 INTEGER (0..639) } OPTIONAL, -- Need M resource PUCCH-ResourceId OPTIONAL -- Need M }
SchedulingRequestResourceConfig-v1610 ::= SEQUENCE { phy-PriorityIndex-r16 ENUMERATED {p0, p1} OPTIONAL, -- Need M ... }
SCS = 15 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 5sl, 8sl, 10sl, 16sl, 20sl, 40sl, 80sl SCS = 30 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 8sl, 10sl, 16sl, 20sl, 40sl, 80sl, 160sl SCS = 60 kHz: 2sym, 7sym/6sym, 1sl, 2sl, 4sl, 8sl, 16sl, 20sl, 40sl, 80sl, 160sl, 320sl SCS = 120 kHz: 2sym, 7sym, 1sl, 2sl, 4sl, 8sl, 16sl, 40sl, 80sl, 160sl, 320sl, 640sl sym6or7 corresponds to 6 symbols if extended cyclic prefix and a SCS of 60 kHz are configured, otherwise it corresponds to 7 symbols. For periodicities 2sym, 7sym and sl1 the UE assumes an offset of 0 slots. (38.213-9.2.4) The UE can be provided, by phy-PriorityIndex in SchedulingRequestResourceConfig, a priority index 0 or a priority index 1 for the SR. If the UE is not provided a priority index for SR, the priority index is 0.
LogicalChannelConfig ::= SEQUENCE { ul-SpecificParameters SEQUENCE { priority INTEGER (1..16), prioritisedBitRate ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512, kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity}, bucketSizeDuration ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000, spare7, spare6, spare5, spare4, spare3,spare2, spare1}, allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex OPTIONAL, allowedSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing maxPUSCH-Duration ENUMERATED {ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1} configuredGrantType1Allowed ENUMERATED {true} OPTIONAL, logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R logicalChannelSR-Mask BOOLEAN, logicalChannelSR-DelayTimerApplied BOOLEAN, ..., bitRateQueryProhibitTimer ENUMERATED { s0, s0dot4, s0dot8, s1dot6, s3, s6, s12,s30} OPTIONAL -- Need R } OPTIONAL, -- Cond UL ... }
Reference
|
||