---
title: Zonotope Shadow Matching for GNSS Localization
url: https://www.emergentmind.com/topics/zonotope-shadow-matching-zsm
type: topic
---

# Zonotope Shadow Matching for GNSS Localization

Zonotope Shadow Matching (ZSM) is a set-valued, 3-D map-aided GNSS localization method that replaces grid-based shadow matching with constrained-zonotope geometry. Buildings and GNSS shadows are represented using constrained zonotopes, and a coarse initial receiver region is recursively refined according to whether each satellite is inferred to be line-of-sight (LOS) or non-line-of-sight (NLOS). Rather than returning a single point candidate on a discretized grid, ZSM returns a continuous feasible receiver-position set, which may be disconnected and therefore explicitly multi-modal [2209.14238].

## 1. Urban GNSS localization setting

ZSM arises from the urban GNSS problem in which buildings block, reflect, scatter, and diffract satellite signals. In dense urban areas, conventional pseudorange positioning becomes unreliable, cross-street accuracy degrades sharply, and errors can become large enough to matter at the level of street or side-of-street decisions. Three-dimensional map-aided GNSS addresses this by using a city model to infer where satellites should be visible or blocked, and classical shadow matching implements that idea by evaluating a grid of candidate receiver points against map-predicted satellite visibility [2209.14238].

The central limitation of classical shadow matching is that its accuracy is tied to grid resolution. A coarse grid reduces computational burden but degrades localization precision; a fine grid improves fidelity but substantially increases offline precomputation, online evaluation cost, and storage. ZSM replaces this pointwise discretization with a continuous feasible set. This shift is important not only for nominal accuracy, but also for robustness: a set-valued estimate can represent non-Gaussian and multi-modal uncertainty directly, and geometric bounds can be read from the final feasible region rather than inferred from weighted point clouds or empirical covariance surrogates [2209.14238].

The method is formulated on a 3-D building map together with a 2-D ground-plane receiver model. For each satellite/building pair, the map is used to compute a GNSS shadow, meaning the area on the ground where direct LOS reception from that satellite is blocked by the building. ZSM then treats LOS/NLOS classification as a geometric constraint: an NLOS satellite implies the receiver should lie inside the relevant shadow region, whereas an LOS satellite implies the receiver should lie outside it. Repeating this across satellites refines the feasible receiver set [2209.14238].

## 2. Constrained-zonotope representation and shadow geometry

The core set representation is the constrained zonotope
\[
Z = \zono{c,G,A,b} = \left\{c + G\beta \in \mathbb{R}^n \;\middle|\; \beta \in [-1,1]^m\ \text{and}\ A\beta = b \right\},
\]
with center \(c\), generator matrix \(G=[g_1,\dots,g_m]\), coefficient vector \(\beta\), and linear equality constraints \(A\beta=b\). Ordinary zonotopes appear as the unconstrained special case. The representational motivation is that constrained zonotopes can represent arbitrary convex polytopes while still supporting efficient Minkowski-sum and intersection operations through generator and constraint concatenation [2209.14238].

In the urban-GNSS formulation, each building \(B_i\subset \mathbb{R}^3\) is represented as a union of constrained zonotopes,
\[
B_i = \bigcup_{l=1}^{n_i} Z_l.
\]
This union structure is operationally important because unions of constrained zonotopes are not generally convex and are therefore not themselves encoded as a single constrained zonotope. Standard triangle-mesh city models are converted by representing vertices as degenerate constrained zonotopes and forming triangle patches through repeated convex-hull operations. The area of interest (AOI) on the ground plane is likewise represented as one or more constrained zonotopes, and the initial receiver uncertainty set is taken to be this AOI [2209.14238].

For building \(B_i\) and satellite \(s_j\in\mathbb{R}^3\), ZSM computes a representative building point \(b_i\) from the building vertices and defines the unit shadow direction
\[
\delta_{i,j} = \frac{s_j - b_i}{\|s_j - b_i\|_2}.
\]
A long line segment in that direction is encoded as
\[
D_{i,j} = \zono{0_{3\times 1},\ \epsilon\,\delta_{i,j},\ [,\ [},
\]
with \(\epsilon\) chosen large enough to exceed relevant building scales; the reported implementation uses \(\epsilon = 10^5\ \mathrm{m}\). The building shadow volume is then the Minkowski sum
\[
V_{i,j} = B_i \oplus D_{i,j}
      = \bigcup_{l=1}^{n_i} \left\{ Z_l \oplus D_{i,j} \right\}.
\]
Intersecting this 3-D volume with the ground-plane AOI yields the 2-D GNSS shadow used by the localization algorithm [2209.14238].

The required set operations are explicit. If \(Z_1=\zono{c_1,G_1,A_1,b_1}\) and \(Z_2=\zono{c_2,G_2,A_2,b_2}\), then the Minkowski sum is
\[
Z_1 \oplus Z_2 = \zono{c_1+c_2,\ [G_1,G_2],\ A_\oplus,\ b_\oplus},
\]
with block-diagonalized constraints, and the intersection is
\[
Z_1 \cap Z_2 = \zono{c_1,[G_1,0],A_\cap,b_\cap},
\]
with augmented equality constraints enforcing consistency of the two set parameterizations. These concatenation-based formulas are one reason constrained zonotopes are computationally attractive in the shadow-construction stage [2209.14238].

## 3. Core ZSM algorithm

The online ZSM pipeline begins from a coarse feasible set \(P\), initialized to the AOI in vertex representation. For each satellite, the algorithm computes the aggregate 2-D GNSS shadow by traversing buildings, forming their satellite-dependent shadow volumes, intersecting those volumes with the AOI, and converting the resulting pieces to vertices for polygonal union. At this stage ZSM uses constrained zonotopes for 3-D shadow construction and intersections, but the practical 2-D feasible set is maintained as polygons because set subtraction and disconnected outputs are easier in vertex form [2209.14238].

The classification signal used in the original formulation is carrier-to-noise density \(C/N_0\), denoted \(r_j\) for satellite \(j\). In the baseline experiments, a threshold rule is used:
\[
r_j < \eta \Rightarrow \text{NLOS}, \qquad
r_j \ge \eta \Rightarrow \text{LOS},
\]
with \(\eta = 38\) dB-Hz in the simple emulation study. The corresponding feasible-set updates are the core ZSM rules:
\[
P \leftarrow P \cap S_j \quad \text{for NLOS},
\]
\[
P \leftarrow P \setminus S_j \quad \text{for LOS},
\]
where \(S_j\) is the satellite’s ground shadow polygon [2209.14238].

Several structural properties follow directly from this formulation. First, ZSM is a snapshot algorithm: it uses only the measurements available at one epoch and does not assume a motion model. Second, the order in which satellites or buildings are processed does not affect the final set-valued estimate, so the method is naturally parallelizable. Third, the output can contain multiple disconnected feasible components. This is not an implementation artifact; it is a geometric consequence of the fact that different urban locations can satisfy the same LOS/NLOS evidence [2209.14238].

A recurrent misconception is that ZSM remains entirely within constrained-zonotope algebra. The reported implementations do not. Constrained zonotopes are used where Minkowski sums and intersections are most effective, but the final feasible set and satellite shadows are converted to polygon or polytope representations to support subtraction and multi-component geometry. This hybrid representation is central to the practical algorithm rather than a minor implementation detail [2209.14238].

## 4. Computational behavior and baseline empirical performance

The original ZSM study reports that constrained-zonotope Minkowski sums are substantially faster than comparable vertex-based polytope sums in preprocessing-style experiments: on 1000 random polytopes, the vertex-based Minkowski sum averaged **71.3 ms**, while the constrained-zonotope implementation averaged **5.5 ms**. The paper attributes this to the fact that a Minkowski sum with a line segment adds only one generator in the constrained-zonotope representation, whereas the corresponding vertex growth can be much less predictable in a polytope representation [2209.14238].

In the simple simulated 3-D map with two buildings and 9 visible GPS satellites, ZSM produced point error \([3.46,\ 16.05]\) m in \([\text{cross-street},\ \text{along-street}]\), a bound of \([17.87,\ 50.11]\) m, offline time \(1.7\times 10^{-4}\) s, and online time \(0.39\) s. Conventional shadow matching on a 5 m grid required **1524.41 s** offline and **1.66 s** online, with a covariance-derived bound of \([59.58,\ 447.48]\) m; coarser 10 m and 15 m grids reduced online cost but retained very large bounds. The comparison in that study is therefore not only about point error, but also about the geometry and interpretability of the returned uncertainty region [2209.14238].

In the dense San Francisco map experiment, ZSM with all 14 satellites produced two disjoint feasible sets, one containing the true location. For the true-containing mode, the reported centroid error was \([1.2,\ 8.1]\) m and the bounds were \([5.8,\ 16.2]\) m, with offline time **162.5 s** and online time **4.4 s**. Reducing the satellite set to 10 random or 8 random satellites degraded the set quality only moderately in the true-containing mode, whereas restricting to satellites with elevation \(>20^\circ\) generated several components but still preserved one accurate mode. This behavior is consistent with the set-valued design: good localization may survive even when some constraints are discarded, provided the correct mode remains intact [2209.14238].

Later field-test reporting gives per-epoch timing that is more directly tied to online deployment. In that implementation, GNSS-shadow computation required **0.1729 s per satellite per epoch**, receiver-position-set estimation required **0.0176 s per epoch**, and total ZSM online time was **0.1905 s per epoch**. The same paper reports offline conversion of the map to constrained zonotopes as **172.5 s for 448 epochs**. These values indicate that the main online cost remains geometric shadow construction rather than the final feasible-set update [2601.10727].

## 5. Ambiguity, risk-awareness, and conservative constraint admission

Because ZSM can return multiple disconnected feasible sets, mode ambiguity is a central downstream issue. One study formalizes each connected component of the ZSM output as a mode and considers the problem of selecting which mode actually contains the receiver. In that framework, if the correct mode were always selected, RMS error would be **14.02 m**; using an earlier satellite-pseudorange consistency (SPC) mode selector gave **17.70 m**, while a proposed single-timestep enhanced-SPC method based on mode-conditioned multipath estimation reduced this to **16.87 m**. Over **104 epochs**, the existing SPC method selected the correct mode in **90/104 epochs** (**86%**), and the enhanced method selected the correct mode in **95/104 epochs** (**91%**) [2502.11283].

A different line of work extends baseline ZSM into a risk-aware posterior over a mosaic of polytopes rather than a single hard-decision feasible set. Mosaic Zonotope Shadow Matching (MZSM) uses ZSM’s shadow extraction as a front-end, but replaces brittle LOS/NLOS commitment with a recursively expanding binary tree over LOS and NLOS branches. The resulting leaf polytopes form a weighted mosaic, with branch weights determined by \(p(s_j=\mathrm{LOS})\) and \(p(s_j=\mathrm{NLOS})\). The method yields an exact shadow matching distribution, an AOI-violation probability
\[
p_{\emptyset} = p(A) - \sum_l p(\Phi_l),
\]
and confidence collections defined by leaf subsets whose normalized posterior mass exceeds a target confidence level. In simulation with **14 satellites**, the reported tree had **196 leaves** and median runtime about **0.63 s**, with empirical quadratic growth in satellite number [2205.10223].

Constraint admission itself can also be made conservative. A later reliability-oriented study keeps a satellite for downstream ZSM only if three classifiers—RF, GBDT, and SVM—produce unanimous LOS/NLOS labels and all three confidences exceed **0.7**. On **146** urban test epochs, this reduced the mean number of misclassified satellites entering ZSM to **0.41** per epoch, achieved **100%** positioning success and **61.0%** receiver containment, but increased the cross-street and along-street bounds to **52.3 m** and **108.7 m**, respectively. The same study reports that single-classifier pipelines gave lower containment, ranging from **26.0%** to **42.5%**, illustrating the trade-off between tighter but brittle feasible sets and looser but more reliable ones [2507.12706].

Taken together, these developments indicate that baseline ZSM is best understood as a geometric feasible-set generator rather than a complete urban localization stack. Mode selection, probabilistic branching, and conservative measurement screening are additional layers motivated by concrete failure modes of the original hard-decision formulation. This suggests that high-performance ZSM deployments depend as much on constraint management as on shadow geometry itself.

## 6. Shadow and reflection matching as an extension of ZSM

ZSM uses only GNSS shadows, so an LOS satellite merely excludes shadowed regions and an NLOS satellite merely enforces membership in them. A later extension, Zonotope Shadow and Reflection Matching (ZSRM), argues that this binary use of visibility information is insufficient because outside-shadow regions are often much larger than inside-shadow regions, and shadow constraints are typically stronger in the cross-street direction than along the street. ZSRM therefore adds a second geometric object, the GNSS reflection, defined as an area on the ground where both LOS and reflected NLOS signals are simultaneously received [2601.10727].

ZSRM replaces the LOS/NLOS split by a three-class signal-reception model: LOS-only, LOS+NLOS, and NLOS-only. The feasible-set rules become stronger:
\[
P \leftarrow P \cap S_j \quad \text{for NLOS-only},
\]
\[
P \leftarrow P \cap R_j \quad \text{for LOS+NLOS},
\]
\[
P \leftarrow P \setminus S_j \setminus R_j \quad \text{for LOS-only},
\]
where \(R_j\) is the aggregate GNSS reflection set for satellite \(j\). Reflection geometry is constructed by identifying building planes that can act as reflectors, mirroring the satellite across such planes, forming reflected propagation volumes, and then subtracting invisible, blocked, and shadow-only regions to obtain the final reflection area [2601.10727].

The empirical gains reported for ZSRM are substantial. In the field tests, the paper states that the RMS horizontal position error of ZSRM improved by **10.0% to 53.6%** compared with ZSM, while the RMS cross-street and along-street position bounds improved by **18.0% to 50.1%** and **30.7% to 59.3%**, respectively. Under ideal classification with ideal mode selection, the reported ZSM horizontal RMS error was **17.5 m** and the ZSRM value was **7.1 m**; the corresponding cross-street and along-street bounds changed from **51.2 m** and **67.5 m** to **25.5 m** and **27.5 m**. The price is increased complexity: average total online time rose from **0.1905 s per epoch** for ZSM to **0.9328 s per epoch** for ZSRM, with the dominant added cost coming from invisible and blocked reflection computation [2601.10727].

ZSRM therefore does not supersede ZSM so much as generalize it. ZSM remains the shadow-only baseline and is still relevant when only binary LOS/NLOS classification is available, when computation is more constrained, or when reflection classification is not sufficiently reliable. ZSRM demonstrates, however, that the zonotope framework is not restricted to occlusion geometry; it can accommodate additional signal-propagation structures while preserving a set-valued output [2601.10727].

## 7. Broader zonotope-theoretic context

Although ZSM is an urban-GNSS localization method, its name is not accidental: the underlying set representation belongs to a broader convex-geometric theory of zonotopes as projections of hypercubes and Minkowski sums of line segments. A standard zonotope generated by a matrix \(\mathbf A\in\mathbb R^{n\times m}\) is
\[
Z(\mathbf A)=\{\,\mathbf A\mathbf x\mid \mathbf x\in[-1,1]^m\,\},
\]
and thus already a projection of the hypercube. A randomized vertex-enumeration result shows that exposed zonotope vertices can be generated from support directions by the sign map
\[
\mathbf m(\mathbf x)=\mathbf A\,\operatorname{sign}(\mathbf A^T\mathbf x),
\]
with the inverse image of a vertex equal to the interior of its normal cone. This means that random support directions recover vertices with probability equal to the measure of their normal cones, so prominent extremes are sampled more often than nearly flat ones [1602.06620].

A complementary oracle-based line of work characterizes zonotope vertices as subset sums of generators whose signed generator sets span pointed cones, and shows that support-direction sign patterns partition direction space into regions of constant maximizing subset sum. This supplies a combinatorial language for exposed faces, support cells, and adjacency relations between zonotope vertices. Such results are not GNSS localization algorithms, but they clarify why shadows, support directions, and generator sign patterns are natural companions in a zonotopal framework [1912.02439].

Containment theory provides a third useful perspective. For a zonotope \(Z(W)=\{Wx:\|x\|_\infty\le 1\}\), the support function is
\[
h_Z(a)=\|W^\top a\|_1.
\]
This turns zonotope comparison into directional support comparison. A recent containment study gives a sampling-based \(O(\sqrt d)\)-approximation algorithm for \(\max\{s>0:sZ\subseteq Q\}\) in the membership-oracle model, proves nearly tight lower bounds, and develops sparsification results that preserve the support profile of structured zonotopes through much smaller generator sets. This suggests a broader interpretation of “shadow matching” in which zonotopal objects are compared through directional extents, support functions, and sparse generator summaries rather than solely through urban occlusion geometry [2605.04183].

In this broader setting, ZSM can be viewed as a domain-specific instantiation of a more general zonotope program: represent geometry through projected line-segment structure, extract directional or visibility-induced feasible regions by set operations, and reason about ambiguity through the combinatorics of exposed faces. The urban-GNSS literature supplies the application-specific semantics—buildings, LOS/NLOS evidence, multipath, and protection bounds—while general zonotope theory supplies the support-function, projection, and generator-level language in which those semantics can be analyzed.

Source: https://www.emergentmind.com/topics/zonotope-shadow-matching-zsm