Timing Advance makes an uplink signal arrive at the intended time. But UE must first receive its grant and have enough time to prepare that signal. With a long satellite path, those two requirements can conflict unless scheduling also accounts for propagation delay.
NR NTN therefore uses scheduling offsets in addition to TA. K_offset adjusts applicable downlink-to-uplink relationships. k_mac accounts for the timing relationship between the uplink synchronization reference point and gNB in the procedures that use it.
This page focuses on NR NTN and uses the Release 18 references listed at the end. The worked slot examples use FR1, normal CP and one serving cell. For physical arrival alignment, see Timing Advance; for process availability, see HARQ.
- Why TA Alone is Not Enough
- TA, K_offset and k_mac
- How the Network Provides the Offsets
- Convert Reference Slots to Active Slots
- Worked Example: Grant to PUSCH
- Worked Example: PDSCH to HARQ-ACK
- Where k_mac Enters the Procedure
- RAR Grants, Configured Grants and Assistance Updates
- How to Check a Scheduling Trace
- References
Why TA Alone is Not Enough
UE advances its uplink transmission relative to the downlink timing it receives. In NTN, that advance can be large. A grant received only a few nominal slots before its PUSCH could therefore leave too little actual preparation time at UE.
K_offset moves the scheduled uplink opportunity farther out in the slot relationship. TA then places the physical transmission early enough to arrive correctly. These operations solve related problems, but one cannot replace the other.
The distinction is between a scheduled slot label and a physical transmit instant. A log showing a 28-slot grant-to-PUSCH relationship does not necessarily mean UE waits 28 ms after receiving the grant. Its uplink timing is advanced.
Figure 1. The 15 kHz reference offset must be converted to active slots; its duration remains unchanged.
TA, K_offset and k_mac
The reference point (RP) is where downlink and uplink frame timing have the alignment specified by TS 38.300, including the N_TA,offset convention. It need not coincide with gNB. Keep the RP visible when deciding which delay a parameter represents.
The quantities below serve different roles. Convert them to compatible time units before comparing their magnitudes.
Quantity | Role | What it does not mean |
|---|---|---|
Common TA | Configured timing component corresponding to the RTT between the RP and payload. | It is not the UE-dependent service-link RTT. |
UE timing advance | Advances physical uplink transmission; includes the applicable autonomous and commanded components. | It does not choose the PUSCH slot by itself. |
K_offset | Scheduling allowance; TS 38.300 requires it to cover service-link RTT plus Common TA. | It is not the K2 time-domain allocation value. |
k_mac | Approximately the RTT between RP and gNB; used in specified MAC application, RTT and access-window relationships. | It is not an extra term to add to every uplink grant. |
The common and service-link components depend on the selected reference point and architecture. Do not add a complete feeder-link RTT again if the timing model already includes it. See TS 38.300, clause 16.14.2.1.
How the Network Provides the Offsets
NTN-Config contains cellSpecificKoffset-r17 and kmac-r17. NTN assistance is provided through SIB19 and the applicable dedicated signalling. The RRC field names are not a declaration that both values have the same purpose.
Both fields use slots at the 15 kHz reference SCS. One encoded unit therefore represents 1 ms. An active 30 kHz BWP does not change the encoded unit to 0.5 ms.
Field | Encoded range | Reference unit | Example |
|---|---|---|---|
cellSpecificKoffset-r17 | 0..1023 | One 15 kHz slot = 1 ms | 24 represents 24 ms. |
kmac-r17 | 0..512 | One 15 kHz slot = 1 ms | 8 represents 8 ms. |
Differential Koffset MAC CE field | 6 bits | One 15 kHz slot = 1 ms | 4 represents a 4 ms differential reduction. |
For the general applicable relationship, the effective K_offset is the cell value minus the UE-specific differential value. TS 38.213 defines each absent component as zero. The network must provide values consistent with the required timing allowance.
K_offset = K_cell,offset - K_UE,offset
The Differential Koffset MAC CE supplies a value, not an instruction to keep subtracting that value after every reception. TS 38.321 specifies when it applies. Use the value applicable to the scheduling event, rather than the last value anywhere in the log.
Some access procedures use the cell-specific offset directly. For example, the relevant TC-RNTI scheduling rules do not apply the UE differential in the same way as ordinary connected-mode scheduling. See TS 38.213 and TS 38.321, clause 6.1.3.57.
Convert Reference Slots to Active Slots
In FR1, converting the effective offset to slots of numerology mu multiplies it by 2 to the power mu. The represented time stays the same. This conversion is separate from selecting K1 or K2.
Offset in active slots = 2mu x K_offset
For an effective K_offset of 24, the two numerologies below represent the same 24 ms interval.
Active SCS | Slot duration | Offset in active slots | Represented duration |
|---|---|---|---|
15 kHz, mu = 0 | 1 ms | 24 | 24 ms |
30 kHz, mu = 1 | 0.5 ms | 48 | 24 ms |
Adding 24 active slots at 30 kHz would provide only 12 ms. That mistake can produce incorrect grant and feedback timing even when the decoded RRC value is correct.
Worked Example: Grant to PUSCH
Consider a dynamically scheduled PUSCH with the same SCS for PDCCH and PUSCH, no CA slot offsets, and an ordinary connected-mode grant. The general TS 38.214 mapping simplifies to the following slot relationship.
PUSCH slot = n + K2 + 2mu x K_offset
Here n is the scheduling PDCCH slot. K2 comes from the applicable PUSCH time-domain allocation selected by DCI. K_offset is the effective NTN offset for that scheduling event.
For 15 kHz SCS, take n = 100, K2 = 4, cellSpecificKoffset = 24 and no differential offset. Use unwrapped slot numbers to keep SFN rollover out of this example.
PUSCH slot = 100 + 4 + 24 = 128
The scheduled separation is 28 slots, or 28 ms. This is a relation between the downlink and uplink slot grids. TA still determines the actual UE transmission instant; do not subtract TA from slot 128 and call that a different scheduled PUSCH slot.
Now consider a separate configuration with the same cell offset and a differential value of 4. The effective K_offset becomes 20, so the calculated PUSCH slot becomes 124. This reduction is valid only if the resulting allowance still meets the UE timing requirements.
At 30 kHz, with n = 200, K2 = 8 and effective K_offset = 24, PUSCH is in slot 256. The 56-slot separation is again 28 ms. The chosen K2 values in these two examples deliberately represent the same 4 ms interval.
To connect the slot labels with physical time, assume 10 ms propagation in each direction and a total TA of 20 ms. Place the RP at gNB and set k_mac to zero for this illustration. Fixed timing offsets are omitted.
The markers below represent slot boundaries. PDCCH end symbols and PUSCH start symbols are not specified, so the 8 ms boundary gap is not an exact processing-time budget. Actual scheduling must also satisfy the symbol-level processing requirements.
Figure 2. K2 and K_offset select the PUSCH slot; TA advances its UE transmit boundary to align arrival at gNB.
Mixed PDCCH/PUSCH numerologies require the slot-grid conversion in the full formula. RAR grants also have additional rules. The simplified equation above must not replace those cases. See TS 38.214, clause 6.1.2.1.
Worked Example: PDSCH to HARQ-ACK
For an applicable feedback-enabled PDSCH reception, K1 specifies the ordinary HARQ-ACK timing contribution. NTN adds the effective scheduling offset to the relevant PUCCH or PUSCH slot relationship. The physical uplink transmission is still subject to TA.
Use equal 15 kHz numerologies, slot-based PUCCH and a single PDSCH reception for this example. Let the reference slot n be 200, selected K1 be 4 and effective K_offset be 24.
HARQ-ACK slot = n + K1 + K_offset = 200 + 4 + 24 = 228
Use the same illustrative path as the PUSCH sequence: 10 ms one-way propagation, total TA of 20 ms, RP at gNB and k_mac = 0. Set t = 0 at the start of gNB DL slot 200. The markers again show slot boundaries; actual symbol positions determine the decoding and feedback preparation time.
Figure 3. K1 and K_offset select the feedback slot; TA places the physical uplink boundary earlier at UE.
K1 is not necessarily the integer shown in the DCI bit field. Depending on the DCI format and configuration, that field selects an entry in a configured timing list. Decode the entry before adding the NTN offset.
For mixed numerology or subslot PUCCH, first determine the reference uplink slot or subslot using TS 38.213. The equal-numerology calculation above intentionally avoids those extra mapping steps.
If downlink HARQ feedback is disabled for the process, do not expect an ACK transmission merely because a timing relationship can be calculated. The HARQ-ACK codebook and other UCI rules still matter. See TS 38.213, clause 9 and NTN HARQ.
Where k_mac Enters the Procedure
k_mac is used when the procedure needs to account for the separation between gNB and the uplink synchronization reference point. TS 38.300 identifies delayed application of downlink configurations carried by MAC CE, UE-gNB RTT estimation, and RAR/MsgB window start timing.
This does not create a universal formula of K1 + K2 + K_offset + k_mac. Each procedure specifies its own reference event and offsets. The relevant MAC CE application rule may count from an associated HARQ-ACK transmission rather than directly from PDSCH reception.
For a unit-conversion example, kmac = 8 represents 8 ms. A term of 2mu x k_mac therefore contributes 16 active slots at 30 kHz. That contribution must be inserted into the specified procedure, not into every scheduling equation.
MAC defines UE-gNB RTT using UE Timing Advance plus kmac in compatible units. If the applicable TA contribution is 20 ms and kmac contributes 8 ms, the resulting estimate is 28 ms. This example illustrates the MAC definition, not the full HARQ process-reuse interval.
Now move the RP away from gNB. This is a separate timing arrangement from the two earlier examples, where RP and gNB were collocated and k_mac was zero. Assume symmetric propagation: 10 ms between UE and RP, and 4 ms between RP and gNB in each direction. Ignore fixed timing offsets and processing delays for this illustration.
The RP is a timing reference along the path, not necessarily a separate network node. The UE-to-RP contribution gives 20 ms of round-trip timing. k_mac contributes the remaining 8 ms between RP and gNB.
Figure 4. k_mac accounts for the RP-to-gNB portion of the timing relationship; its use depends on the procedure.
Use the NTN RACH page for access procedure context. Check the exact RAR/MsgB reference event and window rule in TS 38.213, clause 8.
RAR Grants, Configured Grants and Assistance Updates
A RAR uplink grant has its own PUSCH timing relationship, including the applicable additional delay and cell-specific NTN offset. Reusing the ordinary connected-mode example without those terms can put Msg3 in the wrong slot.
For configured grants, the configured resources and activation procedure determine the transmission opportunities. TS 38.214 specifies application of K_offset when determining the first transmission opportunity for Type 2 configured grants. Do not shift every periodic transmission independently with an improvised formula.
The satellite path also changes over time. UE updates its timing compensation using valid assistance, and the network can update scheduling information as applicable. A correct old offset or epoch does not establish that the current transmission uses the right state.
The RRC reference page contains the NTN-Config fields. Always associate the timing values with the cell, BWP, numerology and configuration version used by the transmission.
How to Check a Scheduling Trace
Work from the scheduled resource back to its inputs. The DCI time-domain field, RRC allocation table, effective offset and active numerology together determine the slot. A timestamp difference alone is not enough.
These checks distinguish slot selection from physical alignment and process availability.
Observed issue | Check first |
|---|---|
PUSCH in an unexpected slot | Time-domain allocation index, K2, effective K_offset, numerology and slot-grid mapping. |
ACK apparently missing or late | Selected K1, NTN offset, process feedback configuration, UCI multiplexing and actual PUCCH/PUSCH resource. |
Correct slot but failed reception | TA, frequency compensation, assistance validity and radio conditions. |
Offset changes unexpectedly | Differential Koffset MAC CE value and application timing; cell or BWP changes. |
RAR window misses the response | Specified start reference, k_mac and applicable NTN access timing. |
Data rate stalls with valid timing | HARQ process availability and DRX, as described on the HARQ page. |
Keep the decoded configuration next to the trace. Record whether displayed slots are UE DL, UE UL, or gNB reception slots, and whether the logger has already applied timing corrections.
References
The explanations use these Release 18 versions. Numerical examples and diagrams are illustrative calculations, not measured results or universal satellite delay values.
- 3GPP TS 38.300 V18.9.0 : NR and NG-RAN Overall Description; clause 16.14.2.1.
- 3GPP TS 38.331 V18.8.0 : NR RRC; NTN-Config, PDSCH-ServingCellConfig, PUSCH-ServingCellConfig and PUCCH-Config.
- 3GPP TS 38.213 V18.5.0 : NR physical layer control procedures; clauses 4.2, 8 and 9.
- 3GPP TS 38.214 V18.5.0 : NR physical layer data procedures; clauses 5.3 and 6.1.2.1.
- 3GPP TS 38.321 V18.5.0 : NR MAC; clauses 5.3.2, 5.4.3, 5.7, 5.18.24 and 6.1.3.57.