Transponder
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) .
Id Codes
e.g.
- 'squawk code' 7000 is set and used VFR flight in Europe, and while in the US 1200 in used fir the same VFR.
- IFR aircraft's will have an 'attributed code' by the ATC services at Delivery Clearance time, typically at startup time. The code is ATC selected in a range of "yet not used code", range attributed regionally.
- NATO and other Military aircraft's 'sharing' the civil airspace use several code from a conventional table, like 0300, or 0400 - NATO - CAOC 9 Exercises (activated by NOTAM) and 3500 - NATO - Aircraft receiving a service from AEW aircraft
- An aircraft becoming unable to use the voice Radio, will select the special code 7600.
- An aircraft experiencing an emergency (technical, medical) will select the special code 7700.
While some code are use the same worldwide, like the emergency code, some other codes have a different regional meaning, like the special code '0000'
- in UK, by convention, the code '0000' will be autoselected by some transponder to auto report a transponder malfunction; it is not allowed the pilots to select it by themselves.
- n Europe, in is not used any more and the use have become forbidden. It was used at the start age of transponding (in mode A) to say 'no ORCAM code inserted yet'). The use is today severely forbidden.
- In US, it is a bit more confusing:
- - it is used for some Military interception;
- - it is used by the "En route Control ARTCC" for aircraft's in cruise in their controlled airspace when ... their are no more non attributed / in current use ORCAM codes.
- - The Dep. of Transportation and the FAA have started to advocate, from 1918, the abandon of it's use going toward to prohibition of its use.
See the Wikipedia page for many more examples.
ref. https://en.wikipedia.org/wiki/List_of_transponder_codes
Codes are composes by a sequence of 4 digits of 8 possible values [ 0 ][ 0 ][ 0 ][ 0 ] to [ 7 ][ 7 ][ 7 ][ 7 ]
Codes defines 7 specifically or :
- 1 aircraft and 1 aircraft only ;
- 1 situation.
Conspicuous and Not-Conspicuous codes - also called discrete and non-discrete
Codes ending by ..00 defines "situations".
e.g.
- 7600 - unable to use the Radio Voice Comms - "Communications failure"
- 7700 - Emergency (technical / Medical)
Theses codes do not define 1 aircraft only.
Codes ending by numbers (0 to 7) identifies 1 and only 1 aircraft.
- they are attributed by the ATC, usually via radio at the clearance departure
- they can be changed along the flight to accommodate management needs.
The codes identifying 1 and only 1 aircraft are called discrete or conspicuous.
The codes defining situations are called non-discrete or not-conspicuous.
This also why Transponder Codes are called Conspicuity Codes.
ref https://skybrary.aero/articles/discrete-and-non-discrete-ssr-codes
ORCAM method (for attribution of squawk codes)
Their are way more aircraft's to manage than available squawk codes.
To solve the problem the ORCAM method is used.
ORCAM stands for Originating Regional Code Attribution Method.
Every region, airspace, airport, service like Militaries, etc. will see attributed a range of codes.
When the aircraft leave the controlled zone and enter the next one, if, emphasising "if", the used code collide with another currently in use in the vicinity, the ATC will ask to recycle the code to a new (not used) one.
ORCAM is a method and not a "table",
although the method keep out of its management a subset of fix codes which one are ... a table.
e.g.
Note that the following table is valid for UK only and US or Europe will present some variations
https://www.flightradars.eu/squawkcodes.html#top
Modes A, B, C, S
detailed illustrated explanation ref. https://skybrary.aero/articles/transponder
or also
https://pilotinstitute.com/transponder-modes-explained/
Needs always evolves and technology merely adapt to the change. The Transponder Modes are the reflex of the evolution of theses needs.
Mode A
from 2nd WW era, when aircraft was flying back and closing to the base, it was hard to say if they was Friends Or Enemy (FOE). To avoid unwanted activation from the DCA's, pilots was activating a convention code switching ON/OFF a set of buttons to define an identity code.
After the WW, this has come back to civil aviation, but the mode was really basic and more identification features was wanted.
Mode B
have been an evolution of the mode A, but due some quirks it has been quick abandoned for mode C
Mode C
added report of the aircraft altitude.
These report altitude was read after calibration, which has led to problems and have been update to non calibrated altitude in mode S.
Why ?
Imagine an Aircraft in final approach, the definition of an incorrect altimetric pressure may lead to "hit" the ground before the RWY or hot the RWY to late and trigger a RWY excursion.
Other situation of bust of altitude (lost of vertical separation) also have happened (although more rarely).
Mode C altitude report is by 100 ft
Mode S.
Why not MODE D, E, F ... ?
Mode S have been a game changer.
In Mode C their was too many aircraft sending information at the same time. The Radio Frequency was congested, many time, life and death information become missing as the result of the chaos of all the transponder "speaking at the same time".
In Mode S, transponder are quite and shushing unless "interrogated" by the surveillance system.
Well, almost shush. The surveillance system need to know to whom direct the interrogation. For this all transponder still continue to emit repeatedly a very very short ID called the squitter.
The surveillance system keep a table of all the squitters for management.
The frequency being not any more congested, interrogated transponders have the possibility to send more extensive informations.
The mode S have itself 2 ways, ELS and EHS as ELementary Surveillance and EnHanced Surveillance
The former send altitude (before calibration) speed, direction, ... and few more Aircraft and Flight parameters.
The later one send also the "selected" altitude in the Autopilot, which allow the ATC to detect early misunderstandings and prevent possible level bust before they happen.
ref.: https://skybrary.aero/articles/mode-s
Mode S altitude report is by 10 ft, again, read before calibration !
To do this the transponder needs an altitude source. In real-life this can be a separate box called an encoder, or may be derived for FMC / ADIRU sources. It's important to note this altitude is referenced to standard pressure (29.92 inHg / 1013 Hpa), and 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 flying deck / cockpit"
Bare in mind that 1 transponder is always different from another transponder.
- Older aircraft may still have old transponder not Mode S capable;
- Several manufacturers
- Boeing ≠ Airbus
- ...
Some Transponder have a knob with position labelled "ALTITUDE" which does not mean the transponder is activating the mode S. The mode C also have a report of altitude. (see above).
The usual modes encountered in RL for the transponder are :
- Off - ( switched off / no power)
- Test - (maintenance)
- Stand-by - (powered on but not sending out informations except the squitter - see above)
- Ground - (send out SQUAWK CODE only - some airport, by rule - expect code 2000 for ground taxiing aircraft's)
- Altitude - (in mode C, sending out altitude information - in mode S, sending out more information)
TA and TA/RA - Traffic Alert / Resolution Advisory
On some transponder, TA/RA functions might be switched on separately.
They need the mode S in order to work !
A frequent myth is the mode S and the TA/RA must only be activated on air.
Nothing is more wrong.
Airport where the visibility is traditionally not good and foggy, like Paris Orly LFPO, Milano Linate LIML, Bimingham EGBB, among others, other require the departing aircraft to activate the mode S and the TA from the gate/stand, before push !
TA on ground have a special mode with a different sensitivity adapted to detect closing taxiing aircraft's. It has many time be a matter of sever accidents with fatalities.
e.g.
Flight SCANDINAVIA 686 (Scandinanvian Airlines McDonnel Douglas MD-87) and a private Cessna Citation, making 118 victims. https://en.wikipedia.org/wiki/Linate_Airport_disaster
Paris Orly is "that much so foggy" that it is where have been invented to first "Turbo Clear" the first and fog systems for airports, 1963. The whole world have bought them and used them before the first ATT (Atterrissages Tout Temps) , "Landing With Any Weather", the precursor of the Instrument Landing Systems. https://www.aeroport-paris-orly.com/systemes-anti-brouillard
The myth roots itself in the fact that the rules changes by airports and situations. One discovering the rule enforced in one airport might tend to believe the whole world do the same...
Usually, the airport administration information pages in the airport charts brief clearly about the rules enforced in "that" very airport.
On ground
Mode S + Traffic Alert might be required to be used
Airborn
Mode S + Traffic Alert + Resolution Advisory is as much as possible expected
"Old" aircraft using frequently the controlled airspace are demanded to upgrade their transponder.
Mode IDENT
Transponder have a separate function called IDENT and callable by the press on a button.
This actually is not a "mode" like Mode A, C or S.
It should never be pressed unless required by the ATC providing service.
It "must" not be activated by Squawk code changing ! (Frequent error)
IDENT allow to the ATC to spot in a flash an aircraft amongst many and its purpose it solely to help in case of loss of conspicuity.
Squawk codes changes at quite a good rate. If at every time the squawk code is recycled, the IDENT is activated and the BLIP (aircraft on the ATC screen) start to blink, then when the ATC demand to someone to press IDENT, the help will be void because drawn in many other IDENT...
QED.
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 DV 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
- Howto:Develop an aircraft transponder in Nasal – Most probably obsolete
- FLARM
- Multiplayer protocol – The IDs 1501-1503 are earmarked for transmitting transponder properties
- OpenRadar: Transponder
- Traffic alert and collision avoidance system
Forum topics
- Transponder properties over MP (January-June 2017)
- Transponder over network (April-December 2018)
- Transponder (November 2009-December 2010)
Developer mailing list
- [Flightgear-devel] Improve tranponder instrument (Apr 2009)
- [Flightgear-devel] Transponder Ident not transmitted via MP Protocol? (Jan-Feb 2014)