A flight dynamics N-dimensional linear interpolation calculation method applicable to multiple platforms

By optimizing the N-dimensional linear interpolation calculation method of flight action mechanics, an N-dimensional interpolation table is generated and combined with slope calculation and dimension judgment, the problem of inefficiency in the existing technology is solved, and efficient interpolation calculation is realized, which is suitable for multi-platform environments.

CN119578085BActive Publication Date: 2025-08-01BEIJING INST OF ASTRONAUTICAL SYST ENG
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411674674.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-21
Publication Date
2025-08-01
Estimated Expiration
2044-11-21

AI Technical Summary

Technical Problem

In existing flight action mechanics simulation, N-dimensional linear interpolation calculation efficiency is inefficient, which is difficult to meet the solution requirements. In addition, traditional algorithms lack unified implementation, and the efficiency decreases significantly as the dimension increases.

Method used

The N-dimensional linear interpolation calculation method of flight action mechanics is adopted for multi-platform. By generating an N-dimensional interpolation table, presetting the starting search point coordinates, iteratively updating the coordinates of the points to be searched, combining slope calculation and dimensional judgment, optimizing the interpolation algorithm process and data structure, using C++ language to describe the interpolated point data set, and using the characteristics of different computer architectures to improve data storage and retrieval efficiency.

Benefits of technology

It significantly improves the solution efficiency and interpolation efficiency of the flight action mechanics simulation program, improves the calculation speed of the interpolation algorithm in different dimensions, and reduces the calculation time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119578085B_ABST
    Figure CN119578085B_ABST
Patent Text Reader

Abstract

A flight dynamics N-dimensional linear interpolation calculation method applicable to multiple platforms. During the flight dynamics simulation calculation process, after collecting aircraft data, through the method of mathematical induction, the interpolation algorithm applications in related majors such as flight dynamics are connected by applying the N-dimensional interpolation table. Through various optimization strategies, the calculation efficiency of the interpolation algorithm in different dimensions can be significantly improved, and the solution efficiency of the flight dynamics simulation program using this algorithm is greatly improved. The obtained flight dynamics parameters are used to adjust the aircraft or conduct further simulation tests, and are used for flight dynamics simulation, aircraft parameter design, and aircraft trajectory planning, and can be applicable to multiple aircraft design simulation platforms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for calculating N - dimensional linear interpolation of flight dynamics applicable to multiple platforms, and belongs to the field of flight dynamics calculation and simulation. Background Art

[0002] In the modeling and calculation processes of professional directions such as flight dynamics simulation, aircraft parameter design, aircraft trajectory planning, and aircraft parameter optimization, for the modeling of common complex physical characteristics of aircraft, such as aerodynamic models, thrust models, etc., due to the complex mechanism model structure of such models, it is even difficult to construct, or the calculation process is cumbersome and inefficient after construction, making it difficult to meet the solution requirements of the flight dynamics specialty. Therefore, an N - dimensional data table combined with an N - dimensional interpolation algorithm is generally used to form a surrogate model to replace the mechanism model.

[0003] The accuracy of the surrogate model is related to the dimension of the data table and the number of data points. The dimension of the data table and the number of data points are related to the physical characteristics of the aircraft and the refinement degree of the dynamic modeling. In order to more accurately simulate the dynamic and static mechanical characteristics during the flight of the aircraft, sometimes it is necessary to use a higher - dimensional interpolation table. The interpolation algorithm generally can adopt piece - wise algorithms (such as linear interpolation, cubic spline interpolation, etc.) and single - segment algorithms (such as Lagrange interpolation). Among them, the Lagrange interpolation of the single - segment algorithm has reasons such as unpredictable extrapolation, Runge phenomenon, and difficulty in adapting to high dimensions, so it is generally less applied to the above - mentioned specialties. And for the cubic spline interpolation in the piece - wise interpolation algorithm, it is difficult to construct a high - dimensional interpolation table. Therefore, for the N - dimensional interpolation algorithm, a multi - segment N - dimensional linear interpolation algorithm with good stability, high efficiency, and convenient high - dimensional expansion is generally adopted.

[0004] However, the traditional N - dimensional linear interpolation solution process is only designed for specific problems, and thus there is a situation where there is one algorithm for each dimension, without a unified implementation. And as the interpolation dimension increases, the interpolation calculation efficiency drops significantly. This makes the dynamic system spend a large amount of time on solving the interpolation data during the solution process, resulting in low solution efficiency of the overall system. Summary of the Invention

[0005] The technical problem solved by the present invention is: aiming at the problem of low solution efficiency existing in the current prior art, a method for calculating N - dimensional linear interpolation of flight dynamics applicable to multiple platforms is proposed.

[0006] The present invention solves the above - mentioned technical problems through the following technical solutions:

[0007] A method for calculating N - dimensional linear interpolation of flight dynamics applicable to multiple platforms includes:

[0008] Collect physical characteristic data during flight to generate an N-dimensional interpolation table, and generate an interpolation point data set according to the interpolation points in the N-dimensional interpolation table;

[0009] Preset the starting search point coordinates. Starting from the starting search point coordinates in the first interpolation point data set, search for the coordinates of the point to be searched within the search range of the starting search point coordinates, and iteratively update the coordinates of the point to be searched according to the search results until the coordinates of the point to be searched are found;

[0010] If the coordinates of the point to be searched have been iteratively updated, calculate the slope corresponding to the current starting search point and then perform dimension judgment; if the starting search point coordinates remain unchanged, directly perform dimension judgment;

[0011] Make a judgment according to the dimension judgment result. If the current dimension has reached N dimensions, perform recursive calculation of the N-dimensional interpolation point data set; otherwise, increase the dimension and restart the search for the coordinates of the point to be searched until the dimension has reached N dimensions;

[0012] Obtain the coordinate value of the point obtained from the recursive calculation result as the output of the N-dimensional linear interpolation calculation result.

[0013] The interpolation point data in the N-dimensional interpolation table are given data after conversion of physical characteristic data, including all interpolation point coordinates and values from one dimension to N dimensions. The number of interpolation point data sets is N, and each interpolation point data set includes a coordinate set and a value set. The coordinate set is denoted as [X1, X2,... X N ; the value set corresponding to each interpolation point is denoted as [Y1, Y2,... Y N .

[0014] The set of points to be searched is a preset target point set, denoted as X iK ={X 1K1 , X 2K2 ,..., X NKN}, representing the coordinate positions searched in each dimension, where Ki = {K1, K2,... KN} represents the coordinate positions searched in each dimension; the preset starting search point coordinates are X1 of the first-dimensional interpolation point data set. The method for searching the coordinates of the point to be searched in the case of the given interpolation point data set {x1, x2,..., x N} is as follows:

[0015] Perform a search judgment on the point to be searched X 1k1 in the current dimension. If x1 is within the search range X 1k1 , X 1k1+1 of the starting search point coordinates, then the point to be searched X ik1 is found within the current starting search point coordinate search range, and the starting search point coordinates X 1k1 are not iteratively updated, and the slope corresponding to the starting search point coordinates is directly calculated; otherwise, the coordinates of the point to be searched Xik1 Perform iterative update.

[0016] Coordinate X of the point to be searched iK1 The method for performing iterative update is as follows:

[0017] If x 1i is not located between X iki and X 1k1+1 then translate the coordinate X of the point to be searched ik1 to increase the coordinate of the coordinate X of the point to be searched ik After the translation is completed, search and judge the coordinate X of the point to be searched again. If x ik is located between X i and X 1k1 then the point to be searched X 1k1+1 is found within the search range of the current starting search point coordinate, otherwise repeat the iterative update until x ik1 meets the search requirement between X i and X 1k1 and X 1k1+1 .

[0018] When the coordinate of the point to be searched has been iteratively updated, the slope corresponding to the current starting search point is calculated as slope K i according to the search range of the starting search point coordinate; after obtaining the slope K i , record the current coordinate X of the point to be searched iki , slope K i and the corresponding value Y 1j .

[0019] The dimension judgment method is as follows:

[0020] Judge whether the current dimension M is equal to N. If not, increase the current dimension M by one dimension, reselect the starting search point coordinate X MKM and determine the search range of the starting search point coordinate X MKM , X MKM+1 . If they are equal, perform recursive calculation of the N-dimensional interpolation point dataset.

[0021] In each round of recursive calculation, deduce and calculate the numerical values of 2 M interpolation point data based on all 2 M-1 interpolation point data under the current dimension M.

[0022] When one round of recursive calculation is completed, judge the current dimension M. If M = 1, stop the calculation and output the current unique interpolation point value, otherwise continue the recursive calculation.

[0023] The number of points in the same interpolation point dataset is a power of 2.

[0024] The N-dimensional interpolation data table is described in C++ language.

[0025] The advantages of the present invention compared with the prior art are:

[0026] (1) The present invention provides an N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms. Taking into account the physical characteristics of the flight dynamics simulation process and the computing device architecture, the algorithm's data structure and algorithm flow are optimized. Multiple optimization strategies are used to significantly improve the computational efficiency of the interpolation algorithm in different dimensions, significantly improving the solution efficiency of flight dynamics simulation programs using this algorithm.

[0027] (2) Compared with previous flight dynamics simulations, the present invention greatly improves the interpolation efficiency of aircraft power data. Combined with the actual use of the interpolation algorithm, the test uses the time taken for interpolation 1E6 times as a metric. It can provide a linear interpolation algorithm of any dimension and significantly improve the computational efficiency of the interpolation algorithm in different dimensions through a variety of optimization strategies. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 A schematic diagram of one-dimensional linear interpolation provided by the present invention;

[0029] Figure 2 This is a schematic diagram of the N-dimensional linear interpolation calculation process provided by the present invention. DETAILED DESCRIPTION

[0030] A multi-platform N-dimensional linear interpolation calculation method for flight dynamics applies to flight dynamics simulation calculations. This method uses mathematical induction and an N-dimensional interpolation table to connect interpolation algorithms used in flight dynamics and other related disciplines. Multiple optimization strategies can significantly improve the computational efficiency of the interpolation algorithm in different dimensions, significantly increasing the solution efficiency of flight dynamics simulation programs using this algorithm.

[0031] The N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms is as follows:

[0032] The physical characteristic data collected during the flight are used to generate an N-dimensional interpolation table, and an interpolation point data set is generated based on the interpolation points in the N-dimensional interpolation table;

[0033] Preset the starting search point coordinates, start from the starting search point coordinates in the first interpolation point data set, search for the coordinates of the search point within the search range of the starting search point coordinates, and iteratively update the coordinates of the search point according to the search results until the coordinates of the search point are found;

[0034] If the coordinates of the search point have been iteratively updated, the slope corresponding to the current starting search point is calculated and cached before the dimension judgment is performed; if the coordinates of the starting search point have not changed, the slope cached last time is used without slope calculation and the dimension judgment is performed directly;

[0035] According to the dimension judgment result, if the current dimension has reached N dimensions, recursive calculation of the N-dimensional interpolation point data set is performed; otherwise, the dimension is increased and the search for the coordinates of the search point is repeated until the dimension reaches N dimensions;

[0036] The coordinate values of the points obtained by the recursive calculation are obtained and output as the N-dimensional linear interpolation calculation result.

[0037] The interpolation point data in the N-dimensional interpolation table is the given data after the conversion of the physical feature data, including the coordinates and values of all interpolation points from one dimension to N dimensions. The number of interpolation point data sets is N, and each interpolation point data set includes a coordinate set and a value set. The coordinate set is recorded as [X1, X2, ...X N ]; the value set corresponding to each interpolation point is recorded as [Y 1j , Y 2j ,…Y Nj ].

[0038] The point to be searched is the preset target point, denoted as X iK ={X 1K1 ,X 2K2 ,...,X NKN}, representing the coordinate position searched in each dimension, where Ki = {K1, K2, ... KN} represents the coordinate position searched in each dimension; the preset starting search point coordinate is X1 of the first one-dimensional interpolation point data set, and in the given interpolation point data set {x1, x2, ..., xN}, the first one-dimensional interpolation point data set is set to X1. N}, the method for searching the coordinates of the search point is:

[0039] Treat the search point X in the current dimension 1k1 Perform search judgment. If x1 is within the search range X of the starting search point coordinates 1k1 、X 1k1+1 If the search point X is found within the search range of the current starting search point coordinates ik1 , do not search for the starting point coordinate X 1k1 Iterative update, directly calculate the slope corresponding to the starting search point coordinates, otherwise treat the search point coordinates X ik1 Perform iterative updates.

[0040] Coordinate X of the point to be searched ik1 The method for iterative updating is:

[0041] If x i Not located in X ik1 、X1k1+1 If it is between, then translate the coordinates of the point to be searched, X ik1 to increase the coordinates of the point to be searched, X ik After the translation is completed, re-search and judge the coordinates of the point to be searched, X ik If x i is located between X 1k1 and X 1k1+1 , then the point to be searched, X, has been found within the search range of the current starting search point coordinates ik1 , otherwise, repeat the iterative update until x i meets the search requirements between X 1k1 and X 1k1+1 .

[0042] When the coordinates of the point to be searched have been iteratively updated, calculate the slope K of the current starting search point according to the search range of the starting search point coordinates i ; Obtain the slope K i After that, record the current coordinates of the point to be searched, X iki , the slope K i and the corresponding value Y 1j .

[0043] The dimension judgment method is as follows:

[0044] Judge whether the current dimension M is equal to N. If not, increase the current dimension M by one dimension and re-select the starting search point coordinates X MKM and determine the search range of the starting search point coordinates, X MKM , X MKM+1 . If they are equal, perform the recursive calculation of the N-dimensional interpolation point data set

[0045] Each round of recursive calculation derives and calculates the numerical values of 2 M interpolation point data based on all 2 M-1 interpolation point data under the current dimension M

[0046] After one round of recursive calculation, judge the current dimension M. If M = 1, stop the calculation and output the current unique interpolation point value. Otherwise, continue the recursive calculation. The number of points in the same interpolation point data set is a power of 2. The N-dimensional interpolation data table is described in C++ language

[0047] The following is further described in conjunction with the accompanying drawings of the specification and the preferred embodiments

[0048] In the current embodiment, the main content of the linear interpolation algorithm is as Figure 1As shown, taking one-dimensional linear interpolation as an example, given an interpolation data table [A1, A2, A3... AN] (the data table includes: the coordinate values (Xi) of each dimension coordinate and the data point data (Yi) corresponding to the coordinate values) and the coordinate value X` of the interpolation point A`, the value Y` of the data at this interpolation point is solved.

[0049] The solution process of linear interpolation generally includes two main parts: one is to search for the corresponding coordinate values and the data point values corresponding to the coordinate values in the interpolation data table based on the data of the interpolation point; the other is to use the formula according to the search results after the search is completed:

[0050] Y` = Y2 + K × (X` - X2)

[0051] K = (Y3 - Y2) / (X3 - X2)

[0052] where: K is the slope;

[0053] Find the data value Y` corresponding to the interpolation point coordinates. For high-dimensional linear interpolation, the situation is similar to the above description process.

[0054] Based on different computer (X86, ARM, CUDA) architecture, the data storage and retrieval process has the following characteristics:

[0055] The pre-storage and retrieval process of data by different computing architectures is related to the size of the data (registers and caches), which is different according to different architectures but is all 2N times, usually 32, 64, 128, 256 bytes. Therefore, in the calculation process, especially when there is a retrieval process, maintaining 2N times storage and operation of the data can improve the data hit rate of the computer architecture, thereby improving the calculation efficiency.

[0056] The calculation storage process is linear, and the retrieval efficiency of high-dimensional data is usually slow. Therefore, using a one-dimensional linear storage structure and cooperating with N-dimensional coordinate retrieval to meet the storage of N-dimensional data can improve the data retrieval efficiency in the calculation process, thereby improving the calculation efficiency.

[0057] During the flight of the aircraft, the physical characteristics of the aircraft that need to be interpolated calculated have the following characteristics: This type of data usually belongs to slowly varying smooth data and generally has no possibility of jump. Therefore, in the calculation process, adding the storage of the retrieval result of the coordinates of the previous calculation and starting from the previous retrieval point as the retrieval strategy in this calculation step, and at the same time, using sequential retrieval instead of complex retrieval methods such as the dichotomy method or the golden section method can significantly improve the data retrieval efficiency.

[0058] The N-dimensional linear interpolation calculation process can be split into: interpolation data search and N recursive calculations of data interpolation in each dimension, these two main steps:

[0059] Design of the high-dimensional data dimensionality reduction process and the retrieval process. Through the high-dimensional data dimensionality reduction and retrieval processes, high-dimensional data can be stored in a one-dimensional structure, and at the same time, a retrieval algorithm can be used to obtain the high-dimensional coordinates from the one-dimensional stored data.

[0060] The way to design N for data D to use one-dimensional data storage is as follows:

[0061] D1 = [D[0,0,…0], D[0,0,…1], …, D[0,0,…iN], D[0,0,…1,0], D[0,0,…1,1], …, D[0,0,…,1,iN], …, D[0,0,…,i((N - 1),iN], …, D[i1,i2,…,iN]];

[0062] For the N-dimensional data D, when using the above storage structure, the value at the coordinate [j1,j2,…jN] can be retrieved through the formula: d = D1[j1*(i2*i3*…iN)+j2*(i3*i4…iN)+…jn - 1*iN + jN].

[0063] The data structure design of the interpolation algorithm needs to consider the following contents:

[0064] a. Two parts: the interpolation data table and the interpolation point data. At the same time, considering the characteristics of the flight dynamics data interpolation process, that is, the coordinate data of the interpolation points generally changes slowly and does not have jumps.

[0065] b. Add interpolation point coordinate record data in the interpolation point data, which is used to store the position information and slope information of the corresponding data coordinates in the interpolation data table during the previous interpolation process, so as to facilitate starting the next coordinate search process to improve the search efficiency;

[0066] c. The interpolation table dimension, which is used to calculate the data storage process to meet the data storage format in the 2N calculation process;

[0067] The design of the N-dimensional interpolation data table is described in C++ language and includes the following elements:

[0068] template<uint32_t DEMENTION> \DEMENTION is the interpolation table dimension

[0069] struct BLOCK{ \The data structure of the interpolation table

[0070] uint32_t _coordiNum[DEMENTION]; / / The number of coordinate data under each dimension

[0071] double *_dementions; / / Coordinate values in each dimension

[0072] double *_data; / / Interpolation data table data values

[0073] }

[0074] Where:

[0075] DEMENTION is the dimension of the interpolation table recorded using template technology, used to clarify the dimension of the data required for the calculation process during compilation and block the data.

[0076] _coordiNum is the number of coordinates in the data interpolation table for each dimension.

[0077] _dementions are the coordinate values in each dimension. This value is essentially a two-dimensional array. The length of the first dimension i is the DEMENTION, which is the dimension of the interpolation table, and the second dimension j is the number of coordinates in each dimension. Here, a dimension reduction storage and indexing process is adopted, and other information is included in _coordiNum and DEMENTION. Its purpose is to avoid the low data addressing efficiency caused by different compatibilities of high-dimensional data addressing in different computer architectures.

[0078] _data are the interpolation data values. This value is essentially a high-dimensional data with a dimension of DEMENTION; here, a storage and retrieval process is adopted to reduce the dimension of the high-dimensional data to form one-dimensional data. The purpose is: considering that there are significant differences in the addressing and caching efficiency of high-dimensional data for various computing hardware (CPU / GPU architectures), using a one-dimensional form can maximize compatibility with the addressing requirements of various computing frameworks and improve the data hit efficiency during the calculation process. During the calculation process, the high-dimensional data search requirements can be met through the inverse algorithm, or the one-dimensional data can be restored to high-dimensional data by assigning values to the address variables.

[0079] The design of the interpolation point data is described in C++ language and includes the following elements:

[0080] template<uint32_t DEMENTION> / / DEMENTION is the interpolation dimension

[0081] struct LAG { / / Interpolation point data structure

[0082] double _lagPoint[DEMENTION]; / / Coordinate values in each dimension

[0083] double _lagRate[DEMENTION]; / / Slopes in each dimension

[0084] uint32_t _dementions[TPOWER <demention>::VALUE]; \Index of the coordinate position in the interpolation data table

[0085] }

[0086] Where:

[0087] DEMENTION is the dimension of the interpolation table recorded using the template technique, which is used to explicitly define the dimension of the data required in the calculation process during compilation and to block the data;

[0088] _lagPoint is the coordinate data of the interpolation points to be interpolated in each dimension. The program needs to retrieve the matching interpolation data from the interpolation table based on this coordinate;

[0089] _lagRate is the slope during the data interpolation process in each dimension. It is a key intermediate data required in the interpolation calculation process. This data is cached. The purpose is based on the analysis that since the physical quantities of the aircraft change slowly, there is a high probability that this value does not need to be recalculated during multiple solution processes. Therefore, it is cached to improve the calculation efficiency.

[0090] _dementions is the table lookup coordinate position corresponding to the interpolation points. According to N as the interpolation algorithm attribute, the size of this data is related to the interpolation dimension and is 2N. This data is cached. The purpose is based on the analysis that since the physical quantities of the aircraft change slowly, there is a high probability that this value does not need to be recalculated during multiple solution processes. Therefore, it is cached to improve the calculation efficiency. TPOWER <demention>It is a template function for calculation during template compilation, which can allocate data at compile time.

[0091] The process of the multi-dimensional linear interpolation algorithm mainly includes two parts: the data search process and the data recursive calculation process. The schematic diagram of its calculation process is as Figure 2 shown;

[0092] The main function of the interpolation algorithm is concentrated in the data search process, and its calculation time consumption is also mainly concentrated in the search process and its related calculations. Therefore, the following optimization contents are mainly set for the search process in this algorithm:

[0093] Record the search coordinate position of the previous step as the starting position of this step of search, and use the sequential search algorithm instead of the binary search. This strategy is specifically designed for the interpolation characteristics of related majors such as flight dynamics simulation. The reason is that in the calculation process of the flight dynamics algorithm, the interpolation algorithm is mainly applied to the interpolation calculation of related physical quantities (thrust, aerodynamics, mass), and these physical quantities generally have the technical characteristics of slow data change, that is to say, there is generally no jump in the interpolation point data. Therefore, using the above method can make the convergence speed of the search algorithm close to the O(1) level, while using the binary method will make the convergence speed of the search algorithm at the O(log2N) level. Therefore, using the sequential search here will be significantly better than the binary search.

[0094] Record the slope calculation result of the previous step and the flag bit indicating whether the search coordinate position changes in this step. Similarly, based on the above assumptions, the number of slope calculations can be significantly reduced, thereby further improving the calculation efficiency.

[0095] According to different computer architectures, the for loop is specifically expanded during the calculation process. For example, for the X86 architecture, when using 64-byte double for calculation, when the number of loop iterations is greater than 4 times in the for loop process, the loop can be expanded to improve the hit efficiency of the data cache and the calculation efficiency. The main optimization processes targeted include: slope calculation, saving, and recursive calculation based on the slope. Since the amount of data to be calculated in such processes is clearly 2N, the expansion process can be determined at compile time.

[0096] Analyze the physical characteristics of the aircraft that need to be interpolated during the flight process of the aircraft, and it is concluded that: this type of data usually belongs to slow-changing smooth data, and there is generally no possibility of jump. Based on this, the storage of the retrieval result of the coordinates of the previous calculation is added during the calculation process, and in this calculation step, the retrieval starts from the previous retrieval point as the retrieval strategy. At the same time, using sequential retrieval instead of complex retrieval methods such as the binary method or the golden section method can significantly improve the data retrieval efficiency.

[0097] The N-dimensional linear interpolation calculation process is analyzed and implemented, and it is concluded that the calculation process can be decomposed into two main steps: the interpolation table search process and the recursive calculation of N-dimensional data interpolation.

[0098] The pre-storage and retrieval processes of data in different computing architectures are related to the size of the data (registers and caches), which vary depending on the architecture but are all 2N times, usually 32, 64, 128, 256 bytes. Therefore, during the calculation process, especially when there is a retrieval process, maintaining 2N times storage and operation of the data can improve the data hit rate of the computer architecture, thereby improving the calculation efficiency. And based on this, the above process is implemented during the data structure design and algorithm design process based on language characteristics.

[0099] The calculation and storage process is linear, and the retrieval efficiency of high-dimensional data is usually slow. Therefore, a one-dimensional linear storage structure is designed and implemented, combined with N-dimensional coordinate retrieval, to meet the storage of N-dimensional data, which can improve the data retrieval efficiency during the calculation process, thereby improving the calculation efficiency.

[0100] During the algorithm design and implementation process, the algorithm is optimized for the efficiency-sensitive areas. Caches are added at the data algorithm level to improve the retrieval efficiency of the algorithm, and the retrieval process is optimized (unrolling the for loop) based on the computer architecture and interpolation dimension information at the logical algorithm level to improve the data hit accuracy and calculation efficiency.

[0101] The comparison results of the pure interpolation calculation efficiency are shown in Table 1:

[0102] Table 1 Comparison of the time used for N-dimensional interpolation of different implemented products

[0103]

[0104]

[0105] Since the single interpolation running time is short, to reduce the test error and combined with the actual usage of the interpolation algorithm, the time used for 1E6 interpolations is adopted as the measurement standard.

[0106] The efficiency improvement of using this interpolation algorithm compared with previous flight dynamics simulation software is shown in Table 2:

[0107] Table 2 Comparison of the time used for N-dimensional interpolation of different implemented products;

[0108]

[0109] The linear interpolation algorithm, through mathematical induction, has opened up the application of interpolation algorithms in related specialties such as flight dynamics. Using the same set of programs, it can provide linear interpolation algorithms in any dimension. At the same time, it has significantly improved the solution efficiency of the flight dynamics simulation program using this algorithm. This algorithm is significantly higher than the products currently available on the market in terms of both the support for interpolation dimensions and the interpolation time efficiency.

[0110] Based on the traditional N-dimensional linear interpolation algorithm, this embodiment comprehensively considers the dynamic characteristics of the aircraft and the architecture characteristics of the computer computing unit, and proposes an improved method for linear interpolation suitable for aircraft dynamics simulation. Without sacrificing calculation accuracy, it has greatly improved the calculation efficiency of the relevant solution process of flight dynamics.

[0111] Although the present invention has been disclosed above with preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make possible changes and modifications to the technical solution of the present invention using the methods and technical contents disclosed above without departing from the spirit and scope of the present invention. Therefore, any simple modification, equivalent change, and modification made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention shall fall within the protection scope of the technical solution of the present invention.

[0112] The content not detailedly described in the specification of the present invention belongs to the well-known technology of those skilled in the art.< / demention> < / demention>

Claims

1. A flight dynamics N-dimensional linear interpolation calculation method applicable to multiple platforms, characterized in that Including: Collect physical characteristic data during flight to generate an N-dimensional interpolation table, and generate an interpolation point data set based on the interpolation points in the N-dimensional interpolation table; Preset the starting search point coordinates. Starting from the starting search point coordinates in the first interpolation point data set, search for the coordinates of the point to be searched within the search range of the starting search point coordinates, and iteratively update the coordinates of the point to be searched according to the search results until the coordinates of the point to be searched are found; If the coordinates of the point to be searched have been iteratively updated, calculate the corresponding slope of the current starting search point and then perform dimension judgment; if the coordinates of the starting search point remain unchanged, directly perform dimension judgment; Make a judgment according to the dimension judgment result. If the current dimension has reached N dimensions, perform recursive calculation of the N-dimensional interpolation point data set, otherwise increase the dimension and re-search for the coordinates of the point to be searched until the dimension has reached N dimensions; Obtain the point coordinate value obtained from the recursive calculation result as the output of the N-dimensional linear interpolation calculation result; The set of points to be searched is a preset target point set, denoted as X iK ={X 1K1 , X 2K2 ,..., X NKN}, representing the coordinate positions searched in each dimension, where Ki = {K1, K2, … KN} represents the coordinate positions searched in each dimension; the preset starting search point coordinate is X1 of the first-dimensional interpolation point data set. The method for searching the coordinates of the points to be searched under the given interpolation point data set {x1, x2, …, x N} is as follows: Treat the search point X in the current dimension 1k1 Perform a search judgment. If x1 is within the search range X of the starting search point coordinates 1k1 and X 1k1+1 then the search point X has been found within the current search range of the starting search point coordinates ik1 , do not perform iterative update of the starting search point coordinates X 1k1 , directly calculate the slope corresponding to the starting search point coordinates, otherwise perform iterative update on the search point coordinates X ik1 ; Coordinate X of the point to be searched iK1 The method for iterative update is as follows: If x 1i is not located between X iki and X 1k1+1 , then the coordinates of the point to be searched X ik1 are translated to increase the coordinates of the point to be searched X ik . After the translation is completed, the coordinates of the point to be searched X ik are searched and judged again. If x i is located between X 1k1 and X 1k1+1 , then the point to be searched X ik1 is found within the search range of the current starting search point coordinates. Otherwise, the iterative update is repeated until x i meets the search requirement of being between X 1k1 and X 1k1+1 . When the coordinates of the point to be searched have been iteratively updated, the slope corresponding to the current starting search point is calculated as slope K according to the search range of the starting search point coordinates i ; Obtain slope K i After that, record the coordinates X of the current point to be searched iki , slope K i and the corresponding value Y 1j。 2. The N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms according to claim 1, characterized in that: The interpolation point data in the N-dimensional interpolation table are given data after conversion of physical characteristic data, including all interpolation point coordinates and values from one-dimensional to N-dimensional. The number of interpolation point data sets is N. Each interpolation point data set includes a coordinate set and a value set. The coordinate set is denoted as [X1, X2, … X N ; the value set corresponding to each interpolation point is denoted as [Y1, Y2, … Y N .

3. The N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms according to claim 2, characterized in that: The dimension judgment method is: Determine whether the current dimension M is equal to N. If not, increase the current dimension M by one dimension and reselect the starting search point coordinates X MKM And determine the search range X of the starting search point coordinates MKM 、X MKM+1 , if they are equal, perform recursive calculation of the N-dimensional interpolation point data set.

4. The N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms according to claim 3, characterized in that: Each round of recursive calculation derives and calculates the numerical values of the interpolation point data for 2 M interpolation point data based on all the interpolation point data at the current dimension M. M-1 ​ 5. The N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms according to claim 4, characterized in that: After one round of recursive calculation, judge the current dimension M. If M = 1, stop the calculation and output the current unique interpolation point value, otherwise continue the recursive calculation.

6. The N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms according to claim 1, characterized in that: The number of points in the same interpolation point data set is a power of 2.

7. The N-dimensional linear interpolation calculation method for flight dynamics applicable to multiple platforms according to claim 1, characterized in that: The N-dimensional interpolation table is described in C++ language.

Citation Information

Patent Citations

  • A method for calculate nonlinear load of flying-wing unmanned aerial vehicle

    CN109460596A

  • Aero-engine blade flow field calculation platform based on automatic grid generation technology

    CN113821885A