NTN  

 

Scheduling and Timing in NTN

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

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.

Two worked slot mappings represent the same 28 ms separation: slot 100 to 128 at 15 kHz, and slot 200 to 256 at 30 kHz. Timing Advance separately places the physical uplink transmission.Two worked slot mappings represent the same 28 ms separation: slot 100 to 128 at 15 kHz, and slot 200 to 256 at 30 kHz. Timing Advance separately places the physical uplink transmission. Same scheduled time separation; different active-slot counts 15 kHz: 1 ms slots K2 = 4 slots NTN offset = 24 active slots = 24 ms n = 100 PUSCH slot 128 30 kHz: 0.5 ms slots K2 = 8 slots NTN offset = 48 active slots = 24 ms n = 200 PUSCH slot 256 K2 contributes 4 ms in both examples; the NTN offset contributes another 24 ms. These are slot-grid relationships. TA separately advances the physical uplink transmit instant.

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.

At 15 kHz, K2 is 4 slots and K_offset is 24 slots. gNB sends the grant in slot 100 at time zero. Its boundary reaches UE at 10 ms. UE uplink slot 128 starts at 18 ms and arrives at gNB at 28 ms. Without the 20 ms timing advance, the corresponding UE downlink boundary would be at 38 ms. At 15 kHz, K2 is 4 slots and K_offset is 24 slots. gNB sends the grant in slot 100 at time zero. Its boundary reaches UE at 10 ms. UE uplink slot 128 starts at 18 ms and arrives at gNB at 28 ms. Without the 20 ms timing advance, the corresponding UE downlink boundary would be at 38 ms. 15 kHz SCS | slot = 1 ms | K2 = 4 | K_cell,offset = 24 | differential = 0 | K_offset = 24 Assumed path: 10 ms each way; total TA = 20 ms; RP at gNB; k_mac = 0; fixed offsets omitted gNB / reference pointUE Time increases downward t = 0 ms; DL slot 100 PDCCH / UL grantDL propagation = 10 ms t = 10 ms; UE DL slot 100 t = 18 ms; UE UL slot 128 PUSCH: UL propagation = 10 ms t = 28 ms; UL slot 128 arrives 8 ms betweenUE slot boundaries K2 = 4 slots= 4 ms K_offset = 24 slots= 24 ms TA = 20 msUL advanced t = 38 ms; UE DL slot 128 reference No extra DL message at this boundary Slot mapping: 100 + 4 + 24 = 128; nominal separation = 28 slots = 28 ms UE UL boundary: 10 + 28 - 20 = 18 ms; boundary gap after DL reception = 8 ms gNB UL arrival: 18 + 10 = 28 ms; k_mac is not an extra term here Separate variant: differential = 4; K_offset = 20; PUSCH slot = 124 Same path and TA: nominal gap = 24 ms; UE UL boundary t = 14 ms; gNB arrival t = 24 ms 30 kHz variant: n = 200; K2 = 8; offset = 48 active slots; PUSCH slot = 256 56 slots = 28 ms; with the same path and TA, UE TX / gNB RX boundaries remain t = 18 / 28 ms

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.

At 15 kHz, K1 is 4 slots and K_offset is 24 slots. PDSCH slot 200 starts at gNB at time zero and reaches UE at 10 ms. UE starts PUCCH slot 228 at 18 ms, advancing by 20 ms relative to the corresponding downlink boundary at 38 ms. Feedback reaches gNB in slot 228 at 28 ms. At 15 kHz, K1 is 4 slots and K_offset is 24 slots. PDSCH slot 200 starts at gNB at time zero and reaches UE at 10 ms. UE starts PUCCH slot 228 at 18 ms, advancing by 20 ms relative to the corresponding downlink boundary at 38 ms. Feedback reaches gNB in slot 228 at 28 ms. 15 kHz SCS | slot = 1 ms | selected K1 = 4 | effective K_offset = 24 | feedback enabled Assumed path: 10 ms each way; total TA = 20 ms; RP at gNB; k_mac = 0; fixed offsets omitted gNB / reference pointUE Time increases downward t = 0 ms; DL slot 200 PDSCHDL propagation = 10 ms t = 10 ms; UE DL slot 200 t = 18 ms; UE UL slot 228 PUCCH with HARQ-ACKUL propagation = 10 ms t = 28 ms; UL slot 228 arrives 8 ms betweenUE slot boundaries K1 = 4 slots= 4 ms K_offset = 24 slots= 24 ms TA = 20 msUL advanced t = 38 ms; UE DL slot 228 reference No extra DL message at this boundary Slot mapping: 200 + 4 + 24 = 228; nominal separation = 28 slots = 28 ms UE UL boundary: 10 + 28 - 20 = 18 ms; gNB UL arrival: 18 + 10 = 28 ms The 8 ms UE boundary gap is not the full feedback RTT or an exact symbol-level processing budget. k_mac = 0 in this illustration; it is not added to K1 + K_offset.

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.

UE to reference point takes 10 ms each way, giving a 20 ms TA contribution. Reference point to gNB takes 4 ms each way, giving an 8 ms k_mac contribution. The MAC RTT estimate is 28 ms. The reference point is not necessarily a separate network node. k_mac is used by specified RTT, MAC command application and random-access response window procedures. UE to reference point takes 10 ms each way, giving a 20 ms TA contribution. Reference point to gNB takes 4 ms each way, giving an 8 ms k_mac contribution. The MAC RTT estimate is 28 ms. The reference point is not necessarily a separate network node. k_mac is used by specified RTT, MAC command application and random-access response window procedures. Separate example: RP is not collocated with gNB UE RPTiming reference gNB 10 ms each way 4 ms each way UE-to-RP round trip = 20 ms RP-to-gNB round trip = 8 ms MAC UE-gNB RTT estimate in this delay-only model TA contribution = 20 ms k_mac contribution = 8 ms 20 ms + 8 ms = 28 ms; no processing or scheduling wait included Where the k_mac value is used UE-gNB RTT estimate TA + k_mac in common time units Used by applicable MAC timers MAC CE application timing Account for RP-to-gNB delay Use the command-specific reference event RAR / MsgB window start Account for the response path timing Use the access-procedure formula RRC kmac = 8 means 8 reference slots at 15 kHz = 8 ms At 30 kHz: a term 2^mu x k_mac contributes 16 active slots = 8 ms This does not change ordinary PUSCH slot mapping into n + K2 + K_offset + k_mac.

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.