SIMD-based aero-engine characteristic map interpolation calculation optimization method
By optimizing the characteristic map interpolation algorithm of aero-engines using SIMD technology and utilizing 128-bit vector registers for parallel data processing, the problem of insufficient real-time computation of aero-engine nonlinear component-level models on airborne equipment is solved, resulting in a significant reduction in characteristic map interpolation computation time and an improvement in model real-time performance.
Patent Information
- Application Number
- CN202211209014.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2042-09-30
AI Technical Summary
Existing nonlinear component-level models for aero-engines lack real-time computation on airborne equipment. A single Kalman filter estimator cannot be applied to the full envelope operating point. Traditional SISD command methods have low computational efficiency, resulting in excessively long interpolation calculation times for characteristic maps.
The SIMD technology is used to optimize the interpolation algorithm for aero-engine characteristic maps. Multiple data points are processed in parallel using a 128-bit vector register, reducing the interpolation calculation time of the characteristic maps.
It significantly reduces the interpolation calculation time of characteristic maps, improves the real-time performance of nonlinear models, and enhances the computational efficiency of component-level models on airborne equipment.
Smart Images

Figure CN115828502B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of mathematical modeling and simulation of overall performance of an aero-engine, and particularly to an aero-engine characteristic map interpolation calculation optimization method based on SIMD. BACKGROUND
[0002] The aero-engine on-board adaptive model can be applied to engine performance health monitoring and fault diagnosis, design and verification of advanced control algorithms (such as performance optimization control and direct thrust control). At present, the on-board adaptive model at home and abroad mostly adopts a method based on Kalman filter estimation, which has the advantages of simple algorithm and fast calculation speed, but a single Kalman filter estimator is not suitable for all envelope operating points. The aero-engine nonlinear component-level model simulates the performance according to the aerodynamic thermodynamic principle of each component of the engine, which is complex in calculation, but only one nonlinear component-level model can simulate all operating points of the real engine within the full envelope. In recent years, aviation technology workers have increased the research on the real-time improvement method of the engine nonlinear component-level model, and it will be possible for the engine component-level model to be directly used as an on-board model. There are many factors limiting the application of the component-level model on board, such as the complex calculation method of the component-level model and the excessive time consumption of the engine flow calculation, which further leads to the fact that the real-time performance of the component-level model on the on-board equipment cannot meet the requirements. The working mode of the early general-purpose processor is generally based on SISD (Single Instruction Single Data Stream) instructions, that is, in each core, a single instruction operates on a single data. With the continuous improvement of computing power demand, people found that the above-mentioned way is very low in efficiency in some scenarios. Therefore, the processor begins to introduce new SIMD (Single Instruction Multiple Data Stream) instructions to improve the operation efficiency. This technological innovation enables a single instruction to operate on multiple data at a time, greatly improving the real-time performance of programs in specific application scenarios, including aviation on-board radar algorithms and image processing algorithms, which provides a new idea for the real-time optimization of the calculation of the aero-engine nonlinear component-level model. SUMMARY
[0003] The present application provides an aero-engine characteristic map interpolation calculation optimization method based on SIMD, which reduces the calculation time of the characteristic map interpolation calculation in the flow calculation of the rotating component, optimizes the characteristic map interpolation algorithm by using the SIMD technology, and greatly reduces the calculation time of the characteristic map interpolation calculation function compared with the conventional calculation method, thereby reducing the flow calculation time of the model.
[0004] Technical scheme: To achieve the above-mentioned purpose, the technical scheme adopted by the present application is:
[0005] An aero-engine characteristic map interpolation calculation optimization method based on SIMD, comprising the following steps:
[0006] 1) obtaining input data, the input data including current rotating speed, flow and efficiency judging parameter, rotating speed data table, pressure ratio data table, flow-efficiency data table;
[0007] 2) constructing pressure ratio interpolation table under current rotating speed by using SIMD technology.
[0008] Preferably, the sequential search method is used to find the position of current rotating speed x in the rotating speed data table in step 1).
[0009] Preferably, the implementation process of step 2) is as follows:
[0010] 2.1) judging whether to interpolate flow or to interpolate efficiency:
[0011]
[0012] In the formula, type represents the flow and efficiency judging parameter, 0 represents the interpolated flow, and 1 represents the interpolated efficiency.
[0013] 2.2) loading rotating speed linear ratio to 32-bit vector register s:
[0014]
[0015] In the formula, x p represents the rotating speed at position p in the rotating speed data table, and x p+1 represents the rotating speed at position p+1 in the rotating speed data table.
[0016] 2.3) loading data in the pressure ratio data table, loading flow or efficiency data in the flow-efficiency data table according to the judging result of step 2.1), and judging whether the data is successfully loaded; if the data is successfully loaded, jumping to step 2.4), otherwise, the loading fails, the calculation is exited, and the process is ended.
[0017] 2.4) loading 8 pressure ratio data corresponding to the rotating speed line of rotating speed x p to 2 128-bit vector registers Q0 and Q1 according to the position of rotating speed x p+1 in the rotating speed data table, and loading 8 pressure ratio data corresponding to the rotating speed line of rotating speed x i to 2 128-bit vector registers Q2 and Q3:
[0018]
[0019] In the formula, y p p is the i-th pressure ratio data corresponding to the rotating speed line of rotating speed x p+1 , and m is the number of rotating speeds on the equal rotating speed line.
[0020] 2.5) According to the linear interpolation formula, 8 pressure ratio data under the current rotating speed x are sequentially constructed, and the results are saved to vector registers Q2 and Q3;
[0021] 2.6) The 8 calculation results are written to the target memory:
[0022]
[0023] In the formula, c i is the i-th calculation result of the target memory;
[0024] 2.7) Determine whether the pressure ratio interpolation table is constructed, if not, jump to step 2.4) to continue calculation, otherwise end the loop and jump to step 2.3) to load new data and construct a new interpolation table.
[0025] Preferably, the implementation process of step 2.5) is:
[0026] 2.5.1) Calculate the difference between vector registers Q2 and Q0, and save the result to vector register Q2:
[0027]
[0028] 2.5.2) According to the result of step 2.5.1), calculate the product of the rotating speed linear ratio, and save the result to vector register Q2:
[0029]
[0030] 2.5.3) Calculate the difference between vector registers Q3 and Q1, and save the result to vector register Q3:
[0031]
[0032] 2.5.4) According to the result of step 2.5.3), multiply the rotating speed linear ratio, and save the result to vector register Q3:
[0033]
[0034] 2.5.5) Calculate the sum of vector registers Q2 and Q0 and the sum of vector registers Q3 and Q1, and save the result to vector registers Q2 and Q3:
[0035]
[0036] Beneficial effects:
[0037] The application adopts the SIMD technology to optimize the interpolation table construction process of the pressure ratio and flow and the pressure ratio and efficiency of the aero-engine characteristic map interpolation function, utilizes the 128-bit vector register to simultaneously process 4 data operations, and one instruction can simultaneously operate 8 data in the data loading and data writing process. Compared with the conventional SISD method, the calculation time of the characteristic map interpolation function is effectively reduced, and the flow path calculation time of the nonlinear model is further reduced. BRIEF DESCRIPTION OF DRAWINGS
[0038] Figure 1 The calculation flowchart of the aero-engine gas thermodynamic property reverse calculation function based on the SIMD;
[0039] Figure 2 The flowchart of the aero-engine gas thermodynamic property reverse calculation optimization method based on the SIMD;
[0040] Figure 3 The four-word data operation schematic diagram of the SIMD technology;
[0041] Figure 4 The compressor characteristic map interpolation function test input simulation data point;
[0042] Figure 5 The gas turbine characteristic map interpolation function test input simulation data point;
[0043] Figure 6 The power turbine characteristic map interpolation function test input simulation data point;
[0044] Figure 7 The turbine shaft engine dynamic simulation test input oil supply curve. DETAILED DESCRIPTION
[0045] The aero-engine characteristic map interpolation adopts linear interpolation, and when constructing the pressure ratio and flow and the pressure ratio and efficiency interpolation table at a specific speed, linear interpolation calculation needs to be repeatedly performed. If the characteristic map data is large, the entire calculation process is very time-consuming. In order to improve the real-time performance of the model, the application discloses a characteristic map interpolation table construction method of an aero-engine component based on the SIMD, which greatly reduces the interpolation calculation time of the pressure ratio and flow and the pressure ratio and efficiency, and improves the real-time performance of the nonlinear component-level model.
[0046] Figure 1 The specific calculation flowchart of the aero-engine characteristic map interpolation calculation optimization method based on the SIMD for the entire characteristic map calculation is shown in the figure. The detailed calculation process is described as follows:
[0047] (1) input the current speed x, the current pressure ratio y, the flow and efficiency judgment parameter type, the characteristic map speed data X {x1, x2, x3,..., x m}, pressure ratio original data table Y { y1, y2, y3,..., y n}, flow and efficiency original data table Z { z1, z2, z3,..., z n ,z n+1 ,z n+2 ,...,z 2n} ; wherein, the following is explained for the speed, pressure ratio and flow, pressure ratio and efficiency data relationship:
[0048]
[0049] In the formula, → is a mapping relationship, indicating the i th speed x i in the speed data table and the m elements (y m·i+1 ,...,y m·i+m ) in the i th row of the pressure ratio data table and the m elements (z m·i+1 ,...,z m·i+m ) in the i th row and the 2i th row elements (z 2·m·i+1 ,...,z 2·m·i+m ) in the flow or efficiency data table correspond, generally, the i th row elements in the flow or efficiency data table are flow data, and the 2i th row elements in the flow or efficiency data table are efficiency data;
[0050] (2) The sequential search method is used to find the position p of the input current speed in the speed data table, as follows:
[0051] x p ≤x<x p+1
[0052] (3) According to the current speed x, the position p of the current speed in the speed data table, the pressure ratio data table Y, the flow or efficiency data table Z, and the flow and efficiency judgment parameter type, the input is input to the SIMD-based interpolation table construction method, to obtain the pressure ratio data table C { c1,..., c m} and the flow or efficiency data table D { d1,..., d m} under the current speed;
[0053] (4) According to the current pressure ratio, the sequential search is used to find the position i of the current pressure ratio in the pressure ratio data table C { c1,..., c m} ;
[0054] (5) The linear interpolation formula is used to calculate the flow or efficiency value, and the specific expression is as follows:
[0055]
[0056] For example, Figure 2The figure is a flow chart of the inventive method for calculating and optimizing the interpolation of an aero-engine characteristic map based on SIMD, comprising the following steps:
[0057] Step S1, input of algorithm data, including current speed x, position p(x p ≤x<x p+1 ), flow rate and efficiency judgment parameter type, pressure ratio original data table Y{y1,y2,y3,...,y n}, flow rate and efficiency original data table Z{z1,z2,z3,...,z n ,z n+1 ,z n+2 ,...,z 2n};
[0058] Step S2, constructing the pressure ratio interpolation table and the flow rate or efficiency interpolation table under the current speed by using the SIMD technology; characterized in that, the step S2 specifically comprises the following steps:
[0059] Step S2.1, judging whether the interpolation flow rate or the efficiency, and the specific expression is as follows:
[0060]
[0061] In the formula, 0 represents the interpolation flow rate, and 1 represents the interpolation efficiency;
[0062] Step S2.2, loading the current speed linear ratio to the 32-bit vector register s (Singleword, Register), denoted as s, and the specific expression is as follows:
[0063]
[0064] Step S2.3, loading the pressure ratio data and the flow rate or efficiency original data according to the result of step S2.1; and judging whether there is loaded processing data, if there is loaded data, jumping to step S2.3, otherwise, exiting the calculation and ending the program.
[0065] Step S2.4, loading the 8 (a total of 8 pairs of data) pressure ratio data under the x p speed line and the x p+1 speed line to the four 128-bit vector registers (Quadword, Register) Q0, Q1, Q2 and Q3 according to the position of the speed data table, and the specific expression is as follows:
[0066]
[0067] In the formula, m is the number of speed data on the equal speed line;
[0068] Step S2.5, eight pressure ratio data under the current speed are constructed in turn according to the linear interpolation formula, and the results are saved to Q2, Q3 registers, including the following steps:
[0069] Step S2.5.1, the difference between Q2 and Q0 is calculated, and the result is saved to the Q2 register. The specific result is:
[0070]
[0071] Step S2.5.2, the result of step S2.5.1 is multiplied by the linear ratio of the speed, and the result is saved to the Q2 register. The result is:
[0072]
[0073] Step S2.5.3, the difference between Q3 and Q1 is calculated, and the result is saved to the Q3 register. The specific result is:
[0074]
[0075] Step S2.5.4, the result of step S2.5.3 is multiplied by the linear ratio of the speed, and the result is saved to the Q3 register. The result is:
[0076]
[0077] Step S2.5.5, according to the above calculation results, the sum of Q2 and Q0 and the sum of Q3 and Q1 are calculated in turn, and the results are saved to Q2 and Q3. The specific expression is the linear interpolation calculation formula, as follows:
[0078]
[0079] Step S2.6, eight calculation result data are written to the target memory. The specific expression is:
[0080]
[0081] Step S3, it is judged whether the engine component characteristic interpolation data table is constructed. If not, go to step S2.4 to continue calculation, otherwise end the loop and go to step 2.3 to load new data to construct a new interpolation table.
[0082] Figure 3 The figure shows a schematic diagram of SIMD four-word data operation, wherein Q n and Q m are two source registers, which store four data to be processed, Q d is a target register, Q n and Q mThe four data pairs correspond to position operation, and the operation of four data pairs (addition, subtraction and multiplication, etc.) is completed in one clock cycle, and finally the result is saved to the target register Q d .
[0083] Figure 4 The simulation test input data points of the compressor characteristic interpolation function are shown, that is, the test input data of Table 1. 100 data points of rotational speed and 100 data points of pressure ratio are arranged in combination, and a total of 10000 data points are obtained.
[0084] Figure 5 The simulation test input data points of the compressor characteristic interpolation function are shown, that is, the test input data of Table 1. 100 data points of rotational speed and 100 data points of pressure ratio are arranged in combination, and a total of 10000 data points are obtained.
[0085] Figure 6 The simulation test input data points of the compressor characteristic interpolation function are shown, that is, the test input data of Table 1. 100 data points of rotational speed and 100 data points of pressure ratio are arranged in combination, and a total of 10000 data points are obtained.
[0086] Figure 7 The test input fuel supply curve of the dynamic simulation of the turboshaft engine is shown, that is, the test input data of Table 2.
[0087] In order to verify the effectiveness of the SIMD-based aero-engine characteristic map interpolation calculation optimization method designed by the application, the SIMD method and the conventional method disclosed by the application are used for characteristic map interpolation calculation function, and the two methods are applied to dynamic simulation test comparison of the dual-rotor turboshaft engine.
[0088] The test platform is an STM32MP157A development board with an ARM Cortex-A7 processor of 650MHz, the development environment is Ubuntu18.04, the compiler is an arm-linux-gnueabihf-g++ cross-compilation tool chain, and the SIMD algorithm part is written in assembly language.
[0089] The time data comparison of the characteristic map interpolation function flow calculation based on the SIMD method and the conventional method is shown in Table 1, the time data comparison of the application of the SIMD method and the conventional method to the dynamic simulation of the dual-rotor turboshaft engine is shown in Table 2, and the test input is Figure 7 The three groups of fuel supply curves are shown, and other conditions remain unchanged at the design point.
[0090] Table 1: Data comparison of SIMD method and conventional method for calculating component characteristic interpolation function
[0091] Function Function Time (s) for conventional method Time (s) for SIMD method Compressor interpolation function InterpolateMap_Comp 0.10141 0.01074 Gas turbine interpolation function InterpolateMap_GTurb 0.10522 0.01556 Power turbine interpolation function InterpolateMap_PTurb 0.08150 0.01422
[0092] Table 2 Time consumption data comparison of SIMD method and conventional method applied to dynamic simulation of turboshaft engine
[0093] Input Time (s) for conventional method Time (s) for SIMD method Fuel supply curve 1 2.14732 1.77575 Fuel supply curve 2 2.59788 2.15431 Fuel supply curve 3 3.55893 2.94482
[0094] As shown in Table 1, on the ARM Cortex-A7 processor at 650 MHz, the time consumption of the SIMD-based method is reduced by more than 82.5% compared with the conventional method when three rotating component characteristic map interpolation functions are tested separately; as shown in Table 2, on the ARM Cortex-A7 processor at 650 MHz, the time consumption of the SIMD-based method is reduced by more than 17.1% compared with the conventional method when the two methods are applied to dynamic simulation of turboshaft engine.
[0095] The above only describes the preferred embodiments of the present application, and it should be noted that those of ordinary skill in the art can make several improvements and refinements without departing from the principles of the present application, and these improvements and refinements should also be considered within the protection scope of the present application.
Claims
1. A method for optimizing the interpolation calculation of an aeroengine map based on SIMD, characterized in that, The method comprises the following steps: 1) obtaining input data, the input data comprising current rotating speed, flow and efficiency judging parameter, rotating speed data table, pressure ratio data table, flow-efficiency data table; 2) constructing pressure ratio interpolation table under current rotating speed by using SIMD technology; The implementation process of step 2) is as follows: 2.1) judging whether the flow and efficiency judging parameter is interpolation flow or interpolation efficiency: In the formula, type represents the flow and efficiency judging parameter, 0 represents interpolation flow, and 1 represents interpolation efficiency; 2.2) loading rotating speed linear ratio into 32-bit vector register s: wherein: x p represents the rotational speed at position p in the rotational speed data table, x p+1 represents the rotational speed at position p+1 in the rotational speed data table; 2.3) loading data in the pressure ratio data table, loading flow or efficiency data in the flow-efficiency data table according to the judging result of step 2.1), and judging whether data is successfully loaded; if data is successfully loaded, jumping to step 2.4), otherwise, loading fails, exiting calculation and ending; 2.4) Load speed x according to the position of the current speed x in the speed data table p Load the 8 pressure ratio data under the corresponding speed line into 2 128-bit vector registers Q0, Q1, load speed x p+1 Load the 8 pressure ratio data under the corresponding speed line into 2 128-bit vector registers Q2, Q3: wherein y i p is the rotational speed x p is the i-th pressure ratio data under the rotational speed line, and m is the number of rotational speeds on the equal speed line. is the rotational speed x p+1 is the i-th pressure ratio data under the rotational speed line, and m is the number of rotational speeds on the equal speed line. 2.5) constructing 8 pressure ratio data under current rotating speed x according to linear interpolation formula, and saving the result into vector registers Q2 and Q3; 2.6) writing 8 calculation results into target memory: In the formula, c i is the i-th calculation result of the target memory; 2.7) judging whether the pressure ratio interpolation table is constructed; if not, jumping to step 2.4) to continue calculation, otherwise, ending the loop and jumping to step 2.3) to load new data and construct new pressure ratio interpolation table.
2. The method of claim 1, wherein, In step 1), sequential search method is used to find the position of current rotating speed x in the rotating speed data table.
3. The method of claim 1, wherein, The implementation process of step 2.5) is as follows: 2.5.1) calculating the difference between vector registers Q2 and Q0, and saving the result into vector register Q2: 2.5.2) calculating the product of the result of step 2.5.1) and rotating speed linear ratio, and saving the result into vector register Q2: 2.5.3) calculating the difference between vector registers Q3 and Q1, and saving the result into vector register Q3: 2.5.4) calculating the product of the result of step 2.5.3) and rotating speed linear ratio, and saving the result into vector register Q3: 2.5.5) calculating the sum of vector registers Q2 and Q0 and the sum of vector registers Q3 and Q1, and saving the result into vector registers Q2 and Q3:
Citation Information
Patent Citations
Vector function fast look-up table method and system using SIMD instruction and medium
CN110321161A
Interpolation method suitable for aero-engine real-time model
CN110489877A