Why altitude can carry information
The cheapest piece of state every aircraft already has is its altimeter reading. The protocol question is whether that reading can also carry direction information — and whether doing so is a notational trick or something more durable.
Jittapol Prukpatarakul
VerSky Founder
The cheapest piece of state any aircraft already has is its altimeter reading. Every vehicle, regardless of vintage or platform, knows how high it is. The information is local. It is available without consulting anyone. It is accurate to a precision that modern barometric and GNSS-augmented sensors have made uninteresting.
The protocol question this post tries to answer is whether that altimeter reading can also carry routing information — specifically, direction of travel — and whether doing so is a notational trick or something more durable. I will argue it is the latter.
§Where the question comes from
For sixty years, the answer at higher altitudes has been a half-yes. The ICAO Semicircular Rule, which dates to 1950s general aviation, says that aircraft flying at magnetic headings of 0 to 179 degrees use odd thousand-foot flight levels (3,000, 5,000, 7,000 and so on), while aircraft on headings of 180 to 359 degrees use even ones. The result is a vertical separation of 1,000 feet between any two aircraft pointed roughly toward and away from each other on the same route.
What the semicircular rule does, when you strip away the procedural language, is encode one bit of directional information per cruising aircraft into a quantity (altitude) that the aircraft was already required to maintain anyway. It is, in the strictest information-theoretic sense, a piggyback channel. No new sensor. No new transmitter. No new procedure. Just a convention.
The rule works. It has worked for sixty years. It is also, as a piece of information design, almost insultingly limited.
§What one bit buys you
One bit of direction means two directions. In the air, this has historically been enough because cruising aircraft are large, sparse, and travel between predictable city pairs at speeds that make the 1,000-foot vertical separation generous to the point of luxury. A 737 cruising at FL370 and another at FL380 are vertically half a kilometre apart while horizontally closing at potentially a thousand knots — and the rule keeps them apart with a margin of error measured in tens of seconds.
Now imagine the same problem at thirty metres above a city park.
The vehicles are small. The speeds are not 480 knots but perhaps thirty. The vertical separation budget is not 1,000 feet (300 metres) but at most ten metres at a time, because the entire useful corridor — call it 0 to 120 metres above ground level — is only twelve such levels deep. And the traffic is not sparse. A single neighbourhood block at peak delivery hours might carry twenty active vehicles where, in the manned-aviation world, you would expect one or two.
In that regime, one bit of direction does not buy you safety. It buys you a north-south corridor and a south-north corridor and nothing else. Anything moving east-west has nowhere to live.
§The protocol question, restated
So the protocol question is not "should we have a semicircular rule for low altitude?" It is "how many directions does low-altitude airspace need to encode, and what is the cheapest channel through which to encode them?"
Let me take the second question first. The cheapest channel is the one every vehicle already has and every other vehicle can passively observe. In low-altitude operations, that is altitude itself. Barometric and GNSS-augmented altimeters are universal. Transponder broadcasts include altitude as a baseline field — it is part of the Mode S squitter, part of ADS-B, part of every serious UTM telemetry standard. You do not have to design a new channel. You have to choose what to put in the existing one.
The first question — how many directions — is harder, and is the question this protocol exists to answer. The honest argument for six directions runs roughly as follows:
| Encoding | Directions | Resolution | Bits |
|---|---|---|---|
| Semicircular (current ICAO) | 2 | 180° | 1 |
| Quadrant | 4 | 90° | 2 |
| Hexagonal | 6 | 60° | ~2.6 |
| Octagonal | 8 | 45° | 3 |
| Continuous | unbounded | arbitrary | 6+ |
Two directions is too few — the corridor problem above. Eight directions is technically defensible but introduces a geometric awkwardness I will pick up in the next post: eight-way symmetry does not tile a plane cleanly. Six does. Six is the lowest direction count at which the underlying spatial discretisation — hexagonal cells — gives you isotropic neighbour access, where every cell has exactly six equidistant neighbours and every direction maps cleanly to one of them.
Six is also, not coincidentally, the lowest count at which the asymmetric-traffic problem — northbound rush hours, single-direction emergency corridors, unidirectional logistics lanes — becomes solvable without choking the inverse direction. Two directions cannot tolerate asymmetric load. Four can, barely. Six handles it with room to spare.
§What an altitude actually says
In a hexagonally-encoded airspace, a vehicle at altitude h is implicitly declaring direction d = f(h), where f is a deterministic function visible to every participant in the protocol. The function is not the interesting part — many functions will work, and the specific one the protocol uses is described in the filed application. The properties the function must have are what matters.
It must be purely local. A vehicle cannot need to ask anyone what direction another vehicle is going. It must read direction off the altimeter trace it already receives.
It must be stable under perturbation. Small altitude variations from turbulence, sensor noise, or transient updrafts must not flip the encoded direction. The function therefore needs broad altitude bands per direction, not razor-thin slices.
It must be invariant under reflection. The function for direction d and the function for the reverse direction d + 180° must produce altitudes that are vertically separated by a known, fixed amount — large enough to absorb sensor error budgets, small enough that the total altitude envelope remains usable.
It must be bijective within the operating band. Each altitude band maps to one direction, and each direction has a unique altitude band per cell layer. No ambiguity.
These four properties — locality, stability, reflective invariance, bijectivity — are the load-bearing constraints. The specific formula is a design choice. The constraints are not.
§Why "information theory" is not a metaphor here
I want to be careful with the word information because it can be made to mean very little. In this context I mean it in the Shannon sense: the altimeter channel is being asked to communicate a direction-of-travel symbol drawn from a finite alphabet, and the question is whether the channel has enough capacity, low enough noise, and high enough mutual information with the intended symbol to make the encoding reliable.
The answer is yes, by a comfortable margin. A modern GNSS-augmented barometric altimeter, stationary, resolves altitude to better than a metre. In flight, with vertical wind and sensor lag, the practical resolution drops to perhaps three metres. The vertical separation between adjacent direction bands in a six-way encoding distributed over a 120-metre corridor is twenty metres. The signal-to-noise ratio is sixteen-to-one. By comparison, the manned-aviation semicircular rule operates at a signal-to-noise ratio of roughly six-to-one — and has worked for sixty years.
The encoding is not marginal. It is, if anything, over-engineered for the precision of present-generation hardware. It will be more so as hardware improves.
The point of the calculation
You do not need an exotic sensor stack to receive six bits of direction information from another vehicle's altitude broadcast. You need an altimeter accurate to a few metres — which everything that flies already has — and a published encoding function — which the protocol provides.
§What this is not
It is worth being explicit about what altitude-direction encoding is not, because the framing tempts certain misreadings.
It is not a substitute for collision avoidance. Two vehicles correctly encoded as travelling in different directions can still arrive at the same point at the same moment. Encoding gives you a static spatial separation guarantee, not a dynamic one. The protocol's 4D reservation layer — the topic of the next post — handles the dynamic case.
It is not a substitute for situational awareness. A vehicle reading another vehicle's altitude infers direction, but does not infer intent. A westbound vehicle may be descending to land; its momentary altitude during descent passes through eastbound bands. The protocol distinguishes these cases by reservation context, not by altitude alone.
It is not a substitute for human-readable airspace structure. Low-altitude airspace will still need named corridors, named zones, named exclusion volumes. The protocol is an underlying coordination layer, not a replacement for cartography.
What it is — and the reason any of this is worth the effort — is the cheapest possible channel for the most common piece of information any low-altitude vehicle needs to broadcast to every other low-altitude vehicle continuously: I am going this way.
§What comes next
The next post takes the encoding apart and looks at the spatial substrate it sits on — the hexagonal cell grid, why six neighbours is the right number, and how cell-level capacity scales when traffic refuses to be symmetric. After that, a third post on what the AI communication layer (AACP) actually negotiates — and, more importantly, what it deliberately refuses to negotiate.
If you have read this far and have specific objections — physics, regulatory, operational — I would genuinely like to hear them. The contact form routes academic and technical correspondence to me directly.