A twin replaces field campaigns with a 3D model
A physical 5G positioning testbed binds every measurement to one propagation environment and one antenna layout, so asking what a different deployment would achieve means rebuilding the deployment and running a new campaign. The paper's answer is to compute the channel from a 3D model instead of measuring it over the air, and to script the UE position instead of surveying it, which makes the environment an input and the ground truth exact.
The twin reproduces the GEO-5G testbed at EURECOM: an OAI-based virtualised radio access network with two commercial O-RAN radio units, one on the south terrace and one on the north rooftop, each carrying four spatially separated directional elements. These eight elements are not a compact panel. They form two collinear sub-arrays of four, sub-array A spanning 36.0 m along the south terrace and sub-array B spanning 15.0 m along the north rooftop, with mutually orthogonal horizontal axes and a centroid separation of 42.19 m. At the 3.6192 GHz carrier (band n78) the wavelength is 8.28 cm, so element separations run from roughly 60 to 217 wavelengths.
The campus scene is reconstructed from OpenStreetMap footprints, refined manually, assigned frequency-dependent ITU radio materials, and exported to the Mitsuba format that Sionna RT consumes. Paths come from Sionna RT's two-stage solver: shooting-and-bouncing generates candidate paths and an image-method stage refines each into an exact specular path. The solver settings are held fixed across all experiments, with maximum depth 10, line-of-sight, specular reflection and refraction enabled, diffuse reflection disabled, and a fixed shooting-and-bouncing seed. Depth 10 was chosen because several antenna positions see the UE only through multiply reflected paths in the partially enclosed courtyard; the authors ran no sensitivity study over depth and describe it as a conservative choice rather than a measured requirement.
Independent antennas preserve the delay TDoA reads
Sionna RT normally models an array as elements attached to a single radio device at one position; with the synthetic-array option enabled, per-element responses follow from phase shifts derived under a plane-wave assumption. That is correct for a panel a few wavelengths across and wrong here. Over separations of 60–217 wavelengths at ranges of 24–57 m, each element has its own visibility of the UE, its own set of reflectors and, decisively, its own absolute delay. Collapsing them onto a common phase centre discards exactly the quantity a TDoA estimator consumes.
The paper therefore instantiates each element as an independent Sionna radio device carrying a 1×1 array: eight transmitter objects in the downlink scene and eight receiver objects in the uplink scene, with the single-antenna UE as one device in both. Two mirrored scenes are kept because array configuration in Sionna is a property of the scene rather than of the device. Paths are converted to discrete baseband taps by band-limited sampling of the multipath response over a window of 71 taps per antenna pair, using the OAI front-end sample rate rather than the nominal channel bandwidth, so the emulated tap grid matches the grid on which OAI convolves the taps with its sample stream. Delay normalisation is disabled, because Sionna by default shifts the first arrival of every antenna pair to zero delay, which would destroy the inter-antenna delay observable.
This is the paper's central methodological claim: the twin is useful for positioning only because it keeps per-antenna absolute delays. The authors note that earlier ray-traced twins coupled to a live OAI stack, and OAI's own ray-tracing channel emulator, both target a single-antenna link — precisely the configuration in which TDoA has nothing to measure.
Seven delay differences constrain three coordinates
Uplink TDoA locates a UE from differences between the times at which one transmission reaches receivers of known position. With the UE at position p transmitting at an unknown instant, each receiver observes an arrival time, and differencing against a reference receiver eliminates the unknown transmit instant, leaving range differences. Eight transmission-reception points give seven constraints on three unknowns, solved by least squares. The gNB estimates arrival time per antenna port from the received sounding reference signal and reports it as an uplink relative time of arrival; the Location Management Function collects the reports with the transmission-reception point coordinates and returns a position.
The paper uses the standard geometric dilution formulation to explain why the same timing error produces a small position error where the geometry is favourable and a large one where it is not. Stacking the range-difference equations gives a matrix that depends only on where the transmission-reception points sit relative to the UE, and the position covariance is the range-difference error variance times the inverse of the Gram matrix. Every dilution figure is a square root of a sum of diagonal entries of that inverse and is dimensionless: the number by which one metre of range-difference error becomes metres of position error at that point. HDOP sums only the horizontal variances; VDOP reports the vertical variance of the same three-dimensional solve. The height column still enters HDOP through the inversion of the full 3×3 Gram matrix, so a poorly observed height inflates HDOP even when the horizontal geometry is good.
One property of the twin must be stated plainly: the eight emulated antennas are branches of one gNB sharing a sample clock, with no per-branch cable delay or phase offset, so the twin is perfectly synchronised by construction where the real testbed is not. It does not reproduce the dominant error source of a physical TDoA deployment.
Two scenes separate geometry from propagation
Because TDoA error depends on both array geometry and propagation environment, an error observed in one scene cannot be attributed to either. The paper therefore instantiates the same array in two scenes: EURECOM, reproducing the deployment site, and the Munich scene distributed with Sionna RT, an unrelated dense-urban model. The Munich coordinates are the image of the EURECOM coordinates under a distance-preserving transform, so element spacings, collinearity, orthogonality of the two axes and the 42.19 m centroid separation are carried across unchanged. The array geometry is held fixed while the propagation environment changes. The test positions are not images of one another under the same transform, however: each set was chosen independently within its scene, so the two sweeps differ in position as well as environment and are compared in aggregate rather than as a controlled substitution of one variable.
Sixteen test positions per scene form two tracks running away from the array at 1.7 m height, spanning HDOP from 2.24 to 7.79 at EURECOM and 2.06 to 7.36 at Munich. The geometry therefore predicts, before any measurement, that error at the far end of each track should be roughly three and a half times that at the near end.
The two bandwidth configurations should be read as two complete operating points rather than as an isolation of propagation bandwidth. Configuration A uses 106 resource blocks at 30 kHz subcarrier spacing, a 40 MHz channel bandwidth, 38.16 MHz occupied bandwidth and a 61.44 MHz OAI sample rate; configuration B uses 273 resource blocks, 100 MHz channel bandwidth, 98.28 MHz occupied bandwidth and a 122.88 MHz sample rate. Changing the resource-block count changes the occupied bandwidth, the sample rate, the tap spacing and therefore the physical duration of the 71-tap window all at once. The authors did not hold the absolute-delay window constant, so a residual contribution from the shorter window of configuration B cannot be excluded.
Two quantisations are worth separating. The tap grid of the emulated channel places a floor on where an arrival can be positioned: at 4.88 m per tap in configuration A it is coarser than the bin on which the peak is reported. The receiver's delay-estimate bin is independent of propagation bandwidth; raising the oversampling factor to 8 and 4 respectively brings both configurations to 2.03 ns, or 0.61 m per bin. That equalises the spacing at which a correlation peak may be reported; it does not equalise the physical delay resolution, which follows the occupied bandwidth and necessarily differs between the two.
The unmodified pipeline recovers the generating geometry
Across 16 positions per sweep, the emulated channel carries enough delay information for the unmodified OAI Location Management Function to recover the geometry it was generated from. Median horizontal error ranges from 0.71 to 1.20 m across the four scene-bandwidth combinations, which the authors describe as consistent with accuracy reported for the physical deployment.
The aggregate table separates the two scenes sharply. At EURECOM the 40 MHz configuration gives a mean horizontal error of 1.28 m, median 1.20 m, 90th percentile 1.77 m and maximum 3.81 m, with 11 of 16 fixes under 1.5 m and an RMS height error of 3.50 m; the 100 MHz configuration gives mean 1.15 m, median 0.95 m, 90th percentile 1.80 m and maximum 2.73 m, with 12 of 16 under 1.5 m and RMS height error 3.70 m. At Munich the 40 MHz configuration is far worse in the tail — mean 2.62 m, median 0.98 m, 90th percentile 5.39 m, maximum 19.07 m, 11 of 16 under 1.5 m, RMS height error 2.31 m — while the 100 MHz configuration gives mean 1.04 m, median 0.71 m, 90th percentile 2.32 m, maximum 3.70 m, 13 of 16 under 1.5 m and RMS height error 2.19 m.
The statistics need careful reading. The emulator is deterministic and its noise power is zero; a Munich sweep repeated immediately after itself reproduced all 16 fixes to the last recorded digit. One pass per configuration is therefore sufficient, but the reported errors are biases rather than noise realisations: at a given position the pipeline returns the same wrong answer every time, and averaging cannot reduce it. All quantiles are taken over the 16 positions of a track, not over independent trials, so they describe how error varies with geometry, not how it would vary under repeated measurement at one point. Sixteen positions on two tracks is a small, non-random sample, and the 90th percentile is estimated from effectively two points.
Widening the carrier trims the tail, not the height
The twin's headline deployment finding is a split between horizontal and vertical behaviour. Widening the carrier from 40 to 100 MHz truncates the tail of the horizontal error distribution without improving a typical position: at Munich the 90th percentile falls from 5.39 m to 2.32 m and the maximum from 19.07 m to 3.70 m, while the median moves only from 0.98 m to 0.71 m. At EURECOM the tail shrinks more modestly, with the maximum falling from 3.81 m to 2.73 m and the median from 1.20 m to 0.95 m.
Vertical error is untouched by the same change, and the paper attributes this to the array geometry rather than to the measurement. The array occupies only two heights, so the vertical dilution of precision is set by where the antennas sit, not by how finely delays can be resolved. That limit is computable from the antenna coordinates alone, before any measurement is taken.
The paper also tested whether uplink power control could explain anything: the two gNB configuration files differ in two uplink power-control targets by 6 dB, and re-running configuration A over the full EURECOM track at the configuration B value reproduced all 16 fixes exactly, as expected of a noiseless correlation whose peak does not move with transmit power. Four further differing parameters govern random access only.
A height-diverse layout cuts RMS height error fourfold
Because the vertical limit follows from the coordinates, it can be attacked by changing the coordinates. A height-diverse layout reduces the RMS height error by a factor of four while leaving the horizontal geometry untouched, and the authors note the change costs one configuration file. This is the paper's most decision-relevant comparison: the same twin that reproduces a deployment can also rank an alternative antenna placement without a new field campaign.
The claim needs its boundary stated with it. The height-diverse layout was evaluated at a single assignment, so the trade-off between vertical observability and link quality is signalled but not mapped. The contribution of the distributed geometry relative to a co-located one is assumed rather than measured. And because the two bandwidth configurations differ in several parameters at once, attributing the observed improvement to propagation bandwidth alone would require holding the absolute-delay window constant and recording per-transmission-reception-point delay profiles, neither of which was done.
A noiseless twin measures bias, not deployment error
The model omits diffuse scattering, mutual coupling, per-branch RF impairments and antenna pattern detail, and energy normalisation discards absolute path loss. Disabling diffuse scattering and fixing the seed keeps repeated runs bit-identical, so run-to-run variation does not reach OAI as spurious channel variation, but the cost is a sparser impulse response than a measured one. The emulator produces independent static snapshots, so nothing in the paper speaks to mobility, Doppler or tracking.
The most consequential omission for positioning is synchronisation. The real testbed's dominant error source is not reproduced, because the emulated antennas share a sample clock by construction. That is why the reported errors should be read as geometry-driven biases of the pipeline rather than as predictions of field accuracy. The authors' own next steps follow from this: adding a noise realisation and perturbation sweeps to obtain genuine error statistics, recording per-transmission-reception-point arrival times to decompose error into timing and geometric components, mapping the height/link-quality trade-off over a range of layouts, and comparing the emulated channel against measurements from the physical site.
The per-position output of every sweep, together with the gNB configuration used to produce it, is released so that every figure and table can be recomputed from the raw fixes.
Geometry, not bandwidth, sets the vertical ceiling
The paper's practical priority is a ranking of levers. If the goal is a better typical horizontal fix, the twin offers little encouragement from bandwidth: the median barely moves between 40 and 100 MHz, and the gain appears in the tail, where the Munich 90th percentile drops from 5.39 m to 2.32 m. If the goal is vertical accuracy, bandwidth is the wrong lever entirely, because the two-height array caps it and that cap is readable from the antenna coordinates before any simulation runs. The lever that does move vertical error is layout: a height-diverse arrangement cuts RMS height error by a factor of four at the cost of one configuration file.
That ordering is the paper's distinctive contribution, and it comes with a matching scope. The twin is a deterministic, perfectly synchronised, static-snapshot instrument, so it is suited to comparing geometries and operating points under identical propagation assumptions, not to forecasting the accuracy a physical deployment would deliver under real synchronisation error and noise. Within that boundary, the result to carry away is that the vertical ceiling is a property of where the antennas are placed, and the twin can evaluate a candidate placement before anyone climbs the roof.
Paper
Chaharbaghi, Kaltenberger, Podrygajlo, Mundlamuri and Verdone present a ray-traced digital twin of the GEO-5G testbed at EURECOM that drives an unmodified OpenAirInterface 5G stack with per-antenna channels computed by Sionna-RT over a 3D model of the site.
Sources used in this answer
A Ray-Traced Digital Twin for 5G NR Positioning with OpenAirInterface
Modelling each of eight distributed gNB antennas as an independent radio device preserves per-antenna absolute delays, letting an unmodified OAI UL-TDoA pipeline reach 0.71–1.20 m median horizontal error; the twin then shows vertical error is set by the two-height array geometry, and a height-diverse layout cuts RMS height error fourfold.
