OrbPro2 a Cesium distribution

RfCommsContracts

new Cesium.RfCommsContracts(config)

The shipped RF contract surface. Construct a subclass that supplies the abstract primitives — CommsPlugin (WASM) in shipped code, or the test tree's `RfCommsReferenceCore` in a conformance scenario. A bare `RfCommsContracts` answers configuration questions and refuses physics.
Name Type Description
config object optional Configuration, normalised by normalizeRfCommsConfig.

Methods

ituTerrainDiffractionLoss(options)number

ITU-R P.526-15 diffraction loss over an irregular terrain profile — the excess loss the RF terrain solver adds on top of free space. This is the model the whole coverage raster is meant to run on, and its one defining property is CONTINUITY. `KNIFE_EDGE` / `MULTI_KNIFE_EDGE` / `BULLINGTON` are constructions you select once you already know the path is obstructed; a coverage grid does not get to know that per cell without producing a discontinuity at the shadow boundary. P.526's diffraction parameter is defined for clearance of EITHER sign, so one evaluation covers the whole field: v = h * sqrt( 2(d1 + d2) / (lambda * d1 * d2) ) P.526-15 eq. (29) h is the obstacle height ABOVE the tx-rx line and is NEGATIVE when the edge sits below the line, which is the case this method exists for. J(v) = 6.9 + 20*log10( sqrt((v - 0.1)^2 + 1) + v - 0.1 ) eq. (31) valid for v > -0.78; J(v) = 0 below that, which is the recommendation's own cut-off, not a fudge. Consequences that matter to the solver, all of them physics rather than rendering choices: v <= -0.78 the first Fresnel zone is essentially clear -> 0 dB, so the model degenerates EXACTLY to free space on open paths and nothing has to special-case them. -0.78 < v < 0 the path is geometrically clear but the terrain intrudes on the first Fresnel zone and it costs real loss. This is the term that was missing: without it a grazing path and a wide-open path score identically, and the raster then falls off a cliff the instant the ray finally clips the ridge. v = 0 grazing, J = 6.0 dB — the classic half-power edge. v > 0 obstructed; J grows ~20*log10(v) and the shadow softens with distance behind the edge instead of switching off. `maximumEdges` defaults to 1: the single dominant edge, P.526-15 section 4.5.2. That default is a correctness choice, not a performance one. The Deygout construction (section 4.5.3) assumes DISTINCT terrain obstacles, and a solver hands this method a densely sampled profile in which neighbouring candidates are samples of ONE surface. Summing J(v) across them double-counts the same obstruction: a dead-flat plateau with a 60 m antenna at 20 km measured 3.5 dB from its dominant edge (correct — that is first-Fresnel-zone intrusion, ITU-R P.530) and 11.3 dB once ten more samples of the same flat ground were summed in (not correct — the ground is one obstacle, not eleven). Raise `maximumEdges` to 3 when the caller has CURATED the obstacle list into genuinely separate edges; that is the recommendation's own limit for the construction. Deygout over-predicts when several edges have comparable v, and `BULLINGTON` (section 4.5.1) is the alternative construction already exposed here for exactly that case.
Name Type Description
options object
Name Type Default Description
range number Great-circle/slant path length in metres.
frequency number optional Carrier in Hz.
txHeight number 30 optional Transmitter height in the profile's own vertical datum (metres).
rxHeight number 2 optional Receiver height, same datum.
obstacles Array.<object> optional Candidate terrain edges as `{distance, height}` in that same datum. Unlike the knife-edge models, these are NOT required to rise above the tx-rx line: hand it every local maximum of the profile and let v decide which ones attenuate.
effectiveEarthRadiusFactor number optional k-factor for the curvature correction applied to every height before v is formed.
maximumEdges number 1 optional Edge budget. 1 = single dominant edge (section 4.5.2); up to 3 = Deygout construction (section 4.5.3), for curated obstacle lists only.
Returns:
Excess diffraction loss in dB, >= 0, continuous in the terrain geometry.

ituTerrainDiffractionParameter(options)number

The P.526-15 eq. (29) diffraction parameter of the dominant edge on a profile, exposed because it is the quantity a coverage renderer needs to tell a diffraction-softened shadow from an open path: v <= -0.78 is open, -0.78 < v <= 0 is Fresnel-intruded, v > 0 is geometrically obstructed.
Name Type Description
options object Same shape as RfCommsContracts#ituTerrainDiffractionLoss.
Returns:
Dominant v, or -Infinity when the profile carries no edge.
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.