A state machine based method of assembling reports for an ADS-B receiving system
Patent Information
- Application Number
- CN202511376241.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-25
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2045-09-25
AI Technical Summary
Existing ADS-B receiving systems have shortcomings in multi-target management and resource utilization. Fixed timeout mechanisms cause useless tracks to occupy memory resources, static triggering methods cause reporting delays or over-reporting, and there is a lack of adaptive strategies to handle abnormal situations.
A state machine-based approach is adopted to manage track information. An independent timing method is designed through the state machine to dynamically clear outdated tracks, generate reports on demand, and adapt to air-to-ground state switching, ensuring the continuity of target tracks and the integrity of reports.
It enables flexible track timeout clearing, reduces backlog in the report output storage buffer, triggers report generation on demand, ensures the real-time performance and integrity of reports, and avoids system performance degradation when targets are dense or communication is interrupted.
Smart Images

Figure CN121393208B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information processing, and in particular to a report assembly method for a state machine-based ADS-B receiving system. Background Technology
[0002] ADS-B technology is a surveillance technology widely used in air traffic control (ATC) systems. Aircraft equipped with ADS-B Out devices can actively broadcast extended messages containing navigation parameters such as their position, speed, heading, and flight number. ADS-B signal receivers and other air traffic participants continuously track aircraft by receiving these periodic broadcast messages. The format and content of ADS-B extended messages are defined by the RTCA DO-260B standard, ensuring global interoperability of the ADS-B system.
[0003] Existing ADS-B receiver data processing systems typically employ fixed processing flows and rules to manage flight tracks. Upon receiving an ADS-B message, the ADS-B receiver generally constructs a track data structure for each aircraft and creates, updates, and terminates tracks according to defined rules. For example, patent CN100517413C discloses an ADS-B control workstation data processing system, which includes a single ground station tracking module and a multi-ground station tracking module: when a new message is received, a single-station ADS-B track for the corresponding target is established through a "track start" operation, and the track list is maintained through subsequent "track update" and "track termination" operations; if the target is received by multiple ground stations simultaneously, a multi-station system track can also be established and updated and cleared accordingly. This state machine or state list-based management method can process messages according to their type, such as location, status, and service messages, improving the flexibility and efficiency of tracking.
[0004] While existing technologies can largely meet the requirements for track updates and management, they still have shortcomings in multi-target management and resource utilization. First, in multi-target scenarios, simply using a fixed timeout mechanism to clear outdated tracks can lead to a large number of useless tracks consuming memory resources when targets are densely packed, impacting system performance. Second, existing report generation timing often relies on fixed periods or the accumulation of a specific number of messages. This static triggering method is difficult to adjust dynamically according to the actual airspace, potentially causing report delays or over-reporting. Furthermore, traditional solutions lack adaptive strategies for abnormal situations, such as unoptimized handling of sudden changes in target air-to-ground status or multi-target address conflicts. In summary, existing technologies lack a comprehensive solution that can dynamically manage multiple tracks in parallel, automatically clear outdated data based on a state machine, and generate reports on demand. Summary of the Invention
[0005] In view of this, this application provides a report assembly method for an ADS-B receiving system based on a state machine, which solves the problems in the prior art and improves the performance and reliability of the ADS-B receiving system and related monitoring systems.
[0006] The report assembly method for a state machine-based ADS-B receiving system provided in this application adopts the following technical solution: A report assembly method for an ADS-B receiving system based on a state machine includes the following steps: A state machine is designed in the processor of the ADS-B receiving system to manage the target's trajectory information; When the ADS-B receiving system receives a ground-formatted ADS-B message from an unknown target, it initializes the track information in a temporary storage buffer. The state machine managing the current target track information enters the ground INIT state. If a pair of even-coded and odd-coded ground position messages from a known target are received simultaneously within 50 seconds, unambiguous global CPR decoding is performed to obtain the target's precise latitude and longitude. When the result of global decoding is less than the distance verification threshold, the latitude and longitude information of the current target track is updated in the temporary storage buffer, the report mode field is set to TRACK, the first state vector report and mode state report are immediately generated and written to the report output storage buffer, and the state machine managing the current target track information transitions from the ground INIT state to the ground TRACK state. If the state machine remains in the ground TRACK state for 120 seconds without receiving a new ground position message, the state machine managing the current target track information switches back to the ground INIT state. After receiving an airborne ADS-B message from an unknown target aircraft, the ADS-B receiving system initializes the target's track information in a temporary storage buffer, and the state machine enters the airborne INIT state. If, within 10 seconds, both even-coded and odd-coded airborne position messages from a known target are received simultaneously, unambiguous global CPR decoding is performed to obtain the target's precise latitude and longitude. If the result of global decoding is less than the distance verification threshold, the latitude, longitude, and altitude information of the current target track are updated in the temporary storage buffer, the report mode field is set to "ACQ", the first state vector report is immediately generated and written to the report output storage buffer, and the state machine transitions from INIT to the airborne ACQ state. When a valid airborne speed message from a known target is received, the airborne speed message data is parsed and updated in the temporary storage buffer. Then, the report mode is set to "TRACK", and the state vector report, mode state report, and target state report are output to the report output storage buffer. Finally, the system switches to the airborne TRACK state. Specifically, when the target's flight status changes, the state machine switches between the current ground state and the air state to ensure the continuity of the target's trajectory.
[0007] Optionally, when the target's flight state changes, the specific steps for switching between the current ground state and the air state of the state machine include: When the ADS-B receiving system receives the first airborne message from an aircraft preparing for takeoff while it is on the ground, it determines that the aircraft has left the ground. The system extracts the temporary storage buffer record of the current target aircraft's track information from the ground state machine, creates or activates the corresponding track instance in the airborne state machine, and writes the extracted temporary storage buffer record information into the new instance. If the state in the ground state machine before the transition was INIT, it is transitioned to the INIT state in the airborne state machine. If the state in the ground state machine before the transition was TRACK, it is transitioned to the TRACK state in the airborne state machine. At the same time, the data and report output storage buffer cache of the corresponding track in the ground state machine is cleared. When the ADS-B receiving system receives a ground-formatted message from a target aircraft that is in the air and approaching the runway for landing, it extracts the temporary storage buffer record of the target aircraft's current track information from the air state machine. Then, it creates or activates the corresponding track instance in the ground state machine and writes the extracted temporary storage buffer record information into the new instance. If the state in the air state machine before the transition was INIT, it transitions to the INIT state in the ground state machine. If the state in the air state machine before the transition was ACQ, it transitions to the TRACK state in the ground state machine. If the state in the air state machine before the transition was TRACK, it transitions to the TRACK state in the ground state machine. At the same time, it clears the data and report output storage buffer cache of the corresponding track in the air state machine.
[0008] Optionally, when the ground state machine is in the ground INIT state, if it receives a message from a known track, it will directly update the corresponding field in the temporary storage buffer. When the ground state machine is in the ground INIT state, if no message from the current target is received for more than 200 consecutive seconds in the INIT state, the state machine enters the timeout clearing process: deletes the corresponding track record in the temporary storage buffer, and at the same time clears all unsent reports of the corresponding track from the report output storage buffer, thereby releasing resources.
[0009] Optionally, when the ground state machine is in the ground TRACK state, the state machine continuously tracks target updates. Each time a new target status and condition message is received, the message is parsed, the information is updated in the temporary storage buffer, and a target status report is output to the report output storage buffer. Each time a new aircraft identity and category message or target status and condition message is received, the message is parsed, the information is updated in the temporary storage buffer, and a mode status report is output to the report output storage buffer. Each time a new ground location message is received, local CPR decoding and a validity check are performed on the received ground location message. If the location information parsed by local decoding passes the validity check, the information is updated in the temporary storage buffer after parsing the message, and the target status report is output to the report output storage buffer. If the location information parsed by local decoding fails the validity check, the candidate duplicate address tracks in the temporary storage buffer should be traversed. If no candidate duplicate address tracks exist, the candidate duplicate address tracks should be initialized and the status of the current candidate duplicate address track should be set to initialized. If candidate duplicate address tracks exist, global CPR decoding is performed and a global decoding validity check is performed. If the global decoding validity check passes, the duplicate address flag is set to 1 and the duplicate address condition is activated, and the location is updated in the candidate duplicate address tracks. If the global decoding validity check fails, the location is directly updated in the candidate duplicate address tracks, thereby avoiding mistracking caused by multi-target address conflicts.
[0010] Optionally, when the air state machine is in the air INIT state, if it receives a message from a known track, it will directly update the corresponding field in the temporary storage buffer. When the air state machine is in the air INIT state, if it does not receive any message from the current target for more than 200 consecutive seconds, the state machine enters the timeout clearing process: deletes the corresponding track record in the temporary storage buffer, and at the same time clears all unsent reports of the corresponding track from the report output storage buffer, thereby releasing resources.
[0011] Optionally, when the air state machine is in the air ACQ state, if it receives any ADS-B message for the current track, the state machine will update the corresponding field in the temporary storage buffer. If the air state machine is in the air ACQ state and does not receive a new location message for 120 seconds, it will automatically switch to the air INIT state.
[0012] Optionally, when the airborne state machine is in the airborne TRACK state, it continuously tracks target updates. Upon receiving a new target status and condition message, it parses the message, updates the information in a temporary storage buffer, and outputs a target status report to the report output storage buffer. Similarly, upon receiving a new aircraft identity and category message or a target status and condition message, it parses the message, updates the information in a temporary storage buffer, and outputs a mode status report to the report output storage buffer. Upon receiving a new airspeed message, it parses the message, updates the information in a temporary storage buffer, and outputs a state vector report and an air reference speed report to the report output storage buffer. Upon receiving a new airborne position message, it performs local CPR decoding and a validity check. If the locally decoded position information passes the validity check, the message is parsed and... Information is updated in a temporary storage buffer and the target status report is output to the report output storage buffer. If the location information parsed by local decoding fails the rationality check, the candidate duplicate address tracks in the temporary storage buffer are traversed. If no candidate duplicate address tracks exist, the candidate duplicate address tracks are initialized and the current candidate duplicate address track is set to initialized. If a candidate duplicate address track exists, global CPR decoding is performed and global decoding rationality check is performed. If the global decoding rationality check is passed, the duplicate address flag is set to 1 and the duplicate address condition is activated, and the location is updated to the candidate duplicate address track. If the global decoding rationality check is not passed, the location is directly updated to the candidate duplicate address track, thereby avoiding mistracking caused by multi-target address conflicts. All generated reports are fully filled with the required fields and written to the report output storage buffer for later sending. When the air state machine is in air TRACK state, if no new air position or air speed message is received for more than 25 seconds, the track state vector report, mode state report, target state report, and air reference speed report in the report output storage buffer should be deleted.
[0013] In summary, this application includes the following beneficial technical effects: Flexible track timeout clearing mechanism: This application adopts an independent state machine timing method, setting a timeout threshold for each track individually and monitoring message updates in real time. Unlike traditional fixed clearing, this method can dynamically clear outdated tracks based on different target states and specific communication conditions, avoiding the accumulation of a large number of invalid tracks when targets are dense or communication is interrupted, thus improving system resource utilization efficiency.
[0014] Effectively reduces report output storage buffer backlog: Because report generation is triggered only when necessary, such as during state transitions or at preset intervals, and invalid reports are promptly deleted during state transitions or clearing, this application significantly reduces the risk of report output storage buffer backlog. After old tracks are cleared, their remaining reports in the report output storage buffer are also removed synchronously, thus avoiding the large number of redundant reports queued due to message cycle triggering in traditional schemes and alleviating report output pressure.
[0015] On-demand reporting with a complete structure: The state machine in this application flexibly determines the timing of report generation based on message type and state changes, ensuring high real-time performance and preventing the omission of critical updates. The generated reports are in a complete format, covering essential fields such as target identifier, location, speed, transponder code, and altitude, meeting monitoring requirements and containing no incomplete messages. The report type is selected based on the target status and report triggering conditions, ensuring a rigorous and comprehensive report structure.
[0016] Adaptive Air-to-Ground State Switching: This application's method specifically incorporates air-to-ground transition logic, enabling automatic state machine transition when the target switches between air and ground states. This ensures continuous tracking and report output even if the target suddenly changes its ground or flight state, avoiding tracking interruptions or data misalignment issues that may occur in traditional solutions. After the target switch, the trajectory data from the old state is correctly transitioned to the new state, ensuring the state machine remains synchronized and consistent. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This diagram illustrates the input, output, and data interaction of the ADS-B report assembly state machine in this application. Figure 2 This is a state transition diagram of air targets and ground targets when the air-to-ground state changes according to this application. Detailed Implementation
[0019] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0020] The following specific examples illustrate the implementation of this application. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. This application can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this application. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0021] It should be noted that various aspects of embodiments within the scope of the appended claims are described below. It will be apparent that the aspects described herein can be embodied in a wide variety of forms, and any particular structure and / or function described herein is merely illustrative. Based on this application, those skilled in the art will understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement the device and / or practice the method. Additionally, this device and / or method can be implemented using structures and / or functionalities other than one or more of the aspects set forth herein.
[0022] It should also be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of this application. The illustrations only show the components related to this application and are not drawn according to the number, shape and size of the components in actual implementation. In actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0023] Furthermore, specific details are provided in the following description to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can be practiced without these specific details.
[0024] This application provides a report assembly method for an ADS-B receiving system based on a state machine.
[0025] like Figure 1 and Figure 2 As shown, a report assembly method for an ADS-B receiving system based on a state machine is characterized by the following steps: A state machine is designed in the processor of the ADS-B receiving system to manage the target's trajectory information; When the ADS-B receiving system receives a ground-formatted ADS-B message from an unknown target, it initializes the track information in a temporary storage buffer. The state machine managing the current target track information enters the ground INIT state. If, within 50 seconds, it simultaneously receives a pair of even-coded and odd-coded ground position messages from a known target, it performs unambiguous global CPR decoding to obtain the target's precise latitude and longitude. When the global decoding result is less than the distance verification threshold, it updates the latitude and longitude information of the current target track in the temporary storage buffer, sets the report mode field to TRACK, immediately generates the first state vector report and mode state report, and writes them to the report output storage buffer. The state machine managing the current target track information transitions from the ground INIT state to the ground TRACK state. If the state machine remains in the ground TRACK state for 120 seconds without receiving a new ground position message, the state machine managing the current target track information switches back to the ground INIT state.
[0026] After receiving an airborne ADS-B message from an unknown target aircraft, the ADS-B receiving system initializes the target's track information in a temporary storage buffer. This track information includes aircraft information parsed from the first ADS-B message, the initial timestamp, etc., and the state machine enters the airborne INIT state. If, within 10 seconds, both even-coded and odd-coded airborne position messages from a known target are received simultaneously, unambiguous global CPR decoding is performed to obtain the target's precise latitude and longitude. If the global decoding result is less than the distance verification threshold, the latitude, longitude, and altitude information of the current target track are updated in the temporary storage buffer, and the report mode field is updated. When set to "ACQ", the first status vector report is immediately generated, containing key tracking data such as target identifier, latitude and longitude, altitude, and timestamp, and written to the report output storage buffer. The vector report contains key tracking data such as target identifier, latitude and longitude, altitude, and timestamp. The state machine transitions from INIT to the airborne ACQ state. When a valid air speed message for a known target is received, the air speed message data is parsed and updated in the temporary storage buffer. Then, the report mode is set to "TRACK", and the status vector report, mode status report, and target status report are output to the report output storage buffer. Finally, it switches to the airborne TRACK state.
[0027] Specifically, when the target's flight status changes, the state machine switches between the current ground state and the air state to ensure the continuity of the target's trajectory.
[0028] like Figure 1 As shown, the decoded ADS-B message serves as the input to the state machine. Each message carries information such as the ICAO address and timestamp before entering the corresponding state machine instance.
[0029] The state machine for the aerial target in this application includes three main states: initialization state INIT, acquisition state ACQ, and tracking state TRACK.
[0030] 1) Entering, exiting, and behaving within the INIT state: When the receiver receives an airborne ADS-B message from an unknown track / new target, it will initialize the track information in a temporary storage buffer, including the aircraft information parsed from the first ADS-B message, the initial timestamp, etc., and put the state machine instance into the INIT state.
[0031] If a message is received from a known flight path, the corresponding fields in the temporary storage buffer are updated directly, such as updating the timestamp and the aircraft information parsed from the ADS-B message.
[0032] In the INIT state, if no message is received from the target for more than 200 consecutive seconds, the state machine enters the timeout clearing process: the track record is deleted from the temporary storage buffer, and all unsent reports for the track are cleared from the report output storage buffer, thereby releasing resources.
[0033] 2) Entering, exiting, and in-state behavior of ACQ states: When both even-coded and odd-coded aerial position messages are received simultaneously within 10 seconds, unambiguous global CPR decoding is performed to obtain the target's precise latitude and longitude. If the result of global decoding is less than the distance verification threshold, the latitude, longitude, altitude, and other information of the track are updated in the temporary storage buffer. The report mode field is set to "ACQ", the first state vector report is immediately generated and written to the report output storage buffer, and the state machine transitions from INIT to ACQ state. The first state vector report contains key tracking data such as target identifier, latitude, longitude, altitude, and timestamp.
[0034] In the ACQ state, if any ADS-B message for the track is received, the state machine will update the corresponding fields in the temporary storage buffer, such as updating the timestamp and the aircraft information parsed from the ADS-B message.
[0035] If no new location message is received for 120 seconds while in ACQ state, the system will automatically switch to INIT state.
[0036] 3) Entering, exiting, and behaving within the TRACK state: If a valid airspeed message is received in ACQ state, the airspeed message data is parsed and updated in the temporary storage buffer. Then, the reporting mode is set to "TRACK", and the status vector report, mode status report and target status report are output to the report output storage buffer. Finally, the state is switched to TRACK state.
[0037] In TRACK state, the state machine continuously tracks target updates. Upon receiving a new target status and condition message, it should parse the message, update the information in a temporary storage buffer, and output a target status report to the report output storage buffer. Similarly, upon receiving a new aircraft identity and category message or a target status and condition message, it should parse the message, update the information in a temporary storage buffer, and output a mode status report to the report output storage buffer. Upon receiving a new airspeed message, it should parse the message, update the information in a temporary storage buffer, and output a state vector and air reference speed report to the report output storage buffer. Upon receiving a new airposition message, it should perform local CPR decoding and a validity check. If the locally decoded position information passes the validity check, the message should be parsed and the information... The system updates the temporary storage buffer and outputs the target status report to the report output storage buffer. If the location information parsed locally fails the validity check, the system should traverse the candidate duplicate address tracks in the temporary storage buffer. If no candidate duplicate address tracks exist, the system should initialize the candidate duplicate address tracks and set their status to initialized. If candidate duplicate address tracks exist, global CPR decoding should be performed, and a global decoding validity check should be conducted. If the global decoding validity check passes, the duplicate address flag is set to 1, the duplicate address condition is activated, and the location is updated in the candidate duplicate address tracks. If the global decoding validity check fails, the location is directly updated in the candidate duplicate address tracks, thus avoiding mistracking caused by multiple target address conflicts. All generated reports are fully populated with the required fields, such as target identifier, latitude and longitude, altitude, speed, transponder code, timestamp, etc., and written to the report output storage buffer for later transmission.
[0038] In TRACK mode, if no new air position or air speed message is received for more than 25 seconds, the status vector report, mode status report, target status report, and air reference speed report for that track should be deleted from the report output storage buffer.
[0039] Through the above logic, the airborne target state machine dynamically manages each track: the latest position, speed, status, and other parameters of the track are stored in a temporary storage buffer; when a state or timing condition is triggered, different types of track reports are output to the report output storage buffer according to each state machine. The actions corresponding to each state and transition condition, such as latitude and longitude assignment, report generation, and timeout clearing, are all strictly executed according to the above description.
[0040] The status vector report includes latitude, longitude, altitude, and speed information; the mode status report includes flight number and status vector mass parameters; the target status report includes selected altitude and selected heading information; and the air reference speed report includes speed information relative to the air.
[0041] Compared to the air state machine, the ground state machine only includes the initialization and tracking states, and does not include the acquisition state because the ground target does not provide velocity information. The entry and exit behaviors of each state in the ground state machine are as follows: 1) Entering, exiting, and behaving within the INIT state When receiving an ADS-B message from an unknown ground target in the INIT state, the trajectory information is initialized in a temporary storage buffer, and the state machine instance is placed in the INIT state.
[0042] If a message is received from a known flight path, the corresponding fields in the temporary storage buffer are updated directly, such as updating the timestamp and the aircraft information parsed from the ADS-B message.
[0043] In the INIT state, if no message is received from the target for more than 200 consecutive seconds, the state machine enters the timeout clearing process: the track record is deleted from the temporary storage buffer, and all unsent reports for the track are cleared from the report output cache storage buffer, thereby releasing resources.
[0044] 2) Entering, exiting, and behaving within the TRACK state When both even-coded and odd-coded ground location messages are received simultaneously within 50 seconds, unambiguous global CPR decoding is performed to obtain the target's precise latitude and longitude. If the global decoding result is less than the distance verification threshold, the latitude and longitude information of the track is updated in the temporary storage buffer, the report mode field is set to "TRACK," and the first state vector report and mode state report are immediately generated and written to the report output storage buffer. The state machine transitions from INIT to TRACK state. The first state vector report contains key tracking data such as latitude, longitude, altitude, and timestamp, while the mode state report contains target identification data.
[0045] In the TRACK state, the state machine continuously tracks target updates.
[0046] Each time a new target status and condition message is received, the message should be parsed, the information updated in the temporary storage buffer, and the target status report output to the report output storage buffer. Each time a new aircraft identity and category message or target status and condition message is received, the message should be parsed, the information updated in the temporary storage buffer, and the mode status report output to the report output storage buffer. Each time a new ground location message is received, local CPR decoding and a validity check are performed on the received ground location message. If the location information parsed by local decoding passes the validity check, the message should be parsed, the information updated in the temporary storage buffer, and the target status report output to the report output storage buffer. If the location information parsed by local decoding fails the validity check, the candidate duplicate address tracks in the temporary storage buffer should be traversed. If no candidate duplicate address track exists, the candidate duplicate address track should be initialized and its status set to initialized. If a candidate duplicate address track exists, global CPR decoding and a global decoding validity check should be performed. If the global decoding validity check passes, the duplicate address flag is set to 1 and the duplicate address condition is activated, and the location is updated in the candidate duplicate address track. If the global decoding validity check fails, the location is directly updated in the candidate duplicate address track, thereby avoiding mistracking caused by multi-target address conflicts.
[0047] All generated reports are fully populated with the required fields, such as target identifier, latitude and longitude, altitude, speed, transponder code, timestamp, etc., and written to the report output storage buffer for later transmission.
[0048] If no new ground location message is received for 120 seconds while in TRACK state, the system will automatically switch to INIT state.
[0049] In summary, the ground target state machine and the airborne state machine have the same basic structure, but the ground target uses ground ADS-B messages, has more lenient acquisition conditions, and a slightly different reporting strategy. The temporary storage buffer is also used for ground targets to store the latest track status, while the report output storage buffer is used to buffer generated track reports.
[0050] When the target's flight status changes, the specific steps for the state machine to switch between its current ground state and air state include: When the ADS-B receiving system receives the first airborne message from an aircraft preparing for takeoff while in a ground state, it determines that the aircraft has left the ground. The system then extracts the temporary storage buffer record of the target aircraft's track information from the ground state machine, creates or activates the corresponding track instance in the airborne state set, and writes the extracted temporary storage buffer record information into the new airborne instance. If the previous state in the ground state machine was INIT, it is converted to INIT in the airborne state machine; if the previous state in the ground state machine was TRACK, it is converted to TRACK in the airborne state machine. Simultaneously, the system clears the data and report output storage buffer cache of the corresponding track in the ground state machine, ensuring that only one state machine is running for the same target.
[0051] When the ADS-B receiving system receives a ground-formatted message from a target aircraft that is in the air and approaching the runway for landing, it extracts the temporary storage buffer record of the target aircraft's current track information from the air state machine. Then, it creates or activates the corresponding track instance in the ground state machine, writes the extracted temporary storage buffer record information into the new instance, and if the state in the air state machine before the transition was INIT, it transitions to the INIT state in the ground state machine; if the state in the air state machine before the transition was ACQ, it transitions to the TRACK state in the ground state machine; if the state in the air state machine before the transition was TRACK, it transitions to the TRACK state in the ground state machine. At the same time, it clears the data and report output storage buffer cache of the corresponding track in the air state machine to ensure that only one state machine is running for the same target.
[0052] Through the above switching logic, this application can seamlessly adapt to the transition between air and ground, effectively preventing abnormal states and data misalignment.
[0053] Throughout the process described in this application, the state machine updates and maintains the track records in the temporary storage buffer based on messages and its own state, such as updating latitude, longitude, altitude, speed, and timestamps. When the state machine meets the report generation conditions, it extracts the corresponding track data from the temporary storage buffer and formats the current track data into track reports of various types, such as state vector reports, mode state reports, target state reports, and air reference speed reports, and writes them to the report input storage buffer and report output storage buffer. The report output storage buffer can be periodically read by the communication unit and reports can be sent. When the target track times out and is cleared, the corresponding temporary storage buffer record is deleted, and any unsent track reports in the report output storage buffer are also cleared.
[0054] The temporary storage buffer stores dynamic parameters of the track, such as latitude, longitude, altitude, speed, last timestamp, and status flags. The report output storage buffer caches generated track reports until they are sent. Each time the state machine completes a state transition or report generation, it updates the temporary storage buffer and the report output storage buffer accordingly. When a timeout occurs or a state transition occurs, the corresponding records in the temporary storage buffer and the report output storage buffer are also cleared to ensure that only currently valid track information is retained in the cache.
[0055] The method described in this application can be widely applied to ADS-B receiver / CDTI scenarios on aircraft, ADS-B ground monitoring stations for air traffic control, and flight control auxiliary systems. In airborne equipment, multiple ADS-B ground data sources can be effectively integrated, providing track information on demand. In ground monitoring stations, the air and ground tracks of multiple aircraft can be managed in real time and in parallel. Due to its advantages of high flexibility, high resource utilization, and strong adaptability, this application is suitable for any system requiring efficient management of multi-target ADS-B tracks.
[0056] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A report assembly method for an ADS-B receiving system based on a state machine, characterized in that, Includes the following steps: A state machine is designed in the processor of the ADS-B receiving system to manage the target's trajectory information; When the ADS-B receiving system receives a ground-formatted ADS-B message from an unknown target, it initializes the track information in a temporary storage buffer. The state machine managing the current target track information enters the ground INIT state. If a pair of even-coded and odd-coded ground position messages from a known target are received simultaneously within 50 seconds, unambiguous global CPR decoding is performed to obtain the target's precise latitude and longitude. When the result of global decoding is less than the distance verification threshold, the latitude and longitude information of the current target track is updated in the temporary storage buffer, the report mode field is set to TRACK, the first state vector report and mode state report are immediately generated and written to the report output storage buffer, and the state machine managing the current target track information transitions from the ground INIT state to the ground TRACK state. If the state machine remains in the ground TRACK state for 120 seconds without receiving a new ground position message, the state machine managing the current target track information switches back to the ground INIT state. After receiving an airborne ADS-B message from an unknown target aircraft, the ADS-B receiving system initializes the target's track information in a temporary storage buffer, and the state machine enters the airborne INIT state. If, within 10 seconds, both even-coded and odd-coded airborne position messages from a known target are received simultaneously, unambiguous global CPR decoding is performed to obtain the target's precise latitude and longitude. When the global decoding result is less than the distance verification threshold, the latitude, longitude, and altitude information of the current target track are updated in the temporary storage buffer, the report mode field is set to "ACQ", the first state vector report is immediately generated and written to the report output storage buffer, and the state machine transitions from INIT to the airborne ACQ state. When a valid airborne speed message from a known target is received, the airborne speed message data is parsed and updated in the temporary storage buffer. Then, the report mode is set to "TRACK", and the state vector report, mode state report, and target state report are output to the report output storage buffer. Finally, the system switches to the airborne TRACK state. Specifically, when the target's flight status changes, the state machine switches between the current ground state and the air state to ensure the continuity of the target's trajectory.
2. The report assembly method for a state machine-based ADS-B receiving system according to claim 1, characterized in that, When the target's flight status changes, the specific steps for the state machine to switch between its current ground state and air state include: When the ADS-B receiving system receives the first airborne message from an aircraft preparing for takeoff while it is on the ground, it determines that the aircraft has left the ground. The system extracts the temporary storage buffer record of the current target aircraft's track information from the ground state machine, creates or activates the corresponding track instance in the airborne state machine, and writes the extracted temporary storage buffer record information into the new instance. If the state in the ground state machine before the transition was INIT, it is transitioned to the INIT state in the airborne state machine. If the state in the ground state machine before the transition was TRACK, it is transitioned to the TRACK state in the airborne state machine. At the same time, the data and report output storage buffer cache of the corresponding track in the ground state machine is cleared. When the ADS-B receiving system receives a ground-formatted message from a target aircraft that is in the air and approaching the runway for landing, it extracts the temporary storage buffer record of the target aircraft's current track information from the air state machine. Then, it creates or activates the corresponding track instance in the ground state machine and writes the extracted temporary storage buffer record information into the new instance. If the state in the air state machine before the transition was INIT, it transitions to the INIT state in the ground state machine. If the state in the air state machine before the transition was ACQ, it transitions to the TRACK state in the ground state machine. If the state in the air state machine before the transition was TRACK, it transitions to the TRACK state in the ground state machine. At the same time, it clears the data and report output storage buffer cache of the corresponding track in the air state machine.
3. The report assembly method for a state machine-based ADS-B receiving system according to claim 1, characterized in that, When the ground state machine is in the ground INIT state, if it receives a message from a known track, it will directly update the corresponding field in the temporary storage buffer. When the ground state machine is in the ground INIT state, if no message from the current target is received for more than 200 consecutive seconds in the INIT state, the state machine enters the timeout clearing process: deletes the corresponding track record in the temporary storage buffer, and at the same time clears all unsent reports of the corresponding track from the report output storage buffer, thereby releasing resources.
4. The report assembly method for a state machine-based ADS-B receiving system according to claim 3, characterized in that, When the ground state machine is in the ground TRACK state, the state machine continuously tracks target updates. When a new target status and condition message is received, the information is updated in the temporary storage buffer after parsing the message and the target status report is output to the report output storage buffer. When a new aircraft identity and category message or target status and condition message is received, the information is updated in the temporary storage buffer after parsing the message and the mode status report is output to the report output storage buffer. Each time a new ground location message is received, local CPR decoding and a validity check are performed on the received ground location message. If the location information parsed by local decoding passes the validity check, the information is updated in the temporary storage buffer after parsing the message, and the target status report is output to the report output storage buffer. If the location information parsed by local decoding fails the validity check, the candidate duplicate address tracks in the temporary storage buffer should be traversed. If no candidate duplicate address tracks exist, the candidate duplicate address tracks should be initialized and the status of the current candidate duplicate address track should be set to initialized. If candidate duplicate address tracks exist, global CPR decoding is performed and a global decoding validity check is performed. If the global decoding validity check passes, the duplicate address flag is set to 1 and the duplicate address condition is activated, and the location is updated in the candidate duplicate address tracks. If the global decoding validity check fails, the location is directly updated in the candidate duplicate address tracks, thereby avoiding mistracking caused by multi-target address conflicts.
5. The report assembly method for a state machine-based ADS-B receiving system according to claim 1, characterized in that, When the air state machine is in the air INIT state, if it receives a message from a known track, it will directly update the corresponding field in the temporary storage buffer. When the air state machine is in the air INIT state, if it does not receive any message from the current target for more than 200 consecutive seconds, the state machine enters the timeout clearing process: deletes the corresponding track record in the temporary storage buffer, and at the same time clears all unsent reports of the corresponding track from the report output storage buffer, thereby releasing resources.
6. The report assembly method for a state machine-based ADS-B receiving system according to claim 5, characterized in that, When the air state machine is in the air ACQ state, if it receives any ADS-B message for the current track, the state machine will update the corresponding field in the temporary storage buffer. If the air state machine is in the air ACQ state and does not receive a new location message for 120 seconds, it will automatically switch to the air INIT state.
7. The report assembly method for a state machine-based ADS-B receiving system according to claim 6, characterized in that, When the airborne state machine is in the airborne TRACK state, it continuously tracks target updates. Upon receiving a new target status and condition message, it parses the message, updates the information in a temporary storage buffer, and outputs a target status report to the report output storage buffer. Similarly, upon receiving a new aircraft identity and category message or a target status and condition message, it parses the message, updates the information in a temporary storage buffer, and outputs a mode status report to the report output storage buffer. Upon receiving a new airspeed message, it parses the message, updates the information in a temporary storage buffer, and outputs a state vector report and an air reference speed report to the report output storage buffer. Upon receiving a new airborne position message, it performs local CPR decoding and a validity check. If the locally decoded position information passes the validity check, the message is parsed and the information is... Update the temporary storage buffer and output the target status report to the report output storage buffer. If the location information parsed by local decoding fails the rationality check, traverse the candidate duplicate address tracks in the temporary storage buffer. If there is no candidate duplicate address track, initialize the candidate duplicate address track and set the current candidate duplicate address track to initialize. If there is a candidate duplicate address track, perform global CPR decoding and global decoding rationality check. If the global decoding rationality check is passed, set the duplicate address flag to 1 and activate the duplicate address condition, and update the location to the candidate duplicate address track. If the global decoding rationality check is not passed, directly update the location to the candidate duplicate address track to avoid mistracking caused by multi-target address conflicts. All generated reports are fully filled with the required fields and written to the report output storage buffer for later sending. When the air state machine is in air TRACK state, if no new air position or air speed message is received for more than 25 seconds, the track state vector report, mode state report, target state report, and air reference speed report in the report output storage buffer should be deleted.
Citation Information
Patent Citations
ADS-B control workstation data processing system
CN100517413C
ADS-B control workstation data processing system
CN101110164A
Broadcasting-mode automatic dependent surveillance track processing and device thereof
CN101527088A
