Air surveillanceImplementation status: BidirectionalInput supportedOutput supported

ASTERIX Category 048: what one radar detected

Category 048 carries the target reports a single radar produces. SynapseCommand publishes a bidirectional Category 048 adapter, and its most important behaviour is what it refuses to do without a site position it has been given.

About the standard

What CAT048 is

A Category 048 record is one plot or one local track from one radar. Position arrives as slant range and azimuth measured from a station whose own location the format never carries.

The category also allows the report to describe something that is not an aircraft at all. It has codes for a reflection, a sidelobe reply, an angel, a phantom plot, a bird and a wind turbine, and a reader that assumes every report is a target will produce a picture full of things that are not there.

As with the other categories, there is no checksum. Structural conformance is the integrity gate, and the checks that passed are recorded on every object produced.

Operational relevance

Why this matters to a commander

Monoradar reports are the closest thing to raw measurement that a surveillance network exposes. Working from them means the decision layer can see the measurement rather than a downstream tracker's interpretation of it.

The non-target codes are operationally significant. Distinguishing a wind turbine return from a slow moving contact is exactly the kind of judgement that ought to be visible in a decision record rather than buried in a filter.

For counter-uncrewed-aircraft work, the low, slow and small problem lives in this category's quality fields, not in a downstream summary.

What is implemented

The exact behaviour, not a capability claim

Ingest produces one Entity and one Event per record, in block order.

Two values are injected by the caller rather than taken from the payload: the clock, which supplies the date the time item lacks, and the sensor position, which supplies the site the format never carries. Both are supplied once at construction and both are visible in every golden fixture.

Without a site position the default behaviour is the conservative one. The polar measurement is parked and no geographic position is produced at all. With a site and a height item the geometry is derived, the arithmetic used is declared on the object, and the raw range and azimuth integers are still parked, because a derived position is a one-way view and egress re-emits from the integers.

The adapter never obtains a site for itself. Reading one out of another payload, or resolving a source address through a lookup table it carried, would be a station configuration discovered from the data, which is a different act from accepting an argument.

One geodesy question in the pinned specification could not be answered from that document. It is recorded as an open gap in the coverage file rather than closed by a plausible assumption.

Egress re-emits Entities that came from Category 048 as one byte exact data block. Anything else is refused with a message naming what is missing.

  • 01
    Direction in
    Category 048 data block to canonical Entity and Event per record.
  • 02
    Direction out
    Entities that originated in Category 048, back to one byte exact data block.
  • 03
    Injected values
    Clock, and optionally a sensor position. Default is no sensor position and therefore no derived geographic position.
  • 04
    Non-target reports
    Reflections, sidelobe replies, phantom plots, birds and wind turbines are carried as what the format says they are.
  • 05
    Identity
    The 24-bit ICAO address uses the same namespace as the ADS-B and Category 021 adapters, so one airframe derives one identifier across all three.
Direction of exchange

Which way the data actually moves

Into the canonical model

  1. CAT048 data block
    Target reports from one radar.
  2. Entity and Event
    Position derived only when a site position has been supplied.

Out of the canonical model

  1. Entity
    Only objects that came from this category.
  2. CAT048 data block
    Re-emitted from the parsed integers, byte exactly.
Workflows

Where this data is used

Measurement level ingest

Plots enter the canonical model with their quality fields intact, so fusion decisions are taken with the radar's own uncertainty rather than a rounded version of it.

Low, slow and small detection support

Reports the format marks as probable clutter or as non-aircraft returns stay labelled as such, which is what allows a counter-uncrewed-aircraft workflow to reason about them explicitly.

Configuration as evidence

Because the site position is an injected argument rather than a discovered value, every derived position in a decision record can be traced back to the configuration that produced it.

Implementation evidence

Every claim above has a file behind it

These paths are in the public repository, published under Apache 2.0. The adapter module for this page is asterix_cat048.

Source and fixtures

  • Adapter source
    packages/cdm/synapse_cdm/adapters/asterix_cat048.py

    Ingest, byte exact egress, the two injected values and the refusal rules.

  • Codec
    packages/cdm/synapse_cdm/adapters/cat048_codec.py

    Item level decode and encode.

  • Fixtures
    packages/cdm/synapse_cdm/fixtures/cat048/

    Raw blocks, parsed twins and golden canonical output.

  • Declared gaps
    FORMAT_COVERAGE.md

    Including the geodesy question left open rather than guessed.

Test evidence

  • Harness test
    tests/test_cdm_asterix_cat048_adapter.py

    Replayed by the validation harness shipped in the same package, which runs six checks per fixture including a never-drop lossless check.

  • Boundary test
    tests/test_cdm_boundary.py

    Asserts the refusal behaviour at the edges of what an adapter is allowed to do.

Manifest-backed assurance

Maturity is declared in each generated adapter manifest and checked against suite eligibility. VERIFIED is a separate claim-status axis. Neither means external certification or integration with a named system.

  • asterix_cat048
    Maturity L4Claim VERIFIED
What these maturity levels mean

L3 means required provenance survives translation. L4 adds applicable roundtrip evidence. L5 would require every applicable public conformance gate to pass. L6 requires an independent real implementation or system and cannot be awarded from this repository's synthetic fixtures.

Status and limits

What is claimed, and what is not

Implementation status: Bidirectional

The published adapter implements both translation directions: the format into the canonical data model, and the canonical data model back out to the format. Both directions are replayed by the validation harness against shipped fixtures.

Last reviewed against the published implementation on 2026-09-06.

Limitations

  • Without a supplied site position, no geographic position is produced. This is the default and it is intentional.
  • One geodesy question is recorded as an open gap and is not silently resolved.
  • Egress refuses objects that did not originate in this category.
  • No cross-payload state. A site position present in a Category 034 record is not used here.

Security boundary

  • The site position is configuration supplied by the operator inside their own environment. It is not present in the repository, and no example carries a real installation.
  • The published layer performs translation only. It has no network client and no persistence.

Public sources

Statements about what SynapseCommand® implements are drawn from the published repository rather than from these external sources.

Questions

Frequently asked

Why does the adapter sometimes produce no position?
Because Category 048 states range and azimuth from a station whose location the format does not carry. Without a supplied site position, deriving a geographic position would mean inventing the origin of the measurement, so the measurement is carried unconverted instead.
Where does the site position come from?
From the caller, as configuration supplied once at construction. The adapter never reads one out of a payload or resolves one from a lookup table it carries.
Are non-aircraft returns filtered out?
No. The format has explicit codes for reflections, phantom plots, birds and wind turbines, and those are carried as what they are. Filtering is a fusion decision, made where it can be audited.
Related

Where to go next

Related C2 environments

Command environments in the compatibility catalogue whose published characteristics reference this standard. Each page states the current SynapseCommand integration status for that system.