Transponder

From FlightGear wiki
Jump to navigation Jump to search

Transponders are radio beacons which make aircraft more identifiable on ATC displays and systems and by other aircrafts. Modern transponders support transmitting additional data such as an identification ('squawk') code and aircraft altitude. See more at Transponder (aeronautics) This is a link to a Wikipedia article.

ID Codes

  • The ‘squawk code’ 7000 is used for VFR flights in Europe, while in the US, 1200 is used for the same purpose.
  • IFR aircraft will be assigned an “attributed code” by ATC services at clearance delivery time, typically during startup. The code is selected by ATC from a regionally allocated pool of currently unused codes.
  • NATO and other military aircraft sharing civil airspace use several codes from conventional tables, such as “0300 or 0400 - NATO - CAOC 9 Exercises (activated by NOTAM)” and “3500 - NATO - Aircraft receiving a service from AEW aircraft.”
  • An aircraft unable to use voice radio communications will select the special code 7600.
  • An aircraft experiencing an emergency (technical, medical, etc.) will select the special code 7700.

While some codes are used worldwide, such as the emergency codes, other codes have different regional meanings, like the special code ‘0000’.

  • In the UK, by convention, the code ‘0000’ may be automatically selected by some transponders to report a transponder malfunction; pilots are not allowed to select it manually.
  • In Europe, it is no longer used and its use has become prohibited. In the early days of transponders (Mode A), it was used to indicate “no ORCAM code inserted yet.” Its use today is strictly forbidden.
  • In the US, it is a bit more confusing:
    • It is used for some military interception operations.
    • It may be used by ARTCC en route control centers for aircraft in cruise within controlled airspace when no more unassigned ORCAM codes are available.
    • The Department of Transportation and the FAA have advocated, since 1981, for abandoning its use and moving toward full prohibition.

See: https://en.wikipedia.org/wiki/List_of_transponder_codes

Codes are composed of a sequence of 4 digits, each with 8 possible values, ranging from [ 0 ][ 0 ][ 0 ][ 0 ] to [ 7 ][ 7 ][ 7 ][ 7 ].

Codes specifically define either:

  • 1 aircraft, and 1 aircraft only;
  • 1 particular situation.

Special Codes

Codes ending in “00” define situations.

  • 7500 - Hijacking
  • 7600 - Unable to use voice radio communications - “Communications failure”
  • 7700 - Emergency (technical / medical)

These codes do not identify 1 aircraft only.

Codes ending with other numbers (0 to 7) identify 1 and only 1 aircraft.

  • They are assigned by ATC, usually by radio during departure clearance.
  • They can be changed during the flight to accommodate traffic management needs.

Codes identifying 1 and only 1 aircraft are called discrete or conspicuous codes.

Codes defining situations are called non-discrete or non-conspicuous codes.

This is also why transponder codes are called Conspicuity Codes.

See: https://skybrary.aero/articles/discrete-and-non-discrete-ssr-codes

ORCAM method

There are far more aircraft to manage than available squawk codes.

To solve this problem, the ORCAM method is used.

ORCAM stands for Originating Regional Code Allocation Method.

Every region, airspace, airport, or service (such as military operations) is assigned a range of codes.

When an aircraft leaves one controlled zone and enters another, if, the current code conflicts with another code already in use nearby, ATC will ask the aircraft to recycle the code and select a new unused one.

ORCAM is a method, not a “table,” although the method excludes a subset of fixed codes from its management, and those are defined in tables.

Note that the following table is valid for the UK only; the US and Europe use some different assignments.

https://www.flightradars.eu/squawkcodes.html#top

Modes A, B, C, S

Detailed illustrated explanation:

Needs are constantly evolving, and technology merely adapts to those changes. Transponder modes are a reflection of the evolution of those needs.

Mode A

From the WWII era, when aircraft were returning and approaching their bases, it was difficult to determine whether they were Friend or Enemy (FOE). To avoid unwanted activation of the DCA systems, pilots would activate a conventional code by switching a set of buttons ON and OFF to define an identity code.

After the war, this concept carried over into civil aviation, but the mode was very basic and additional identification features were soon desired.

Mode B

It was an evolution of Mode A, but due to some quirks it was quickly abandoned in favor of Mode C.

Mode C

It added reporting of aircraft altitude.

This reported altitude was originally transmitted after barometric correction, which led to several problems. In the later Mode S, this was changed to transmitting uncorrected altitude instead.

The reason for this is not obvious. Imagine an aircraft on final approach: an incorrectly set altimetric pressure could cause the aircraft to “hit” the ground before the runway, or touch down too late and trigger a runway excursion.

Other situations involving altitude busts (loss of vertical separation) have also occurred, although more rarely.

Mode C altitude reports are transmitted in 100 ft increments.

Mode S

Mode S has been a game changer.

In Mode C, there were too many aircraft sending information at the same time. The radio frequency was congested, and often life-and-death information became lost as a result of all the transponders “speaking at the same time.”

In Mode S, transponders are quiet and remain silent unless “interrogated” by the surveillance system.

Well, almost silent. The surveillance system needs to know whom to direct the interrogation to. For this reason, all transponders still continue to repeatedly emit a very short ID called the squitter.

The surveillance system keeps a table of all the squitters for management.

With the frequency no longer congested, interrogated transponders have the ability to send more extensive information.

Mode S itself has 2 variants: ELS and EHS, meaning ELementary Surveillance and EnHanced Surveillance.

The former sends altitude (before calibration), speed, direction, and a few more aircraft and flight parameters.

The latter also sends the “selected” altitude in the autopilot, which allows ATC to detect misunderstandings early and prevent possible level busts before they happen.

See: https://skybrary.aero/articles/mode-s

Mode S altitude reports are in 10 ft increments, which is uncalibrated.

To do this, the transponder needs an altitude source. In real life this can be a separate box called an encoder, or it may be derived from FMC / ADIRU sources. It's important to note this altitude is referenced to standard pressure (29.92 inHg / 1013 hPa), and is not corrected for actual barometric pressure in the local environment.

Additional support for military modes is possible if anyone wishes to add it.

Transponder in the Cockpit

Bear in mind that no two transponders are exactly the same.

  • Older aircraft may still have older transponders that are not Mode S capable.
  • There are several manufacturers with differing control panels.

Some transponders have a knob position labeled “ALTITUDE,” which can be Mode C or Mode S. Transponders with TCAS support usually use "TA/RA" and "TA" and "ON" modes instead of "ALTITUDE", all of which send altitude information.

The usual transponder modes encountered in real life are:

  • Off - switched off / no power
  • Test - maintenance mode
  • Standby - powered on, but not sending information except the squitter (see above)
  • Ground - sends out the squawk code only
  • Altitude - in Mode C, sends altitude information; in Mode S, sends additional information as well

Traffic and Resolution Advisories

  • TA = Traffic Advisory
  • RA = Resolution Advisory

On some transponders, TA/RA functions may be switched on separately.

Coordinated resolution advisory require Mode S in order to work properly.

A common myth is that Mode S and TA/RA should only be activated while airborne.

Nothing could be further from the truth.

Airports where visibility is frequently poor and foggy, such as Paris Orly, Milano Linate, Birmingham, among others, may require departing aircraft to activate Mode S and TA from the gate/stand, even before pushback. This is also standard practice in the United States.

TA on the ground uses a special mode with different sensitivity settings adapted to detect converging taxiing aircraft. Many severe accidents with fatalities have involved ground collisions.

Examples:

Scandinavian Airlines Flight 686 (a Scandinavian Airlines McDonnell Douglas MD-87) collided with a private Cessna Citation, resulting in 118 fatalities. https://en.wikipedia.org/wiki/Linate_Airport_disaster

Paris Orly is historically so fog-prone that it became one of the first airports to develop “Turbo Clear” anti-fog systems in 1963. Airports around the world later adopted similar systems before the introduction of ATT (“Atterrissages Tous Temps” / “All Weather Landings”), precursors to modern Instrument Landing Systems. https://www.aeroport-paris-orly.com/systemes-anti-brouillard

The myth likely originates from the fact that procedures vary between airports and situations. Someone discovering the rule enforced at one airport may incorrectly assume the same rule applies everywhere.

Usually, airport administration and chart briefing pages clearly specify the procedures enforced at that particular airport.

On the ground:

  • Mode S + Traffic Alert may be required.

Airborne:

  • Mode S + Traffic Alert + Resolution Advisory is generally expected whenever available.
  • Older aircraft frequently operating in controlled airspace are increasingly required to upgrade their transponders.

IDENT

Transponders have a separate function called IDENT, activated by pressing a dedicated button.

This is not actually a “mode” like Mode A, C, or S.

It should never be pressed unless requested by the ATC providing the service.

It also must not be activated automatically during squawk code changes, which is a frequent error.

IDENT allows ATC to instantly spot a particular aircraft among many others, and its sole purpose is to help in cases where conspicuity has been lost.

Squawk codes change quite frequently. If IDENT were activated every time a squawk code was recycled, many blips (aircraft symbols on the ATC screen) would constantly start blinking. Then, when ATC actually requests an aircraft to press IDENT, the usefulness of the feature would be lost because it would be drowned among many other IDENT activations.

Configuration in FlightGear

Transponder support was overhauled in May 2013; earlier versions (2.10 and prior) have different support and are not documented here. Updating an aircraft to use the new config is straightforward. Key transponder properties (altitude, ident and transmitted-id) are now sent via the MP protocols for use in ATC clients.

The default altimeter can act as an altitude encoder; in its configuration, set either or both of the following boolean flags:

  • encode-mode-c
  • encode-mode-s

The transponder has various config properties:

  • minimum-supply-volts: required volts for operations, defaults to 8.0 (old bus-volts is now deprecated)
  • encoder-path: defaults to '/instruments/altimeter', but can be changed to any other location. The transponder looks for child properties 'mode-c-alt-ft' and 'mode-s-alt-ft' at this path for altitude data.
  • kt70-compatibility: boolean, default to false. Set this to enable legacy compatibility with the old KT-70 C++ instrument. Do not use in new/updated aircraft!
  • mode: this is 0 for Mode-A, 1 for Mode-C and 2 for Mode-S. Other modes can be added, ask on the devel list!

Run-time properties

  • altitude: gives the transmitted altitude in feet (or -9999 for invalid)
  • altitude-valid: indicates if altitude value is valid data or not
  • id-code: allows the id-code to be read and set
  • serviceable: can be set to control the instrument serviceability
  • transmitted-id: gives the value being transmitted, including over the network via MP

Input properties

These live under /inputs.

  • knob-mode: sets the transponder operating mode. This corresponds to the KT-70 knob positions for convenience, but the actual modes should work for any transponder instrument. Knob modes are documented below
  • ident-btn: can be set to place the transponder in ident mode for 18 seconds. Note this property is not spring-loaded, i.e you must manually reset it to false
  • digit[0]-[4]: properties allow the id code individual digits to be read and set

In KT-70 compatibility mode, additional properties are read and set, to preserve legacy aircraft. Do not use these properties in new aircraft.

Knob/Functional Modes

  • 0 - off
  • 1 - standby, basically the same as off for the C++ code (3D instrument would power up the display, presumably)
  • 2 - test, again the C++ largely ignores this since the test configuration of real-world instruments varies. In particular the unit does *not* set altitude or transmitted-id to any test values, you should do that in your own logic. (Maybe we should allow the test values to be defined int he config section?)
  • 3 - Ground mode, responds to altitude interrogation but does not broadcast an ID. This would typically be used while taxiing prior to takeoff.
  • 4 - On, normal operation but altitude transmission is inhibited
  • 5 - Alt, same as on but altitude is broadcast if transponder was configured in Mode-S or Mode-C

Generic transponder

Below are all available property that you can set for your instrumentation.xml file :

  <transponder>
    <name type="string">transponder</name>
    <number type="int">0</number>
    <mode type="int">1</mode> <!-- 0 = Mode A, 1 = Mode C, 2 = Mode S -->
    <minimum-supply-volts type="double">8.0</minimum-supply-volts>
    <encoder-path type="string">/instrumentation/altimeter</encoder-path>
    <kt70-compatibility type="bool">0</kt70-compatibility>
    <auto-ground>...</auto-ground> <!-- input for Mode-S automatic GND bit -->
    <airspeed-path>...</airspeed-path>
    <mach-path>...</mach-path>
  </transponder>

Please note that <bus-volts> is now deprecated. Use <minimum-supply-volts> instead.

The following is a copy of a comment in instrument source, explaining the use of Mode-S related properties
<
// Mode-S transponders (configured with mode = 2) can transmit a ground bit to
// indicate ground operation. If auto-ground is not defined, the ground bit is
// switched manually by setting the transponder knob to GND. If auto-ground is
// defined, the transponder simulates automatic switching of the ground bit
// using the value of the property defined in auto-ground.
//
// For a squat switch, use "/gear/gear/wow". For automatic switching based on
// airspeed, use a property rule to make a new boolean property that indicates,
// for example, airspeed < 80, and reference your new property in auto-ground.
//
// Note that Mode-A and Mode-C transponders do not transmit a ground bit, even
// if the transponder knob is set to the GND position.
//
// Mode-S transponders also transmit indicated airspeed and Mach number. The
// default sources are "/instrumentation/airspeed-indicator/indicated-speed-kt"
// and ".../indicated-mach", but this can be changed by setting "airspeed-path"
// and "mach-path" properties respectively as shown above.

Related content

Wiki articles

Forum topics

Developer mailing list

Source code