Mud pulse data encoding and decoding method, device and computer equipment

By employing recursive operations and the application of combined code dictionaries, combined code tables can be generated quickly, solving the problem of low generation efficiency and improving the encoding and decoding efficiency of mud pulse data, making it suitable for more drilling measurement scenarios.

CN122204055APending Publication Date: 2026-06-12CHINA NAT PETROLEUM CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-10
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

The existing technology has low efficiency in generating combined code tables, resulting in low efficiency in mud pulse data encoding and decoding, and thus cannot be effectively applied to the field of measurement while drilling.

Method used

By employing recursive operations and combined code table parameters, combined code tables that meet user needs can be generated quickly. Combined code tables associated with combined code table parameters can be found in the combined code dictionary, thereby improving encoding and decoding efficiency.

Benefits of technology

By combining recursive operations with a combined code dictionary, the efficiency of combined code encoding and decoding is improved, making it suitable for more drilling measurement scenarios and expanding the scope of application of combined codes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122204055A_ABST
    Figure CN122204055A_ABST
Patent Text Reader

Abstract

The application provides a mud pulse data coding and decoding method, device and computer equipment, and relates to the field of measurement while drilling. The coding method comprises the following steps: obtaining an original value and a combination code table parameter pre-used by the original value; searching for a combination code table associated with the combination code table parameter in a combination code dictionary or recursively operating to obtain a combination code table satisfying a constraint by taking the combination code table parameter as the constraint; when the recursive operation cannot obtain the combination code table satisfying the constraint, generating an interactive instruction to update the combination code table parameter pre-used and jump to trigger the execution of the previous step; the combination code table in the combination code dictionary is a combination code table satisfying the constraint obtained by recursive operation by taking the combination code table parameter associated with the combination code table as the constraint; and a combination code corresponding to the original value is matched. In the above method, the combination code table is quickly generated by using the recursive principle, so that the coding and decoding efficiency of the combination code is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of measurement while drilling technology, and specifically relates to a mud pulse data encoding method, a mud pulse data decoding method, a mud pulse data encoding device, a mud pulse data decoding device, a machine-readable storage medium, and a computer device. Background Technology

[0002] In the field of wireless measurement while drilling, it is necessary to measure and monitor drilling conditions in real time to ensure safe working conditions, and at the same time collect formation information for drilling construction decision analysis to guide the drilling system to the target area. Therefore, the transmission of real-time data is crucial.

[0003] In practical applications, major drilling and logging companies have their own signal transmission systems. The most widely used system employs mud pulses as the transmission medium. Data acquired downhole is processed through engineering value conversion and encoded into signals suitable for mud pulse transmission. These signals are then transmitted along the drill pipe to the surface. Surface-mounted mud pressure sensors collect riser pressure, which is converted into digital signals by data acquisition equipment. These digital signals undergo filtering, noise reduction, detection, and decoding to recover the original values. Similarly, the surface system encodes control commands into mud pulse signals according to certain rules and transmits them through the drill pipe to downhole instruments, thereby controlling the downhole instruments. As described above, the process of converting control commands / downhole acquired data into mud-transmittable signals is called the encoding process, and the process of recovering the original values ​​from the mud pulses and converting them back into control commands / downhole acquired data is called the decoding process.

[0004] Baker Hughes' AutoTrak measurement-while-drilling system uses combined codes to encode and decode commands / data. In practical engineering applications, it has a high transmission rate and a low bit error rate. However, the combined code encoding and decoding method of Baker Hughes' AutoTrak measurement-while-drilling system is not publicly disclosed. Users can only know some characteristic information of the combined codes through its ground decoding software. Chen Jia et al. introduced the basic mathematical principles of combined codes and verified the generation rules of the 3-in-19 code table of Baker Hughes' combined codes, as well as the relationship between combined codes and engineering values. They also provided some values ​​in the actual decoding through the ground decoding software. However, they did not explain the specific generation algorithm of the combined code table for different combinations used by Baker Hughes (Chen Jia. Basic principles and applications of optimized combined codes [J]. Petroleum and Petrochemical Materials Procurement, 2021(31):36-38). Xue Qiulai verified the 2-in-11 encoding process of Baker Hughes combined codes through manual encoding and sorted out the workflow of computer automatic encoding. However, it is only applicable to the generation process of combined code tables with a pulse number of 2, a minimum code spacing of 2, and satisfying the pulse slot position and even parity, which has limitations (Xue Qiulai. Discussion on combined code encoding and decoding methods [J]. Chemical Engineering and Equipment, 2020(11):89-91).

[0005] Therefore, there is currently no publicly available universal algorithm for generating combined codes. In the field of measurement while drilling, if you want to use combined codes to encode and modulate signals, you need to spend a lot of time and effort to build this combined code table in advance. As the amount of information to be transmitted increases, different combined code tables are needed to match, which brings great challenges to the promotion and application of combined codes. Summary of the Invention

[0006] The purpose of this application is to provide a mud pulse data encoding method, a mud pulse data decoding method, a mud pulse data encoding device, a mud pulse data decoding device, a machine-readable storage medium, and a computer device to overcome the technical problem of low efficiency in the engineering application of combined codes due to the low efficiency of combined code table generation in the prior art.

[0007] To achieve the above objectives, a first aspect of this application provides a mud pulse data encoding method, comprising: Convert the data to be communicated into its original value to be encoded using the combined code; Obtain the combined code table parameters to be used for the original value; The code table associated with the combined code table parameters is found in the combined code dictionary, or a combined code table satisfying the combined code constraints is obtained by recursively calculating using the combined code table parameters as combined code constraints. If the recursive calculation fails to obtain a combined code table satisfying the combined code constraints, an interactive instruction is generated to update the pre-selected combined code table parameters and jump to trigger the execution of obtaining the original value of the pre-selected combined code table parameters. The combined code table in the combined code dictionary is a combined code table satisfying the combined code constraints obtained by recursively calculating using the combined code table associated with the combined code table parameters as combined code constraints. The combination code corresponding to the original value is matched from the result combination code table, or the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary, or the combination code table that satisfies the combination code constraints obtained by recursive operation, so as to obtain the control parameters for controlling the generation of mud pressure pulses. The result combination code table includes at least the content of the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary or the content of the combination code table that satisfies the combination code constraints obtained by recursive operation.

[0008] In a specific embodiment of this application, the combined code table parameters include the number of codes, the number of positions, the check rules, and the minimum code interval between adjacent codes.

[0009] In a specific embodiment of this application, in the recursive operation of generating a combined code, the current recursive round adds a subsequent code position to a code position of the combined code generated in the previous recursive round, and uses the number of codes of the combined code as the baseline condition for the recursive operation.

[0010] In a specific embodiment of this application, using the combined code table parameters as combined code constraints, a combined code table satisfying the combined code constraints is obtained through recursive computation, including: Initialize the newly constructed combination code table to an empty table; Initialize the combo code object as an empty object; Initialize the tag code position; The tag code position is polled from the initial position to the maximum allowed code position. In each polling cycle, the combined code object is obtained by recursively calculating the tag code position corresponding to the polling cycle. The first code position of each combined code in the combined code object is the tag code position. Using the combined code table parameters as combined code constraints, the combined codes that satisfy the combined code constraints within the combined code object are added to the newly constructed combined code table; During polling, if the number of codes in each combination code in the combination code object obtained within the polling period corresponding to the initialization position of the tag code position does not reach the number of codes in the combination code, and simultaneously meets the verification rules and the minimum code interval, then the polling ends and jumps to trigger the execution of the generation interaction instruction.

[0011] In a specific embodiment of this application, the maximum allowed code position is calculated using the following formula: ; in, Indicates the position of the maximum allowed code. Indicates the code number of the combined code. Indicates the number of positions. This indicates the number of codes in the current combination code object. It represents the minimum code interval between adjacent codes.

[0012] In a specific embodiment of this application, the combination code table that satisfies the combination code constraint obtained by recursive operation is added to the combination code dictionary.

[0013] A second aspect of this application provides a method for decoding mud pulse data, comprising: Collect mud pressure pulses and convert them into electronic pulse signals; The combined code to be decoded is identified based on the electronic pulse signal; Obtain the combined code table parameters used by the combined code; The combined code table associated with the combined code table parameter is found in the combined code dictionary, or the combined code table parameter is used as the combined code constraint, and a combined code table satisfying the combined code constraint is obtained by recursive operation. The combined code table in the combined code dictionary is a combined code table that satisfies the combined code constraint after recursive operation with the combined code table associated with the combined code table parameter as the combined code constraint. The original value corresponding to the combined code is matched from the combined code table obtained from the combined code dictionary, or the combined code table associated with the combined code table parameters used by the combined code, or the combined code table that satisfies the combined code constraints obtained by recursive operation, so as to convert the original value into an engineering value or control command. The resulting combined code table includes at least the contents of the combined code table associated with the combined code table parameters obtained from the combined code dictionary or the combined code table that satisfies the combined code constraints obtained by recursive operation.

[0014] In a specific embodiment of this application, the combined code table parameters include the number of codes, the number of positions, the check rules, and the minimum code interval between adjacent codes.

[0015] In a specific embodiment of this application, in the recursive operation of generating a combined code, the current recursive round adds a subsequent code position to a code position of the combined code generated in the previous recursive round, and uses the number of codes of the combined code as the baseline condition for the recursive operation.

[0016] In a specific embodiment of this application, using the combined code table parameters as combined code constraints, a combined code table satisfying the combined code constraints is obtained through recursive computation, including: Initialize the newly constructed combination code table to an empty table; Initialize the combo code object as an empty object; Initialize the tag code position; The tag code position is polled from the initial position to the maximum allowed code position. In each polling cycle, the combined code object is obtained by recursively calculating the tag code position corresponding to the polling cycle. The first code position of each combined code in the combined code object is the tag code position. Using the combined code table parameters as combined code constraints, the combined codes that satisfy the combined code constraints within the combined code object are added to the newly constructed combined code table; During polling, if the number of codes in each combination code in the combination code object obtained within the polling period corresponding to the initialization position of the tag code position does not reach the number of codes in the combination code, and simultaneously meets the verification rules and the minimum code interval, then jump to trigger the execution of the generation interaction instruction.

[0017] In a specific embodiment of this application, the maximum allowed code position is calculated using the following formula: ; in, Indicates the position of the maximum allowed code. Indicates the code number of the combined code. Indicates the number of positions. This indicates the number of codes in the current combination code object. It represents the minimum code interval between adjacent codes.

[0018] In a specific embodiment of this application, the combination code table that satisfies the combination code constraint obtained by recursive operation is added to the combination code dictionary.

[0019] A third aspect of this application provides a mud pulse data encoding device, comprising: The first conversion module is used to convert the data to be communicated into the original value to be encoded using a combination code; The first code table parameter acquisition module is used to acquire the code table parameters of the combined code to be used in the original value; The first combined code table acquisition module is used to search for the combined code table associated with the combined code table parameters in the combined code dictionary, or to recursively calculate the combined code table that satisfies the combined code constraints using the combined code table parameters as combined code constraints; if the recursive calculation fails to obtain a combined code table that satisfies the combined code constraints, an interactive instruction is generated to update the pre-selected combined code table parameters, and a jump is initiated to trigger the acquisition of the original value pre-selected combined code table parameters; the combined code table in the combined code dictionary is a combined code table that satisfies the combined code constraints obtained by recursively calculating the combined code table that satisfies the combined code constraints using the combined code table associated with the combined code table parameters as combined code constraints. The encoding module is used to match the combination code corresponding to the original value from the result combination code table, or the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary, or the combination code table that satisfies the combination code constraints obtained by recursive operation, so as to obtain the control parameters for controlling the generation of mud pressure pulses. The result combination code table includes at least the content of the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary or the content of the combination code table that satisfies the combination code constraints obtained by recursive operation.

[0020] A fourth aspect of this application provides a mud pulse data decoding device, comprising: The second conversion module is used to acquire mud pressure pulses and convert the mud pressure pulses into electronic pulse signals. The identification module is used to identify the combination code to be decoded based on the electronic pulse signal; The second code table parameter acquisition module is used to acquire the combined code table parameters used by the combined code; The second combined code table acquisition module is used to find the combined code table associated with the combined code table parameters in the combined code dictionary or to recursively calculate the combined code table that satisfies the combined code constraints by using the combined code table parameters as combined code constraints. The combined code table in the combined code dictionary is the combined code table that satisfies the combined code constraints by recursively calculating the combined code table that is associated with the combined code table parameters as combined code constraints. The decoding module is used to match the original value corresponding to the combined code from the result combined code table, or the combined code table associated with the combined code table parameters used by the combined code obtained from the combined code dictionary, or the combined code table that satisfies the combined code constraints obtained by recursive operation, so as to convert the original value into an engineering value or control command. The result combined code table includes at least the contents of the combined code table associated with the combined code table parameters obtained from the combined code dictionary or the combined code table that satisfies the combined code constraints obtained by recursive operation.

[0021] The fifth aspect of this application provides a computer device, comprising: The memory is configured to store instructions; and The processor is configured to retrieve the instructions from the memory and, when executing the instructions, to implement the mud pulse data encoding method according to the first aspect of this application or the mud pulse data decoding method according to the second aspect of this application.

[0022] A sixth aspect of this application provides a machine-readable storage medium storing instructions for causing a machine to perform a mud pulse data encoding method according to a first aspect of this application or a mud pulse data decoding method according to a second aspect of this application.

[0023] The above technical solution utilizes recursive operations and combined code table parameters to quickly generate the entire combined code table that meets the user's needs, or finds the combined code table associated with the combined code table parameters from the combined code dictionary. The combined code tables in the combined code dictionary are also generated using recursive operations and combined code table parameters, thereby improving the combined code encoding and decoding efficiency when mud is used as the transmission medium. Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description

[0024] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings: Figure 1 A flowchart illustrating a mud pulse data encoding method according to an embodiment of this application is shown schematically. Figure 2 The diagram schematically illustrates another flowchart of a mud pulse data encoding method according to an embodiment of this application; Figure 3 This illustration shows a combination code; Figure 4 A flowchart illustrating a mud pulse data decoding method according to an embodiment of this application is shown schematically. Figure 5 The diagram schematically illustrates another flowchart of a mud pulse data decoding method according to an embodiment of this application; Figure 6 A schematic block diagram of a computer device according to an embodiment of this application is shown. Detailed Implementation

[0025] The specific embodiments of this application will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit the embodiments of this application.

[0026] If the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first" or "second" may explicitly or implicitly include at least one of those features. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.

[0027] Example 1 To overcome the technical problem of low encoding and decoding efficiency of mud pulse data due to the low efficiency of combined code table generation in the prior art, the embodiments of this application encode mud pulse data in the following way: Convert the data to be communicated into its original value to be encoded using the combined code; Obtain the combined code table parameters for the original value to be used as described above; The code table associated with the combined code table parameter is found in the combined code dictionary, or a combined code table constrained by the combined code table parameter is recursively calculated to obtain a combined code table that satisfies the combined code constraint. If the recursive calculation fails to obtain a combined code table that satisfies the combined code constraint, an interactive instruction is generated to update the pre-selected combined code table parameter and jump to trigger the execution of obtaining the pre-selected combined code table parameter as described above. The combined code table in the combined code dictionary is a combined code table that satisfies the combined code constraint obtained by recursively calculating the combined code table parameter associated with the combined code table. The combined code corresponding to the original value as described above is matched from the combined code table obtained from the combined code dictionary, or the combined code table associated with the parameters of the combined code table to be used, or the combined code table that satisfies the combined code constraints obtained by recursive operation, so as to obtain the control parameters for controlling the generation of mud pressure pulses. The resulting combined code table includes at least the contents of the combined code table associated with the parameters of the combined code table to be used, or the combined code table that satisfies the combined code constraints obtained by recursive operation.

[0028] It is important to understand that using the combined code table parameters as constraints for the combined code means that the generated combined code must meet the requirements of the combined code table parameters.

[0029] As an example, the parameters of the combined code table include the number of codes, the number of positions, the check rules, and the minimum code interval between adjacent codes. Correspondingly, using the combined code table parameters as constraints for combined codes specifically means that: the number of codes in the generated combined code must be equal to the number of codes in the combined code table parameters; the number of positions in the generated combined code table must be equal to the number of positions in the combined code table parameters; the generated combined code must satisfy the check rules; and the code interval between adjacent codes in the generated combined code must be greater than or equal to the minimum code interval in the combined code table parameters.

[0030] Specifically, in this application, during the recursive operation of generating a combined code, the current recursive iteration adds a subsequent code position to a code position generated in the previous recursive iteration, and the number of codes reaching the combined code is used as the baseline condition for the recursive operation. The baseline condition is also the recursion termination condition.

[0031] Based on the above embodiments, this application has at least the following beneficial effects: 1) In the prior art, after determining the combined code table parameters to be used, only one original value of the combined code is usually generated at a time, and combined codes with different original values ​​are generated separately, resulting in low encoding efficiency of the combined code. However, in the above embodiment of this application, recursive operation is used to quickly generate the entire combined code table that meets the user's needs according to the pre-selected combined code table parameters, thereby improving the combined code encoding efficiency when mud is used as the transmission medium. 2) During encoding, the combined code table can be generated in real time based on the parameters of the pre-selected combined code table, which is available immediately and does not require prior preparation of the combined code table, thus improving the efficiency of engineering applications of combined codes. 3) When using the combined code dictionary method, the combined code table corresponding to the same combined code table parameters only needs to be generated once for future use. That is, it is used to look up the table during the program's runtime lifecycle. Furthermore, the content of the combined code dictionary can be expanded in real time as application requirements change, thereby improving the efficiency of combined code encoding. 4) Whether it is the combination of the combined code dictionary method and the "ready-to-use" real-time generation method of the combined code table, or the "ready-to-use" real-time generation method of the combined code table without using the combined code dictionary, the customized combined code table generation is realized. It can be seen that the combined code table generation method provided by the above embodiments of this application can be compatible with more drilling measurement scenarios and expand the scope of application of combined codes.

[0032] As in the above embodiment, the combined code dictionary method can significantly improve the efficiency of combined code encoding. Therefore, combining... Figure 1 and Figure 2As shown, a preferred embodiment of this application provides a mud pulse data encoding method that may include steps 102 to 108. It should be understood that, in specific applications, the mud pulse data encoding method may include all steps 102 to 108, or it may include only some steps 102 to 108. For example, in one specific embodiment, the mud pulse data encoding method includes only steps 104 to 108.

[0033] Step 102: Convert the data to be communicated into the original value to be encoded using the combined code.

[0034] Specifically, in this application, the data to be communicated uses mud as the transmission medium.

[0035] In one example, the data to be communicated is measurement data obtained from downhole instruments.

[0036] In one example, the data to be communicated is a control command generated by the ground system.

[0037] When the data to be communicated is measurement data obtained from downhole instruments, the data to be communicated can be converted into the original value to be encoded using the combined code in the following way: The data to be communicated is substituted into the engineering value conversion formula to calculate the original value to be encoded using the combined code.

[0038] For example, the formula for converting engineering values ​​is expressed as: ; in, This represents the data to be communicated, i.e., the engineering value. This indicates the lower boundary of the range of values ​​for the engineering project. This indicates the upper boundary of the range of values ​​for the engineering value, and 'a' indicates the number of binary bits to be used in the original value.

[0039] Taking a gamma detector as an example, the range of gamma values ​​is [0 pcs, 450 cps]. The binary number of bits 'a' to be used for the original value to be encoded is 11. The current measurement value detected by the gamma detector is 45 cps. By using the above engineering value conversion formula, the decimal representation of the original value to be encoded is 204, and the binary representation of the original value to be encoded is 00011001100.

[0040] Step 104: Obtain the combined code table parameters to be used for the original value obtained in step 102.

[0041] As an optional embodiment of this application, the combined code table parameters include the number of codes, the number of positions, the check rule, and the minimum code interval between adjacent codes. The types of check rules include odd check, even check, and no check. To avoid the probability of probing pulses in incorrect slots, a minimum code interval between adjacent codes is generally required.

[0042] For example, such as Figure 3 As shown, the number of positions refers to dividing a defined position into N equal parts, where N is the number of positions, also known as the number of slots. The code number of a combination code is usually represented by M. The code number of a combination code refers to the total number of electrical pulses generated by the pulse generator at a specified position. Each code in the combination code is labeled as M1, M2, ..., M... i-1 M i , The positions of each code within the combined code are marked as L(M1), L(M2), ..., L(M... i-1 ), ..., L(M i ), Figure 3 In the code, the position of M1 is L(M1) = 3, and the position of M2 is L(M2) = 6. Therefore, the inter-symbol spacing between M1 and M2 is L(M2) – L(M1) – 1 = 6 – 3 – 1 = 2. Parity rules are typically represented using parity, with odd parity, even parity, and no parity represented by 1, 2, and 0 respectively. Even parity requires the sum of the positions of the M codes to be equal to the parity value. Even numbers, i.e. Odd parity requires the positions of M codes and... It is an odd number, that is: The minimum code interval between adjacent codes can be represented by minSpace, and the formula for calculating the code interval is: D = L(M i )–L(M i-1 )-1.

[0043] Step 106: Search the combination code dictionary for a combination code table associated with the pre-selected combination code table parameters. If yes, proceed to step 108. Otherwise, use the pre-selected combination code table parameters as combination code constraints, recursively calculate a combination code table that satisfies the constraints, and store the combination code table in the combination code dictionary. If the recursive calculation fails to obtain a combination code table that satisfies the constraints, generate an interactive instruction to update the pre-selected combination code table parameters and return to step 104.

[0044] Step 108: Match the combination code corresponding to the original value obtained in step 102 from the result combination code table, or the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary, or the combination code table that satisfies the combination code constraints obtained by recursive operation, so as to generate control parameters for controlling the generation of mud pressure pulses. The result combination code table includes at least the contents of the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary or the combination code table that satisfies the combination code constraints obtained by recursive operation.

[0045] In a preferred embodiment of this application, the combination code corresponding to the original value is matched from the result combination code table. Because the result combination code table is a separate table with a fixed storage address, it facilitates the lookup of combination codes and is more efficient. It can be seen that constructing the result combination code table separately improves the encoding efficiency of combination codes.

[0046] As an example, after retrieving the combined code table associated with the combined code table parameters from the combined code dictionary, the contents of this combined code table are copied to the resulting combined code table. After completing the combined code encoding of the current original value, the resulting combined code table is cleared. Similarly, after recursively obtaining a combined code table that satisfies the combined code constraints, the contents of this combined code table are copied to the resulting combined code table. After completing the combined code encoding of the current original value, the resulting combined code table is cleared.

[0047] As an optional embodiment of this application, a combination code table satisfying the combination code constraint is obtained by recursive calculation in the following manner: Initialize the newly constructed combination code table to an empty table; Initialize the combo code object to an empty object; Initialization code tag code position; The tag code position is polled from the initial position to the maximum allowed code position. In each polling cycle, the combined code object is obtained by recursively calculating based on the tag code position. The first code position of each combined code in the combined code object is the tag code position. Using the pre-selected combination code table parameters as combination code constraints, add the combination codes that satisfy the combination code constraints within the combination code object to the newly constructed combination code table; During polling, if the number of codes in each combination code within the combination code object obtained within the polling period corresponding to the initialization position of the tag code position does not reach the total number of codes for the combination code, and simultaneously meets the verification rules and the minimum code interval, then jump to trigger the execution of the generation interaction instruction.

[0048] It is important to understand that if the number of codes in each combination code within the combination code object obtained during the polling period corresponding to the initialization position of the tag code position does not reach the total number of codes for the combination code, and simultaneously meets the verification rules and the minimum code interval, it means that a combination code table that meets the constraints of the currently pre-selected combination code table parameters cannot be obtained, and the parameters of the pre-selected combination code table need to be reset.

[0049] As an example, the combination code satisfying the combination code constraint specifically means that: the number of codes in the combination code is equal to the number of combination codes in the combination code table parameters; the combination code satisfies the verification rules; and the code interval between adjacent codes in the combination code is greater than or equal to the minimum code interval in the combination code table parameters.

[0050] Specifically, to reduce the probability of detecting pulse signals at incorrect locations, the last minSpace positions out of N positions are typically set to unavailable. Therefore, the maximum allowed code position can be calculated using the following formula: ; in, Indicates the position of the maximum allowed code. Indicates the code number of the combined code. Indicates the number of positions. This indicates the number of codes in the current combination code object. It represents the minimum code interval between adjacent codes.

[0051] Table 1 shows the combined code table with M=2, N=14, minSpace=3, and even parity check, i.e., the 2-in-14 combined code table. The table shows some original values ​​and their corresponding combined codes. Table 2 shows the combined code table with M=3, N=17, minSpace=2, and even parity check, i.e., the 3-in-17 combined code table. The table shows some original values ​​and their corresponding combined codes.

[0052] Table 1

[0053] Table 2

[0054] Referring to Tables 1 and 2, in a specific example, the tag code position is initialized to 1, and the recursive operation obtains a combination code table that satisfies the combination code constraint. The specific steps include: Step A1: Initialize the newly constructed combined code table as an empty table, initialize the combined code object as an empty object, initialize the code position start to 1 and set it as the current code position, and set the tag code position to the current code position start.

[0055] Step A2: Define a recursive function F. The parameters of function F include: M, N, minSpace, Parity, start, a list of combined codes, and the newly constructed combined code table. Apply a polling and recursive algorithm to generate combined code objects that conform to the parameters of the pre-selected combined code table, and add the generated combined code objects to the newly constructed combined code table.

[0056] Specifically, in step A2, the logic for generating the combined code based on polling and recursive algorithms is as follows: (1) If the number of codes in the combined code object is equal to M, then the verification rule and the minimum code interval condition are judged. If both the verification rule and the minimum code interval condition are met, the combined code is saved to the newly constructed combined code table, and then jump to (3). (2) Execute a for loop, that is, poll the tag code position from 1 to the maximum allowed code position. In each polling cycle, perform the following: a) Add the current tag code position to the combo code object; b) Update the value of start to start=start+(minSpace+1) and call its own recursive function F; c) Delete the last element in the combo code object; (3) The recursive function returns.

[0057] It's important to understand that deleting the last element in the combo code object refers to the processing of the polling position; the element can be deleted after the polling is complete.

[0058] As an example, a recursive function is represented as GenerateCombinations, whose parameters include N, M, minSpace, parity, start, and List. <byte>`combination` and `MNTable results` represent: position number, code count of the combination code, minimum code interval, current code position, combination code object, and newly constructed combination code table, respectively. The code block structure executed within the recursive function is as follows: `if-else if-else` branch statements, recursive function return, `for` loop body, recursive function return, `for` loop body initializes the loop body control variable using the `start` variable and limits the loop body control variable to be less than or equal to the maximum allowed code position. The `if` statements in the `if-else` block evaluate the following conditions: whether the code count of the combination code in the combination code object equals the code count of the combination code, no check, and whether the code interval of the combination code meets the minimum code interval. If all conditions are met, the combination code object is added to the newly constructed combination code table. The `else if` statements in the `if-else` block evaluate the following conditions: whether the code count of the combination code in the combination code object equals the code count of the combination code, whether the combination code meets odd check, and whether the code interval of the combination code meets the minimum code interval. In an if-else statement, the order of condition evaluation is as follows: whether the number of codes in the combined code object is equal to the number of codes in the combined code; whether the combined code satisfies even parity; and whether the code interval of the combined code meets the minimum code interval. The code block structure executed within the for loop includes: adding the current code position to the combined code object; updating the value of start to start = start + (minSpace + 1) and calling its own recursive function GenerateCombinations; and deleting the last element in the combined code object.

[0059] As shown in Table 1, after obtaining the 1-5 combination codes, 1 is fixed and the position of the last code is changed to obtain 1-7, 1-9, and 1-11 that satisfy the combination code constraints; after obtaining the 2-6 combination codes, 2 is fixed and the position of the last code is changed to obtain 2-8, 2-10, and 2-12 that satisfy the combination code constraints; and so on, to obtain all combination codes that satisfy the combination code constraints.

[0060] As shown in Table 2, after obtaining the 1-4-7 combination code, keep 1-4 fixed and change the position of the last code to obtain 1-4-9, 1-4-10, 1-4-13, and 1-4-15 that satisfy the combination code constraint. Then, after obtaining 1-5-8, keep 1-5 fixed and change the position of the last code to obtain 1-5-10, 1-5-12, and 1-5-14 that satisfy the combination code constraint. And so on, to obtain 1-12-15. After obtaining the 2-5-9 combination code, keep 2-5 fixed and change the position of the last code to obtain 2-5-11, 2-5-13, and 2-5-15 that satisfy the combination code constraint. And so on, to obtain 2-8-12. And so on, to obtain all combination codes that satisfy the combination code constraint.

[0061] Example 2 To overcome the technical problem of low encoding and decoding efficiency of mud pulse data due to the low efficiency of combined code table generation in the prior art, the embodiments of this application decode mud pulse data in the following way: Collect mud pressure pulses and convert them into electronic pulse signals; The combined code to be decoded is identified based on the electronic pulse signal; Obtain the combined code table parameters used by the combined code; The combined code table associated with the combined code table parameter is found in the combined code dictionary, or the combined code table parameter is used as the combined code constraint, and a combined code table satisfying the combined code constraint is obtained by recursive operation; the combined code table in the combined code dictionary is a combined code table that satisfies the combined code constraint obtained by recursive operation after using the combined code table associated with the combined code table parameter as the combined code constraint. The original value corresponding to the combined code is matched from the combined code table obtained from the combined code dictionary, or the combined code table associated with the combined code table parameters used by the combined code, or the combined code table that satisfies the combined code constraints obtained by recursive operation. This is so that the engineering value or control command can be obtained by converting the matched original value. The resulting combined code table shall include at least the contents of the combined code table associated with the combined code table parameters obtained from the combined code dictionary or the combined code table that satisfies the combined code constraints obtained by recursive operation.

[0062] It is important to understand that using the combined code table parameters as constraints for the combined code means that the generated combined code must meet the requirements of the combined code table parameters.

[0063] As an example, the parameters of the combined code table include the number of codes, the number of positions, the check rules, and the minimum code interval between adjacent codes. Correspondingly, using the combined code table parameters as constraints for combined codes specifically means that: the number of codes in the generated combined code must be equal to the number of codes in the combined code table parameters; the number of positions in the generated combined code table must be equal to the number of positions in the combined code table parameters; the generated combined code must satisfy the check rules; and the code interval between adjacent codes in the generated combined code must be greater than or equal to the minimum code interval in the combined code table parameters.

[0064] Specifically, in this application, during the recursive operation of generating a combined code, the current recursive iteration adds a subsequent code position to a code position generated in the previous recursive iteration, using the code number of the combined code as the baseline condition for the recursive operation. The baseline condition is also the recursion termination condition.

[0065] Based on the above embodiments, this application has at least the following beneficial effects: 1) In the prior art, after determining the combined code table parameters to be used, only one original value of the combined code is usually generated at a time, and combined codes with different original values ​​are generated separately, resulting in low decoding efficiency of the combined code. However, in the above embodiment of this application, recursive operation is used to quickly generate the entire combined code table that meets the user's needs according to the combined code table parameters used by the combined code, thereby improving the decoding efficiency of the combined code when mud is used as the transmission medium. 2) During decoding, the combined code table can be generated in real time according to the combined code table parameters used by the combined code, which is available immediately and does not require the combined code table to be prepared in advance, thus improving the efficiency of engineering applications of combined codes. 3) When using the combined code dictionary method, the combined code table corresponding to the same combined code table parameters only needs to be generated once for future use. That is, it is used to look up the table during the program's runtime lifecycle. Furthermore, the content of the combined code dictionary can be expanded in real time as application requirements change, thereby improving the efficiency of combined code decoding. 4) Whether it is the combination of the combined code dictionary method and the "ready-to-use" real-time generation method of the combined code table, or the "ready-to-use" real-time generation method of the combined code table after obtaining the combined code table parameters without using the combined code dictionary, customized combined code table generation is achieved. It can be seen that the combined code table generation method provided by the above embodiments of this application can be compatible with more drilling measurement scenarios and expand the scope of application of combined codes.

[0066] As in the above embodiment, the combined code dictionary method can significantly improve the efficiency of combined code decoding. Therefore, combining... Figure 4 and Figure 5 As shown, a preferred embodiment of this application provides a mud pulse data decoding method that may include steps 202 to 210. It should be understood that, in specific applications, the mud pulse data decoding method may include all steps 202 to 210, or it may include only some steps 202 to 210. For example, in one specific embodiment, the mud pulse data decoding method only includes steps 204 to 210.

[0067] Step 202: Acquire mud pressure pulses and convert them into electronic pulse signals.

[0068] Step 204: Identify the combination code to be decoded based on the electronic pulse signal.

[0069] Step 206: Obtain the combined code table parameters used by the combined code.

[0070] As an optional embodiment of this application, the combined code table parameters include the number of codes, the number of positions, the check rule, and the minimum code interval between adjacent codes. The types of check rules include odd check, even check, and no check. To avoid the probability of probing pulses in incorrect slots, a minimum code interval between adjacent codes is generally required.

[0071] For example, such as Figure 3 As shown, the number of positions refers to dividing a defined position into N equal parts, where N is the number of positions, also known as the number of slots. The code number of a combination code is usually represented by M. The code number of a combination code refers to the total number of electrical pulses generated by the pulse generator at a specified position. Each code in the combination code is labeled as M1, M2, ..., M... i-1 M i , The positions of each code within the combined code are marked as L(M1), L(M2), ..., L(M... i-1 ), ..., L(M i ), Figure 3 In the given code, M1 is located at position L(M1) = 3, and M2 is located at position L(M2) = 6. Therefore, the inter-code spacing between M1 and M2 is L(M2) – L(M1) – 1 = 6 – 3 – 1 = 2. Parity rules are typically represented using parity, with odd parity, even parity, and no parity represented by 1, 2, and 0 respectively. Even parity requires the sum of the positions of the M codes to be equal to the parity of the parity values. Even numbers, i.e. Odd parity requires the positions of M codes and... It is an odd number, that is: The minimum code interval between adjacent codes can be represented by minSpace, and the formula for calculating the code interval is: D = L(M i )–L(M i-1 )-1.

[0072] Step 208: Search the combination code dictionary for a combination code table associated with the combination code table parameters used by the combination code. If yes, proceed to step 210. Otherwise, use the combination code table parameters used by the combination code as the combination code constraint, recursively calculate the combination code table that satisfies the combination code constraint, and store the combination code table in the combination code dictionary.

[0073] Step 210: Match the original value corresponding to the combination code identified in step 204 from the result combination code table, or the combination code table associated with the combination code table parameters used by the combination code obtained from the combination code dictionary, or the combination code table that satisfies the combination code constraints obtained by recursive operation, so as to convert the engineering value or control command according to the matched original value. The result combination code table includes at least the contents of the combination code table associated with the combination code table parameters obtained from the combination code dictionary or the combination code table that satisfies the combination code constraints obtained by recursive operation.

[0074] When the data transmitted by the mud pressure pulse is measurement data obtained from downhole instruments, the original value can be converted into an engineering value in the following way: The original value obtained after decoding is substituted into the engineering value conversion formula to calculate the corresponding engineering value.

[0075] For example, the formula for converting engineering values ​​is expressed as: ; in, Indicates the engineering value. This indicates the lower boundary of the range of values ​​for the engineering project. This indicates the upper boundary of the range of values ​​for the engineering value, and 'a' indicates the number of binary bits used in the original value.

[0076] Taking the transmission of mud pressure pulses to transmit measurement data from a gamma detector as an example, the range of gamma values ​​is [0 pcs, 450 cps]. The binary number 'a' used in the original value is 11. When the binary representation of the original value is 00011001100, the decimal representation of the original value is 204. By using the above engineering value conversion formula, the measurement value detected by the current gamma detector is 45 cps.

[0077] In a preferred embodiment of this application, the original value corresponding to the combined code is matched from the result combined code table. Because the result combined code table is a separate table with a fixed storage address, it facilitates the lookup of combined codes and is more efficient. It can be seen that constructing the result combined code table separately improves the decoding efficiency of combined codes.

[0078] As an example, after obtaining the combined code table associated with the combined code table parameters from the combined code dictionary, the contents of the combined code table are copied to the resulting combined code table. After decoding the current combined code, the resulting combined code table is cleared. Similarly, after obtaining a combined code table that satisfies the combined code constraints through recursive operations, the contents of the combined code table are copied to the resulting combined code table. After decoding the current combined code, the resulting combined code table is cleared.

[0079] As an optional embodiment of this application, a combination code table satisfying the combination code constraint is obtained by recursive calculation in the following manner: Initialize the newly constructed combination code table to an empty table; Initialize the combo code object as an empty object; Initialization code tag code position; The tag code position is polled from its initial position to the maximum allowed code position. In each polling cycle, the combined code object is obtained by recursively calculating based on the tag code position. The first code position of each combined code in the combined code object is the tag code position. Using the parameters of the combined code table as combined code constraints, combined codes that satisfy the combined code constraints within the combined code object are added to the newly constructed combined code table.

[0080] As an example, the combination code satisfying the combination code constraint specifically means that: the number of codes in the combination code is equal to the number of combination codes in the combination code table parameters; the combination code satisfies the verification rules; and the code interval between adjacent codes in the combination code is greater than or equal to the minimum code interval in the combination code table parameters.

[0081] Specifically, to reduce the probability of detecting pulse signals at incorrect locations, the last minSpace positions out of N positions are typically set to unavailable. Therefore, the maximum allowed code position can be calculated using the following formula: ; in, Indicates the position of the maximum allowed code. Indicates the code number of the combined code. Indicates the number of positions. This indicates the number of codes in the current combination code object. It represents the minimum code interval between adjacent codes.

[0082] Referring to Tables 1 and 2 in Example 1, in a specific example, the tag code position is initialized to 1, and the recursive operation obtains a combination code table that satisfies the combination code constraint, specifically including the following steps: Step B1: Initialize the newly constructed combined code table as an empty table, initialize the combined code object as an empty object, initialize the code position start to 1 and set it as the current code position, and set the initial position of the tag code position to the current code position start.

[0083] Step B2: Define a recursive function F. The parameters of function F include: M, N, minSpace, Parity, start, a list of combined codes, and the newly constructed combined code table. Apply a polling and recursive algorithm to generate combined code objects that conform to the parameter constraints of the combined code table, and add the generated combined code objects to the newly constructed combined code table.

[0084] Specifically, in step B2, the logic for generating the combined code is as follows: (1) If the number of codes of a certain combination code in the combination code object is equal to M, then the verification rule and the minimum code interval condition are judged. If the verification rule and the minimum code interval condition are met at the same time, the combination code is saved to the newly constructed combination code table, and then jump to (3). (2) Execute a for loop, that is, poll the tag code position from 1 to the maximum allowed code position. In each polling cycle, perform the following: a) Add the current tag code position to the combo code object; b) Update the value of start to start=sart+(minSpace+1) and call its own recursive function F; c) Delete the last element in the combo code object; (3) The recursive function returns.

[0085] It's important to understand that deleting the last element in the combo code object refers to the processing of the polling position; once the polling is complete, the element can be deleted.

[0086] In a specific application, the above-described method embodiment was used in the surface control software of the intelligent guidance system for logging while drilling to encode and decode combined codes. All combined codes used even parity (Parity=2) and a minimum code interval of 3. The Min N combined code table used and the corresponding code table generation time are shown in Table 3 below. As can be seen from Table 3, the time consumption for generating the combined code table in actual engineering applications is less than 1 second.

[0087] Table 3

[0088] To maximize the efficiency of combined codes and improve data transmission rate, a combined code application mode of M In N with minSpace of 2 or 3 and parity of 2 is preferred. Furthermore, a combination mode where M ranges from 1 to 8 and N ranges from 7 to 9 times M is preferred. A partial table of preferred combined codes is shown below.

[0089] Table 4

[0090] Example 3 Corresponding to the mud pulse data encoding method in the above embodiments, this application also provides a mud pulse data encoding device, including: The first conversion module is used to convert the data to be communicated into the original value to be encoded using a combination code; The first code table parameter acquisition module is used to acquire the code table parameters of the combined code to be used in the original value; The first combined code table acquisition module is used to search for the combined code table associated with the combined code table parameters in the combined code dictionary, or to recursively calculate the combined code table that satisfies the combined code constraints using the combined code table parameters as combined code constraints; if the recursive calculation fails to obtain a combined code table that satisfies the combined code constraints, an interactive instruction is generated to update the pre-selected combined code table parameters, and a jump is initiated to trigger the acquisition of the original value pre-selected combined code table parameters; the combined code table in the combined code dictionary is a combined code table that satisfies the combined code constraints obtained by recursively calculating the combined code table that satisfies the combined code constraints using the combined code table associated with the combined code table parameters as combined code constraints. The encoding module is used to match the combination code corresponding to the original value from the result combination code table, or the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary, or the combination code table that satisfies the combination code constraints obtained by recursive operation, so as to obtain the control parameters for controlling the generation of mud pressure pulses. The result combination code table includes at least the content of the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary or the content of the combination code table that satisfies the combination code constraints obtained by recursive operation.

[0091] As one embodiment of this application, the mud pulse data encoding device can achieve the following: Figure 1 The embodiments shown are as well as other related method embodiments in this application.

[0092] The process by which each module in the mud pulse data encoding device provided in this application implements its respective function can be specifically referred to the foregoing. Figure 1 The descriptions of the embodiments shown and other related method embodiments are not repeated here.

[0093] It should be noted that the information interaction and execution process between the above modules are based on the same concept as the method embodiments of this application. Their specific functions and technical effects can be found in the method embodiments section, and will not be repeated here. Furthermore, all of the above modules can be applied to computing devices that include memory and a processor.

[0094] Example 4 Corresponding to the mud pulse data decoding method in the above embodiments, this application also provides a mud pulse data decoding device, including: The second conversion module is used to acquire mud pressure pulses and convert the mud pressure pulses into electronic pulse signals. The identification module is used to identify the combination code to be decoded based on the electronic pulse signal; The second code table parameter acquisition module is used to acquire the combined code table parameters used by the combined code; The second combined code table acquisition module is used to find the combined code table associated with the combined code table parameters in the combined code dictionary or to recursively calculate the combined code table that satisfies the combined code constraints by using the combined code table parameters as combined code constraints. The combined code table in the combined code dictionary is the combined code table that satisfies the combined code constraints by recursively calculating the combined code table that is associated with the combined code table parameters as combined code constraints. The decoding module is used to match the original value corresponding to the combined code from the result combined code table, or the combined code table associated with the combined code table parameters used by the combined code obtained from the combined code dictionary, or the combined code table that satisfies the combined code constraints obtained by recursive operation, so as to convert the original value into an engineering value or control command. The result combined code table includes at least the contents of the combined code table associated with the combined code table parameters obtained from the combined code dictionary or the combined code table that satisfies the combined code constraints obtained by recursive operation.

[0095] As one embodiment of this application, the mud pulse data decoding device can achieve the following: Figure 4 The embodiments shown are as well as other related method embodiments in this application.

[0096] The process by which each module in the mud pulse data decoding device provided in this application implements its respective function can be specifically referred to the foregoing. Figure 4 The descriptions of the embodiments shown and other related method embodiments are not repeated here.

[0097] It should be noted that the information interaction and execution process between the above modules are based on the same concept as the method embodiments of this application. Their specific functions and technical effects can be found in the method embodiments section, and will not be repeated here. Furthermore, all of the above modules can be applied to computing devices that include memory and a processor.

[0098] Figure 6 A schematic block diagram of a computer device according to an embodiment of the present application is shown. In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown below. Figure 6 As shown. The computer device includes a processor A01, a network interface A02, a display screen A04, an input device A05, and a memory (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A06. The non-volatile storage medium A06 stores an operating system B01 and a computer program B02. The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A06. The network interface A02 is used for communication with external terminals via a network connection. When the computer program is executed by the processor A01, it implements a mud pulse data encoding method or a mud pulse data decoding method. The display screen A04 can be a liquid crystal display or an e-ink display. The input device A05 can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0099] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0100] In one embodiment, the mud pulse data encoding device or mud pulse data decoding device provided in this application can be implemented as a computer program, and the computer program can be implemented as follows: Figure 6 The computer device shown operates on this device. The memory of the computer device can store various program modules that constitute the mud pulse data encoding or decoding device. The computer program, composed of the various program modules, causes the processor to execute the steps in the mud pulse data encoding or decoding methods of the various embodiments of this application described in this specification.

[0101] In one embodiment, this application also provides a machine-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the mud pulse data encoding method or mud pulse data decoding method in the above embodiments.

[0102] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0103] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0104] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0105] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.< / byte>

Claims

1. A mud pulse data encoding method, characterized in that, include: Convert the data to be communicated into its original value to be encoded using the combined code; Obtain the combined code table parameters to be used for the original value; The code table associated with the combined code table parameters is found in the combined code dictionary, or a combined code table satisfying the combined code constraints is obtained by recursively calculating using the combined code table parameters as combined code constraints. If the recursive calculation fails to obtain a combined code table satisfying the combined code constraints, an interactive instruction is generated to update the pre-selected combined code table parameters and jump to trigger the execution of obtaining the original value of the pre-selected combined code table parameters. The combined code table in the combined code dictionary is a combined code table satisfying the combined code constraints obtained by recursively calculating using the combined code table associated with the combined code table parameters as combined code constraints. The combination code corresponding to the original value is matched from the result combination code table, or the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary, or the combination code table that satisfies the combination code constraints obtained by recursive operation, so as to obtain the control parameters for controlling the generation of mud pressure pulses. The result combination code table includes at least the content of the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary or the content of the combination code table that satisfies the combination code constraints obtained by recursive operation.

2. The mud pulse data encoding method according to claim 1, characterized in that, In the recursive operation of generating a combined code, the current recursive round adds a subsequent code position to a code position generated in the previous recursive round, and the number of codes to reach the combined code is used as the baseline condition for the recursive operation.

3. The mud pulse data encoding method according to claim 2, characterized in that, The parameters of the combined code table include the number of codes, the number of positions, the check rules, and the minimum code interval between adjacent codes.

4. The mud pulse data encoding method according to claim 3, characterized in that, Using the combined code table parameters as combined code constraints, a combined code table satisfying the combined code constraints is obtained through recursive computation, including: Initialize the newly constructed combination code table to an empty table; Initialize the combo code object as an empty object; Initialize the tag code position; The tag code position is polled from the initial position to the maximum allowed code position. In each polling cycle, the combined code object is obtained by recursively calculating the tag code position corresponding to the polling cycle. The first code position of each combined code in the combined code object is the tag code position. Using the combined code table parameters as combined code constraints, the combined codes that satisfy the combined code constraints within the combined code object are added to the newly constructed combined code table; During polling, if the number of codes in each combination code in the combination code object obtained within the polling period corresponding to the initialization position of the tag code position does not reach the number of codes in the combination code, and simultaneously meets the verification rules and the minimum code interval, then the polling ends and jumps to trigger the execution of the generation interaction instruction.

5. The mud pulse data encoding method according to claim 4, characterized in that, The maximum allowed code position is calculated using the following formula: ; in, Indicates the position of the maximum allowed code. Indicates the code number of the combined code. Indicates the number of positions. This indicates the number of codes in the current combination code object. It represents the minimum code interval between adjacent codes.

6. The mud pulse data encoding method according to claim 1, characterized in that, The combined code table that satisfies the combined code constraint is obtained by recursive operation and added to the combined code dictionary.

7. A method for decoding mud pulse data, characterized in that, include: Collect mud pressure pulses and convert them into electronic pulse signals; The combined code to be decoded is identified based on the electronic pulse signal; Obtain the combined code table parameters used by the combined code; The combined code table associated with the combined code table parameter is found in the combined code dictionary, or the combined code table parameter is used as the combined code constraint, and a combined code table satisfying the combined code constraint is obtained by recursive operation. The combined code table in the combined code dictionary is a combined code table that satisfies the combined code constraint after recursive operation with the combined code table associated with the combined code table parameter as the combined code constraint. The original value corresponding to the combined code is matched from the combined code table obtained from the combined code dictionary, or the combined code table associated with the combined code table parameters used by the combined code, or the combined code table that satisfies the combined code constraints obtained by recursive operation, so as to convert the original value into an engineering value or control command. The resulting combined code table includes at least the contents of the combined code table associated with the combined code table parameters obtained from the combined code dictionary or the combined code table that satisfies the combined code constraints obtained by recursive operation.

8. The mud pulse data decoding method according to claim 7, characterized in that, In the recursive operation of generating a combined code, the current recursive round adds a subsequent code position to a code position generated in the previous recursive round, and the number of codes to reach the combined code is used as the baseline condition for the recursive operation.

9. The mud pulse data decoding method according to claim 8, characterized in that, The parameters of the combined code table include the number of codes, the number of positions, the check rules, and the minimum code interval between adjacent codes.

10. The mud pulse data decoding method according to claim 9, characterized in that, Using the combined code table parameters as combined code constraints, a combined code table satisfying the combined code constraints is obtained through recursive computation, including: Initialize the newly constructed combination code table to an empty table; Initialize the combo code object as an empty object; Initialize the tag code position; The tag code position is polled from the initial position to the maximum allowed code position. In each polling cycle, the combined code object is obtained by recursively calculating the tag code position corresponding to the polling cycle. The first code position of each combined code in the combined code object is the tag code position. Using the combined code table parameters as combined code constraints, the combined codes that satisfy the combined code constraints within the combined code object are added to the newly constructed combined code table; During polling, if the number of codes in each combination code in the combination code object obtained within the polling period corresponding to the initialization position of the tag code position does not reach the number of codes in the combination code, and simultaneously meets the verification rules and the minimum code interval, then jump to trigger the execution of the generation interaction instruction.

11. The mud pulse data decoding method according to claim 10, characterized in that, The maximum allowed code position is calculated using the following formula: ; in, Indicates the position of the maximum allowed code. Indicates the code number of the combined code. Indicates the number of positions. This indicates the number of codes in the current combination code object. It represents the minimum code interval between adjacent codes.

12. The mud pulse data decoding method according to claim 7, characterized in that, The combined code table that satisfies the combined code constraint is obtained by recursive operation and added to the combined code dictionary.

13. A mud pulse data encoding device, characterized in that, include: The first conversion module is used to convert the data to be communicated into the original value to be encoded using a combination code; The first code table parameter acquisition module is used to acquire the code table parameters of the combined code to be used in the original value; The first combined code table acquisition module is used to search for the combined code table associated with the combined code table parameters in the combined code dictionary, or to recursively calculate the combined code table that satisfies the combined code constraints using the combined code table parameters as combined code constraints; if the recursive calculation fails to obtain a combined code table that satisfies the combined code constraints, an interactive instruction is generated to update the pre-selected combined code table parameters, and a jump is initiated to trigger the acquisition of the original value pre-selected combined code table parameters; the combined code table in the combined code dictionary is a combined code table that satisfies the combined code constraints obtained by recursively calculating the combined code table that satisfies the combined code constraints using the combined code table associated with the combined code table parameters as combined code constraints. The encoding module is used to match the combination code corresponding to the original value from the result combination code table, or the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary, or the combination code table that satisfies the combination code constraints obtained by recursive operation, so as to obtain the control parameters for controlling the generation of mud pressure pulses. The result combination code table includes at least the content of the combination code table associated with the pre-used combination code table parameters obtained from the combination code dictionary or the content of the combination code table that satisfies the combination code constraints obtained by recursive operation.

14. A mud pulse data decoding device, characterized in that, include: The second conversion module is used to acquire mud pressure pulses and convert the mud pressure pulses into electronic pulse signals. The identification module is used to identify the combination code to be decoded based on the electronic pulse signal; The second code table parameter acquisition module is used to acquire the combined code table parameters used by the combined code; The second combined code table acquisition module is used to find the combined code table associated with the combined code table parameters in the combined code dictionary or to recursively calculate the combined code table that satisfies the combined code constraints by using the combined code table parameters as combined code constraints. The combined code table in the combined code dictionary is the combined code table that satisfies the combined code constraints by recursively calculating the combined code table that is associated with the combined code table parameters as combined code constraints. The decoding module is used to match the original value corresponding to the combined code from the result combined code table, or the combined code table associated with the combined code table parameters used by the combined code obtained from the combined code dictionary, or the combined code table that satisfies the combined code constraints obtained by recursive operation, so as to convert the original value into an engineering value or control command. The result combined code table includes at least the contents of the combined code table associated with the combined code table parameters obtained from the combined code dictionary or the combined code table that satisfies the combined code constraints obtained by recursive operation.

15. A computer device, characterized in that, include: The memory is configured to store instructions; as well as The processor is configured to retrieve the instructions from the memory and, when executing the instructions, to implement the mud pulse data encoding method according to any one of claims 1 to 6 or the mud pulse data decoding method according to any one of claims 7 to 12.

16. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores instructions for causing the machine to perform the mud pulse data encoding method according to any one of claims 1 to 6 or the mud pulse data decoding method according to any one of claims 7 to 12.