- Posts: 2
- Thank you received: 1
if (tools.isZero(msg.getParity()) || msg.checkParity()) { // CRC is ok
[...] // Switch between different adsb message format
else if (msg.getDownlinkFormat() != 17) {
[...] Switch between other ModeS format whose DF20 and DF21 for CommB message
}
A. Passive Monitoring Challenges
[...] This system design is challenging for passive
observers such as OpenSky, which do not see the uplink
communication, namely the interrogations. [...]
Although Mode S messages
in SSR employ a cyclic redundancy check (CRC) to do so, the
checksum is XORed with the aircraft’s ICAO 24-bit address
or the interrogator ID (all-call replies) in Mode S replies to
save bits (see Figure 3). While this does not pose a problem
for the interrogator since it knows which address to expect,
a passive observer needs to learn the respective addresses
first in order to make use of the CRC.
3.1.1 Address Filter. To link a received message to an aircraft, we
need to extract the aircraft address from a data field that contains
the address XOR-ed with the parity of the message. Under the
assumption that the message did not suffer from bit errors, we can
extract the aircraft address from the parity by XOR-ing the parity
with the CRC of the received message body. Of course, with this
approach the parity can no longer be used to check the integrity
of the message