# On-board data handling

The on-board data handling (OBDH) subsystem of a spacecraft is the subsystem which carries and stores data between the various electronics units and the ground segment, via the telemetry, tracking and command (TT&C) subsystem.
In the earlier decades of the space industry, the OBDH function was usually considered a part of the TT&C, particularly before computers became common on board. In recent years, the OBDH function has expanded, so much that it is generally considered a separate subsystem to the TT&C, which is these days concerned solely with the RF link between the ground and the spacecraft.
Functions commonly performed by the OBDH are:
* Reception, error correction and decoding of telecommands (TCs) from the TT&C
* Forwarding of telecommands for execution by the target Avionics
* Storage of telecommands until a defined time ('time tagged' TCs)
* Storage of telecommands until a defined position ('position tagged' TCs)
* Measurement of discrete values such as voltages, temperatures, binary statuses etc.
* Collection of measurements made by other units and subsystems via one or more data busses, such as MIL-STD-1553
* Real-time buffering of the measurements in a data pool
* Provision of a processing capability to achieve the aims of the mission, often using the data collected
* Collation and encoding of pre-defined telemetry frames
* Storage of telemetry frames in a mass memory
* Downlinking of telemetry to the ground, via the TT&C
* Management and distribution of time signals

## Telecommand reception

The OBDH receives the TCs as a synchronous PCM data stream from the TT&C

## Telecommand execution

The desired effect of the telecommand may be just to change a value in the on-board software, or to open/close a latching relay to reconfigure or power a unit, or maybe to fire a thruster or main engine. Whichever effect is desired, the OBDH subsystem will facilitate this either by sending an electric pulse from the OBC, or by passing the command through a data bus to the unit which will eventually execute the TC. Some TCs are part of a large block of commands, used to upload updated software or data tables to fine tune the operation of the spacecraft, or to deal with anomalies.

## Time-tagged telecommands

It is often required to delay a command's execution until a certain time. This is often because the spacecraft is not in view of the ground station, but may also be for reasons of precision. The OBC will store the TC until the required time in a queue, and then execute it.

## Position-tagged telecommands

Similar to time-tagged commands are commands that are stored for execution until the spacecraft is at a specified position. These are most useful for Earth observation satellites, which need to start an observation over a specified point of the Earth's surface. The spacecraft, often in Sun-synchronous orbits, take a precisely repeating track over the Earth. Observations which are taken from the same position may be compared using interferometry, if they are in close enough register.
The precise position required is sensed using GPS.
Once a position tagged command has been executed, it may be flagged for deletion or left to execute again when the spacecraft is once again over the same point.

## Processing function

The modern OBDH always uses an on-board computer (OBC) that is reliable, usually with redundant processors. The processing power is made available to other applications which support the spacecraft bus, such as attitude control algorithms, thermal control, failure detection isolation and recovery. If the mission itself requires only a small amount of computing power (such as a small scientific satellite) then the payload may also be controlled by the software running on the OBC, to save launch mass and the considerable expense of a dedicated payload computer.