Does the 10 ms step change the results?

HandoverLab advances in steps of protocol.step_s (10 ms by default). LTM commands take 3-10 ms and DAPS interrupts the user plane for a few milliseconds, so a coarse step could shift results. This page reports a check of 2.1.0 whose criteria were fixed before the runs: the same scenarios at 10, 5, 2 and 1 ms.

Set-up (fixed before the runs)

Case Scenario Rules Runs
T-a urban-grid-10ghz, 40 users, 60 s (10 s warm-up) A3 (3 dB, 160 ms), CHO, LTM, DAPS (defaults) seeds 1-10 per step
T-b urban-grid-28ghz-beams (SSB beams, beam failure recovery), 20 users, 30 s (5 s warm-up) A3 (3 dB, 160 ms), LTM seeds 1-10 per step

Criterion per case, rule and metric: the 10 ms step is adequate if the mean over the seeds differs from the 1 ms mean by at most 5 %, or by at most 0.05 per UE-minute for rates below 1 per UE-minute, or by at most 1 ms per handover for the interruption.

Result

All 30 criteria are met at 10, 5 and 2 ms. The metrics are identical seed by seed at all four steps; the event logs differ only in event times within a step.

Case Rule Handovers / UE-min Unnecessary Failures Interruption per handover [ms]
T-a A3 11.481 (same at 1 ms) 1.236 (same) 0.036 (same) 45.25 (same)
T-a CHO 11.637 (same) 1.350 (same) 0.000 (same) 40.02 (same)
T-a LTM 13.050 (same) 2.763 (same) 0.003 (same) 20.33 (same)
T-a DAPS 11.484 (same) 1.239 (same) 0.033 (same) 2.87 (same)
T-b A3 25.236 (same) 8.268 (same) 0.876 (same) 79.65 at 10 ms, 79.57 at 1 ms
T-b LTM 30.660 (same) 14.196 (same) 0.132 (same) 23.44 at 10 ms, 23.42 at 1 ms

Ping-pong rates are identical too. The differences of the interruption come from executions that wait for the target while T304 runs: the wait ends at the next step.

Why the step hardly matters

  • Handover decisions are taken at the measurement instants (L1 period 40 ms), and the time-varying part of the channel and the L1 measurement error are drawn once per measurement, not per step.
  • Interruptions are accounted with their configured length (for example 2 ms for DAPS), not rounded to the step.
  • What the step does round is the time a delayed event takes effect (a command, the end of an execution, a timer): it is applied at the first step at or after its due time, at most one step late.

Exploratory checks (after the result above; not part of the fixed plan)

Check Result
Delays that are not multiples of 10 ms: urban-grid-10ghz, 20 users, 30 s, seeds 1-10; A3 with prep_s 25 ms and exec_s 45 ms, LTM with cmd_delay_s 3 ms and exec_s 15 ms; 10 against 1 ms every metric identical seed by seed; interruption per handover 47.15 / 47.16 ms (A3), 15.00 / 15.00 ms (LTM)
The card smoke (20 users, 30 s), A3 and CHO, seeds 1-10, 10 against 1 ms one seed of ten differs by one handover: handovers -0.6 %, unnecessary handovers -1.5 % at 10 ms; failures and ping-pong identical

Reading

For the handover metrics of HandoverLab the 10 ms step is adequate: in these runs it changes no rate by more than 1.5 %, and the interruption by less than 0.1 ms per handover. Use 1 ms only when an event must take effect within a few milliseconds of its due time, and check with protocol.step_s (the L1 period must stay a whole multiple of it). A model with a scheduler per slot, planned for a later release, will need a step of one slot.