A method and system for decoding flight data in accordance with ARINC specifications

By identifying and verifying the synchronization words of ARINC717 and ARINC767 specifications, and combining them with the decoding parameter library for matching and decoding, the problem of low universality of existing flight data decoding methods is solved, and efficient and accurate decoding and problem detection of flight data of different ARINC specifications are achieved.

CN116150102BActive Publication Date: 2026-05-12COMMERCIAL AIRCRAFT CORP OF CHINA LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
COMMERCIAL AIRCRAFT CORP OF CHINA LTD
Filing Date
2023-01-31
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing flight data decoding methods have low versatility, making it difficult to accurately and efficiently decode flight data for different ARINC specifications, and making it difficult to detect problems during the aircraft development stage.

Method used

By analyzing the flight data structures of ARINC717 and ARINC767 specifications, synchronization words are identified and verified. The valid synchronization words are matched and decoded using a decoding parameter library, forming a two-dimensional matrix to store parameter information, thereby achieving accurate decoding of flight data for different ARINC specifications.

Benefits of technology

It enables efficient and accurate decoding of flight data from different ARINC specifications, improves the universality and efficiency of decoding, can identify problems in the development process, and supports the efficient use of flight data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116150102B_ABST
    Figure CN116150102B_ABST
Patent Text Reader

Abstract

The application provides a decoding method for ARINC specification flight data, wherein the ARINC specification at least includes ARINC717 specification and ARINC767 specification, the decoding method includes reading original flight data file to form binary data stream, searching all synchronization words and obtaining position data of each synchronization word; obtaining position difference data of each synchronization word according to the position data, and comparing the position difference data with corresponding specification interval data, when the position difference data is consistent with the specification interval data, corresponding synchronization word is confirmed as a checked valid synchronization word; for each valid synchronization word, parameter information associated with the valid synchronization word is obtained, and the parameter information is matched with parameter acquisition information contained in a decoding parameter library, when the matching is successful, the parameter information is decoded in combination with attributes of each parameter in flight data contained in the decoding parameter library, so that parameter values of each parameter contained in the flight data are obtained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of aviation, primarily to the decoding of flight data, and particularly to a method and system for decoding flight data applicable to the ARINC specification. Background Technology

[0002] Flight data recorders (FVRs) record flight data according to flight data recording specifications. The most common FVR standard used for flight data recorders is the ARINC specification, which includes various specific specifications such as ARINC573, ARINC717, ARINC747, and ARINC767. Through flight data recorded in the FVR according to the ARINC specification, users can understand the specific circumstances of the aircraft during operation, thereby enabling tasks such as monitoring flight quality, fuel analysis, and assisting in troubleshooting. In the effective utilization of flight data, the raw binary flight data must be decoded and converted into, for example, decimal engineering values ​​or parameter values ​​before it can be easily viewed, analyzed, and further utilized by users. It can be said that the decoding of flight data is the most crucial step in the effective utilization of flight data.

[0003] Currently, airlines and research institutions in the civil aviation field generally utilize flight data decoding and analysis software developed by mainstream software vendors (such as AirFASE and AGS) to decode flight data by converting raw binary flight data into decimal engineering values ​​through the establishment of decoding parameter libraries for the corresponding aircraft models. However, most existing flight data decoding and analysis software or methods can only decode flight data based on a specific ARINC specification and have low versatility. This often results in the need for different flight data decoding and analysis software to decode flight data based on different ARINC specifications, increasing the cost of aircraft flight data decoding.

[0004] At the same time, such flight data decoding and analysis software or methods are difficult to process flight data during the aircraft development phase, and even more unable to detect potential problems in the flight data during the development process. Summary of the Invention

[0005] Therefore, the technical problem to be solved by the present invention is to overcome the shortcomings of existing decoding methods, which have low universality and are difficult to accurately and efficiently decode flight data applicable to ARINC specifications. A new decoding method and system for flight data applicable to ARINC specifications is proposed.

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

[0007] Specifically, this invention provides a decoding method for flight data applicable to the ARINC specification, wherein the ARINC specification includes at least the ARINC717 specification and the ARINC767 specification. The decoding method is characterized by comprising the following steps:

[0008] Read the raw flight data file from the flight recorder to form a binary data stream, and find all synchronization words in the read data stream and obtain the position data of each synchronization word;

[0009] Subtract the position data of each synchronization word to obtain the corresponding position difference data. Then, compare all position difference data with the corresponding standard interval data in turn. When the position difference data and the standard interval data are consistent, the corresponding synchronization word is confirmed as a valid synchronization word that has been verified.

[0010] For each valid synchronization word, the associated parameter information is obtained. Then, the parameter information is matched with the parameter acquisition information contained in the decoding parameter library. When the match is successful, the parameter information is decoded by combining the attributes of each parameter in the flight data contained in the decoding parameter library, so as to obtain the parameter values ​​of each parameter contained in the flight data.

[0011] This decoding method analyzes the commonalities and differences in flight data structures based on the ARINC specification to identify their common features, namely synchronization words. It verifies the synchronization words in the flight data to promptly identify potential problems in the flight data during the development process. It decodes the valid synchronization words in the flight data after verification to ensure the accuracy of the decoded data. It uses the aircraft model decoding parameter library to match and decode the parameter information associated with the valid synchronization words, thereby realizing the decoding of flight data.

[0012] According to one embodiment of the present invention, for flight data based on the ARINC 717 specification, the synchronization word is the first data word of the subframe; for flight data based on the ARINC 767 specification, the synchronization word is the start beacon of the frame. By analyzing the flight data structure based on the ARINC 717 and ARINC 767 specifications, the specific content of the synchronization word is determined, thereby dividing the flight data into data composed of multiple synchronization words and parameter information associated with each synchronization word.

[0013] According to one embodiment of the present invention, for the verification of synchronization words in flight data based on the ARINC717 specification, the specification interval data is fixed word slot data; for the verification of synchronization words in flight data based on the ARINC767 specification, the specification interval data is frame length data. By analyzing the flight data structure based on the ARINC717 and ARINC767 specifications, the specific content of the specification interval data is determined, and then the specification interval data is compared with the position difference data to promptly identify erroneous synchronization words, thereby achieving accurate verification of valid synchronization words.

[0014] According to one embodiment of the present invention, for flight data based on the ARINC767 specification, the step of verifying the valid synchronization word further includes:

[0015] For each synchronization word, the frame header and trailer information of the corresponding frame are acquired and compared. When the frame type and frame identifier included in the frame header and trailer information are consistent, the synchronization word is confirmed as a valid synchronization word that has passed verification. Analysis of the flight data structure based on the ARINC767 specification reveals that the frame header and trailer information of the frame corresponding to the synchronization word should match, for example, the frame type and frame identifier should be consistent. Therefore, the validity of a synchronization word can be verified by checking whether the frame header and trailer information corresponding to the identified synchronization word match.

[0016] According to one embodiment of the present invention, the decoding parameter library includes a parameter acquisition definition file for flight data provided by the aircraft manufacturer, which contains parameter acquisition information.

[0017] According to one embodiment of the present invention, the attributes of the parameter include parameter name, parameter identifier code, record start bit, record end bit, parameter type, parameter conversion coefficient and unit; wherein, for flight data based on the ARINC717 specification, the attributes of the parameter also include subframe.

[0018] According to one embodiment of the present invention, the parameters include unsigned binary parameters, signed binary parameters, character parameters, and combined parameters. The step of decoding the parameter information by combining the attributes of each parameter in the flight data contained in the decoding parameter library when a match is successful includes:

[0019] For unsigned binary parameters, the value is read using the unsigned data reading and decoding method, and the read value is multiplied by the corresponding parameter conversion coefficient to obtain the parameter value.

[0020] For signed binary parameters, the value is read using the signed data reading and decoding method, and the read value is multiplied by the corresponding parameter conversion coefficient to obtain the parameter value.

[0021] For character parameters, the value is read using an unsigned data reading and decoding method, and the read value is converted into an ASCII character to obtain the parameter value.

[0022] For combined parameters, an unsigned data reading and decoding method is used to read their values ​​bit by bit sequentially, and the read values ​​are used as the parameter values. For different types of parameters, specialized reading methods are used to read their values, ensuring the accuracy of flight data decoding.

[0023] According to one embodiment of the present invention, the decoding method further includes: creating a two-dimensional matrix that stores the position data and parameter information of all valid synchronization words. In this two-dimensional matrix, each row stores the parameter information corresponding to a valid synchronization word and the position data corresponding to that parameter information. By creating a two-dimensional matrix to store the valid synchronization words and their associated parameter information, and arranging each row to correspond to one valid synchronization word, the matching and decoding of the parameter information after the valid synchronization word with the parameter acquisition information is facilitated, thereby further improving the decoding efficiency.

[0024] According to one embodiment of the present invention, the decoding method further includes: for each valid synchronization word, obtaining the record bit length of the parameter based on the record start bit information and record stop bit information in the associated parameter information, and comparing the record bit length with the selected minimum read unit.

[0025] When the value of the record bit length is less than the value of the minimum read unit, calculate the bit sum of the minimum read unit value and the record bit to obtain the truncated parameter information;

[0026] When the recorded bit length is greater than the minimum read unit value, the bit sum of the minimum read unit value and the recorded bits is calculated, and the calculated bit sums are then combined sequentially to obtain the truncated parameter information.

[0027] The record bit is located between the record start bit and the record end bit, and each record bit corresponds to a portion of the parameter information.

[0028] According to one embodiment of the present invention, the decoding method further includes: for flight data based on the ARINC717 specification, reading the flight data in the corresponding original flight data file in two-byte units.

[0029] According to one embodiment of the present invention, the decoding method further includes: for flight data based on the ARINC767 specification, reading the flight data in the corresponding original flight data file in a manner with one byte as the smallest unit.

[0030] According to one embodiment of the present invention, the decoding method further includes: for flight data based on the ARINC717 specification, reorganizing the parameter values ​​of the decoded flight data in a manner of one subframe per line to form a decoded engineering value file, wherein the engineering value file is a CSV format file;

[0031] For flight data based on the ARINC767 specification, the parameter values ​​of the decoded flight data are recombined according to the same timestamp for each line to form a decoded engineering value file, which is a CSV file.

[0032] The present invention also provides a computer-readable medium having stored computer-readable instructions thereon, which, when executed on a device, cause the device to perform the decoding method as described above.

[0033] The present invention also provides a decoding system for flight data files applicable to the ARINC specification, characterized in that the decoding system includes a processor configured to acquire the raw flight data file in the flight recorder and execute the above-described decoding method.

[0034] Based on common knowledge in the field, the above-mentioned preferred embodiments can be combined arbitrarily to obtain various preferred embodiments of the present invention.

[0035] The positive and progressive effects of the above-described embodiments of the present invention are as follows:

[0036] 1. By analyzing the commonalities of flight data based on different ARINC specifications—synchronization words and their associated parameter information—it is possible to decode flight data based on different ARINC specifications. This decoding method can achieve efficient decoding of flight data and has high versatility.

[0037] 2. The valid synchronization words are confirmed by verifying the synchronization words in the flight data, and then the decoding is performed based on the valid synchronization words, which ensures the accuracy of the decoding.

[0038] 3. By extracting record bits and parameter information, only the extracted parameter information is decoded, rather than decoding all parameter information associated with each valid synchronization word, thus achieving efficient decoding.

[0039] 4. The decoding method and system for flight data applicable to the ARINC standard according to the present invention can be well adapted to the recording methods of flight data based on different ARINC standards, realize accurate and efficient decoding of flight data applicable to the ARINC standard, and make efficient use of relevant computing resources. Attached Figure Description

[0040] Figure 1This is a flowchart of a method for decoding flight data applicable to the ARINC specification according to a preferred embodiment of the present invention.

[0041] Figure 2 A schematic diagram of the structure of a data frame in flight data based on the ARINC 717 specification is shown.

[0042] Figure 3 A schematic diagram of the structure of a data frame in flight data based on the ARINC 767 specification is shown.

[0043] Figure 4 A two-dimensional matrix is ​​shown, created based on a binary data stream of flight data according to a preferred embodiment of the present invention.

[0044] Figure 5 A two-dimensional matrix is ​​shown, created based on a binary data stream of flight data according to a preferred embodiment of the present invention. Detailed Implementation

[0045] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the accompanying drawings showing multiple embodiments according to this application. It should be understood that all other embodiments obtained by those skilled in the art based on the embodiments described in this application without creative effort will fall within the scope of protection of this application.

[0046] Unless otherwise defined, all technical and scientific terms used in this application have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terms "comprising," "having," etc., in the specification, claims, and foregoing description of the drawings are open-ended terms. Thus, "comprising" or "having" means, for example, one or more steps, having one or more steps, but not limited to having only these one or more steps.

[0047] Flight data recorders (FVRs) can record flight data according to different flight data recording specifications. However, existing flight data decoding methods or tools lack versatility and are typically only suitable for decoding flight data based on a specific ARINC specification. Furthermore, during aircraft development, the aircraft's decoding parameter library frequently needs adjustment and changes, and the flight data recorded by the FVR may contain certain problems. Existing commercially available, mature decoding methods, systems, or tools often struggle to process flight data recorded by FVRs during the aircraft development phase, and are even less able to detect potential problems in the recorded flight data. Therefore, there is an urgent need to research and analyze the recording characteristics of flight data based on different ARINC specifications, and to propose more universal and accurate flight data decoding methods, systems, or tools to promptly identify problems in the flight data and achieve universal, accurate, and efficient decoding of flight data.

[0048] To address at least some of the aforementioned issues, this invention proposes a decoding method for flight data compatible with the ARINC standard. This method can quickly and conveniently convert raw binary flight data into decimal engineering values, eliminating reliance on commercial decoding and analysis software. Furthermore, this decoding method and system allow for flexible addition or adjustment of parameter acquisition information, facilitating user viewing and analysis of issues within the recorded flight data.

[0049] In general, the decoding method for flight data applicable to the ARINC standard in this invention is mainly based on the following concept: by studying and analyzing the commonalities and differences in flight data recording methods based on different ARINC standards, especially the ARINC 717 or ARINC 767 standards used for flight data recording on mainstream civil aircraft, the common flight data feature of synchronization words is determined; the validity of synchronization words is determined by whether the positional distance of each synchronization word is consistent with the standard interval or whether the parameter information associated with the synchronization word is consistent; then, the parameter information associated with valid synchronization words is matched and decoded using a decoding parameter library or a modified decoding parameter library, thereby accurately and effectively obtaining the parameter values ​​of each parameter in the flight data applicable to the ARINC standard.

[0050] Specifically, such as Figure 1 As shown, the decoding method for flight data applicable to the ARINC specification according to a preferred embodiment of the present invention may include the following main steps: Step 1, reading flight data and finding synchronization words; Step 2, verifying synchronization words to obtain valid synchronization words; Step 3, decoding the parameter information associated with the valid synchronization words to obtain the parameter values ​​of each parameter.

[0051] Step one specifically includes reading the raw flight data file from the flight recorder, forming a binary data stream, and searching for all synchronization words in the read data stream and obtaining the position data of each synchronization word.

[0052] The raw flight data files recorded in aircraft flight recorders are typically files ending with ".dat" or ".raw", and they store binary data. Therefore, raw flight data files are binary files. Binary files can usually only be read using programming languages ​​such as Python, C++, or MATLAB through code programming to form a binary data stream for further data use.

[0053] Meanwhile, during the reading of raw flight data files, different bytes can be used as the smallest unit for reading flight data files or flight data based on different ARINC specifications. For example, for flight data files based on the ARINC 717 specification, they can be read in two-byte units to form a binary data stream. This binary data stream is denoted as `buffer`, and the value at position i is denoted as `buffer[i]`. For flight data files based on the ARINC 767 specification, they can be read in one-byte units to form a binary data stream. Similarly, this binary data stream can be denoted as `buffer`, and the value at position i is denoted as `buffer[i]`.

[0054] Flight data based on the ARINC 717 specification, read using the above method, is based on data frames, with each frame containing four subframes or sub-frames. Specifically, such as... Figure 2 As shown, four subframes constitute a frame, and each subframe contains a fixed number of slots, which can be 128, 256, 512, 1024, or 2048. Each slot typically contains 12 data bits. Each subframe usually corresponds to one second. By observation, the first data word of each subframe can be used to identify and define the subframe; therefore, the first data word of each subframe can be used as the synchronization word for the subframe. For example, the synchronization word for each subframe can be obtained by selecting a specific pseudo-random Barker code as the first data word of each subframe.

[0055] Thus, the synchronization words for the four subframes of flight data based on the ARINC717 specification are, in order, the octal numbers Octal1107, Octal2670, Octal5107, and Octal6670, or the hexadecimal numbers 0x0247, 0x05B8, 0x0A47, and 0x0DB8, or the decimal numbers 583, 1464, 2631, and 3512. When the synchronization words for the four subframes are, in order, the decimal numbers 583, 1464, 2631, or 3512, if buffer[i] equals 583, 1464, 2631, or 3512, then the i-th position is the synchronization word for the corresponding subframe.

[0056] Flight data based on the ARINC 767 standard read using the above method is also based on data frames. Parameters at the same acquisition frequency are grouped, and a group of parameters at the same frequency is recorded sequentially to form a frame. Specifically, such as... Figure 3 As shown, each frame consists of a frame header, frame data, and a frame trailer. The frame header typically includes the frame start beacon, frame length, timestamp or timestamp, frame type, and frame identifier. The frame data typically includes data bits and end-of-file alignment bits. The frame trailer typically includes the frame type and frame identifier.

[0057] Flight data based on the ARINC767 specification typically contains multiple frames. Observation shows that each frame can be identified and defined using the frame start beacon; therefore, the start beacon of each frame can be used as the synchronization word for that frame, where the frame start beacon is a 16-bit fixed code. Thus, the synchronization word for a frame in ARINC767-based flight data is either the octal number Octa165620, the hexadecimal number EB90, or the decimal number 60304. When the synchronization word for a frame in ARINC767-based flight data is the decimal number 60304, and the ARINC767-based flight data file is read byte by byte, two adjacent bytes need to be identified for synchronization word recognition. For example, if buffer[i] equals 235 and buffer[i+1] equals 144, then positions i and i+1 are the synchronization words for the corresponding frames.

[0058] Following the method described above, all possible synchronization words are searched in the formed binary data stream, and the position information of each synchronization word is stored.

[0059] Regarding step two, the verification of all found synchronization words is performed. Specifically, this involves subtracting the position data of each synchronization word to obtain the corresponding position difference data, and then comparing all position difference data with the corresponding standard interval data in turn. When the position difference data and the standard interval data are consistent, the valid synchronization word that has been verified is obtained.

[0060] For flight data based on the ARINC 717 standard, the synchronization word of each subframe is the first data word of that subframe. Position difference data or position distance data between synchronization words are obtained based on the position data of each synchronization word. If the position difference data equals the fixed slot data, the synchronization word is valid. Since the first data word of each subframe is its synchronization word for flight data based on the ARINC 717 standard, it can be said that when the actual slot interval data between synchronization words equals the corresponding fixed slot number, i.e., the standard interval data, the synchronization word is a valid synchronization word. Preferably, two adjacent synchronization words are used sequentially to verify the validity of the synchronization word. If the position difference data does not equal the fixed slot data, the subframe data is discarded or the subframe synchronization word is corrected as needed.

[0061] For flight data based on the ARINC767 specification, the start beacon of a frame is its synchronization word. The binary data stream (denoted as buffer) formed by reading the ARINC767-based flight data file byte by byte, if the synchronization word position is i, i+1, then buffer[i+2] and buffer[i+3] represent the frame length (frame_length), buffer[i+9] or buffer[i+frame_length-1] represents the frame identifier (i.e., frame number), buffer[i+4], buffer[i+5], buffer[i+6] and buffer[i+7] represent the frame timestamp, and buffer[i+8] or buffer[i+frame_length-2] represents the frame type.

[0062] Therefore, the synchronization word verification of flight data based on the ARINC767 specification can be performed by comparing the frame header information and the frame tail information. If buffer[i+8] is equal to the type at the end of the frame, i.e., buffer[i+frame_length-2], and buffer[i+9] is equal to the frame identifier or frame number at the end of the frame, i.e., buffer[i+frame_length-1], then positions i and i+1 are valid synchronization words for the frame.

[0063] Alternatively, the method of determining the synchronization word interval can be used, but the ARINC 767 specification uses different frame numbers for flight data synchronization words, not fixed intervals, to determine the validity of the synchronization word. If it is not a valid synchronization word, the data in that frame is discarded, or the synchronization word of the frame is corrected as needed.

[0064] Alternatively, step two also includes creating a two-dimensional matrix that stores the position data and parameter information of all valid synchronization words. In the two-dimensional matrix, each row stores the parameter information and the position data corresponding to the parameter information for a valid synchronization word.

[0065] For example, such as Figure 4 As shown, the binary data stream formed based on the ARINC 717 specification flight data is converted into a two-dimensional matrix of total number of subframes (rows) * number of fixed word slots (columns) according to the fixed word slots (256) and the synchronization words of 4 subframes of the ARINC 717 specification flight data. Figure 4 In the table, the two-dimensional matrix is ​​presented.

[0066] For example, such as Figure 5 As shown, the binary data stream formed from flight data based on the ARINC 767 specification is first divided into different groups according to the frame number, frame length, and frame synchronization word of the flight data in the ARINC 767 specification. Each group is then reassembled into a two-dimensional matrix of N * frame length based on the number of valid synchronization words (N) in the group. The total two-dimensional matrix generally contains 10 groups of frame numbers. Figure 5 In the table, the two-dimensional matrix is ​​presented.

[0067] By reorganizing the obtained valid synchronization words and their corresponding parameter information by creating a two-dimensional matrix, and arranging each valid synchronization word in rows, decoding efficiency can be further improved.

[0068] Regarding step three, for each valid synchronization word, the parameters in its corresponding flight data are decoded. Specifically, for each valid synchronization word, the associated parameter information is obtained, and this information is matched against the parameter acquisition information contained in the decoding parameter library. If a match is successful, the parameter information is decoded by combining the attributes of each parameter in the flight data contained in the decoding parameter library, thereby obtaining the parameter values ​​of each parameter contained in the flight data.

[0069] The decoding parameter library includes parameter acquisition definition files for flight data provided by the aircraft manufacturer, which serve as the basis for flight data decoding. These files contain parameter acquisition information, providing a detailed description of the flight data recorder's configuration and acquisition parameters, accurately and clearly depicting the parameter recording process.

[0070] Furthermore, the decoding parameter library includes parameters with attributes such as parameter name, parameter identifier, record start bit, record end bit, parameter type, parameter conversion coefficient, and unit. For flight data based on the ARINC717 standard, the parameter attributes also include subframes. Parameters specifically include various types such as unsigned binary parameters, signed binary parameters, character parameters, and combined parameters.

[0071] Alternatively, to achieve efficient and rapid decoding of flight data parameters, the decoding parameter library can be reorganized as follows:

[0072] The decoding parameter library for flight data based on the ARINC 717 standard is organized into a format that includes parameter name, parameter unique identifier (Param_ID), subframe, start bit, end bit, parameter type, conversion factor, and unit. The decoding parameter library for flight data based on the ARINC 767 standard is organized into a format that includes parameter name, frame identifier (Frame_ID), start bit, end bit, parameter type, conversion factor, and unit. This facilitates the rapid matching of parameter information associated with the synchronization word of the flight data with the decoding parameter library.

[0073] To further improve the decoding efficiency of flight data, alternatively, step three also includes matching the original flight data with the parameter acquisition information of the decoding parameter library, recording the subframe, slot or frame number, and frame length according to the parameters of the decoding parameter library, recording the start bit and the end bit, and performing the matching work between the reconstructed original flight data and the decoding parameter information to complete the extraction of flight parameter data recording bits; recording the subframe, slot or frame number, and frame length according to the parameters of the decoding parameter library, recording the start bit and the end bit to complete the extraction of flight data recording bits.

[0074] Specifically, this step includes obtaining the record bit length of the parameter based on the record start bit information and record end bit information in the parameter information associated with the valid synchronization word; comparing the record bit length with the selected minimum read unit; if the value of the record bit length is less than the value of the minimum read unit, calculating the bit sum of the minimum read unit value and the record bit to obtain the truncated parameter information; if the value of the record bit length is greater than the value of the minimum read unit, calculating the bit sum of the minimum read unit value and the record bit, and sequentially merging the calculated bit sums to obtain the truncated parameter information, wherein the record bit is located between the record start bit and the record end bit, and each record bit corresponds to a portion of the parameter information.

[0075] When flight data based on the ARINC 717 specification is read in units of two bytes (12 bits including one slot), and flight data based on the ARINC 767 specification is read in units of one byte (8 bits), the start and stop bits of the parameter record can be within a data unit or span multiple raw data units, regardless of whether the decoding parameter library corresponds to the ARINC 717 or ARINC 767 specification. In other words, the record length of the parameter is typically 1 to 32 bits.

[0076] Therefore, if the start and end bits of a parameter are within the smallest unit of reading (including or equal to the smallest unit), the bitwise sum of the smallest unit value and the constructed record bit code can be used to obtain the record bit information of the parameter. If the start and end bits of a parameter are greater than the smallest unit of reading, the bitwise sum of the constructed record bit code based on the record bit length needs to be used in the smallest unit of the initial reading. Finally, the record fields are merged sequentially to obtain the record bit information of the parameter. For example, if a parameter based on the ARINC767 standard is in bits 5 to 7 of the smallest unit of buffer[j], buffer[j]&((1<<7)-(1<<4)) can be used to truncate the record bits of the parameter, thereby completing the truncation of the parameter information.

[0077] In step three, after determining the parameter information to be decoded and completing the matching of the parameter information with the parameter acquisition information of the decoding parameter library, the step of decoding the parameter information in combination with the attributes of the parameters contained in the decoding parameter library when the matching is successful also includes the following specific steps.

[0078] For unsigned binary parameters, the value is read using an unsigned data read-decode method, and the read value is multiplied by the corresponding parameter conversion coefficient to obtain the parameter value. Sometimes, the flight data parameter recording bits include multiple smallest units. In this case, the binary conversion of the original code value needs to consider the combination of high and low parts of multiple recording units.

[0079] For example, the lubricating oil quantity parameter in flight data based on the ARINC717 specification has the parameter definition information shown in Table 1. Then the lubricating oil quantity parameter value is (buff

[1121] +buff

[1122] *(2**12)+(buff

[1123] &((1<<8)-1))*(2**24))*1.

[0080] Table 1:

[0081] ID VVRD SUBF O-MSB O-LSB Parameter Assignment SLOPE Number c Number of wrdParts Part Number o SIGN 2791 1121 ALL 12 1 2791_Oil_Quantity 1 32 12 3 0 12 0 2791 1122 ALL 12 1 2791_Oil_Quantity 1 32 12 3 1 24 0 2791 1123 ALL 8 1 2791 Oil_Ouantitv 1 32 8 3 2 32 0

[0082] For signed binary parameters, the signed data reading and decoding method is used to read their values, and the read values ​​are multiplied by the corresponding parameter conversion coefficients to obtain the parameter values. Specifically, in the original flight data records, negative numbers are expressed in two's complement form. Therefore, the signed value conversion method first needs to determine whether the record bit containing the sign bit is 1. If it is 1, the original code of the flight data parameter record bit excluding the sign bit needs to be taken and two's complemented. That is, first subtract one, then invert, then convert the binary to decimal, multiply by the conversion coefficient, and finally multiply by -1 (i.e., to obtain a negative number). If the sign bit is 0, the flight data parameter record bit is directly converted to decimal and multiplied by the corresponding conversion coefficient.

[0083] For character parameters, an unsigned data reading and decoding method is used to read their values, and the read values ​​are converted into ASCII characters to obtain their parameter values. Specifically, this involves converting the data of the flight data parameter record bits from binary to decimal according to the decoding parameter library information, and then performing the conversion using the ASCII code mapping table. The decoding parameter library corresponding to the ARINC 717 standard typically uses 7 bits per character, while the decoding parameter library corresponding to the ARINC 767 standard typically uses 8 bits per byte.

[0084] For combined parameters, an unsigned data reading and decoding method is used to read their values ​​bit by bit, and the read values ​​are used as their parameter values. Specifically, combined parameters are usually composed of BCD codes. According to the decoding parameter library information, a fixed number of bits (1 to 4 bits) of binary data is used to represent one decimal digit. In this way, the parameter value data can be obtained by converting the fixed number of bits of binary data into decimal data.

[0085] The decoding method according to a preferred embodiment of the present invention further includes combining the decoded flight parameters to generate an engineering value file. Flight data based on the ARINC717 specification can be reassembled into engineering values ​​on a per-row, per-subframe basis, with one flight parameter per column. If the parameter is a high-frequency parameter (e.g., 4Hz), it can be sequentially divided into four columns, or the high-frequency parameter can be written by increasing the number of rows according to the slot order. If the parameter is a low-frequency parameter (e.g., 1 / 2Hz), it is written on a per-recording subframe basis, with unrecorded subframes (rows) left empty.

[0086] Flight data based on the ARINC 767 standard can be reassembled into engineered values ​​by timestamp, with each row being a common set of timestamps for each frame. If a frame is not recorded at the current timestamp, all parameters for that frame are empty; if a frame is recorded at the current timestamp, its values ​​are recorded. Finally, referring to the created two-dimensional matrix, the decoded parameter values ​​are reassembled, and an engineered value file in CSV format is output. All decoded engineered value data is written to a CSV file. Based on the specific technical implementation path of this decoding method, a corresponding flight data decoding tool suitable for the ARINC standard can be written using the general programming language C++.

[0087] According to some embodiments of the present invention, a computer-readable medium is also provided, on which computer-readable instructions are stored, which, when executed on a device, cause the device to perform the decoding method described above.

[0088] According to some embodiments of the present invention, a decoding system for flight data applicable to the ARINC specification can also be provided, wherein the decoding system includes a processor configured to acquire raw flight data files from a flight recorder and perform the decoding method described above.

[0089] Based on the decoding method and system of this invention, it is possible to quickly determine whether flight data acquisition meets specifications and whether there are problems with flight parameter recording, thus conveniently and quickly confirming the compliance of flight data recording with development requirements. Using the decoding method and system of this invention, the decoding of flight data from ARJ21 and C919 aircraft can be carried out, decoding the raw binary flight data to obtain the corresponding engineering value data. Moreover, this decoding method is based at least on the requirements of ARINC717 and ARINC767 specifications and design documents, ensuring that experimental decoding results are consistent with those of commercial decoding software, thereby guiding decoding analysis work.

[0090] Furthermore, the decoding method based on this invention and the decoding results obtained using this method can help users develop a decoding and analysis platform with independent intellectual property rights, thereby providing flight data application services such as flight quality monitoring, fuel analysis, and auxiliary troubleshooting analysis, greatly improving the efficiency of flight data application. For example, this decoding method and system can support the decoding of test data during the development phase of C919 aircraft flight data acquisition, and promptly report problems such as data type and data format in the summarized recorded flight data. Moreover, this decoding method can also be used to troubleshoot issues such as throttle lever parameter jumps in the flight recorder of ARJ21 aircraft, greatly supporting the decoding and analysis work of airline customers.

[0091] While specific embodiments of the present invention have been described above, those skilled in the art should understand that these are merely illustrative examples, and the scope of protection of the present invention is defined by the appended claims. Those skilled in the art can make various changes or modifications to these embodiments without departing from the principles and essence of the present invention, but all such changes and modifications fall within the scope of protection of the present invention.

Claims

1. A method for decoding flight data applicable to the ARINC specification, wherein the ARINC specification includes at least the ARINC717 specification and the ARINC767 specification, characterized in that, The decoding method includes the following steps: Read the raw flight data file from the flight recorder to form a binary data stream, and find all synchronization words in the read data stream and obtain the position data of each synchronization word; Subtract the position data of each synchronization word to obtain the corresponding position difference data. Then, compare all position difference data with the corresponding standard interval data in turn. When the position difference data and the standard interval data are consistent, the corresponding synchronization word is confirmed as a valid synchronization word that has been verified. For each valid synchronization word, obtain the associated parameter information, then match the parameter information with the parameter acquisition information contained in the decoding parameter library, and when the match is successful, decode the parameter information by combining the attributes of each parameter in the flight data contained in the decoding parameter library, thereby obtaining the parameter values ​​of each parameter contained in the flight data. Specifically, for flight data based on the ARINC717 specification, the synchronization word is the first data word of the subframe; for flight data based on the ARINC767 specification, the synchronization word is the start beacon of the frame. For the verification of synchronization words in flight data based on the ARINC717 specification, the specification interval data is fixed word slot data; for the verification of synchronization words in flight data based on the ARINC767 specification, the specification interval data is frame length data. For flight data based on the ARINC 767 specification, the steps for verifying a valid synchronization word also include: For each synchronization word, the frame header information and frame tail information of the frame corresponding to the synchronization word are obtained and compared. When the frame type and frame identifier included in the frame header information and the frame tail information are consistent, the synchronization word is confirmed as a valid synchronization word that has been verified.

2. The decoding method according to claim 1, characterized in that, The decoding parameter library includes parameter acquisition definition files for flight data provided by the aircraft manufacturer, which contain parameter acquisition information.

3. The decoding method according to claim 2, characterized in that, The attributes of the parameter include parameter name, parameter identifier, record start bit, record end bit, parameter type, parameter conversion factor, and unit; For flight data based on the ARINC717 specification, the attributes of the parameters also include subframes.

4. The decoding method according to claim 3, characterized in that, The parameters include unsigned binary parameters, signed binary parameters, character parameters, and combined parameters. The steps for decoding the parameter information by combining the attributes of each parameter in the flight data contained in the decoding parameter library when a match is successful include: For unsigned binary parameters, the value is read using the unsigned data reading and decoding method, and the read value is multiplied by the corresponding parameter conversion coefficient to obtain the parameter value. For signed binary parameters, the value is read using a signed data reading and decoding method, and the read value is multiplied by the corresponding parameter conversion coefficient to obtain the parameter value. For character parameters, the value is read using an unsigned data reading and decoding method, and the read value is converted into an ASCII character to obtain the parameter value. For combined parameters, an unsigned data reading and decoding method is used to read their values ​​bit by bit in sequence, and the read values ​​are used as their parameter values.

5. The decoding method according to claim 4, characterized in that, The decoding method also includes: Create a two-dimensional matrix that stores the position data and parameter information of all valid synchronization words. In the two-dimensional matrix, each row stores the parameter information corresponding to a valid synchronization word and the position data corresponding to the parameter information.

6. The decoding method according to claim 5, characterized in that, The decoding method also includes: For each valid synchronization word, the record bit length of the parameter is obtained based on the record start bit information and record stop bit information in the associated parameter information. The record bit length is then compared with the selected minimum read unit. When the value of the record bit length is less than the value of the minimum reading unit, the bit sum of the minimum reading unit value and the record bit is calculated to obtain the truncated parameter information; When the value of the record bit length is greater than the value of the minimum read unit, the bit sum of the minimum read unit value and the record bit is calculated, and the calculated bit sums are sequentially combined to obtain the truncated parameter information. The record bit is located between the record start bit and the record end bit, and each record bit corresponds to a portion of parameter information.

7. The decoding method according to claim 6, characterized in that, The decoding method further includes: for flight data based on the ARINC717 specification, reading the flight data from the corresponding original flight data file in units of two bytes.

8. The decoding method according to claim 6, characterized in that, The decoding method further includes: for flight data based on the ARINC767 specification, reading the flight data from the corresponding original flight data file in units of one byte.

9. The decoding method according to claim 6, characterized in that, The decoding method further includes: for flight data based on the ARINC717 specification, reorganizing the parameter values ​​of the decoded flight data in a manner of one subframe per line to form a decoded engineering value file, wherein the engineering value file is a CSV format file; For flight data based on the ARINC767 specification, the parameter values ​​of the decoded flight data are recombined according to the same timestamp for each line to form a decoded engineering value file, which is a CSV file.

10. A computer-readable medium having stored thereon computer-readable instructions, wherein the computer-readable instructions, when executed on a device, cause the device to perform the decoding method according to any one of claims 1 to 9.

11. A decoding system for flight data files applicable to the ARINC specification, characterized in that, The decoding system includes a processor configured to acquire the raw flight data file from the flight recorder and execute the decoding method according to any one of claims 1 to 9.