Methods, apparatus, media and equipment for determining flight phases during flight

CN120371892BActive Publication Date: 2026-08-14MOBILE TECH COMPANY CHINA TRAVELSKY HLDG
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-09
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

这些因素会使飞机的实际飞行轨迹与预设模型产生偏差,导致相关技术中难以准确界定飞行轨迹的各个阶段

Benefits of technology

[0013]本申请提供的飞行过程中的飞行阶段确定方法,HMM模型的观测值中包括每一ADS-B数据中的速度和时间,是因为在飞行爬升或者下降过程中,存在爬升-平飞-爬升-平飞-爬升的过程,或下降-平飞-下降-平飞的过程,该过程中,速度和高度是互相制约的,而本实施例中使用HMM模型作为预测模型,是因为HMM模型具有学习功能,在爬升或下降阶段的平飞阶段,由于其对应的速度和时间的关系与巡航阶段不同,因此,HMM模型不会将飞行爬升或者下降过程中的爬升-平飞-爬升-平飞-爬升的过程或下降-平飞-下降-平飞的过程识别为巡航过程,使得预测得到的结果更准确。因此,本申请以速度和高度作为HMM模型的观测序列,更便于HMM模型预测下一ADS-B数据对应的隐藏状态,由于HMM模型的学习能力,使得预测得到的结果更准确。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120371892B_ABST
    Figure CN120371892B_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, medium, and device for determining flight phases during flight, relating to the field of data processing technology. The method includes: in response to receiving ADS-B data returned by a target aircraft performing a flight mission, acquiring a velocity-altitude array list ZS corresponding to the target aircraft; inputting ZS and QF into a Hidden Markov Model (HMM) to obtain prediction results and marking them, until two predicted target split points are obtained, at which point the prediction ends. This application uses velocity and altitude as the observation sequence of the HMM model, making it easier for the HMM model to predict the hidden states corresponding to the next ADS-B data. Due to the learning ability of the HMM model, the prediction results are more accurate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a method, apparatus, medium and device for determining flight phases during flight. Background Technology

[0002] In the modern aviation field, with the continuous improvement of aircraft performance and the increasing complexity of flight missions, the precise division of each stage of the flight trajectory during flight has become increasingly crucial. This not only helps airlines to conduct refined flight operation management, but also provides key data support for aircraft manufacturers to optimize aircraft design.

[0003] During actual flight, aircraft are affected by various factors, including meteorological conditions such as strong wind shear and atmospheric turbulence, as well as the unique topography and runway conditions of different airports. These factors can cause deviations between the actual flight trajectory and the preset model, making it difficult to accurately define the various stages of the flight trajectory in related technologies. Some techniques that rely on single sensor data for trajectory segmentation suffer from insufficient accuracy and completeness due to measurement errors and signal interference inherent in the sensors themselves, thus affecting the accuracy of flight trajectory segmentation. Therefore, there is an urgent need for a technology that can accurately segment the various stages of an aircraft's flight trajectory under complex flight conditions. Summary of the Invention

[0004] To address the aforementioned technical problems, this application provides a method, apparatus, medium, and equipment for determining flight phases during flight, which at least partially solves the problems existing in the prior art.

[0005] In a first aspect of this application, a method for determining flight phases during flight is provided, wherein, in response to receiving ADS-B data returned by a target aircraft performing a flight mission, a speed-altitude array list ZS = (ZS1, ZS2, ..., ZS...) corresponding to the target aircraft performing the flight mission is obtained. v , ..., ZS w ); v = 1, 2, ..., w; where w is the number of ADS-B data points received by the target aircraft currently performing a flight mission up to the current time, all within the same flight phase; ZS v ZS is the velocity-altitude array corresponding to the v-th ADS-B data received by the target aircraft in the same flight phase up to the current time; ZS has the corresponding segmentation point identification result sequence QF = (QF1, QF2, ..., QF...). v QF w ); where QF v For ZS v Corresponding segmentation point identification results; QF v =0 or QFv =1; where QF v =0 indicates ZS v The corresponding ADS-B data is not a flight phase cutoff point; QF v =1 indicates ZS v The corresponding ADS-B data are the flight phase cut-off points;

[0006] S200, input ZS and QF into the HMM model to obtain prediction results and label them until two predicted target split points are obtained, then the prediction ends; wherein, the prediction results are used to indicate whether an ADS-B data received after the current time is a flight phase split point; ZS is the observation sequence of the HMM model; QF is the hidden sequence of the HMM model.

[0007] In a second aspect of this application, a flight phase determination device is provided, the device comprising:

[0008] The array acquisition unit is used to acquire the velocity-altitude array list ZS = (ZS1, ZS2, ..., ZS...) of the target aircraft performing the flight mission in response to receiving ADS-B data returned by the target aircraft. v , ..., ZS w ); v = 1, 2, ..., w; where w is the number of ADS-B data points received by the target aircraft currently performing a flight mission up to the current time, all within the same flight phase; ZS v ZS is the velocity-altitude array corresponding to the v-th ADS-B data received by the target aircraft in the same flight phase up to the current time; ZS has the corresponding segmentation point identification result sequence QF = (QF1, QF2, ..., QF...). v QF w ); where QF v For ZS v Corresponding segmentation point identification results; QF v =0 or QF v =1; where QF v =0 indicates ZS v The corresponding ADS-B data is not the flight phase cutoff point; QF v =1 indicates ZS v The corresponding ADS-B data are the flight phase cut-off points;

[0009] The prediction unit is used to input ZS and QF into the HMM model to obtain prediction results and mark them until two predicted target split points are obtained, at which point the prediction ends; wherein, the prediction results are used to indicate whether an ADS-B data received after the current time is a flight phase split point; ZS is the observation sequence of the HMM model; QF is the hidden sequence of the HMM model.

[0010] In a third aspect of this application, a non-transitory computer-readable storage medium is provided, wherein at least one instruction or at least one program is stored in the storage medium, and the at least one instruction or at least one program is loaded and executed by a processor to implement the aforementioned method for determining flight phases during flight.

[0011] In a fourth aspect of this application, an electronic device is provided, including a processor and the aforementioned non-transitory computer-readable storage medium.

[0012] This application has at least the following beneficial effects:

[0013] The flight phase determination method provided in this application includes speed and time from each ADS-B data point in the observations of the Hidden Markov Model (HMM). This is because during flight climb or descent, there exists a climb-level flight-climb-level flight-climb process, or a descent-level flight-descent-level flight process. In these processes, speed and altitude are mutually constrained. This embodiment uses the HMM model as the prediction model because the HMM model has a learning function. During the level flight phase of climb or descent, the relationship between speed and time differs from that of the cruise phase. Therefore, the HMM model will not identify the climb-level flight-climb-level flight-climb or descent-level flight-descent-level flight process as a cruise process, resulting in more accurate predictions. Therefore, this application uses speed and altitude as the observation sequence of the HMM model, making it easier for the HMM model to predict the hidden state corresponding to the next ADS-B data point. Due to the learning ability of the HMM model, the prediction results are more accurate. Attached Figure Description

[0014] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying 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.

[0015] Figure 1 A flowchart illustrating the method for determining flight phases during flight provided in this application embodiment;

[0016] Figure 2This is a structural block diagram of a flight phase determination device provided in an embodiment of this application. Detailed Implementation

[0017] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0018] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, apparatus, product, or server that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatuses.

[0019] It should be noted that the following description covers various aspects of embodiments within the scope of the appended claims. 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.

[0020] Please refer to Figure 1 As shown, an embodiment of this application provides a method for determining flight phases during flight, the method comprising:

[0021] S100, in response to receiving ADS-B data returned by the target aircraft performing a flight mission, obtain the speed-altitude array list ZS = (ZS1, ZS2, ..., ZS...) corresponding to the target aircraft performing the flight mission. v , ..., ZS w); v = 1, 2, ..., w; where w is the number of ADS-B data received by the target aircraft performing the flight mission up to the current time, all of which are in the same flight phase; ZS v ZS is the velocity-altitude array corresponding to the v-th ADS-B data received by the target aircraft in the same flight phase up to the current time; ZS has the corresponding segmentation point identification result sequence QF = (QF1, QF2, ..., QF...). v QF w ); where QF v For ZS v Corresponding segmentation point identification results; QF v =0 or QF v =1; where QF v =0 indicates ZS v The corresponding ADS-B data is not the flight phase cutoff point; QF v =1 indicates ZS v The corresponding ADS-B data is the flight phase cutoff point.

[0022] Specifically, each time ADS-B data is received from a target aircraft performing a flight mission, a corresponding speed-altitude array list ZS is obtained. Here, all arrays in the speed-altitude array list are arrays under the same flight stage state. For example, if the first target breakpoint has been determined, when determining the second target breakpoint, the corresponding speed-altitude data list is not obtained from the start of flight, but from after the first target breakpoint. That is, at this time, the flight stages corresponding to the speed-altitude arrays contained in the corresponding speed-altitude array list are all cruise stages. If the first target breakpoint has not been determined, the speed-altitude array is obtained from the moment of takeoff.

[0023] Furthermore, ZS has a corresponding segmentation point identification result sequence QF, where each identification result in QF is the identification result of whether the ADS-B data obtained by the HMM model is the target segmentation point. v =0 indicates ZS v The corresponding ADS-B data is not the flight phase cutoff point; QF v =1 indicates ZS v The corresponding ADS-B data is the flight phase cutoff point.

[0024] S200, input ZS and QF into the HMM model to obtain prediction results and label them until two predicted target split points are obtained, then the prediction ends; wherein, the prediction results are used to indicate whether an ADS-B data received after the current time is a flight phase split point; ZS is the observation sequence of the HMM model; QF is the hidden sequence of the HMM model.

[0025] Specifically, the ZS and QF sequences mentioned above are input into the HMM model, where ZS is the observation sequence of the HMM model and QF is the hidden sequence of the HMM model. The prediction result corresponding to an ADS-B data point received after the current time is obtained from the HMM model. This prediction result indicates whether an ADS-B data point received after the current time is the target split point.

[0026] The HMM, or Hidden Markov Model, is trained using complete flight trajectories obtained over several historical time periods, with each ADS-B data point labeled (whether it represents a target segmentation point). It has three parameters: an initial state probability vector, a state transition probability matrix, and an observation probability matrix. The initial state probability vector represents the probability of being in each hidden state at the initial moment, providing initial conditions for subsequent state transitions and observation generation. The state transition probability matrix describes the probability of transitions between different hidden states, depicting the changes in hidden states over time and forming the core of the HMM's dynamic evolution. The observation probability matrix gives the probability of generating each observation in each hidden state, establishing a connection between hidden states and observations, allowing us to infer hidden states from observed data.

[0027] The observations in the model described in this application include speed and time from each ADS-B data point because during flight climb or descent, there exists a climb-level flight-climb-level flight-climb process, or a descent-level flight-descent-level flight process. In these processes, speed and altitude are mutually constrained. This embodiment uses a Hidden Markov Model (HMM) as the prediction model because HMMs have learning capabilities. During the level flight phase of climb or descent, the relationship between speed and time differs from that of the cruise phase. Therefore, the HMM will not identify the climb-level flight-climb-level flight-climb or descent-level flight-descent-level flight process as a cruise process, resulting in more accurate predictions. Therefore, this embodiment uses speed and altitude as the observation sequence for the HMM model, making it easier for the HMM model to predict the hidden state corresponding to the next ADS-B data point. Due to the learning ability of the HMM model, the prediction results are more accurate.

[0028] In one exemplary embodiment of this application, after step S100, the method further includes:

[0029] S300: Input ZS and QF into the HMM model. When a target segmentation point is predicted, for each target aircraft receiving ADS-B data, obtain the corresponding key velocity-altitude array list GQ = (GQ1, GQ2, ..., GQ...). z ..., GQ η ); z = 1, 2, ..., η; where η is the number of ADS-B data points returned by the target aircraft when a target segmentation point is predicted; GQ z GQ is the velocity-altitude array corresponding to the z-th ADS-B data point returned by the target aircraft when a target segmentation point is predicted; z =(gv z gh z );gv z For GQ z The corresponding speed; gh z For GQ z The corresponding height.

[0030] S400, based on GQ, yields the corresponding key velocity-height determinant.

[0031] S500, if GH is greater than the preset determinant threshold, delete GQ1, update GQ, and jump to step S400; until GH is less than or equal to the preset determinant threshold; and determine GQ1 as the target split point.

[0032] In this embodiment, when a target split point is predicted, this target split point is the split point between the climb and cruise phases predicted by the HMM model. However, due to various reasons, the ADS-B data during the flight phase may be delayed or otherwise affected. After determining the target split point, the prediction of the next target split point is based on the ADS-B data following the target split point as the observation sequence. If the predicted target split point is too early, i.e., before reaching the actual target split point, but the HMM model determines the trajectory points corresponding to the ADS-B data before the actual target split point as the target split point, then the first part of the subsequent observation state will contain some velocity-altitude data corresponding to the climb phase, making the prediction of the next target split point inaccurate. Therefore, after obtaining the HMM model... After predicting the first target breakpoint, further verification is required. This is done by checking if the velocity-altitude arrays corresponding to each ADS-B data point between the target breakpoint and the latest ADS-B data obtained at the current time are approximately collinear. If they are consistently approximately collinear (GH less than or equal to a preset determinant threshold), it indicates that the velocity-altitude data after the first target breakpoint obtained by the HMM model does not include velocity-altitude data from the ascent phase, and only data from the cruise phase. Conversely, if they are not approximately collinear (GH greater than the preset determinant threshold), it indicates that the velocity-altitude data after the first target breakpoint obtained by the HMM model includes some velocity-altitude data from the ascent phase. In this case, this data should be deleted. This can be done by sequentially deleting GQ1 to obtain an updated GQ, or by using a bisection method to re-determine the target breakpoint. The velocity-altitude determinant of the ADS-B data between the re-determined target breakpoint and the next target breakpoint should all be approximately collinear (GH less than or equal to a preset determinant threshold). Therefore, this embodiment verifies the first target split point determined by the HMM model and makes timely corrections to avoid affecting the accuracy of the second target split point determined by the HMM model.

[0033] In one exemplary embodiment of this application, if the target aircraft performing a flight mission has completed its mission and obtained the trajectory to be processed, then after step S200, the method further includes:

[0034] S600, obtain the preset basic cruise altitude; wherein, the preset basic cruise altitude is determined based on the flight altitude corresponding to each ADS-B data in S.

[0035] Specifically, the preset base cruise altitude is determined based on the flight altitude corresponding to each ADS-B data point in S. It is the flight altitude corresponding to the ADS-B data that is likely to be the cruise altitude after removing noisy data from a large number of ADS-B data points. However, the maximum flight altitude among the ADS-B data points may be noisy data.

[0036] The S700 obtains the first and second division points based on the preset basic cruising altitude.

[0037] S800, if the positions of the first dividing point and the second dividing point do not correspond to the two predicted target dividing points, then the two predicted target dividing points are replaced according to the first dividing point and the second dividing point to divide the trajectory to be processed into flight stages; wherein, the flight stages include the climb stage, the cruise stage and the descent stage.

[0038] Specifically, since the flight trajectory is processed after the aircraft finishes its flight, the segmentation point determined based on the trajectory to be processed after the flight is more accurate.

[0039] In one exemplary embodiment of this application, step S600 includes:

[0040] S610, sort the flight altitudes corresponding to each ADS-B data in S in descending order to obtain a flight altitude list h = (h1, h2, ..., h... a , ..., h n ); a = 1, 2, ..., n; where h a This represents the flight altitude ranked a-th.

[0041] S620, retrieve a preset number of flight altitudes from h in descending order to obtain a list of key flight altitudes Gh = (Gh1, Gh2, ..., Gh...). x , ..., Gh y ); y is the preset quantity; Gh x This is the xth critical flight altitude.

[0042] S630, MIN(Gh) is set as the preset base cruise altitude; where MIN() is the preset minimum value determination function.

[0043] Specifically, in this embodiment, the flight altitude corresponding to each ADS-B data point in S is sorted in descending order to obtain an ordered list of flight altitudes. The smallest flight altitude among the first preset number of flight altitudes in the ordered list is selected as the preset base cruise altitude. That is, it is assumed that the higher flight altitudes corresponding to ADS0-B data may be noise. Furthermore, to improve the accuracy of determining the preset base cruise altitude, in this embodiment, y meets the following characteristics:

[0044] y = (n / L) × (n / 10000);

[0045] Where L is the flight distance corresponding to the trajectory to be processed.

[0046] Here, y is a preset quantity, and the magnitude of y is the perceived noise altitude. y is proportional to n / L, where n / L represents the density of the ADS-B data corresponding to the trajectory to be processed. Therefore, the higher the density of the ADS-B data, the greater the noise level is likely to be. Furthermore, the quantity of y is adjusted according to n / 10000. That is, under the condition that L is constant, the larger n is, the greater the impact on the noise level, increasing exponentially. The impact of flight distance on the noise altitude is less than the impact of the ADS-B data quantity on the noise level.

[0047] In one exemplary embodiment of this application, step S700 includes:

[0048] S710, based on S, obtain the distance difference list C = (C1, C2, ..., C...). i C n ); where C i C represents the i-th distance difference; i =|α×MIN(Gh)-h(t) i )|;α is the distance adjustment parameter;0<α<1.

[0049] Specifically, the altitude difference between α×MIN(Gh) and each flight altitude is obtained. Here, α is an altitude adjustment parameter. That is, in order to ensure that the obtained cruise altitude is more accurate, an altitude adjustment parameter is set. Based on the preset basic cruise altitude, a more accurate possible cruise altitude is generated, and α meets the following conditions:

[0050] α = α' × β;

[0051] α' is the basic height adjustment parameter; β is the fluctuation adjustment parameter.

[0052] Wherein, β is determined according to the following steps:

[0053] S001, Obtain the altitude corresponding to each ADS-B data point of the historical trajectory during the cruise phase when the aircraft executing the flight path corresponding to the trajectory to be processed within the historical time window, so as to obtain the historical altitude list set Lh = (Lh1, Lh2, ..., Lh... e , ..., Lh k ); e = 1, 2, ..., k; where k is the number of historical trajectories obtained when the aircraft executing the flight path corresponding to the trajectory to be processed executes the flight path corresponding to the trajectory to be processed within the historical time window; Lh e This is a list of altitudes during the cruise phase of the historical trajectory obtained when the aircraft executing the flight path corresponding to the trajectory to be processed executes it for the eth time within the historical time window; Lh e =(Lh e,1 Lhe,2 , ..., Lh e,r , ..., Lh e,f(e) ); r = 1, 2, ..., f(e); f(e) is Lh e The amount of ADS-B data included; Lh e,r For Lh e Includes the height corresponding to the r-th ADS-B data;

[0054] S002, based on Lh, obtain the historical average fluctuation value PB = avg((1 / f(e))Σ corresponding to the trajectory to be processed. f(e) r=1 (Lh e,r -avg(Lh e )) 2 ); where avg() is the preset function for determining the average value;

[0055] S003, if PB is greater than the preset fluctuation threshold, then β < 1 is determined; otherwise, β > 1 is determined.

[0056] In this embodiment, the final value of the altitude adjustment parameter is determined by setting a fluctuation adjustment parameter. This fluctuation adjustment parameter is determined based on each ADS-B data point of the historical trajectory during the cruise phase, obtained from the historical time window when the aircraft executing the flight path corresponding to the trajectory to be processed executes the flight path. Specifically, based on Lh, the historical average fluctuation value corresponding to the trajectory to be processed is obtained. If PB is large, it indicates that the altitude fluctuation of the aircraft during the cruise phase is large, exceeding the preset fluctuation threshold. Therefore, it suggests that the altitude fluctuation of the trajectory to be processed may also be large during the cruise phase. In this case, to ensure the accuracy of flight phase segmentation, the cruise altitude needs to be set smaller, so β ​​< 1. Conversely, if PB is less than or equal to the preset fluctuation threshold, it indicates that the cruise altitude needs to be set smaller and higher, so β ​​> 1.

[0057] This embodiment ensures that the final determined cruise altitude takes into account the impact of noise, and filters out some of the noise when noise is present. In order to make the determined noise more accurate, historical data is introduced to obtain the altitude fluctuation of the historical trajectory during the cruise phase when the aircraft corresponding to the trajectory to be processed executes the flight path corresponding to the trajectory to be processed within a historical time window. This data is then used to adjust the cruise altitude, making the final determined cruise altitude more accurate.

[0058] S720, based on C, obtain the critical distance difference list GC = (GC1, GC2, ..., GC...). c , ..., GC d ); c = 1, 2, ..., d; where d is the number of critical distance differences; GCc For the c-th critical distance difference; GC c Less than the preset distance difference threshold.

[0059] Specifically, after determining the most likely cruising altitude, several ADS-B data points with an altitude difference less than a preset altitude difference threshold are acquired. These are all the ADS-B data included in the cruising phase.

[0060] S730 determines the position of the earliest time in the GC corresponding to the trajectory to be processed as the first dividing point, and the position of the latest time in the trajectory to be processed as the second dividing point.

[0061] Specifically, the earliest time in the GC (Gas Controller) is located at the position in the trajectory to be processed as the first dividing point, and the latest time is located at the position in the trajectory to be processed as the second dividing point. Here, the first dividing point is the critical point between the climb phase and the cruise phase; the second dividing point is the critical point between the cruise phase and the descent phase.

[0062] In one exemplary embodiment of this application, prior to step S600, the method further includes:

[0063] S601, Obtain the ADS-B data corresponding to the trajectory to be processed, so as to obtain the corresponding data list S = (S1, S2, ..., S...). i S n ); i = 1, 2, ..., n; where n is the number of ADS-B data points corresponding to the trajectory to be processed; S i S represents the i-th ADS-B data point corresponding to the trajectory to be processed; each ADS-B data point has a corresponding time and flight altitude; S is arranged in chronological order.

[0064] Specifically, the trajectory to be processed is the flight trajectory obtained by a certain aircraft when performing a certain flight mission. It has several corresponding ADS-B data, and each ADS-B data has a corresponding time and flight altitude.

[0065] S602, based on S, obtain the data noise corresponding to the trajectory to be processed. dt; where t n t represents the time corresponding to the nth ADS-B data point; i v(t) represents the time corresponding to the i-th ADS-B data point; i ) represents the speed corresponding to the i-th ADS-B data point; h(t) represents the window average velocity corresponding to the i-th ADS-B data point. i () represents the height corresponding to the i-th ADS-B data point; Let be the average height of the window corresponding to the i-th ADS-B data.

[0066] Specifically, Z represents the data noise corresponding to the trajectory to be processed. Here, the data noise includes velocity noise and altitude noise. Velocity noise and altitude noise refer to the unstable and irregular fluctuations in velocity and altitude data, as if the data is mixed with "interference".

[0067] It should be noted that, The window average velocity corresponding to the i-th ADS-B data point. The arithmetic mean of the iN / 2th point to the i+N / 2th point; N is the number of ADS-B data points contained in the preset window; as an example: if N is 8 and i is 5, then the average speed of the window corresponding to the 5th ADS-B data point is the arithmetic mean of the speed corresponding to the 1st ADS-B data point to the speed corresponding to the 5th ADS-B data point. Let be the average height of the window corresponding to the i-th ADS-B data point. The average height of the window corresponding to the 5th ADS-B data point is the arithmetic mean from the 1st ADS-B data point to the 5th ADS-B data point. For example, if N is 8 and i is 5, then the average height of the window corresponding to the 5th ADS-B data point is the arithmetic mean of the heights corresponding to the 1st ADS-B data point to the heights corresponding to the 5th ADS-B data point.

[0068] S603, if Z is greater than the preset data noise threshold, then proceed to step S600.

[0069] Specifically, if Z is greater than the preset data noise threshold, it means that the corresponding data noise in the trajectory to be processed is large. The preset cruise altitude is the data after removing some noise. Determining the segmentation point based on the preset cruise altitude can improve the accuracy of flight phase division and reduce the impact of noise on the segmentation result.

[0070] In one exemplary embodiment of this application, after step S602, the method further includes:

[0071] S604, if Z is less than or equal to the preset data noise threshold, then the target trajectory point is determined on the trajectory to be processed; among them, the flight altitude of the ADS-B data corresponding to the target trajectory point is the highest.

[0072] S605, based on the bisection method, the target trajectory point, and the trajectory to be processed, two target segmentation points are obtained; wherein, the value of the velocity-height determinant corresponding to all ADS-B data between the two target segmentation points is less than a preset determinant threshold.

[0073] S606, the flight trajectory is divided according to the two said dividing points to obtain the climb phase, cruise phase and descent phase.

[0074] In this embodiment, if Z is less than or equal to a preset data noise threshold, it indicates that the data noise corresponding to the trajectory to be processed is relatively small. In this case, no denoising processing is performed on the data. First, the target trajectory point with the highest flight altitude in the ADS-B data is determined. This point is likely located in the middle of the entire cruise phase. Then, based on this point and the start and end points of the trajectory to be processed, a bisection method is used to obtain two target segmentation points. The area between the two target segmentation points is the divided cruise phase. If the value of the velocity-altitude determinant of all ADS-B data between the two target segmentation points is less than a preset determinant threshold, it indicates that all ADS-B data between the two target segmentation points are almost collinear. Under normal circumstances, it should be 0, but since the altitude and speed of the aircraft fluctuate during flight, the value of its corresponding velocity-altitude determinant is less than the preset determinant threshold. Finally, based on the two segmentation points, the flight trajectory is divided to obtain the climb phase, cruise phase, and descent phase. This embodiment has a high degree of automation and saves manpower. When the data noise of the trajectory to be processed is low, the method of segmenting the aircraft flight trajectory is more effective and the segmentation results are more accurate.

[0075] In one exemplary embodiment of this application, each target segmentation point is determined through the following steps:

[0076] S6051, the trajectory to be processed between the target trajectory point and any endpoint of the trajectory to be processed is determined as the critical trajectory.

[0077] Specifically, the trajectory to be processed has two endpoints: a start point and an end point. As an example: the trajectory to be processed between the target trajectory point and the end point of the trajectory to be processed is defined as the critical trajectory.

[0078] S6052, Obtain the key trajectory points corresponding to the key trajectory; wherein, the key trajectory points are the trajectory points on the key trajectory corresponding to the ADS-B data with the smallest time difference from the intermediate time point among all ADS-B data contained in the key trajectory; the key trajectory includes a first key trajectory and a second key trajectory; the critical point between the first key trajectory and the second key trajectory is a key trajectory point; the first key trajectory is close to the target trajectory point; the second trajectory point is far away from the target trajectory point.

[0079] Specifically, a key trajectory point is the trajectory point corresponding to a given ADS-B data point on a key trajectory. This ADS-B data point is the ADS-B data with the smallest time difference from the intermediate time point among all the ADS-B data points included in the key trajectory. Here, the intermediate time point is the midpoint between the time of the ADS-B data corresponding to the target trajectory point and the time of the ADS-B data corresponding to the end point of the trajectory to be processed. However, due to potential delays in ADS-B data, there may be no ADS-B data at this intermediate time point. In this case, the trajectory point corresponding to the ADS-B data with the smallest time difference from the intermediate time point, i.e., the ADS-B data closest to the intermediate time point, is determined as the key trajectory point on the key trajectory. This completes the first "splitting" to obtain the first key trajectory and the second key trajectory. The critical point between the first and second key trajectories is the key trajectory point; the first key trajectory point is closer to the target trajectory point; the second key trajectory point is farther from the target trajectory point.

[0080] S6053, Based on the target trajectory points and key trajectory points, obtain a velocity-height array list Q = (Q1, Q2, ..., Q...). s Q t ); s = 1, 2, ..., t; t is the number of ADS-B data points corresponding to the trajectories to be processed between the target trajectory points and the key trajectory points; Q s Q is the s-th velocity-height array; s =(v s h s );v s h is the velocity corresponding to the s-th velocity-height array. s This represents the flight altitude corresponding to the s-th velocity-altitude array.

[0081] Specifically, the speed-altitude array corresponding to the trajectory to be processed between the target trajectory point and the key trajectory point is obtained because the trajectory to be processed near the target trajectory point is more likely to be the trajectory corresponding to the cruise phase than the trajectory to be processed far from the target trajectory point. Therefore, in this embodiment, the speed-altitude array list corresponding to this segment is obtained.

[0082] S6054, based on Q, obtain the corresponding velocity-height determinant.

[0083] S6055, if SG is less than or equal to a preset determinant threshold, then the second key trajectory is determined as the key trajectory; otherwise, the first key trajectory is determined as the key trajectory; and the process jumps to step S320; until the target segmentation point is obtained; wherein, the value of the velocity-height determinant of all ADS-B data corresponding to the target trajectory point and the target segmentation point is less than or equal to the preset determinant threshold; and the value of the determinant between the target trajectory point and the target segmentation point in the direction away from the target trajectory point is greater than the preset determinant threshold.

[0084] Specifically, if SG is less than or equal to the preset determinant threshold, it indicates that all ADS-B data contained in this segment are almost collinear, meaning that this segment is part of the cruise phase. In this case, another segment (between the key trajectory point and the end point) is identified as the key trajectory and bisected, and the position of the key trajectory point is updated. The velocity-altitude determinant between the target trajectory point and the key trajectory point is obtained again, and it is determined whether they are close to collinear. If so, the segment between the key trajectory point and the end point is identified as the key trajectory and bisected. If not, the segment is bisected until the target split point is obtained. After determining the split point between the target trajectory point and the end point, the same method is used to determine the split point between the target trajectory point and the start point.

[0085] This embodiment uses the bisection method and velocity-height determinant to determine a target segmentation point on each side of the target trajectory point, starting from the target trajectory point. Compared with trying each ADS-B data point one by one, this method is more efficient and saves more time.

[0086] In one exemplary embodiment of this application, Z satisfies the following condition:

[0087]

[0088] In this embodiment, only velocity noise is considered as noise in the trajectory to be processed, which simplifies the calculation and improves computational efficiency.

[0089] In one exemplary embodiment of this application, Z satisfies the following condition:

[0090]

[0091] In this embodiment, only the height noise is considered as the noise of the trajectory to be processed, which simplifies the calculation and improves the computational efficiency.

[0092] Please refer to Figure 2 As shown, an embodiment of this application provides a flight phase determination device 100 during flight, the device comprising:

[0093] The array acquisition unit is used to acquire the velocity-altitude array list ZS = (ZS1, ZS2, ..., ZS...) of the target aircraft performing the flight mission in response to receiving ADS-B data returned by the target aircraft. v , ..., ZS w ); v = 1, 2, ..., w; where w is the number of ADS-B data points received by the target aircraft currently performing a flight mission up to the current time, all within the same flight phase; ZS v ZS is the velocity-altitude array corresponding to the v-th ADS-B data received by the target aircraft in the same flight phase up to the current time; ZS has the corresponding segmentation point identification result sequence QF = (QF1, QF2, ..., QF...). v QF w ); where QF v For ZS v Corresponding segmentation point identification results; QF v =0 or QF v =1; where QF v =0 indicates ZS v The corresponding ADS-B data is not the flight phase cutoff point; QF v =1 indicates ZS v The corresponding ADS-B data is the flight phase cutoff point.

[0094] The prediction unit is used to input ZS and QF into the HMM model to obtain prediction results and mark them until two predicted target split points are obtained, at which point the prediction ends; wherein, the prediction results are used to indicate whether an ADS-B data received after the current time is a flight phase split point; ZS is the observation sequence of the HMM model; QF is the hidden sequence of the HMM model.

[0095] In an exemplary embodiment of this application, an electronic device capable of implementing the above-described method is also provided.

[0096] Those skilled in the art will understand that various aspects of this application can be implemented as a system, method, or program product. Therefore, various aspects of this application can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, collectively referred to herein as a "circuit," "module," or "system."

[0097] An electronic device according to this embodiment of the present application. The electronic device is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of this application.

[0098] Electronic devices are manifested in the form of general-purpose computing devices. Components of an electronic device may include, but are not limited to: at least one processor, at least one memory, and buses connecting different system components (including memory and processor).

[0099] The memory stores program code that can be executed by a processor, causing the processor to perform the steps described in the "Exemplary Methods" section above, according to various exemplary embodiments of this application.

[0100] The storage may include readable media in the form of volatile storage, such as random access memory (RAM) and / or cache memory, and may further include read-only memory (ROM).

[0101] The storage may also include programs / utilities having a set (at least one) of program modules, including but not limited to: an operating system, one or more applications, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0102] A bus can represent one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus that uses any of the various bus architectures.

[0103] The electronic device can also communicate with one or more external devices (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable a user to interact with the electronic device, and / or any device that enables the electronic device to communicate with one or more other computing devices (e.g., routers, modems, etc.). This communication can be achieved through input / output (I / O) interfaces. Furthermore, the electronic device can communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter. As shown in the figure, the network adapter communicates with other modules of the electronic device via a bus. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0104] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the method according to the embodiments of this application.

[0105] In exemplary embodiments of this application, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible implementations, various aspects of this application may also be implemented as a program product including program code, which, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of this application described in the "Exemplary Methods" section above.

[0106] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0107] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0108] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0109] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0110] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this application, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0111] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0112] The above are merely specific embodiments 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 method for determining flight phases during flight, characterized in that, The method includes: S100, in response to receiving ADS-B data returned by the target aircraft performing a flight mission, obtains the speed-altitude array list ZS=(ZS1, ZS2, ..., ZS...) corresponding to the target aircraft performing the flight mission. v , ..., ZS w ); v = 1, 2, ..., w; where w is the number of ADS-B data points received by the target aircraft currently performing a flight mission up to the current time, all within the same flight phase; ZS v ZS is the velocity-altitude array corresponding to the v-th ADS-B data received by the target aircraft in the same flight phase up to the current time; ZS has the corresponding segmentation point identification result sequence QF=(QF1, QF2, ..., QF... v QF w ); where QF v For ZS v Corresponding segmentation point identification results; QF v =0 or QF v =1; where QF v =0 indicates ZS v The corresponding ADS-B data is not the flight phase cutoff point; QF v =1 indicates ZS v The corresponding ADS-B data are the flight phase cut-off points; S200, input ZS and QF into the HMM model to obtain prediction results and label them until two predicted target split points are obtained, then the prediction ends; wherein, the prediction results are used to indicate whether an ADS-B data received after the current time is a flight phase split point; ZS is the observation sequence of the HMM model; QF is the hidden sequence of the HMM model; S300: Input ZS and QF into the HMM model. When a target breakpoint is predicted, after that breakpoint, for each target aircraft that returns ADS-B data, obtain the corresponding key velocity-altitude array list GQ=(GQ1, GQ2, ..., GQ...). z ..., GQ η ); z = 1, 2, ..., η; where η is the number of ADS-B data received from the time a target split point is predicted until the current time; GQ z This is the velocity-height array corresponding to the z-th ADS-B data received between the time of obtaining a target segmentation point and the current time; GQ z =(gv z gh z ); gv z For GQ z The corresponding speed; gh z For GQ z Corresponding height; S400, based on GQ, yields the corresponding key velocity-height determinant. ; S500, if GH is greater than the preset determinant threshold, delete GQ1, update GQ, and jump to step S400; until GH is less than or equal to the preset determinant threshold; and determine GQ1 as the target split point.

2. The method for determining flight phases during flight according to claim 1, characterized in that, If the target aircraft performing a flight mission completes its mission and obtains the trajectory to be processed, then after step S200, the method further includes: S601, Obtain the ADS-B data corresponding to the trajectory to be processed, so as to obtain the corresponding data list S=(S1, S2, ..., S... i S n ); i = 1, 2, ..., n; where n is the number of ADS-B data points corresponding to the trajectory to be processed; S i Let S be the i-th ADS-B data point corresponding to the trajectory to be processed; each ADS-B data point has a corresponding time and flight altitude; S is arranged in chronological order. S600, obtain the preset basic cruise altitude; wherein, the preset basic cruise altitude is determined according to the flight altitude corresponding to each ADS-B data in S; S700 obtains the first and second division points based on the preset basic cruising altitude; S800, if the positions of the first dividing point and the second dividing point do not correspond to the two predicted target dividing points, then the two predicted target dividing points are replaced according to the first dividing point and the second dividing point to divide the trajectory to be processed into flight stages; wherein, the flight stages include the climb stage, the cruise stage and the descent stage.

3. The method for determining flight phases during flight according to claim 2, characterized in that, Step S600 includes: S610, sort the flight altitudes corresponding to each ADS-B data in S in descending order to obtain a flight altitude list h=(h1, h2, ..., h... a , ..., h n ); a = 1, 2, ..., n; where h a This refers to the flight altitude ranked a-th. S620, retrieve a preset number of flight altitudes in h in descending order to obtain a list of key flight altitudes Gh = (Gh1, Gh2, ..., Gh...). x , ..., Gh y ); x = 1, 2, ..., y; where y is the preset quantity; Gh x This is the xth critical flight altitude; S630, MIN(Gh) is set as the preset base cruise altitude; where MIN() is the preset minimum value determination function.

4. The method for determining flight phases during flight according to claim 3, characterized in that, y conforms to the following characteristics: y = (n / L) × (n / 10000); Where L is the flight distance corresponding to the trajectory to be processed.

5. The method for determining flight phases during flight according to claim 2, characterized in that, Step S700 includes: S710, based on S, obtain the distance difference list C = (C1, C2, ..., C...). i C n ); where C i C represents the i-th distance difference; i =|α×MIN(Gh)-h(t i |; α is the distance adjustment parameter; 0 < α < 1; S720, based on C, obtain the critical distance difference list GC=(GC1, GC2, ..., GC... c , ..., GC d ); c = 1, 2, ..., d; where d is the number of critical distance differences; GC c For the c-th critical distance difference; GC c Less than the preset distance difference threshold; S730 determines the position of the earliest time in the GC corresponding to the trajectory to be processed as the first dividing point, and the position of the latest time in the trajectory to be processed as the second dividing point.

6. The method for determining flight phases during flight according to claim 5, characterized in that, α satisfies the following conditions: α=α’×β; α' is the basic distance adjustment parameter; β is the fluctuation adjustment parameter; Wherein, β is determined according to the following steps: S001, Obtain the altitude corresponding to each ADS-B data point of the historical trajectory during the cruise phase when the aircraft executing the flight path corresponding to the trajectory to be processed within the historical time window, so as to obtain the historical altitude list set Lh=(Lh1, Lh2, ..., Lh... e , ..., Lh k ); e = 1, 2, ..., k; where k is the number of historical trajectories obtained when the aircraft executing the flight path corresponding to the trajectory to be processed executes the flight path corresponding to the trajectory to be processed within the historical time window; Lh e This is a list of altitudes during the cruise phase of the historical trajectory obtained when the aircraft executing the flight path corresponding to the trajectory to be processed executes it for the eth time within the historical time window; Lh e =(Lh e,1 Lh e,2 , ..., Lh e,r , ..., Lh e,f(e) ); r = 1, 2, ..., f(e); f(e) is Lh e The amount of ADS-B data included; Lh e,r For Lh e Includes the height corresponding to the r-th ADS-B data; S002, based on Lh, obtain the historical average fluctuation value PB=avg((1 / f(e))Σ corresponding to the trajectory to be processed. f(e) r=1 (Lh e,r -avg(Lh e )) 2 ); where avg() is a preset function for determining the average value; S003, if PB is greater than the preset fluctuation threshold, then β < 1 is determined; otherwise, β > 1 is determined.

7. A flight phase determination device during flight, characterized in that, The device includes: The array acquisition unit is used to acquire the velocity-altitude array list ZS=(ZS1, ZS2, ..., ZS) of the target aircraft performing the flight mission in response to receiving ADS-B data returned by the target aircraft performing the flight mission. v , ..., ZS w ); v = 1, 2, ..., w; where w is the number of ADS-B data points received by the target aircraft currently performing a flight mission up to the current time, all within the same flight phase; ZS v ZS is the velocity-altitude array corresponding to the v-th ADS-B data received by the target aircraft in the same flight phase up to the current time; ZS has the corresponding segmentation point identification result sequence QF=(QF1, QF2, ..., QF... v QF w ); where QF v For ZS v Corresponding segmentation point identification results; QF v =0 or QF v =1; where QF v =0 indicates ZS v The corresponding ADS-B data is not the flight phase cutoff point; QF v =1 indicates ZS v The corresponding ADS-B data are the flight phase cut-off points; The prediction unit is used to input ZS and QF into the HMM model to obtain prediction results and mark them until two predicted target split points are obtained, at which point the prediction ends; wherein, the prediction results are used to indicate whether an ADS-B data received after the current time is a flight phase split point; ZS is the observation sequence of the HMM model; QF is the hidden sequence of the HMM model; The validation unit is used to input ZS and QF into the HMM model. When a target breakpoint is predicted, after that breakpoint, for each ADS-B data returned by a target aircraft, the corresponding key velocity-altitude array list GQ=(GQ1, GQ2, ..., GQ...) is obtained. z ..., GQ η ); z = 1, 2, ..., η; where η is the number of ADS-B data received from the time a target split point is predicted until the current time; GQ z This is the velocity-height array corresponding to the z-th ADS-B data received between the time of obtaining a target segmentation point and the current time; GQ z =(gv z gh z ); gv z For GQ z The corresponding speed; gh z For GQ z Corresponding height; The determinant calculation unit is used to obtain the corresponding critical velocity-height determinant based on GQ. ; The judgment processing unit is used to determine whether GH is greater than the preset determinant threshold; if GH is greater than the preset determinant threshold, then delete GQ1, update GQ, and jump to step S400; until GH is less than or equal to the preset determinant threshold; and determine GQ1 as the target split point.

8. A non-transitory computer-readable storage medium, characterized in that, The storage medium stores at least one instruction or at least one program segment, which is loaded and executed by a processor to implement the method as described in any one of claims 1-6.

9. An electronic device, characterized in that, Includes a processor and the non-transitory computer-readable storage medium as described in claim 8.

Citation Information

Patent Citations

  • Systems and methods for determining a phase of flight of an aircraft

    US20230274650A1