Method and device for monitoring and early warning of aircraft icing based on airborne cloud particle feature analysis
Patent Information
- Application Number
- CN202610167695.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-02-05
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2046-02-05
Smart Images

Figure CN122176970B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and in particular to a method and device for monitoring and early warning of aircraft icing based on airborne cloud particle feature analysis. Background Technology
[0002] Aircraft icing severely impacts aerodynamic performance and handling stability. Current technologies collect atmospheric cloud particle observation data using airborne cloud particle probes. After performing simple numerical statistics on the collected data, the data is compared with a pre-set icing risk threshold to determine the corresponding icing warning level. Some technical solutions use aircraft flight speed data as an auxiliary reference for warning determination, simply adding weights when calculating risk probability. However, current technologies do not address the core correlation between cloud particles and icing formation. The data calibration process often uses general signal filtering methods, which cannot accurately match the physical distribution of cloud particles. This leads to biases in the collected data, making it difficult to accurately reflect the true icing risk under the current flight conditions. This can result in delayed or false warnings, reducing the reliability of flight safety assurance. Summary of the Invention
[0003] In view of this, the present invention provides a method and device for monitoring and early warning of aircraft icing based on airborne cloud particle feature analysis. The technical solution of the present invention is implemented as follows:
[0004] On one hand, embodiments of the present invention provide an aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis. The method includes: receiving real-time cloud particle observation data collected by an airborne probe; performing interval discretization processing on the cloud particle observation data to divide it into several discrete particle size intervals; counting the number of cloud particles in each discrete particle size interval to obtain discrete particle size interval counting results; performing fractal fitting calculations based on the discrete particle size interval counting results to generate multiple fractal fitting results; performing goodness-of-factory verification on each fractal fitting result; selecting valid fractal fitting results that meet the requirements; and using the valid fractal fitting results to correct the supercooled water droplet counting deviation in the cloud particle observation data to obtain... The process involves: refining the supercooled water droplet observation data; dividing the supercooled water droplet observation data into gradients; combining this with the associated conditions for aircraft icing formation to divide the data into several icing risk gradients; determining the range of the supercooled water droplet observation data corresponding to each icing risk gradient to obtain the initial risk gradient boundary; acquiring real-time aircraft flight speed data; dynamically adjusting the initial risk gradient boundary based on the real-time flight speed data to adapt to the probability differences of supercooled water droplet impact on the fuselage at different flight speeds to obtain a dynamic warning boundary adapted to the current flight state; comparing the refined supercooled water droplet observation data with the dynamic warning boundary to generate aircraft icing monitoring and warning information.
[0005] On the other hand, embodiments of the present invention provide an aircraft icing monitoring and early warning device, comprising: a data discretization module, used to receive cloud particle observation data collected in real time by an airborne probe, perform interval discretization processing on the cloud particle observation data, divide it into several discrete particle size intervals, count the number of cloud particles in each discrete particle size interval, and obtain a discrete particle size interval counting result; and a fitting and verification module, used to perform fractal fitting calculations based on the discrete particle size interval counting results, generate multiple fractal fitting results, perform goodness verification on each fractal fitting result, select the effective fractal fitting results that meet the requirements, and use the effective fractal fitting results to correct the supercooled water droplet counting deviation in the cloud particle observation data, thereby obtaining the corrected supercooled water droplet observation number. The system comprises four modules: a gradient partitioning module, which performs gradient partitioning on the corrected supercooled water droplet observation data; a boundary adjustment module, which acquires real-time flight speed data and dynamically adjusts the initial risk gradient boundary based on this data to accommodate the probability differences in supercooled water droplet impact on the fuselage at different flight speeds; and a warning generation module, which compares the corrected supercooled water droplet observation data with the dynamic warning boundary to generate aircraft icing monitoring and warning information.
[0006] This invention receives real-time cloud particle observation data from an airborne probe and performs interval discretization processing. It then counts the number of cloud particles within each discrete size interval, enabling precise focusing on the cloud particle size distribution characteristics related to aircraft icing altitude. This filters out invalid data interference. Based on the discrete size interval counting results, fractal fitting calculations are performed, and effective fractal fitting results are selected to correct supercooled water droplet counting bias. The self-similarity of cloud particle size distribution can be used to calibrate the collected data bias, making the corrected supercooled water droplet observation data more closely reflect actual atmospheric conditions. Finally, the corrected supercooled water droplet observation data is combined with the correlation conditions of aircraft icing formation to divide icing risk gradients and determine the corresponding data ranges. This system enables risk gradient division to fully adapt to the formation mechanism of aircraft icing, avoiding misjudgments caused by blind numerical segmentation. It dynamically adjusts the initial risk gradient boundary by acquiring real-time flight speed data, allowing the warning boundary to adapt to the probability differences of supercooled water droplets hitting the fuselage under different flight conditions. This avoids the drawback of fixed thresholds being unable to adapt to complex flight scenarios. By comparing the corrected supercooled water droplet observation data with the dynamic warning boundary, it generates aircraft icing monitoring and warning information. This allows the warning results to accurately match the actual icing risk under the current flight condition, providing more targeted risk alerts for the crew and effectively improving the accuracy and scenario adaptability of icing monitoring and warning. Attached Figure Description
[0007] Figure 1This is a schematic diagram illustrating the implementation process of an aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis provided by the present invention.
[0008] Figure 2 This is a schematic diagram of the composition of an aircraft icing monitoring and early warning device provided by the present invention. Detailed Implementation
[0009] This invention provides a method for monitoring and warning of aircraft icing based on airborne cloud particle feature analysis. This method can be executed by the data processing unit on the aircraft, or by the server or server cluster of a remote command center, and is not specifically limited.
[0010] Figure 1 This is a schematic diagram illustrating the implementation process of an aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis, as provided in an embodiment of the present invention. Figure 1 As shown, the method includes: Step S100: Receive cloud particle observation data collected in real time by the airborne probe, perform interval discretization processing on the cloud particle observation data, divide it into several discrete particle size intervals, count the number of cloud particles in each discrete particle size interval, and obtain the discrete particle size interval counting result.
[0011] Cloud particle observation data is collected in real-time by airborne probes during aircraft flight, encompassing information such as particle size and frequency of occurrence. Interval discretization divides continuous cloud particle observation data into different intervals according to predefined rules. Discrete particle size intervals are well-defined particle size ranges obtained after interval discretization, each interval representing a specific cloud particle size. The count of cloud particles within each discrete particle size interval is then performed, yielding the final discrete particle size interval count result.
[0012] In one implementation, step S100 may specifically include the following steps S110 to S160: Step S110: Receive cloud particle observation data collected in real time by the airborne probe, group the cloud particle observation data according to the continuity of the collection period, with each group corresponding to the continuous collection records under the same flight phase, match the corresponding flight phase identifier for each group of data, and ensure that the time interval of the collection records within each group is uniform. Mark the cloud particle observation data after adding the identifier as time-series grouped cloud particle observation data.
[0013] Specifically, the system first receives real-time cloud particle observation data from an airborne probe. Then, it checks the data according to the time sequence of acquisition, grouping continuously acquired data into a single group. For example, during the aircraft's takeoff phase, the airborne probe continuously collects cloud particle observation data; the data collected from takeoff until reaching a certain altitude constitutes one group. Next, each group of data is assigned a corresponding flight phase identifier; for example, the data group from the takeoff phase is labeled "Takeoff Phase." The time intervals between data collection within each group should be uniform. This can be achieved by setting the acquisition frequency of the airborne probe, for example, setting it to collect data every 1 second. Finally, the identified cloud particle observation data is labeled as time-series grouped cloud particle observation data for more precise subsequent analysis.
[0014] Step S120: Extract particle size information for each record in the time-series grouped cloud particle observation data, compare the extracted particle size information with the preset interval division rules, determine the interval division boundary position corresponding to each particle size information, bind the interval division boundary position with the corresponding flight stage identifier, and generate interval boundary identifier data.
[0015] For example, for each record in time-series grouped cloud particle observation data, particle size information is extracted through data parsing. For instance, regular expression matching is used to accurately identify particle size values from the records. Then, the extracted particle size information is compared one by one with preset interval division rules to determine which interval the particle size information belongs to, thus identifying its corresponding interval boundary positions. For example, if the extracted particle size information is 3 micrometers, according to the preset rules, it belongs to the 0-5 micrometer interval, and the boundary positions of this interval are 0 micrometers and 5 micrometers. Next, the determined interval boundary positions are bound to the corresponding flight phase identifiers. For example, if the data record belongs to the takeoff phase, then 0 micrometers and 5 micrometers are bound to "takeoff phase". The final generated interval boundary identifier data can be stored in tabular form.
[0016] Step S130: Match each record in the time-series grouped cloud particle observation data with the interval boundary identification data, compare the particle size information of each record with the interval division boundary position, assign the record to the corresponding discrete particle size interval, and generate a set of grouped records after matching.
[0017] During the assignment matching process, for each record in the time-series grouped cloud particle observation data, its particle size information is extracted. This particle size information is then compared in detail with the interval boundary markers in the interval boundary identification data. For example, if a record has a particle size of 7 micrometers, and the interval boundary markers include intervals such as 0-5 micrometers and 5-10 micrometers, the comparison shows that the record should be assigned to the discrete particle size interval of 5-10 micrometers. In this way, all records in the time-series grouped cloud particle observation data are matched and assigned one by one, ultimately generating a set of grouped records after assignment matching. This set can be stored in a nested list format, where each sub-list represents a discrete particle size interval and contains all records belonging to that interval.
[0018] Step S140: After the grouped record set is matched, perform interval-by-interval aggregation, count the number of records in each discrete particle size interval, associate the statistical results with the corresponding discrete particle size interval, and generate preliminary discrete particle size interval counting results.
[0019] For example, starting with the first discrete particle size interval, count the records within that interval, following the order of the discrete particle size intervals. For instance, for the 0-5 micrometer discrete particle size interval, count the number of cloud particle observation records contained within it. Then, perform the same operation for the other discrete particle size intervals. Associate the statistical results of each discrete particle size interval with that interval, for example, using key-value pairs, with the discrete particle size interval as the key and the number of records as the value. The final preliminary discrete particle size interval count results can be stored in dictionary form.
[0020] Step S150: Perform cross-validation on the preliminary discrete particle size interval counting results, compare the statistical results of adjacent discrete particle size intervals under the same flight stage, check for abnormal fluctuations in the statistical results, and mark the results after the check as the validated discrete particle size interval counting results.
[0021] During cross-validation, the statistical results of adjacent discrete particle size intervals within the same flight phase are compared in detail. For example, during the takeoff phase, the number of records for the 0-5 micrometer and 5-10 micrometer intervals are compared. If a sudden and significant increase or decrease in the number of records in an adjacent interval is found, exceeding the normal fluctuation range, it is considered an abnormal fluctuation. For intervals exhibiting abnormal fluctuations, further investigation is needed to determine the cause, such as checking whether the data acquisition equipment is functioning properly or whether there are data transmission errors. After investigation and processing, the final result is marked as the validated discrete particle size interval count result, which can be used for subsequent more precise analysis.
[0022] Step S160: Arrange the verified discrete particle size interval counting results according to the order of discrete particle size intervals, add a corresponding flight stage identifier to each counting result, and generate the final discrete particle size interval counting result.
[0023] In one implementation, step S160 may specifically include the following steps S161 to S166: Step S161: Arrange the calibrated discrete particle size interval counting results in the order of discrete particle size intervals and add the corresponding flight stage identifiers. Then, associate and map the ordered counting sequence with the identifiers with the sampling calibration records of the airborne probe. Each counting result is matched with the probe calibration status corresponding to the flight stage identifier. The calibration status includes the sensitivity change record of the probe during the acquisition period, and a calibration-bound counting sequence is generated.
[0024] Flight phase identifiers are used to distinguish different phases of an aircraft's flight, such as takeoff, cruise, and landing. Adding a corresponding flight phase identifier to each count result clarifies the flight environment in which that count result occurred.
[0025] In actual execution, the calibrated discrete particle size range counting results are first arranged according to a preset discrete particle size range order, and a corresponding flight stage identifier is added to each counting result, resulting in an identified ordered counting sequence. For example, the counting results are arranged in ascending order of particle size, such as 0-5 micrometers, 5-10 micrometers, etc., and each result is labeled with its corresponding flight stage, such as "takeoff stage" or "cruise stage". Then, the probe calibration status for each flight stage is extracted from the sampling calibration records of the airborne probe, especially the sensitivity change records. Each counting result in the identified ordered counting sequence is associated and mapped with the probe calibration status corresponding to the flight stage identifier, for example, by matching the flight stage identifier with the acquisition time. The final generated calibration-bound counting sequence can be stored in the form of a list, with each element containing information such as the counting result, flight stage identifier, and corresponding probe calibration status.
[0026] Step S162: Perform detailed analysis on the probe calibration status corresponding to each count result in the calibration binding count sequence, extract the sensitivity change records during the acquisition period in the calibration status, generate the calibration adjustment amount corresponding to the count result based on the sensitivity change trend, and generate a calibration adjustment data set.
[0027] For each record in the calibration binding count sequence, a detailed analysis of its corresponding probe calibration status is first performed. Data mining and analysis methods can be used, such as time series analysis of sensitivity change data in the calibration status, to identify its patterns and trends. Sensitivity change records for the acquisition period are extracted from the analysis results, for example, by searching for a specified field in the data to obtain the sensitivity change value over time. Based on the trend of sensitivity change, the calculation method for the calibration adjustment amount is determined. For example, if the sensitivity shows an upward trend in a certain period, it indicates that the probe may be detecting too many cloud particles, and an appropriate adjustment amount needs to be calculated to reduce the count result; conversely, if the sensitivity decreases, the count result needs to be increased. The specific calculation method can be set according to the magnitude and trend of sensitivity change, for example, using a linear or non-linear function relationship. The calibration adjustment amounts corresponding to each count result are summarized to generate a calibration adjustment dataset, which can be stored in the form of a list or dictionary.
[0028] Step S163: Perform calculations on the calibration adjustment data set and the corresponding counting results, calibrate and adjust each counting result, and simultaneously verify the continuity of the adjusted counting results with the counting results of adjacent discrete particle size intervals to ensure that the counting change trends between intervals are consistent, thereby generating a calibration correction counting sequence.
[0029] Specifically, each calibration adjustment amount in the calibration adjustment dataset is first calculated with its corresponding count result. For example, if the calibration adjustment amount is positive, it is added to the count result; if it is negative, it is subtracted. This calibration adjustment is performed on each count result to obtain a preliminary adjusted count result. Then, the continuity of the adjusted count results for adjacent discrete particle size intervals is checked. The difference or ratio between the count results of adjacent intervals can be calculated to determine whether the variation is within a reasonable range. If the count variation between adjacent intervals is too large or does not conform to the normal trend, the adjusted count result needs to be further corrected. For example, interpolation or smoothing methods can be used to make the count variation between adjacent intervals smoother and more reasonable. After continuity checking and correction, a calibration correction count sequence is finally generated. This sequence is stored in the form of a list, where each element represents the calibration correction count result for a discrete particle size interval.
[0030] Step S164: Associate the calibration correction count sequence with the synchronously acquired data from the airborne environmental sensor. Each count result is matched with the atmospheric state record of the corresponding acquisition period. The atmospheric state record includes continuous change records of atmospheric humidity and pressure, generating an environment-bound count sequence.
[0031] For example, first ensure that the calibration correction counting sequence and the concurrently acquired data from the airborne environmental sensor have accurate timestamp information to facilitate precise correlation matching. Using the timestamp information, each counting result in the calibration correction counting sequence is mapped one-to-one with the concurrently acquired atmospheric state records. For instance, if a record in the calibration correction counting sequence corresponds to an acquisition time of 10:00 AM, then the corresponding atmospheric state records (humidity, pressure, etc.) from the airborne environmental sensor data for 10:00 AM are retrieved and correlated with that counting result. For continuously changing atmospheric state records, interpolation methods can be used to obtain more accurate atmospheric parameter values at the corresponding time points. The final generated environment-bound counting sequence can be stored in the form of a nested dictionary list, where the keys of the outer dictionary are discrete particle size ranges, each key corresponds to a list, and each element in the list contains the counting result for that range and the corresponding atmospheric state record.
[0032] Step S165: Perform trend analysis on the atmospheric state record corresponding to each count result in the environmental binding count sequence, and perform secondary correction on the count results based on the trend of changes in atmospheric humidity and pressure to ensure that the count results are compatible with the atmospheric state of the same period, and generate an environmentally corrected count sequence.
[0033] When performing trend analysis, time series analysis can be used to process continuous records of atmospheric humidity and pressure changes. For example, statistical indicators such as mean, variance, and trend lines can be calculated to describe the changing characteristics of atmospheric conditions. If atmospheric humidity is increasing, it may lead to the condensation and growth of cloud particles, thus affecting the number of cloud particles detected. In this case, the counting results need to be adjusted accordingly. For secondary correction, a correction model can be established based on the results of trend analysis. For example, if atmospheric pressure increases, cloud particles may be compressed, resulting in a relatively higher number of detected cloud particles. In this case, the counting results can be appropriately reduced by a certain proportion. The specific correction proportion can be determined through experiments or statistical analysis of historical data. After performing such secondary correction on each counting result in the environment-bound counting sequence, the final environmentally corrected counting sequence is generated. This sequence is stored in the form of a list, where each element contains the environmentally corrected cloud particle count result and the corresponding atmospheric state information.
[0034] Step S166: Rearrange the environmental correction count sequence according to the order of discrete particle size intervals, and perform cross-cycle consistency verification with the historical correction count sequence identified in the same flight phase. After the verification is successful, generate the final discrete particle size interval count result.
[0035] For example, the environmentally corrected count sequence is first rearranged according to a pre-defined discrete particle size interval, such as sorting it from smallest to largest particle size. Then, historically corrected count sequences with the same flight phase identifier are extracted from a database or storage device. The current environmentally corrected count sequence and the historically corrected count sequence are compared to analyze the degree of difference in their counting results within each discrete particle size interval. Statistical analysis methods, such as calculating the mean, variance, and correlation coefficient, can be used to assess their consistency. If the difference is within a reasonable range, the cross-period consistency verification is considered successful. After successful verification, the environmentally corrected count sequence is officially determined as the final discrete particle size interval counting result. This result can be stored in tabular or database form for subsequent use in the aircraft icing monitoring and early warning system.
[0036] Step S200: Perform fractal fitting calculations based on the discrete particle size interval counting results to generate multiple fractal fitting results. Perform goodness verification on each fractal fitting result, select the effective fractal fitting results that meet the requirements, and use the effective fractal fitting results to correct the supercooled water droplet counting deviation in the cloud particle observation data to obtain the corrected supercooled water droplet observation data.
[0037] For example, the counting results of discrete particle size intervals are first input into a fractal fitting calculation model. This model can use various fractal algorithms, such as fractal dimension calculation algorithms and fractal interpolation algorithms, to generate multiple fractal fitting results. For each fractal fitting result, a goodness-of-fit index, such as the coefficient of determination (R²) and mean squared error (MSE), is used for goodness-of-fit verification. By setting a goodness-of-fit threshold, valid fractal fitting results that meet the requirements are selected. Then, based on the cloud particle distribution pattern reflected by the valid fractal fitting results, the supercooled water droplet count in the cloud particle observation data is adjusted. For example, if the valid fractal fitting results show that the actual distribution of supercooled water droplets in a certain particle size interval should be more than observed, then the supercooled water droplet count in that interval is increased accordingly.
[0038] In one implementation, step S200 may specifically include the following steps S210 to S260: Step S210: Bind the discrete particle size interval counting results to the corresponding discrete particle size intervals, add an interval range identifier to each counting result, and each interval range identifier corresponds one-to-one with the counting result. Mark the bound results as an identifierd counting data set.
[0039] For example, first associate the discrete particle size interval counting results with the corresponding discrete particle size intervals. This can be done by creating a data table where one column records the discrete particle size interval counting results and the other column records the corresponding interval range identifier. For example, in one row of the table, one cell records a count of 50 for cloud particles in the 0-5 micrometer interval, and another cell records the identifier for that interval as "0-5 micrometer interval". In this way, all discrete particle size interval counting results are bound to their corresponding interval range identifiers. Finally, the bound results are labeled as an identifiable counting dataset, which can be stored in a database or file.
[0040] Step S220: Segment the identifiable count data set, divide the continuous discrete particle size interval into multiple fitting segments, each fitting segment contains multiple continuous discrete particle size intervals, add segment order identifiers to each fitting segment, and generate segmented identifiable count data.
[0041] For example, when performing segmentation, segmentation rules can be determined based on the characteristics of the discrete particle size ranges and the actual distribution of cloud particles. For instance, segmentation can be based on the size of the particle size range, dividing each 10-micrometer range into a fitting segment. Alternatively, segmentation can be based on the changing trend of cloud particle count results, dividing consecutive discrete particle size ranges with similar trends into a fitting segment. The discrete particle size ranges in the identified count dataset are checked one by one and divided into multiple fitting segments according to the set segmentation rules. A segment sequence identifier is added to each fitting segment, for example, starting with the first fitting segment and sequentially labeled "Segment 1," "Segment 2," etc. Finally, segmented identified count data is generated, which can be stored in the form of nested dictionaries, where each dictionary represents a fitting segment and contains information such as the segment sequence identifier and the count data within that segment.
[0042] Step S230: Perform fitting processing on each segmented identifier count data to generate a fitting curve for the corresponding fitting segment. Fit the fitting curve with the count data within the fitting segment, add a corresponding segment sequence identifier to each fitting curve, and generate a preliminary fractal fitting result set.
[0043] For example, for each segmented, identifiable count data point, a suitable fitting algorithm is used for fitting. For instance, a polynomial fitting algorithm can be used, determining the coefficients of the polynomial based on the count data points within the fitting segment to obtain the expression for the fitted curve. Alternatively, nonlinear fitting algorithms, such as exponential or logarithmic fitting, can be used, selecting the most suitable fitting method based on the characteristics of the data. After generating the fitted curve, a fitting process is performed. The error between the fitted curve and the actual count data points can be calculated, such as mean squared error or absolute error, and the fitted curve can be adjusted based on the error. For example, if a data point deviates significantly from the fitted curve, the parameters of the fitted curve can be fine-tuned to make the curve closer to that data point. A corresponding segment identifier is added to each fitted curve; for example, the fitted curve corresponding to the fitted segment "Segment 1" is labeled as "Segment 1 Fitted Curve". Finally, all fitted curves with added segment identifiers are summarized to generate a preliminary fractal fitting result set. This set can be stored in list form, with each element being a fitted curve and its corresponding segment identifier.
[0044] In one implementation, step S230 may specifically include the following steps S231 to S236: Step S231: Arrange the counting results in each segmented identifier counting data according to the discrete particle size interval order, add a corresponding interval position identifier to each counting result, and the order of the sorted counting results is consistent with the order of the discrete particle size interval to generate ordered segmented counting data.
[0045] Discrete particle size interval order refers to the pre-defined arrangement of discrete particle size intervals from smallest to largest or from largest to smallest, such as 0-5 micrometers, 5-10 micrometers, 10-15 micrometers, etc. Interval position identifiers are labels assigned to each discrete particle size interval to clarify its position within the entire particle size interval sequence; for example, numbers "1", "2", "3", etc., can be used to represent the positions of each interval sequentially.
[0046] For example, first determine the order of the discrete particle size intervals, such as arranging them in ascending order of particle size. Then, sort the counting results in each segment of the identified counting data so that they correspond one-to-one with the order of the discrete particle size intervals. For example, if a segment of identified counting data contains counting results for three discrete particle size intervals: 0-5 micrometers, 5-10 micrometers, and 10-15 micrometers, rearrange these counting results according to the corresponding interval order. Add a corresponding interval position identifier to each arranged counting result; for example, add interval position identifier "1" for the counting results in the 0-5 micrometer interval, and interval position identifier "2" for the counting results in the 5-10 micrometer interval, and so on. The final generated ordered segmented counting data can be stored in the form of nested dictionaries, where each dictionary contains the counting results and corresponding interval position identifiers, and the lists are arranged in the order of the discrete particle size intervals.
[0047] Step S232: Calculate the difference between adjacent counting results in the ordered segmented counting data, bind the calculated difference with the corresponding interval position identifier, and generate a difference sequence data set.
[0048] For example, for adjacent counts in ordered segmented counting data, the difference is calculated sequentially. For instance, if the ordered segmented counting data has three intervals with counts of 10, 15, and 20, the difference between the first and second intervals is 15-10=5; the difference between the second and third intervals is 20-15=5. The calculated differences are then bound to their corresponding interval position identifiers. For example, for the first difference of 5, the corresponding interval position identifier could be "interval 1-interval 2"; for the second difference of 5, the corresponding interval position identifier would be "interval 2-interval 3". All calculated differences and their corresponding interval position identifiers are then aggregated to generate a difference sequence data set. This set can be stored in the form of nested dictionaries, where each dictionary contains the difference and its corresponding interval position identifier.
[0049] Step S233: Perform trend analysis on the difference sequence data set to determine the trend of difference changes, bind the trend of change with the corresponding segment identifier, and generate difference trend description data.
[0050] When performing trend analysis on a dataset of difference sequences, various methods can be employed. For example, a line graph showing the change in difference over intervals can be plotted, allowing for a visual assessment of the trend. Alternatively, the slope of the difference can be calculated, and its sign and magnitude can determine the trend. A positive slope indicates an upward trend; a negative slope indicates a downward trend; and a slope close to zero indicates relative stability. The determined trend of the difference change is then linked to the corresponding segment identifier. For instance, if the difference shows an upward trend within a fitted segment "Segment 2," then "upward trend" is linked to "Segment 2." The resulting difference trend description data can be stored as a dictionary, where the keys are segment identifiers and the values are descriptions of the corresponding difference trend.
[0051] Step S234: Based on the difference trend description data, perform curve fitting on the ordered segmented counting data to generate the initial fitting curve for the corresponding fitting segment, and add the corresponding segment sequence identifier to the initial fitting curve.
[0052] Based on the trend description of the difference data, an appropriate curve fitting method is selected to fit the ordered segmented counting data. For example, if the difference shows an upward trend, an upward trend curve model, such as an exponential growth curve model, might be chosen; if the difference shows a downward trend, a downward trend curve model, such as an exponential decay curve model, would be chosen. Using fitting algorithms such as the least squares method, the parameters of the curve are determined based on the counting results and interval position identifiers in the ordered segmented counting data, thereby generating an initial fitted curve. A corresponding segment identifier is added to the generated initial fitted curve; for example, the initial fitted curve corresponding to "segment 3" is labeled as "segment 3 initial fitted curve". Finally, the initial fitted curve with the added segment identifier is stored for subsequent fitting processing.
[0053] Step S235: The initial fitted curve is matched point by point with the ordered segmented count data in the corresponding fitted segment, the direction of the curve is adjusted, the deviation between the curve and each count result is within the allowable range, and the fitted curve is generated.
[0054] For example, the initial fitted curve is first mapped one-to-one with the counting results in the ordered segmented counting data according to the interval position identifiers. For each corresponding point, the deviation between the value of the initial fitted curve and the counting result is calculated. If the deviation exceeds the allowable range, the parameters of the initial fitted curve are adjusted. The adjustment method can use an iterative algorithm, such as the Newton-Raphson iteration method, to gradually reduce the deviation by continuously updating the curve parameters. After each adjustment, the deviation between the curve and the counting result is recalculated until all deviations are within the allowable range. The final fitted curve can be stored in the form of a function expression or discrete data points for subsequent integration and analysis.
[0055] In one implementation, step S235 may specifically include the following steps S2351~S2356: Step S2351: Match the numerical points of the initial fitted curve with the counting results of the ordered segmented counting data in the corresponding fitted segment, add a point sequence identifier to each correspondence, and generate a set of point-to-point correspondences.
[0056] For example, first, based on the interval position identifiers of the ordered segmented counting data, match the numerical points of the initial fitted curve with the counting results. For instance, if there are three intervals in the ordered segmented counting data, with interval position identifiers "1", "2", and "3" respectively, and corresponding counting results of 10, 15, and 20, while the numerical points of the initial fitted curve at the corresponding positions are 11, 14, and 21, then pair these two sets of data: the first set corresponds to curve numerical point 11 with counting result 10, the second set corresponds to curve numerical point 14 with counting result 15, and the third set corresponds to curve numerical point 21 with counting result 20. Add a point sequence identifier to each correspondence, for example, the point sequence identifier for the first correspondence is "1", the second set is "2", and the third set is "3". Summarize all correspondences and point sequence identifiers to generate a set of point-to-point correspondences. This set can be stored in the form of nested dictionaries, where each dictionary contains information such as curve numerical points, counting results, and corresponding point sequence identifiers.
[0057] Step S2352: Calculate the deviation between the numerical points and the counting results in the corresponding relationship for each point pair, bind the calculated deviation with the corresponding point sequence identifier, and generate a single-point deviation data set.
[0058] For each point-to-point correspondence in the set, extract the numerical points and count results, and calculate the deviation. For example, in a point-to-point correspondence, if the curve numerical point is 12 and the count result is 10, then the deviation is 12-10=2. Bind the calculated deviation to the corresponding point sequence identifier; for example, if the point sequence identifier for this point-to-point correspondence is "4", then the deviation 2 is bound to "4". Summarize the deviations and corresponding point sequence identifiers for all point-to-point correspondences to generate a single-point deviation dataset. This dataset can be stored in the form of nested dictionaries, where each dictionary contains the deviation value and the corresponding point sequence identifier.
[0059] Step S2353: Summarize the deviations in the single-point deviation data set, calculate the cumulative value of all single-point deviations, bind the cumulative value with the corresponding segment sequence identifier, and generate the segment cumulative deviation data.
[0060] Extract all deviation values from the single-point deviation dataset. Use a summation function to accumulate these deviation values. For example, if the single-point deviation dataset contains five point pairs with deviation values of 1, -2, 3, -1, and 2, summing these deviation values yields a cumulative value of 1 + (-2) + 3 + (-1) + 2 = 3. Determine the segment identifier for the fitted segment, such as "Segment 5," and bind the cumulative value 3 to "Segment 5." Finally, generate the cumulative deviation data within the segment. This data can be stored as a dictionary, where the keys are the segment identifiers and the values are the corresponding cumulative deviation values.
[0061] Step S2354: Adjust the direction of the initial fitted curve based on the cumulative deviation data within the segment. The adjustment direction is determined by the sign of the cumulative deviation, and the adjustment range is proportional to the magnitude of the cumulative deviation, thereby generating the adjusted fitted curve.
[0062] For example, first obtain the cumulative deviation value and segment number of the corresponding fitted segment from the cumulative deviation data within the segment. Determine the adjustment direction based on the sign of the cumulative deviation; for example, if the cumulative deviation is positive 5, the initial fitted curve needs to be adjusted downwards; if the cumulative deviation is negative 3, the curve needs to be adjusted upwards. Determine the adjustment magnitude. Assuming a proportional coefficient is set, such as 0.1, then when the cumulative deviation is 5, the adjustment magnitude is 5 × 0.1 = 0.5; when the cumulative deviation is -3, the adjustment magnitude is 3 × 0.1 = 0.3. For each parameter of the initial fitted curve, modify it according to the adjustment direction and magnitude. For example, if the initial fitted curve is a polynomial function... The parameters a, b, and c are adjusted according to the adjustment rules. After parameter adjustment, an adjusted fitting curve is generated. This curve can be stored as a function expression or discrete data points for subsequent comparison and checking.
[0063] Step S2355: Compare the numerical points of the adjusted fitted curve with the counting results of the ordered segmented counting data within the corresponding fitted segment again, calculate the deviation after the second comparison, and generate a secondary deviation data set.
[0064] For example, based on the interval position identifiers of the ordered segmented counting data, the numerical points of the adjusted fitted curve are paired with the counting results again. For instance, the ordered segmented counting data has four intervals, with interval position identifiers "1", "2", "3", and "4", corresponding to counting results of 8, 12, 15, and 18. The adjusted fitted curve has numerical points of 9, 11, 16, and 17 at the corresponding positions. After pairing these two sets of data, the deviation for each pairing is calculated. For example, the deviation for the first group is 9-8=1, the deviation for the second group is 11-12=-1, the deviation for the third group is 16-15=1, and the deviation for the fourth group is 17-18=-1. All deviations and their corresponding interval position identifiers are summarized to generate a secondary deviation data set. This set can be stored in the form of nested dictionaries, where each dictionary contains the deviation value and its corresponding interval position identifier.
[0065] Step S2356: Check the set of secondary deviation data to confirm that all deviations are within the allowable range, and mark the adjusted fitting curve after the check passes as the fitted curve.
[0066] For example, extract each deviation value and its corresponding interval position identifier from the quadratic deviation dataset. Compare each deviation value with an allowable range, for example, set to ±2. If a deviation value is 1, it is within the allowable range; if the deviation value is 3, it is outside the allowable range. Perform this check on all deviation values. If all deviation values are within the allowable range, the adjusted fitted curve meets the requirements and is marked as the fitted curve. This marking operation can be accomplished by adding a label field to the curve, such as labeling the curve as "Fitted Curve - Segment X" (where X is the segment sequence identifier). If there are deviation values outside the allowable range, it is necessary to return to step S2354 and further adjust the direction of the fitted curve according to the actual situation until all deviations are within the allowable range.
[0067] Step S236: Integrate the fitted curves after fitting, add corresponding segment sequence labels and interval position labels to each curve, and generate a preliminary fractal fitting result set.
[0068] For example, first collect the fitted curves after fitting all the fitted segments. These curves can exist as function expressions, lists of discrete data points, or other suitable data formats. For each fitted curve, add the corresponding segment sequence identifier and interval position identifier based on the information recorded in the previous steps. For example, if a fitted curve corresponds to "segment 3" and this fitted segment contains a discrete particle size interval with the interval position identifier "5-8", then add the segment sequence identifier "segment 3" and the interval position identifier "5-8" to this curve. This identifier information can be stored by adding additional fields to the curve's data structure. Summarize the fitted curves with added identifiers to generate a preliminary fractal fitting result set. This set can be stored in the form of nested dictionaries, where each dictionary represents a fitted curve and contains information such as the curve's specific data, segment sequence identifier, and interval position identifier. This storage method facilitates quick searching and processing of curves in different fitted segments and intervals. For example, in the subsequent fit comparison process, the curve to be compared can be quickly located based on the segment sequence identifier and interval position identifier.
[0069] Step S240: Compare the fit of each fitted curve in the preliminary fractal fitting result set, compare the fitted curve with the count data in the corresponding fitting segment point by point, and generate a fit description record for each fitted curve.
[0070] For example, for each fitted curve in the preliminary fractal fitting result set, the corresponding count data within the fitted segment is found based on its segment sequence identifier and interval position identifier. The numerical points of the fitted curve are compared point-by-point with the count results in the count data. For example, the absolute deviation of each corresponding point can be calculated, i.e., the absolute value of the difference between the numerical point of the fitted curve and the count result; or the relative deviation can be calculated, i.e., the ratio of the absolute deviation to the count result. The deviation values of all corresponding points are summarized and statistically analyzed to obtain the overall deviation of the fitted curve. Based on this deviation information, a fit description record is generated. Various indicators can be used to describe the fit, such as mean squared error (MSE) and mean absolute error (MAE). For example, when calculating the mean squared error, the square of the deviation at each corresponding point is first calculated, and then the average of these squared values is calculated. The calculated fit indicators and other relevant information, such as segment sequence identifiers and interval position identifiers, are organized into a fit description record.
[0071] Step S250: Filter the fitting description records, select the fitting curves that meet the fitting requirements, integrate the fitting curves to generate a set of effective fractal fitting results, and add segment sequence labels to each curve in the set.
[0072] For example, first determine the screening criteria for fit. This could be set as a mean squared error less than a preset value, or a mean absolute error within a certain range. Extract the fit index for each curve from the fit description record and compare it with the screening criteria. For curves that meet the screening criteria, extract the corresponding fitted curves from the preliminary fractal fitting result set based on their segment sequence identifier and interval position identifier. Integrate these qualified fitted curves, storing them in a list format. Add a segment sequence identifier to each curve in the set, for example, by adding a field to the curve's data structure to store the segment sequence identifier information. The resulting effective fractal fitting result set clearly displays the fitted curves with better fit in each fitting segment, providing an accurate basis for subsequent deviation correction operations and improving the accuracy and reliability of correcting supercooled water droplet count deviations.
[0073] Step S260: Match the effective fractal fitting result set with the cloud particle observation data, locate the records in the cloud particle observation data that deviate from the fitting curve, adjust the counting information of the deviation records, and generate the corrected supercooled water droplet observation data.
[0074] For example, first, map each fitted curve in the effective fractal fitting result set to cloud particle observation data. Matching can be performed based on information such as discrete particle size range and acquisition time to ensure that the fitted curve corresponds to the corresponding observation data. For each set of matched data, compare the predicted value of the fitted curve with the count information in the cloud particle observation data. Calculate the deviation between the two, such as absolute or relative deviation. Based on the magnitude and direction of the deviation, determine the deviation records that need adjustment.
[0075] For deviation records, the count information is adjusted based on the trend of the fitted curve and the predicted values. If the fitted curve indicates that the number of supercooled water droplets within a certain discrete particle size range should be greater than the observed value, then the count information for that record is increased; conversely, if the fitted curve indicates that the number should be less than the observed value, then the count information for that record is decreased. The adjustment range can be determined based on the magnitude of the deviation and the reliability of the fitted curve. For example, the count information can be adjusted by a certain proportion, the size of which can be optimized through experiments or historical data.
[0076] After adjusting the count information of all deviation records, corrected supercooled water droplet observation data is generated. This data can be stored in the same format as the original cloud particle observation data, except that the supercooled water droplet count information has been corrected. The corrected supercooled water droplet observation data provides a more accurate data foundation for subsequent aircraft icing risk analysis, improving the reliability and accuracy of aircraft icing monitoring and early warning.
[0077] Step S300: Perform gradient division on the corrected supercooled water droplet observation data, combine it with the correlation conditions of aircraft icing formation, divide it into several icing risk gradients, determine the range of corrected supercooled water droplet observation data corresponding to each icing risk gradient, and obtain the initial risk gradient boundary.
[0078] In one implementation, step S300 may specifically include the following steps S310 to S360: Step S310: Bind the corrected supercooled water droplet observation data with the correlation conditions for aircraft icing formation, match the corresponding correlation condition type identifier for each observation data, and generate a set of correlation binding data for each identifier and observation data.
[0079] For example, first establish a mapping relationship between association condition type identifiers and specific association conditions. For instance, create a dictionary that maps the identifier "A" to the condition "atmospheric temperature below 0℃ and relative humidity above 80%". Process the corrected supercooled water droplet observation data one by one, determining the association condition for each observation data point based on simultaneously collected atmospheric environmental data (such as atmospheric temperature and humidity). For example, if an observation data point corresponds to an atmospheric temperature of -5℃ and a relative humidity of 90%, then the data is determined to meet the association condition of type "A". Match the corresponding association condition type identifier to each observation data point, binding the identifier to the observation data. This association condition type identifier information can be stored by adding a field to the observation data structure. Summarize all the bound observation data to generate an association-bound data set. This set can be stored as a list, with each element containing the corrected supercooled water droplet observation data and the corresponding association condition type identifier, facilitating subsequent classification and further processing of the data based on the association condition type.
[0080] Step S320: Group the associated bound data sets by type, group the observation data under the same association condition type identifier into the same group, add an association type description to each group of data, ensure that the number of observation data in each group is uniform, and generate type grouped association data.
[0081] For example, first extract the association condition type identifier for each observation from the associated bound dataset. Based on these identifiers, group observations with the same identifier into the same group. A dictionary can be used for grouping, where the key is the association condition type identifier and the value is a list of observations under that identifier. Perform a count on each group; if significant differences in the number of observations within a group are found, sampling or merging methods can be used to adjust the data to make the number of observations within each group as even as possible. Add an association type description to each group by looking up the mapping relationship between the previously established association condition type identifier and the specific association condition to generate detailed descriptive information. For example, for the group with the association condition type identifier "A", add the description "Observational data of supercooled water droplets in an environment where the atmospheric temperature is below 0℃ and the relative humidity is above 80%". Summarize the grouped and described data to generate type-grouped association data. This data can be stored as a nested dictionary list, where the key of the outer dictionary is the association condition type identifier and the value is a list containing observation data and association type descriptions.
[0082] Step S330: Extract the range of the observation data in each type of grouped associated data, determine the minimum and maximum observation values in each group of data, bind the minimum and maximum observation values with the corresponding association type description, and generate the observation range data within the group.
[0083] For example, for each type of grouped correlation data, the count information of supercooled water droplets is extracted from the observation data within the group. This can be done by iterating through a list to find the minimum and maximum observation values. For instance, for a group of data with the correlation condition type "supercooled water droplet observation data under low temperature and high humidity environment," the observation data is iterated through, and the minimum and maximum supercooled water droplet counts are recorded. The determined minimum and maximum observation values are then bound to the corresponding correlation type descriptions, which can be achieved using a dictionary. For example, a dictionary can be created where the keys are correlation type descriptions and the values are lists containing the minimum and maximum observation values. The intra-group observation range data of all types of grouped correlation data are then aggregated to generate an intra-group observation range data set. This set can be stored in dictionary form, providing basic data for further determining cross-group gradient boundaries.
[0084] Step S340: Perform cross-group connection on the intra-group observation range data, arrange the intra-group observation range data of different association types continuously, determine the gradient boundary position between different types of groups, and generate cross-group gradient boundary data.
[0085] For example, first sort the observation range data within a group according to the degree of influence of the association conditions on the icing risk. For example, arrange the groups of different association types in order from low risk to high risk. Then, arrange the sorted observation range data within each group consecutively to ensure that the observation ranges of adjacent groups can be connected. For the observation ranges of adjacent groups, determine the gradient boundary position between them. The midpoint between the maximum and minimum observation values of the two adjacent groups can be used as the gradient boundary position, or a more complex method can be used to determine the boundary position based on the actual situation and data analysis results. For example, if the observation ranges of two adjacent groups are [10,20] and [25,35], (20+25) / 2=22.5 can be taken as the gradient boundary position. Organize all the determined gradient boundary positions and corresponding association type information to generate cross-group gradient boundary data. This data can be stored in the form of a list, with each element containing the gradient boundary position and the relevant association type description.
[0086] Step S350: Bind the cross-group gradient boundary data with the corresponding association type description, add a gradient level identifier to each boundary position, and generate an initial risk gradient framework by matching the gradient level identifier with the association type description.
[0087] In one implementation, step S350 may specifically include the following steps S351 to S356: Step S351: Bind each boundary position in the cross-group gradient boundary data with the corresponding association type description, add a boundary sequence number identifier to each binding relationship, and generate boundary association relationship data.
[0088] For example, extract each gradient boundary location and its corresponding association type description from the cross-group gradient boundary data. Pair each boundary location with its corresponding association type description to obtain the binding relationship. Assign a unique boundary index identifier to each binding relationship, which can be done using a counter, starting from 1 and incrementing sequentially. For example, the boundary index identifier for the first binding relationship is "1", the second is "2", and so on. Organize the binding relationships and their corresponding boundary index identifiers to generate boundary association relationship data. This data can be stored in the form of nested dictionaries, where each dictionary represents a binding relationship and contains information such as boundary location, association type description, and boundary index identifier. This data structure facilitates independent processing and querying of each boundary association relationship, providing a clear data foundation for subsequent gradient level allocation and framework construction operations.
[0089] Step S352: Assign gradient level values to the boundary association data. Assign a corresponding gradient level identifier to each boundary location according to the influence order described by the association type. The order of the gradient level identifiers is consistent with the influence order of the association type, and generate gradient level association data.
[0090] For example, first, determine the order of influence of the association type descriptions. This can be achieved through in-depth research and analysis of the association conditions for aircraft icing formation, combined with historical data and expert experience, to determine the degree of impact of different association conditions on icing risk, and then sort them in ascending order. Extract the association type description for each boundary location from the boundary association data, and assign a corresponding gradient level identifier to each boundary location according to the order of influence of the association type descriptions. For example, if the order of influence of the association type descriptions is low risk, medium risk, and high risk, the corresponding gradient level identifiers can be assigned as "1", "2", and "3". Integrate the assigned gradient level identifiers with the boundary locations, association type descriptions, and boundary sequence identifiers to generate gradient level association data. This data can be stored in the form of nested dictionaries, where each dictionary represents a boundary association, containing information such as boundary location, association type description, boundary sequence identifier, and gradient level identifier. The gradient level association data generated in this way provides an accurate basis for subsequent sorting of boundary locations according to gradient levels and constructing an initial risk gradient framework.
[0091] Step S353: Sort the boundary positions in the gradient level correlation data, arrange the boundary positions in order of observation from low to high, add order identifiers to the sorted boundary positions, and generate ordered gradient boundary data.
[0092] For example, extract the observations for each boundary position from gradient level correlation data. Use sorting algorithms, such as bubble sort or quicksort, to arrange the boundary positions in ascending order of observations. During the sorting process, simultaneously sort the corresponding correlation type description, boundary index, and gradient level identifier to ensure data correlation. Add an order identifier to each sorted boundary position, starting from 1 and incrementing sequentially. For example, the first sorted boundary position has an order identifier of "1", the second "2", and so on. Integrate the sorted boundary positions, correlation type description, boundary index, gradient level identifier, and order identifier to generate ordered gradient boundary data. This data can be stored using nested dictionaries, where each dictionary represents a boundary correlation, containing information such as boundary position, correlation type description, boundary index, gradient level identifier, and order identifier.
[0093] Step S354: Rebind the ordered gradient boundary data with the corresponding gradient level identifiers. Each ordered boundary position corresponds one-to-one with the gradient level identifier, generating gradient boundary level binding data.
[0094] For example, extract each boundary location and its corresponding association type description, boundary number identifier, and sequence identifier from ordered gradient boundary data. Simultaneously, extract the corresponding gradient level identifier. Pair each boundary location with its corresponding gradient level identifier to obtain a new binding relationship. This gradient level identifier information can be stored by adding a field to the dictionary structure of the ordered gradient boundary data. For example, add a "gradient level identifier" field to each dictionary and fill in the corresponding identifier value. Organize all the rebounded boundary data to generate gradient boundary level binding data. This data can be stored in the form of nested dictionaries, where each dictionary represents a boundary association, containing information such as boundary location, association type description, boundary number identifier, sequence identifier, and gradient level identifier.
[0095] Step S355: Determine the range of gradient boundary level binding data. Determine the observation data range corresponding to each gradient level based on the adjacent boundary positions, bind the observation data range with the corresponding gradient level identifier, and generate gradient range level data.
[0096] In one implementation, step S355 may specifically include the following steps S3551~S3556: Step S3551: Arrange the boundary positions in the gradient boundary level binding data in ascending order of observations, add a sorting number identifier to each boundary position, and generate sorted boundary data with a one-to-one correspondence between the sorting number identifier and the boundary position.
[0097] For example, extract the observations for each boundary location from gradient boundary level binding data. Using a sorting algorithm, such as merge sort or selection sort, arrange the boundary locations in ascending order of observations. During the sorting process, simultaneously sort the corresponding association type description, boundary number identifier, sequence identifier, and gradient level identifier to ensure data consistency. Add a sorting number identifier to each sorted boundary location, starting from 1 and incrementing sequentially. For example, the sorting number identifier for the first sorted boundary location is "1", the second is "2", and so on. Integrate the sorted boundary locations, association type descriptions, boundary number identifiers, sequence identifiers, gradient level identifiers, and sorting number identifiers to generate sorted boundary data. This data can be stored using nested dictionaries, where each dictionary represents a boundary association, containing information such as boundary location, association type description, boundary number identifier, sequence identifier, gradient level identifier, and sorting number identifier.
[0098] Step S3552: Calculate the range of adjacent boundary positions in the sorted boundary data, take the observation value of the previous boundary position as the starting value and the observation value of the next boundary position as the ending value, determine the range of observation data between the two boundaries, and generate adjacent gradient range data.
[0099] For example, extract observations from adjacent boundary positions sequentially from the sorted boundary data. For instance, if the sorted boundary data contains boundary position observations of 10, 20, 30, etc., first extract the two adjacent observations of 10 and 20. Using the preceding observation 10 as the starting value and the following observation 20 as the ending value, determine the interval range [10, 20) (assuming the interval is left-closed and right-open). Perform this range calculation for all adjacent boundary positions in the sorted boundary data. Organize the calculated observation data range between each adjacent boundary and the corresponding boundary sorting index to generate adjacent gradient range data. This data can be stored using a list-nested dictionary format, where each dictionary represents an interval range between adjacent boundaries, containing the starting value, ending value, and corresponding boundary sorting index. This generated adjacent gradient range data provides concrete data support for subsequently binding interval ranges with gradient level identifiers and determining the observation data range corresponding to each gradient level.
[0100] Step S3553: Perform grade matching on adjacent gradient range data, bind each adjacent gradient range data with the corresponding gradient grade identifier, and the order of the gradient grade identifiers is consistent with the order of the adjacent gradient ranges to generate gradient range grade association data.
[0101] For example, extract the boundary sorting index of each adjacent gradient range from the adjacent gradient range data. Based on the gradient level identifier corresponding to each boundary position in the sorted boundary data, determine the gradient level identifier corresponding to the adjacent gradient range. For example, if the boundary sorting index of an adjacent gradient range is "1-2", and the corresponding boundary positions in the sorted boundary data have gradient level identifiers of "1" and "2" respectively, then the gradient level identifier corresponding to this adjacent gradient range can be determined as "1" (assuming the level corresponding to the left boundary is used). Binding each adjacent gradient range to its corresponding gradient level identifier can be done by adding a field to the dictionary structure of the adjacent gradient range data to store the gradient level identifier information. For example, add a "gradient level identifier" field to each dictionary and fill in the corresponding identifier value. Organize all the bound adjacent gradient range data to generate gradient range level association data. This data can be stored in the form of nested dictionaries, where each dictionary represents an adjacent gradient range and contains information such as the start value, end value, boundary sorting index, and gradient level identifier.
[0102] Step S3554: Perform range verification on the gradient range level association data. Compare the starting and ending values of each gradient range with the corresponding association type description to confirm the compatibility between the range and the association type, and generate range verification result data.
[0103] For example, extract the starting value, ending value, and corresponding association type description for each gradient range from the gradient range hierarchy association data. Based on the characteristics of the supercooled water droplet observation data specified in the association type description, such as the concentration range of supercooled water droplets under atmospheric temperature and humidity conditions, determine whether the starting and ending values of the gradient range are within a reasonable range. For example, if the association type description is "supercooled water droplet observation data under low temperature and high humidity conditions," and it is known that the supercooled water droplet concentration in this environment is usually between 10-50 droplets / cm³, and the starting value of a certain gradient range is 5 and the ending value is 60, then this range may not be compatible with the association type. Perform this comparison and judgment for each gradient range and record the verification results. A field can be used to represent the verification result, such as "compatible" or "incompatible." Organize all the verification results of gradient ranges and the corresponding gradient range information to generate range verification result data. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient range and contains information such as the starting value, ending value, boundary sorting index, gradient level identifier, association type description, and verification result.
[0104] Step S3555: Correct the deviation of the range verification result data, adjust the boundary position for the mismatched range found in the verification, redetermine the corresponding observation data range, and generate the corrected gradient range data.
[0105] For example, gradient ranges with "mismatch" results are filtered from the range validation data. For each mismatched gradient range, the cause of the mismatch is analyzed based on the corresponding association type description. For example, if the association type description is "observation data of supercooled water droplets under high temperature and low humidity environment," and the starting value of the gradient range is too low, it may be due to unreasonable boundary position division. Based on the analysis results, the boundary positions are adjusted. This can be achieved by increasing or decreasing the starting or ending values, and the adjustment range should be determined according to the reasonable range specified in the association type description. For example, if the reasonable range is 20-40 droplets / cubic centimeter, and the current gradient range has a starting value of 10 and an ending value of 50, the starting value can be adjusted to 20 and the ending value to 40. The range of observation data between the adjusted boundary positions is redefined to generate a new gradient range. The adjusted gradient range and the corresponding boundary sorting number identifier, gradient level identifier, association type description, and other information are organized to generate the corrected gradient range data. The data can be stored in the form of nested dictionaries, where each dictionary represents a corrected gradient range and includes information such as start value, end value, boundary sorting index, gradient level index, and associated type description.
[0106] Step S3556: Bind the corrected gradient range data with the corresponding gradient level identifier to generate gradient range level data.
[0107] For example, extract the boundary sorting index of each gradient range from the corrected gradient range data. Based on the gradient level index corresponding to each boundary position in the sorted boundary data, determine the gradient level index corresponding to the corrected gradient range. For instance, if the boundary sorting index of the corrected gradient range is "2-3", and the corresponding boundary positions in the sorted boundary data have gradient level indices of "2" and "3" respectively, then the gradient level index corresponding to this gradient range can be determined as "2" (assuming the level corresponding to the left boundary is used). Bind each corrected gradient range to its corresponding gradient level index by adding a "gradient level index" field to the gradient range data structure and filling in the corresponding index value. Organize all the bound corrected gradient range data to generate gradient range level data. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient range and contains information such as start value, end value, boundary sorting index, associated type description, and gradient level index.
[0108] Step S356: Integrate the gradient range level data, arrange them in the order of gradient level identifiers, and generate an initial risk gradient framework.
[0109] For example, extract the gradient level identifier for each gradient range from the gradient range level data. Using a sorting algorithm, such as bubble sort or insertion sort, arrange the gradient range level data according to the order of the gradient level identifiers. During the sorting process, simultaneously sort the corresponding start value, end value, boundary sorting sequence number, and association type description to ensure data consistency. Integrate the sorted gradient range level data and store it in a list, where each element represents a gradient range and its related information. The resulting initial risk gradient framework clearly displays the division of different icing risk gradients, such as gradient ranges arranged from low risk to high risk, along with their corresponding start values, end values, and gradient level identifiers.
[0110] Step S360: Perform an integrity check on the initial risk gradient framework to confirm that all observation data are covered without omissions or overlaps, and mark the initial risk gradient framework that passes the check as the initial risk gradient boundary.
[0111] For example, first extract the start and end values for each gradient range from the initial risk gradient framework. Check whether the start and end values of all gradient ranges cover the entire range of values in the corrected supercooled droplet observation data. This can be determined by comparing the minimum and maximum values of the observation data with the start and end values of the gradient ranges. For example, if the minimum value of the corrected supercooled droplet observation data is 5 and the maximum value is 100, while the start values of all gradient ranges in the initial risk gradient framework are greater than 5 or the end values are less than 100, then there is data omission. Simultaneously, check for overlap between adjacent gradient ranges. For two adjacent gradient ranges, compare the end value of the previous range with the start value of the next range. If the start value of the next range is less than the end value of the previous range, then there is overlap.
[0112] If data omissions or overlaps are found, the initial risk gradient framework needs to be adjusted. For omissions, the missing data can be covered by expanding the gradient range or adding a new gradient range. For overlaps, the boundary positions can be adjusted to make the boundaries between adjacent gradient ranges clearer. After adjustment, a completeness check is performed again until all observation data is covered without omissions or overlaps. The initial risk gradient framework that passes the check is marked as the initial risk gradient boundary. This marking can be done by adding a label field to the framework, such as marking the framework as "Initial Risk Gradient Boundary".
[0113] Step S400: Obtain real-time flight speed data of the aircraft, dynamically adjust the initial risk gradient boundary based on the real-time flight speed data, adapt to the probability difference of supercooled water droplets hitting the fuselage at different flight speeds, and obtain a dynamic warning boundary adapted to the current flight state.
[0114] In one implementation, step S400 may specifically include the following steps S410 to S460: Step S410: Acquire real-time flight speed data of the aircraft, arrange the real-time flight speed data in the order of collection time, add a timestamp identifier to each flight speed data, and generate time-series flight speed data.
[0115] For example, speed measurement devices installed on aircraft, such as pitot tubes and Doppler radars, continuously collect real-time flight speed data. These devices transmit the collected data to the aircraft's data processing system. Upon receiving the data, the data processing system first performs a preliminary quality check, removing any outliers or erroneous data. Then, based on the time information of the data acquisition, the flight speed data is sorted according to the acquisition time sequence. Sorting algorithms, such as quicksort or mergesort, can be used to ensure the data is arranged in chronological order. Timestamps can be obtained from the device's clock system, accurate to milliseconds or even higher. Associating flight speed data with corresponding timestamps can be achieved by creating a tuple or dictionary containing speed values and timestamps. All associated flight speed data is then aggregated to generate time-series flight speed data. This data can be stored as a list, where each element contains a flight speed value and its corresponding timestamp.
[0116] Step S420: Bind the time-series flight velocity data to the initial risk gradient boundary, match the corresponding flight velocity data with the observation data range corresponding to each gradient level, and generate velocity gradient binding data based on the same timestamp.
[0117] Binding time-series flight velocity data to the initial risk gradient boundary associates flight velocity data with the risk gradient boundary, ensuring that the observation range for each gradient level corresponds to the flight velocity data at the corresponding time. Matching based on the same timestamp means using timestamp identifiers to determine the correspondence between flight velocity data and observation ranges, ensuring that at the same point in time, the information on flight velocity and the risk gradient boundary is interconnected. Velocity gradient binding data is a dataset generated after binding time-series flight velocity data to the initial risk gradient boundary, containing the observation range for each gradient level and the corresponding flight velocity data at the same timestamp.
[0118] For example, first extract the timestamp and corresponding velocity value for each flight velocity data point from the time-series flight velocity data. Simultaneously, obtain the observation data range and related time information (if any) for each gradient level from the initial risk gradient boundary. For the observation data range of each gradient level, search for the flight velocity data at the same timestamp in the time-series flight velocity data based on the timestamp.
[0119] The matched flight speed data is bound to the observation data range for that gradient level. This binding can be achieved by creating a dictionary containing the gradient level, observation data range, flight speed data, and a timestamp. For example, the dictionary keys could be "gradient level," "observation data range," "flight speed," and "timestamp," with corresponding values for the specific gradient level identifier, the start and end values of the observation data range, the flight speed value, and the timestamp, respectively. All bound gradient level data is then aggregated to generate velocity gradient binding data.
[0120] Step S430: Perform an impact analysis on the velocity gradient binding data to determine the influence trend of flight speed changes on the supercooled water droplet impact on the fuselage, bind the influence trend with the corresponding gradient level identifier, and generate velocity influence trend data.
[0121] The impact trend of flight speed changes on supercooled water droplet impact on the fuselage refers to how the probability of supercooled water droplets impacting the fuselage changes when flight speed increases or decreases, such as whether it increases, decreases, or remains unchanged. Binding the impact trend to the corresponding gradient level identifier associates the impact trend of flight speed on supercooled water droplet impact at each gradient level with the identifier of that gradient level, thus clarifying the impact of flight speed at different risk levels. The speed impact trend data is a dataset generated after binding the impact trend to the corresponding gradient level identifier, containing information on the flight speed impact trend for each gradient level. For example, flight speed data and supercooled water droplet observation data ranges for each gradient level are extracted from the speed gradient binding data. Time series analysis is performed on the flight speed data at each gradient level to observe the trend of flight speed changes over time, such as whether it increases, decreases, or fluctuates. Simultaneously, the changes in the supercooled water droplet observation data range during flight speed changes are analyzed. The impact trend of flight speed changes on supercooled water droplet impact on the fuselage can be determined by statistically analyzing the probability of supercooled water droplet impact within different flight speed ranges.
[0122] For a given gradient level, as flight speed increases, we statistically analyze whether the probability of supercooled water droplets impacting the fuselage also increases at that gradient level. If the probability increases, the influence of flight speed on supercooled water droplet impact at that gradient level is determined to be "positively correlated"; if the probability decreases, it is "negatively correlated"; if the probability remains essentially unchanged, it is "no significant correlation". Binding the determined influence trend to the corresponding gradient level identifier can be achieved by creating a dictionary containing the gradient level identifier and the influence trend. For example, the dictionary keys could be "gradient level identifier" and "influence trend," with the corresponding values being the specific gradient level identifier and influence trend description, respectively. The binding information for all gradient levels is then aggregated to generate speed influence trend data.
[0123] Step S440: Adjust the observation data range corresponding to each gradient level based on the velocity influence direction data. The adjustment direction is determined according to the influence direction. The adjusted range is adapted to the flight speed change, and the adjusted gradient range data is generated.
[0124] In one implementation, step S440 may specifically include the following steps S441 to S446: Step S441: Bind each influence direction in the velocity influence direction data to the corresponding gradient level identifier, add an adjustment sequence number identifier to each binding relationship, and generate influence direction binding data.
[0125] For example, extract each gradient level identifier and its corresponding influence trajectory information from the velocity influence trajectory data. Pair each gradient level identifier with its influence trajectory to obtain the binding relationship. Assign a unique adjustment sequence number identifier to each binding relationship, which can be done using a counter, starting from 1 and incrementing sequentially. For example, the adjustment sequence number identifier for the first binding relationship is "1", the second is "2", and so on. Organize the binding relationships and their corresponding adjustment sequence numbers to generate influence trajectory binding data. This data can be stored in the form of nested dictionaries, where each dictionary represents a binding relationship and contains information such as the gradient level identifier, influence trajectory, and adjustment sequence number identifier.
[0126] Step S442: Determine the adjustment range of the data binding the influence direction. Based on the magnitude of the change in flight speed, determine the adjustment range for each gradient level range. Bind the adjustment range with the corresponding gradient level identifier to generate adjustment range association data.
[0127] The magnitude of flight speed change refers to the difference between the current flight speed and a previous reference speed, reflecting the degree of change in flight speed. Determining the adjustment range for each gradient level based on the magnitude of flight speed change is achieved by establishing a relationship model between the magnitude of flight speed change and the adjustment range of the observed data range. For example, a linear or nonlinear relationship function can be obtained by fitting experimental data, and the corresponding adjustment range can be calculated by substituting the magnitude of flight speed change into the function. Binding the adjustment range to the corresponding gradient level identifier involves associating the calculated adjustment range for each gradient level with the identifier of that gradient level to clarify the specific degree of adjustment required for each gradient level. The adjustment range association data is a dataset generated after binding the adjustment range to the corresponding gradient level identifier, containing the adjustment range information for each gradient level. For example, first, the current flight speed and the previous reference flight speed are obtained from the time-series flight speed data, and the magnitude of the flight speed change is calculated. For each gradient level identifier and corresponding influence trajectory in the influence trajectory binding data, the adjustment range corresponding to that gradient level is calculated based on the pre-established relationship model between the magnitude of flight speed change and the adjustment range. For example, if the relationship model is a linear function, the adjustment magnitude = k × flight speed change magnitude (where k is a proportionality coefficient). The flight speed change magnitude is substituted into the function to calculate the adjustment magnitude. The calculated adjustment magnitude is then bound to the corresponding gradient level identifier. This can be done by adding a field to the dictionary structure of the influence trajectory binding data to store the adjustment magnitude information. For example, a "Adjustment Magnitude" field can be added to each dictionary, and the corresponding adjustment magnitude value can be filled in. All bound gradient level data is then aggregated to generate adjustment magnitude association data. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient level binding relationship and contains information such as gradient level identifier, influence trajectory, adjustment sequence number identifier, and adjustment magnitude.
[0128] Step S443: Integrate the adjustment magnitude and influence trend in the adjustment magnitude association data, determine the adjustment direction and adjustment magnitude for each gradient level range, bind the adjustment direction and adjustment magnitude with the corresponding gradient level identifier, and generate adjustment rule data.
[0129] The adjustment direction refers to whether the range of observed data is increased or decreased, which is determined by the direction of the influence. For example, if the direction of the influence is positive, that is, the probability of supercooled water droplets hitting the fuselage increases when the flight speed increases, then the adjustment direction is to increase the range of observed data when the flight speed increases; if the direction of the influence is negative, the adjustment direction is to decrease the range of observed data.
[0130] For example, extract the gradient level identifier, adjustment magnitude, and influence direction information for each gradient from the adjustment magnitude correlation data. Determine the adjustment direction based on the influence direction: if the influence direction is positively correlated and the flight speed increases, the adjustment direction is "increase"; if the influence direction is negatively correlated and the flight speed increases, the adjustment direction is "decrease". Binding the adjustment direction and magnitude to the corresponding gradient level identifier can be achieved by creating a dictionary containing the gradient level identifier, adjustment direction, and adjustment magnitude. For example, the dictionary keys could be "gradient level identifier," "adjustment direction," and "adjustment magnitude," with corresponding values for the specific gradient level identifier, adjustment direction description, and adjustment magnitude value, respectively. Summarize the binding information for all gradient levels to generate adjustment rule data.
[0131] Step S444: Bind each gradient range in the initial risk gradient boundary with the corresponding adjustment rule data, adjust the starting and ending values of the gradient range according to the adjustment direction and adjustment magnitude, and generate the gradient range data after a single adjustment.
[0132] In one implementation, step S444 may specifically include the following steps S4441 to S4446: Step S4441: Bind each gradient range in the initial risk gradient boundary to the corresponding adjustment rule data, add a gradient sequence number identifier to each binding relationship, and generate gradient adjustment binding data with a one-to-one correspondence between the gradient sequence number identifier and the gradient range.
[0133] For example, first, extract the start and end values of each gradient range, along with the corresponding gradient level identifier, from the initial risk gradient boundary. Simultaneously, obtain the adjustment direction and magnitude corresponding to each gradient level from the adjustment rule data. Then, match each gradient range with its corresponding adjustment rule to obtain the binding relationship. Assign a gradient sequence number identifier to each binding relationship, using sequential numbering starting from 1 and incrementing sequentially to ensure each gradient range has a unique identifier. For example, the gradient sequence number identifier for the binding relationship between the first gradient range and its corresponding adjustment rule is "1", the second is "2", and so on. After organizing the binding relationships and gradient sequence number identifiers, gradient adjustment binding data is generated. This data can be stored in a list-nested dictionary format, where each dictionary represents a binding relationship and contains information such as the start and end values of the gradient range, gradient level identifier, adjustment direction, adjustment magnitude, and gradient sequence number identifier.
[0134] Step S4442: Extract the starting and ending values of the gradient range from the gradient adjustment binding data, bind the starting and ending values with the corresponding adjustment direction and adjustment magnitude, and generate gradient range adjustment parameter data.
[0135] For example, each binding relationship in the gradient adjustment binding data is iterated through one by one. For each binding relationship, the start and end values of the gradient range are extracted. Simultaneously, the adjustment direction and adjustment magnitude corresponding to that binding relationship are obtained. The start, end, adjustment direction, and adjustment magnitude can be re-binded by creating a new dictionary with keys for "start," "end," "adjustment direction," and "adjustment magnitude," and values for the specific parameter values. To maintain the association with the gradient adjustment binding data, gradient index identifiers can be added to the new dictionary. All re-bound parameter data is then aggregated to generate gradient range adjustment parameter data. This data can be stored as a list, where each element is a dictionary containing gradient range adjustment parameters.
[0136] Step S4443: Calculate the gradient range adjustment parameter data, adjust the magnitude of the starting and ending values according to the adjustment direction, and adapt the adjusted starting and ending values to the flight speed change to generate the adjusted gradient range parameter data.
[0137] Iterate through each parameter data item in the gradient range adjustment parameter data. For each item, calculate the starting and ending values based on the adjustment direction and magnitude. For example, if the adjustment direction is "increase," the magnitude is 5, the starting value is 10, and the ending value is 20, then the adjusted starting value is 10 + 5 = 15, and the ending value is 20 + 5 = 25. Update the calculated adjusted starting and ending values to the parameter data item. Simultaneously, retain other key information such as the adjustment direction, magnitude, and gradient index. Summarize all updated parameter data items to generate the adjusted gradient range parameter data.
[0138] Step S4444: Bind the adjusted gradient range parameter data with the corresponding gradient index identifier. Each gradient index identifier corresponds to a unique adjusted parameter, generating the adjusted data after parameter binding.
[0139] For example, extract the gradient index identifier for each parameter data item from the adjusted gradient range parameter data, and pair each parameter data item with its corresponding gradient index identifier to obtain a binding relationship. This binding can be achieved by creating a dictionary where the key is the gradient index identifier and the value is the corresponding adjusted parameter data item. Summarize all binding relationships to generate the adjusted parameter binding data. This data can be stored as a dictionary for easy retrieval and access to the adjusted parameters for each gradient range based on the gradient index identifier. For example, if the gradient index identifier is "3", the corresponding adjusted parameter data item contains information such as the adjusted start value, end value, adjustment direction, and adjustment magnitude; this information can be obtained by accessing the value with the key "3" in the dictionary.
[0140] Step S4445: Perform a rationality check on the adjusted data after parameter binding, confirm that there is no reverse or abnormal situation in the adjusted gradient range, recalculate the parameters that do not meet the requirements, and generate the adjusted data after rationality verification.
[0141] The adjusted gradient range having no reversals or anomalies means that the adjusted initial value should be less than the final value, and the change in the gradient range should conform to the influence of flight speed on the probability of supercooled water droplets impacting the fuselage. For example, if the adjustment direction is to increase, the adjusted initial and final values should increase accordingly, with the initial value still less than the final value; if the initial value is greater than the final value, it is considered a reversal anomaly. Recalculating parameters that do not meet requirements addresses unreasonable situations found during the inspection. Based on correct adjustment rules and logic, the adjustment direction and magnitude are redefined, and the initial and final values are recalculated. The adjusted data after rationality verification is a set of data obtained after rationality checks and recalculation, ensuring the rationality and accuracy of the adjusted parameters for each gradient range.
[0142] For example, iterate through the adjusted parameters for each gradient range in the parameter-bound adjustment data. For each parameter, check the relationship between the initial and final values. If the initial value is greater than the final value, the gradient range is considered to have a reverse anomaly. Simultaneously, check whether the adjusted gradient range conforms to the influence of the adjustment direction and flight speed. For example, if the adjustment direction is decreasing, but the initial and final values increase, an anomaly is considered. For any non-compliant parameters, re-determine the adjustment direction and magnitude based on the adjustment rules and flight speed changes. For example, if the initial value is greater than the final value, recalculate the initial and final values based on the adjustment magnitude and direction to ensure the initial value is less than the final value. Update the recalculated parameters in the parameter-bound adjustment data. Finally, summarize all checked and recalculated parameters to generate adjustment data with reasonableness verification.
[0143] Step S4446: Integrate the gradient ranges in the adjusted data after the rationality verification, arrange them in order of gradient level identifier, and generate gradient range data after a single adjustment.
[0144] For example, extract the adjusted start value, end value, and gradient level identifier for each gradient range from the adjusted data after rationality verification. Create a new data structure, such as a list, to store the integrated gradient range data. Combine the adjusted start value, end value, and gradient level identifier for each gradient range into a new element and add it to the list. Sort the elements in the list according to the gradient level identifier using a sorting algorithm, such as bubble sort or quicksort. During the sorting process, ensure that the correspondence between the start value, end value, and gradient level identifier remains unchanged. Organize the sorted list into the final data format to generate the gradient range data after a single adjustment. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient range and contains information such as the start value, end value, and gradient level identifier.
[0145] Step S445: Perform internal verification on the gradient range data after a single adjustment, confirm that the adjusted starting value is less than the ending value, reverse the adjustment for ranges that do not meet the requirements, and generate the verified adjusted gradient data.
[0146] For example, iterate through each gradient range in the adjusted gradient range data. For each gradient range, compare its starting and ending values. If the starting value is greater than or equal to the ending value, the gradient range is considered unacceptable. For unacceptable gradient ranges, swap the positions of their starting and ending values. For example, if the starting value is 20 and the ending value is 10, adjust the starting value to 10 and the ending value to 20. Update the adjusted gradient ranges in the adjusted gradient range data. Summarize all validated and adjusted gradient ranges to generate validated adjusted gradient data. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient range and contains information such as the adjusted starting value, ending value, and gradient level identifier, facilitating subsequent data checking and processing.
[0147] Step S446: Bind the verified adjusted gradient data with the corresponding gradient level identifier to generate the adjusted gradient range data.
[0148] For example, extract the adjusted start and end values for each gradient range from the validated adjusted gradient data. Simultaneously, based on previous association information, obtain the gradient level identifier corresponding to each gradient range. Add the gradient level identifier to the data structure of each gradient range. This can be achieved by creating a new dictionary with keys "start value," "end value," and "gradient level identifier," and corresponding values of the adjusted start value, end value, and gradient level identifier, respectively. Finally, aggregate all bound gradient range data to generate the adjusted gradient range data.
[0149] Step S450: Perform a continuity check on the adjusted gradient range data to ensure that there are no gaps or overlaps between adjacent gradient ranges, fine-tune any ranges that do not meet the requirements, and generate continuous gradient range data.
[0150] For example, first arrange the adjusted gradient range data according to the gradient level identifier to ensure that adjacent gradient ranges are adjacent in the data. Then, check the relationship between adjacent gradient ranges one by one. For two adjacent gradient ranges, compare the ending value of the previous range with the starting value of the next range. If the starting value of the next range is greater than the ending value of the previous range, it indicates a gap; if the starting value of the next range is less than the ending value of the previous range, it indicates overlap. For gaps, the gap can be eliminated by appropriately increasing the ending value of the previous range or decreasing the starting value of the next range. For example, if the ending value of the previous range is 20 and the starting value of the next range is 25, the ending value of the previous range can be adjusted to 22, and the starting value of the next range can be adjusted to 22. For overlaps, the overlap can be eliminated by decreasing the ending value of the previous range or increasing the starting value of the next range. For example, if the ending value of the previous range is 25 and the starting value of the next range is 20, the ending value of the previous range can be adjusted to 20, and the starting value of the next range can be adjusted to 20.
[0151] During fine-tuning, ensure that the adjusted starting and ending values still meet the reasonable requirements of the gradient range, i.e., the starting value is less than the ending value. Summarize all fine-tuned gradient range data to generate continuous gradient range data. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient range and contains information such as the adjusted starting and ending values and gradient level identifier.
[0152] Step S460: Bind the continuous gradient range data with the corresponding flight speed data, add a corresponding timestamp identifier to each gradient range, and generate a dynamic warning boundary that adapts to the current flight status.
[0153] For example, the start value, end value, and gradient level identifier of each gradient range are extracted from continuous gradient range data. Simultaneously, flight speed data and corresponding timestamp identifiers at the same timestamp are obtained from time-series flight speed data. Each gradient range is bound to the flight speed data at the same timestamp by adding a field to the gradient range data structure to store flight speed information. For example, a "flight speed" field can be added to each dictionary, and the corresponding flight speed value can be filled in. Similarly, a corresponding timestamp identifier can be added to each gradient range by adding a "timestamp" field to the data structure and filling in the timestamp information. All gradient range data bound to flight speed data and with added timestamp identifiers are aggregated to generate a dynamic warning boundary adapted to the current flight status. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient range and contains information such as start value, end value, gradient level identifier, flight speed, and timestamp.
[0154] Step S500: Compare and determine the corrected supercooled water droplet observation data with the dynamic early warning boundary to generate aircraft icing monitoring and early warning information.
[0155] In one implementation, step S500 may specifically include the following steps S510-S560: Step S510: Arrange the corrected supercooled water droplet observation data in the order of collection time, add a timestamp to each observation data, and generate time-series supercooled water droplet observation data.
[0156] For example, first, extract all observation data from the database or file storing the corrected supercooled water droplet observation data. Simultaneously, obtain the acquisition time information for each observation data point. Using a sorting algorithm, such as quicksort or mergesort, arrange the observation data in chronological order based on the acquisition time information. Add a timestamp to each sorted observation data point. The timestamp can be obtained from the clock system of the data acquisition device, with accuracy down to milliseconds or even higher. Associate the observation data with the corresponding timestamp, which can be achieved by creating a tuple or dictionary containing the observation data and the timestamp. Finally, aggregate all the associated observation data to generate time-series supercooled water droplet observation data.
[0157] Step S520: Bind each gradient range in the dynamic warning boundary with the corresponding timestamp identifier. The binding relationship is based on the same flight time period, and time-bound dynamic warning boundary data is generated.
[0158] For example, information such as the start value, end value, gradient level identifier, flight speed, and timestamp for each gradient range is extracted from the dynamic warning boundary. For each gradient range, it is bound to the time information of the same flight period based on its timestamp identifier. This binding can be achieved by creating a new dictionary, where the keys are "start value," "end value," "gradient level identifier," "flight speed," and "timestamp," and the corresponding values are the specific gradient range parameters and timestamp information. All bound gradient range data are aggregated to generate time-bound dynamic warning boundary data. This data can be stored in the form of nested dictionaries, where each dictionary represents a gradient range and contains the bound start value, end value, gradient level identifier, flight speed, and timestamp information.
[0159] Step S530: Compare the time-series supercooled water droplet observation data with the time-bound dynamic early warning boundary data point by point, compare each observation data with the corresponding gradient range, determine the gradient level to which the observation data belongs, and generate gradient attribution result data.
[0160] For example, iterate through each observation data point and its corresponding timestamp in the time-series supercooled water droplet observation data. For each observation data point, based on its timestamp, find all gradient ranges under the same timestamp in the time-bound dynamic early warning boundary data. Compare the supercooled water droplet count information of the observation data with the start and end values of these gradient ranges. If the count information of the observation data is greater than or equal to the start value of a gradient range and less than the end value of that gradient range, then the observation data is determined to belong to the gradient level corresponding to that gradient range. For example, if the count of a supercooled water droplet observation data point is 25, and the gradient ranges under the same timestamp are [0,10] (low risk), [10,20] (medium risk), and [20,30] (high risk), then the observation data belongs to the high-risk gradient level. Associating the timestamp, observation value, and gradient level of the observation data can be achieved by creating a dictionary containing "timestamp," "observation value," and "gradient level." Summarize all the associated observation data information to generate gradient attribution result data.
[0161] Step S540: Bind each gradient level in the gradient attribution result data to the corresponding warning content, so that the warning content and gradient level correspond one-to-one, and generate warning content association data.
[0162] For example, a warning content mapping table is established, recording the warning content corresponding to each gradient level. A dictionary can be used to store the mapping relationship, with the gradient level identifier as the key and the corresponding warning content as the value. The gradient level of each observation is extracted from the gradient attribution result data. Based on the gradient level, the corresponding warning content is looked up in the warning content mapping table. The timestamp, observation value, gradient level, and corresponding warning content of each observation are associated. This can be done by adding a "warning content" field to the dictionary structure of the gradient attribution result data and filling in the corresponding warning content. All associated observation data information is then summarized to generate warning content association data.
[0163] Step S550: Convert the format of the associated warning content data, convert the associated warning content into a format that meets the requirements of airborne display, add a corresponding timestamp to each warning content, and generate formatted warning data.
[0164] For example, first understand the format requirements of the airborne display system, including specifications for font type, font size, color settings, and display layout. Extract the warning content and corresponding timestamp for each observation from the associated data. For each warning, convert it according to the format requirements of the airborne display system. For example, if the airborne display system requires the warning content to use a specific font and size, a text processing tool can be used to adjust the font and size. Simultaneously, add a corresponding timestamp to each converted warning, which can be achieved by adding timestamp information at the beginning or end of the warning content. Summarize all formatted and timestamped warning content to generate formatted warning data. This data can be stored as a list, where each element is a string or data object containing the formatted warning content and a timestamp.
[0165] Step S560: Arrange the formatted warning data in chronological order and integrate them into a unified aircraft icing monitoring and warning information for display on the airborne display system.
[0166] For example, the timestamp of each warning item is extracted from the formatted warning data. A sorting algorithm, such as bubble sort or insertion sort, is used to arrange the formatted warning data in chronological order based on the timestamps. During the sorting process, the association between the warning content and its corresponding timestamp remains unchanged. The sorted formatted warning data is then integrated, either by concatenating all warning items into a single string or by constructing a unified data structure. For example, newlines can be used to separate each warning item, resulting in a single text block containing all warning information. The integrated aircraft icing monitoring and warning information is then transmitted to the airborne display system. Information can be sent to the display system's processor via a data interface, and the processor then displays the information on the screen. During display, the warning information can be further layouted and aesthetically pleasing as needed, such as using different colors or font styles for warnings of different gradations to improve readability and visibility. Finally, the airborne display system presents unified aircraft icing monitoring and warning information to the pilot, providing timely and accurate warnings of aircraft icing risks.
[0167] Based on the foregoing embodiments, this invention provides an aircraft icing monitoring and early warning device. The various units and modules included in the device can be implemented by a processor in a computer device; of course, they can also be implemented by specific logic circuits. In the implementation process, the processor can be a central processing unit (CPU), a microprocessor unit (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA), etc.
[0168] Figure 2 This is a schematic diagram of the composition structure of an aircraft icing monitoring and early warning device provided in an embodiment of the present invention, as shown below. Figure 2 As shown, the aircraft icing monitoring and early warning device 200 includes: The data discretization module 210 is used to receive cloud particle observation data collected in real time by the airborne probe, perform interval discretization processing on the cloud particle observation data, divide it into several discrete particle size intervals, count the number of cloud particles in each discrete particle size interval, and obtain the discrete particle size interval counting result. The fitting verification module 220 is used to perform fractal fitting calculations based on the discrete particle size interval counting results, generate multiple fractal fitting results, perform goodness verification on each fractal fitting result, select the effective fractal fitting results that meet the requirements, and use the effective fractal fitting results to correct the supercooled water droplet counting deviation in the cloud particle observation data to obtain the corrected supercooled water droplet observation data. The gradient partitioning module 230 is used to perform gradient partitioning on the corrected supercooled water droplet observation data. Combined with the correlation conditions of aircraft icing formation, it divides several icing risk gradients, determines the range of the corrected supercooled water droplet observation data corresponding to each icing risk gradient, and obtains the initial risk gradient boundary. The boundary adjustment module 240 is used to acquire real-time flight speed data of the aircraft and dynamically adjust the initial risk gradient boundary based on the real-time flight speed data of the aircraft to adapt to the probability difference of supercooled water droplets hitting the fuselage at different flight speeds, so as to obtain a dynamic warning boundary that adapts to the current flight state. The early warning generation module 250 is used to compare and determine the corrected supercooled water droplet observation data with the dynamic early warning boundary, and generate aircraft icing monitoring and early warning information.
[0169] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. In some embodiments, the functions or modules included in the device provided by the present invention can be used to execute the methods described in the above method embodiments. For technical details not disclosed in the device embodiments of the present invention, please refer to the descriptions of the method embodiments of the present invention for understanding. It should be noted that, in the embodiments of the present invention, if the above-described aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis is implemented in the form of software functional modules and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
Claims
1. A method for monitoring and early warning of aircraft icing based on airborne cloud particle feature analysis, characterized in that, The method includes: The cloud particle observation data is received in real time by the airborne probe. The cloud particle observation data is processed by interval discretization, dividing it into several discrete particle size intervals. The number of cloud particles in each discrete particle size interval is counted to obtain the discrete particle size interval counting result. Based on the discrete particle size interval counting results, fractal fitting calculations are performed to generate multiple fractal fitting results. Goodness-of-factory verification is performed on each fractal fitting result, and valid fractal fitting results that meet the requirements are selected. These valid fractal fitting results are then used to correct the supercooled water droplet counting bias in the cloud particle observation data, resulting in corrected supercooled water droplet observation data. Specifically, this includes: binding the discrete particle size interval counting results with the corresponding discrete particle size intervals; adding an interval range identifier to each counting result, with each interval range identifier corresponding one-to-one with the counting result; marking the bound results as an identifiable counting data set; segmenting the identifiable counting data set, dividing the continuous discrete particle size intervals into multiple fitting segments, each fitting segment containing multiple continuous discrete particle size intervals; adding a segment sequence identifier to each fitting segment to generate segmented identifiable counting data; and performing fitting processing on each segmented identifiable counting data set. The process involves generating a fitting curve corresponding to the fitting segment, fitting the fitting curve to the count data within the fitting segment, adding a corresponding segment sequence identifier to each fitting curve, and generating a preliminary fractal fitting result set. The process also involves comparing the fitting degree of each fitting curve in the preliminary fractal fitting result set, comparing each fitting curve to the count data within the corresponding fitting segment point by point, and generating a fitting degree description record for each fitting curve. The fitting degree description records are then filtered, and fitting curves meeting the fitting degree requirements are selected. These fitting curves are then integrated to generate an effective fractal fitting result set, and the segment sequence identifier is added to each curve in the set. Finally, the effective fractal fitting result set is matched with the cloud particle observation data, locating records in the cloud particle observation data that deviate from the fitting curve, adjusting the count information of the deviation records, and generating the corrected supercooled water droplet observation data. The modified supercooled water droplet observation data is divided into gradients. Combined with the correlation conditions of aircraft icing formation, several icing risk gradients are divided. The range of the modified supercooled water droplet observation data corresponding to each icing risk gradient is determined to obtain the initial risk gradient boundary. The aircraft's real-time flight speed data is acquired, and the initial risk gradient boundary is dynamically adjusted based on the real-time flight speed data to adapt to the probability differences of supercooled water droplets hitting the fuselage at different flight speeds, thereby obtaining a dynamic warning boundary adapted to the current flight state. The corrected supercooled water droplet observation data is compared and judged with the dynamic early warning boundary to generate aircraft icing monitoring and early warning information.
2. The aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis as described in claim 1, characterized in that, The cloud particle observation data collected in real time by the airborne probe is processed by interval discretization, dividing the cloud particle observation data into several discrete particle size intervals. The number of cloud particles in each discrete particle size interval is counted to obtain the discrete particle size interval counting result, including: The cloud particle observation data is received in real time by the airborne probe. The cloud particle observation data is grouped according to the continuity of the collection time period. Each group corresponds to the continuous collection records under the same flight phase. The corresponding flight phase identifier is matched for each group of data. The time interval of the collection records in each group is uniform. The cloud particle observation data after adding the identifier is marked as time-series grouped cloud particle observation data. Particle size information is extracted from each record in the time-series grouped cloud particle observation data. The extracted particle size information is compared with the preset interval division rules to determine the interval division boundary position corresponding to each particle size information. The interval division boundary position is bound to the corresponding flight stage identifier to generate interval boundary identifier data. Each record in the time-series grouped cloud particle observation data is matched with the interval boundary identification data, the particle size information of each record is compared with the interval division boundary position, and the record is assigned to the corresponding discrete particle size interval to generate a grouped record set after matching. The grouped record set after the attribution matching is aggregated interval by interval, the number of records in each discrete particle size interval is counted, and the statistical results are associated with the corresponding discrete particle size interval to generate a preliminary discrete particle size interval count result. Cross-validation is performed on the preliminary discrete particle size interval counting results. The statistical results of adjacent discrete particle size intervals under the same flight stage are compared to check for abnormal fluctuations in the statistical results. The results after the check are marked as the validated discrete particle size interval counting results. The verified discrete particle size interval counting results are arranged in the order of the discrete particle size intervals, and a corresponding flight stage identifier is added to each counting result to generate the final discrete particle size interval counting result.
3. The aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis as described in claim 2, characterized in that, The step of arranging the verified discrete particle size interval count results according to the order of the discrete particle size intervals, adding a corresponding flight stage identifier to each count result, and generating the final discrete particle size interval count result includes: After arranging the count results of the verified discrete particle size intervals in the order of the discrete particle size intervals and adding the corresponding flight stage identifiers, the ordered count sequence with the identifiers is associated and mapped with the sampling calibration records of the airborne probe. Each count result is matched with the probe calibration status corresponding to the flight stage identifier. The calibration status includes the sensitivity change record of the probe during the acquisition period, and a calibration-bound count sequence is generated. The probe calibration status corresponding to each count result in the calibration binding count sequence is analyzed in detail, the sensitivity change record of the acquisition period in the calibration status is extracted, and the calibration adjustment amount corresponding to the count result is generated according to the sensitivity change trend, thus generating a calibration adjustment data set; The calibration adjustment data set is processed with the corresponding counting results, and each counting result is calibrated and adjusted. At the same time, the adjusted counting results are checked for continuity with the counting results of adjacent discrete particle size intervals to ensure that the counting change trends between intervals are consistent, and a calibration correction counting sequence is generated. The calibration correction count sequence is associated with the synchronously collected data from the airborne environmental sensor. Each count result is matched with the atmospheric state record of the corresponding collection period. The atmospheric state record includes continuous change records of atmospheric humidity and pressure, generating an environment-bound count sequence. A trend analysis is performed on the atmospheric state record corresponding to each count result in the environmental binding count sequence. The count results are then corrected a second time based on the trend of changes in atmospheric humidity and pressure to ensure that the count results are compatible with the atmospheric state of the same period, thereby generating an environmentally corrected count sequence. The environmental correction count sequence is rearranged according to the order of the discrete particle size intervals, and cross-cycle consistency verification is performed with the historical correction count sequence with the same flight phase identifier. After the verification is successful, the final discrete particle size interval count result is generated.
4. The aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis as described in claim 1, characterized in that, The process involves fitting each segmented, identified count data to generate a fitting curve corresponding to the fitted segment, then fitting the fitted curve to the count data within the fitted segment, adding a corresponding segment sequence identifier to each fitted curve, and generating a preliminary fractal fitting result set, including: Arrange the counting results in each segmented and identified counting data according to the discrete particle size interval order, add the corresponding interval position identifier to each counting result, and the order of the arranged counting results is consistent with the order of the discrete particle size interval to generate ordered segmented counting data; The difference between adjacent counting results in the ordered segmented counting data is calculated, and the calculated difference is bound to the corresponding interval position identifier to generate a difference sequence data set. Perform trend analysis on the difference sequence data set to determine the trend of the difference, bind the trend of the difference with the corresponding segment identifier, and generate difference trend description data. Based on the difference trend description data, curve fitting is performed on the ordered segmented count data to generate an initial fitting curve corresponding to the fitting segment, and the corresponding segment sequence identifier is added to the initial fitting curve. The initial fitted curve is matched point by point with the ordered segmented count data within the corresponding fitted segment, and the direction of the curve is adjusted so that the deviation between the curve and each count result is within the allowable range, thereby generating the matched fitted curve. The fitted curves are integrated, and corresponding segment sequence identifiers and interval position identifiers are added to each curve to generate the preliminary fractal fitting result set.
5. The aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis as described in claim 4, characterized in that, The step of matching the initial fitted curve with the ordered segmented count data within the corresponding fitted segment point by point, adjusting the direction of the curve, ensuring that the deviation between the curve and each count result is within an allowable range, and generating the matched fitted curve includes: The numerical points of the initial fitted curve are matched one-to-one with the counting results of the ordered segmented counting data within the corresponding fitted segment. A point sequence identifier is added to each correspondence, and each point sequence identifier corresponds one-to-one with the correspondence, generating a set of point-to-point correspondences. For each point pair, the deviation between the numerical point in the corresponding relationship and the counting result is calculated, and the calculated deviation is bound to the corresponding point sequence identifier to generate a single-point deviation data set. The deviations in the single-point deviation data set are summarized, the cumulative value of all single-point deviations is calculated, and the cumulative value is bound to the corresponding segment sequence identifier to generate intra-segment cumulative deviation data. The initial fitted curve is adjusted based on the cumulative deviation data within the segment. The adjustment direction is determined according to the sign of the cumulative deviation, and the adjustment magnitude is proportional to the magnitude of the cumulative deviation, thereby generating the adjusted fitted curve. The numerical points of the adjusted fitted curve are compared again with the counting results of the ordered segmented counting data within the corresponding fitted segment. The deviation after the second comparison is calculated to generate a secondary deviation data set. The set of secondary deviation data is checked to confirm that all deviations are within the allowable range. The adjusted fitting curve after the check is passed is marked as the fitted curve.
6. The aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis as described in claim 1, characterized in that, The modified supercooled water droplet observation data is subjected to gradient partitioning. Combined with the correlation conditions for aircraft icing formation, several icing risk gradients are defined. The range of the modified supercooled water droplet observation data corresponding to each icing risk gradient is determined, resulting in an initial risk gradient boundary, including: The corrected supercooled water droplet observation data is bound to the correlation conditions of aircraft icing formation. A corresponding correlation condition type identifier is matched for each observation data, and each identifier corresponds one-to-one with the observation data to generate a set of associated bound data. The associated data set is grouped by type, and the observation data under the same association condition type identifier are grouped into the same group. An association type description is added to each group of data, and the number of observation data in each group is uniform, thus generating type grouped association data. Range extraction is performed on the observation data in each type of grouped associated data to determine the minimum and maximum observation values in each group of data. The minimum and maximum observation values are then bound to the corresponding associated type description to generate intra-group observation range data. Cross-group connection is performed on the intra-group observation range data, and the intra-group observation range data of different association types are arranged continuously to determine the gradient boundary position between different type groups and generate cross-group gradient boundary data. Bind the cross-group gradient boundary data with the corresponding association type description, add a gradient level identifier to each boundary position, and the gradient level identifier corresponds one-to-one with the association type description to generate an initial risk gradient framework. An integrity check is performed on the initial risk gradient framework to confirm that all the observation data are covered without omissions or overlaps. The initial risk gradient framework that passes the check is then marked as the initial risk gradient boundary.
7. The aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis as described in claim 6, characterized in that, The step of binding the cross-group gradient boundary data with the corresponding association type description, adding a gradient level identifier to each boundary position, wherein the gradient level identifier corresponds one-to-one with the association type description, and generating an initial risk gradient framework includes: Each boundary position in the cross-group gradient boundary data is bound to the corresponding association type description, and a boundary sequence number is added to each binding relationship. Each boundary sequence number is unique, thereby generating boundary association relationship data. Gradient level values are assigned to the boundary association data. According to the influence order described by the association type, a corresponding gradient level identifier is assigned to each boundary position. The order of the gradient level identifiers is consistent with the influence order of the association type, thereby generating gradient level association data. The boundary positions in the gradient level correlation data are sorted, and the boundary positions are arranged in order of the observation values from low to high. Sequence identifiers are added to the sorted boundary positions to generate ordered gradient boundary data. The ordered gradient boundary data is then re-bound to the corresponding gradient level identifier, with each ordered boundary position corresponding one-to-one with the gradient level identifier, to generate gradient boundary level binding data. The range of the gradient boundary level binding data is determined. The range of the observation data corresponding to each gradient level is determined according to the adjacent boundary positions. The range of the observation data is bound to the corresponding gradient level identifier to generate gradient range level data. The gradient range level data are integrated and arranged according to the gradient level identifier order to generate the initial risk gradient framework; The step of determining the range of the gradient boundary level binding data, which involves determining the observation data range corresponding to each gradient level based on the adjacent boundary positions, binding the observation data range with the corresponding gradient level identifier, and generating gradient range level data, includes: Arrange the boundary positions in the gradient boundary level binding data in order of the observation values from low to high, add a sorting number identifier to each boundary position, and generate sorted boundary data by having the sorting number identifier correspond one-to-one with the boundary position. The range of adjacent boundary positions in the sorted boundary data is calculated, and the observation value of the previous boundary position is used as the starting value and the observation value of the next boundary position is used as the ending value to determine the range of observation data between the two boundaries and generate adjacent gradient range data. The adjacent gradient range data is matched by a level, and each adjacent gradient range data is bound to the corresponding gradient level identifier. The order of the gradient level identifier is consistent with the order of the adjacent gradient ranges, thereby generating gradient range level association data. Range verification is performed on the gradient range level association data. The start value and end value of each gradient range are compared with the corresponding association type description to confirm the compatibility between the range and the association type, and range verification result data is generated. The deviation of the range verification result data is corrected, the boundary position is adjusted for the misfit range found in the verification, the corresponding observation data range is re-determined, and the corrected gradient range data is generated. The corrected gradient range data is bound to the corresponding gradient level identifier to generate the gradient range level data.
8. The aircraft icing monitoring and early warning method based on airborne cloud particle feature analysis as described in claim 1, characterized in that, The process of acquiring real-time aircraft flight speed data and dynamically adjusting the initial risk gradient boundary based on this data to adapt to the probability differences of supercooled water droplets impacting the fuselage at different flight speeds, thereby obtaining a dynamic warning boundary adapted to the current flight state, includes: The aircraft's real-time flight speed data is acquired, and the data is arranged in the order of acquisition time. A timestamp is added to each flight speed data, and each timestamp corresponds one-to-one with the flight speed data to generate time-series flight speed data. The time-series flight velocity data is bound to the initial risk gradient boundary, and the corresponding flight velocity data is matched with the observation data range corresponding to each gradient level. The matching relationship is based on the same timestamp to generate velocity gradient binding data. An impact analysis is performed on the velocity gradient binding data to determine the influence trend of the flight speed change on the supercooled water droplet impact on the fuselage. The influence trend is then bound to the corresponding gradient level identifier to generate velocity influence trend data. Based on the speed influence trend data, the observation data range corresponding to each gradient level is adjusted, the adjustment direction is determined according to the influence trend, and the adjusted range is adapted to the flight speed change to generate adjusted gradient range data; The adjusted gradient range data is subjected to a continuity check to ensure that there are no gaps or overlaps between adjacent gradient ranges. Ranges that do not meet the requirements are fine-tuned to generate continuous gradient range data. The continuous gradient range data is bound to the corresponding flight speed data, and a corresponding timestamp is added to each gradient range to generate the dynamic warning boundary adapted to the current flight state.
9. An aircraft icing monitoring and early warning device, characterized in that, include: The data discretization module is used to receive cloud particle observation data collected in real time by the airborne probe, perform interval discretization processing on the cloud particle observation data, divide it into several discrete particle size intervals, count the number of cloud particles in each discrete particle size interval, and obtain the discrete particle size interval counting result. The fitting and verification module is used to perform fractal fitting calculations based on the discrete particle size interval counting results, generate multiple fractal fitting results, perform goodness verification on each fractal fitting result, filter out the valid fractal fitting results that meet the requirements, and use the valid fractal fitting results to correct the supercooled water droplet counting deviation in the cloud particle observation data to obtain corrected supercooled water droplet observation data. Specifically, it includes: binding the discrete particle size interval counting results with the corresponding discrete particle size intervals; adding an interval range identifier to each counting result, with each interval range identifier corresponding one-to-one with the counting result; marking the bound results as an identifiable counting data set; segmenting the identifiable counting data set, dividing the continuous discrete particle size intervals into multiple fitting segments, each fitting segment containing multiple continuous discrete particle size intervals; adding a segment sequence identifier to each fitting segment to generate segmented identifiable counting data; and performing a goodness verification on each segmented identifiable counting data set. The process involves fitting data to generate fitting curves corresponding to the fitting segments. These fitting curves are then matched with the count data within the fitting segments, and a corresponding segment sequence identifier is added to each fitting curve to generate a preliminary fractal fitting result set. Each fitting curve in the preliminary fractal fitting result set is compared for fit, with each fitting curve compared point-by-point with the count data within the corresponding fitting segment to generate a fit description record for each fitting curve. These fit description records are then filtered, and fitting curves meeting the fit requirements are selected. These fitting curves are then integrated to generate an effective fractal fitting result set, and the segment sequence identifier is added to each curve in the set. Finally, the effective fractal fitting result set is matched with the cloud particle observation data to locate records in the cloud particle observation data that deviate from the fitting curves. The count information of these deviation records is adjusted to generate the corrected supercooled water droplet observation data. The gradient partitioning module is used to perform gradient partitioning on the corrected supercooled water droplet observation data. Combined with the correlation conditions of aircraft icing formation, it divides several icing risk gradients, determines the range of the corrected supercooled water droplet observation data corresponding to each icing risk gradient, and obtains the initial risk gradient boundary. The boundary adjustment module is used to acquire real-time flight speed data of the aircraft and dynamically adjust the initial risk gradient boundary based on the real-time flight speed data of the aircraft to adapt to the probability difference of supercooled water droplets hitting the fuselage at different flight speeds, so as to obtain a dynamic warning boundary that adapts to the current flight state. The early warning generation module is used to compare and determine the corrected supercooled water droplet observation data with the dynamic early warning boundary, and generate aircraft icing monitoring and early warning information.
Citation Information
Patent Citations
Method for improving qualitative detection capability of laser-induced breakdown spectroscopy technology based on baseline correction and spectrum peak recognition
CN113008874A
Fan blade icing prediction method and device based on mechanism model and storage medium
CN114676653A
