Mud pulse signal encoding method and device for near-bit geological steering system
Generating binary encoding through multiple recursive coding and strong parity check strategies solves the problem of low coding efficiency of mud pulse signal in the prior art, and achieves more efficient downhole parameter transmission.
Patent Information
- Application Number
- CN202411264291.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-10
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2044-09-10
AI Technical Summary
In the prior art, the mud pulse signal encoding method has low coding efficiency and cannot quickly transmit downhole parameters, resulting in insufficient transmission rate, and large amount of compression algorithms, making it difficult to operate in real time.
By determining the value to be encoded for the downhole parameters, generating binary encoding based on the preset coding strategy and verification strategy, multiple recursive coding rules and strong parity methods are used to determine the number of coded bits and the position of the preset coding value, improving encoding efficiency.
It improves coding efficiency, realizes the effect of transmitting more parameters within the same time, simplifies the calculation amount and complexity, and makes the encoding method more suitable for real-time monitoring systems.
Smart Images

Figure CN118774761B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of measurement while drilling, and in particular to a mud pulse signal encoding method and a device of a near-drill-bit geological steering system. Background Art
[0002] In logging while drilling of petroleum geological exploration, downhole measurement data is generally transmitted through mud. First, the downhole measurement data is collected and processed by downhole instruments such as near the drill bit, and then encoded according to certain coding rules. The pulse generator generates a mud pulse signal that conforms to the coding rules, and the signal is transmitted to the ground with mud as the medium. After that, the mud pulse signal is collected on the ground using a pressure sensor. After preliminary processing by the ground processor, it is passed to the decoding software to complete the filtering of the mud signal, and finally the downhole measurement data is parsed according to the established decoding rules. Therefore, in the entire logging while drilling process, how to encode the collected downhole measurement data to obtain a mud pulse signal that can be transmitted is a key step.
[0003] At present, with the development of drilling technology, downhole measurement and control parameters are increasing, and the requirements for downhole measurement data are also getting higher and higher. Therefore, higher requirements are put forward for the transmission rate of downhole measurement data. However, the current encoding method of mud pulse signal can no longer meet the current needs. Therefore, how to transmit more downhole parameters in the same time and study more stable and efficient encoding and decoding methods have become the main problems in the field of measurement while drilling.
[0004] In the related art, the following schemes are used to achieve fast data transmission: (1) Fast coding scheme: By moving the position of the pulse to select the appropriate time slot position, the number of time slots required is reduced to improve coding efficiency, thereby transmitting more downhole parameters; (2) Data compression scheme: By compressing the data and combining it with a rearrangement algorithm to reduce the amount of data actually transmitted, the data transmission rate is improved. However, there is uncertainty in the pulse position in the above-mentioned fast coding scheme, and it is difficult to accurately and quickly determine the pulse position, resulting in low coding accuracy and low coding speed. In the above-mentioned data compression scheme, the compression algorithm has a large amount of computation, which is difficult to run in real time and is not easy to implement.
[0005] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0006] The embodiment of the present invention provides a mud pulse signal encoding method and device for a near-bit geological steering system, so as to at least solve the technical problem in the related art that the encoding efficiency of downhole parameters is low, resulting in the inability to quickly transmit downhole parameters.
[0007] According to one aspect of an embodiment of the present invention, a mud pulse signal encoding method for a near-bit geological steering system is provided, comprising: determining a value to be encoded for each downhole parameter transmitted by the near-bit geological steering system to a ground receiver, and based on all the values to be encoded, determining the number of encoding bits N of the binary code and the number I of preset encoding values, wherein N>I, and both N and I are positive integers; for each of the downhole parameters, based on a preset encoding strategy, the number of encoding bits N and the number I, determining the position range of each preset encoding value in the binary code corresponding to the downhole parameter; based on the position range of each preset encoding value, determining the target position numbers of all the preset encoding values using a preset verification strategy; based on the target position numbers of all the preset encoding values, generating the binary code corresponding to the downhole parameter, wherein the binary code is used to generate a mud pulse signal for the downhole parameter.
[0008] Furthermore, the step of determining the value to be encoded of each downhole parameter transmitted by the near-bit geological guidance system to the ground receiver includes: determining the resolution of each of the downhole parameters; for each of the downhole parameters, determining the value to be encoded of the downhole parameter based on the parameter value of the downhole parameter and the resolution.
[0009] Furthermore, the step of determining the number of coding bits N of the binary code and the number I of preset coding values based on all the values to be encoded includes: determining the range of values to be encoded based on all the values to be encoded; determining the number of coding bits N of the binary code and the number I of preset coding values corresponding to the range of values to be encoded based on a preset correspondence table, wherein the preset correspondence table records the binary coding information corresponding to each range of values to be encoded, and the binary coding information includes: the number of coding bits N and the number I of preset coding values.
[0010] Further, the preset coding strategy includes: a preset number ending with 0 and a coding interval between every two preset coding values, and based on the preset coding strategy, the coding bit number N and the number I, the step of determining the position range of each preset coding value in the binary code corresponding to the downhole parameter includes: taking the first coding position of the binary code as the starting position of the first preset coding value; determining the end position of the first preset coding value based on the coding bit number N, the preset number, the first remaining number and the coding interval, wherein the first remaining number is the number I minus the first preset coding value. Assume the number of the sorting sequence number of the coding value; based on the coding interval and the position number of the previous preset coding value, determine the starting position of the current preset coding value, and based on the number of coding bits N, the preset number, the second remaining number and the coding interval, determine the ending position of the current preset coding value, until the sorting sequence number of the current preset coding value is equal to the number I, wherein the second remaining number is the number I minus the sorting sequence number of the current preset coding value; based on the starting position and the ending position of each preset coding value, determine the position range of each preset coding value.
[0011] Furthermore, before the target position numbers of all the preset code values are determined based on the position range of each preset code value and the preset verification strategy is adopted, the total number of codes is initialized, and the step of determining the target position numbers of all the preset code values based on the position range of each preset code value and the preset verification strategy is adopted includes: determining the initial position number of the I-1th preset code value and all the preset code values before the I-1th preset code value based on the position range; determining the current position range of the Ith preset code value based on the initial position number of the I-1th preset code value; determining the current position range of the Ith preset code value based on the preset verification strategy, all the preset code values The initial position number and the current position range are used to determine the available position set and the number of available positions of the I-th preset coding value; based on the number of available positions, the current total number of codes is determined; when the current total number of codes is greater than the value to be encoded, based on the value to be encoded, the current total number of codes and the number of available positions, the available positions are determined from the available position set, and the position numbers of the available positions are determined as the target position number of the I-th preset coding value; the initial position numbers of the I-1-th preset coding value and all the preset coding values before the I-1-th preset coding value are determined as the target position number.
[0012] Furthermore, after determining the current total number of codes based on the available number of positions, the method further includes: when the current total number of codes is less than or equal to the value to be encoded, adjusting the initial position number of the I-1th preset code value to obtain the latest position number; determining the latest position range of the I-1th preset code value based on the latest position number of the I-1th preset code value; calculating the sum of the initial position numbers and the latest position numbers of all the preset code values before the I-1th preset code value to obtain the total number, and determining the latest available number of the I-1th preset code value based on the total number of numbers and the preset verification strategy. Using a position set and the latest number of available positions; based on the latest number of available positions, accumulating the total number of current codes to obtain the latest total number of codes; comparing the latest total number of codes with the value to be encoded, and when the latest total number of codes is less than or equal to the value to be encoded, continuing to adjust the initial position number of the I-1th preset code value; when all position numbers of the I-1th preset code value have been used and the latest total number of codes is less than or equal to the value to be encoded, adjusting the initial position number of the I-2th preset code value until all position numbers of the 1st preset code value have been used or the latest total number of codes is greater than the value to be encoded.
[0013] Furthermore, after generating the binary code corresponding to the downhole parameter based on the target position number of all the preset coding values, it also includes: generating a mud pulse signal of the downhole parameter based on the binary code; transmitting the mud pulse signal to the ground receiver through the near-bit geological guidance system, wherein the ground receiver determines a decoding strategy based on the preset coding strategy and the preset verification strategy, and uses the decoding strategy to decode the mud pulse signal to obtain the downhole parameter.
[0014] According to another aspect of an embodiment of the present invention, a mud pulse signal encoding device for a near-bit geological guidance system is also provided, including: a first determination unit, used to determine the to-be-encoded value of each downhole parameter transmitted by the near-bit geological guidance system to a ground receiver, and based on all the to-be-encoded values, determine the number of coding bits N of the binary code and the number I of preset coding values, wherein N>I, and both N and I are positive integers; a second determination unit, used to determine, for each of the downhole parameters, based on a preset coding strategy, the number of coding bits N and the number I, the position range of each preset coding value in the binary code corresponding to the downhole parameter; a third determination unit, used to determine the target position numbers of all the preset coding values based on the position range of each preset coding value and a preset verification strategy; a first generation unit, used to generate the binary code corresponding to the downhole parameter based on the target position numbers of all the preset coding values, wherein the binary code is used to generate the mud pulse signal of the downhole parameter.
[0015] Furthermore, the first determination unit includes: a first determination module for determining the resolution of each of the downhole parameters; and a second determination module for determining, for each of the downhole parameters, the value to be encoded of the downhole parameter based on the parameter value of the downhole parameter and the resolution.
[0016] Further, the second determination unit includes: a third determination module, used to determine the range of values to be encoded based on all the values to be encoded; a fourth determination module, used to determine the number of coding bits N of the binary code corresponding to the range of values to be encoded and the number I of the preset coding values based on a preset corresponding table, wherein the preset corresponding table records the binary coding information corresponding to each range of values to be encoded, and the binary coding information includes: the number of coding bits N and the number I of the preset coding values.
[0017] Further, the preset coding strategy includes: a preset number ending with 0 and a coding interval between every two preset coding values, and the third determining unit includes: a first module for taking the first coding position of the binary code as the starting position of the first preset coding value; a fifth determining module for determining the ending position of the first preset coding value based on the number of coding bits N, the preset number, the first remaining number and the coding interval, wherein the first remaining number is the number I minus the sorting number of the first preset coding value; a sixth determining module for determining the starting position of the current preset coding value based on the coding interval and the position number of the previous preset coding value, and determining the ending position of the current preset coding value based on the number of coding bits N, the preset number, the second remaining number and the coding interval, until the sorting number of the current preset coding value is equal to the number I, wherein the second remaining number is the number I minus the sorting number of the current preset coding value; a seventh determining module for determining the position range of each preset coding value based on the starting position and the ending position of each preset coding value.
[0018] Furthermore, the mud pulse signal encoding device also includes: an initialization unit, which is used to initialize the total number of codes before determining the target position numbers of all the preset code values based on the position range of each preset code value by using a preset verification strategy, and the third determination unit includes: an eighth determination module, which is used to determine the initial position number of the I-1th preset code value and all the preset code values before the I-1th preset code value based on the position range; a ninth determination module, which is used to determine the current position range of the Ith preset code value based on the initial position number of the I-1th preset code value; a tenth determination module, which is used to determine the current position range of the Ith preset code value based on the preset verification strategy, all the initial position numbers and the a current position range, determining the available position set and the number of available positions of the I-th preset coding value; an eleventh determination module, for determining the current total number of codes based on the number of available positions; a twelfth determination module, for determining the available positions from the available position set based on the value to be encoded, the current total number of codes and the number of available positions when the current total number of codes is greater than the value to be encoded, and determining the position number of the available position as the target position number of the I-th preset coding value; a thirteenth determination module, for determining the initial position number of the preset coding value of the I-1-th preset coding value and all the preset coding values before the I-1-th preset coding value as the target position number.
[0019] Furthermore, the mud pulse signal encoding device also includes: a first adjustment unit, which is used to adjust the initial position number of the I-1th preset coding value to obtain the latest position number after determining the current total number of codes based on the available position number, when the current total number of codes is less than or equal to the value to be encoded; a fourth determination unit, which is used to determine the latest position range of the I-1th preset coding value based on the latest position number of the I-1th preset coding value; a first calculation unit, which is used to calculate the sum of the initial position numbers and the latest position numbers of all the preset coding values before the I-1th preset coding value to obtain the total number, and determine the I-1th preset coding value based on the total number of codes and the preset verification strategy. The latest available position set and the latest available position number of the code value; a first accumulating unit, used to accumulate the current total number of codes based on the latest available position number to obtain the latest total number of codes; a first comparing unit, used to compare the latest total number of codes with the value to be encoded, and when the latest total number of codes is less than or equal to the value to be encoded, continue to adjust the initial position number of the I-1th preset code value; a second adjusting unit, used to adjust the initial position number of the I-2th preset code value when all position numbers of the I-1th preset code value have been used and the latest total number of codes is less than or equal to the value to be encoded, until all position numbers of the 1st preset code value have been used or the latest total number of codes is greater than the value to be encoded.
[0020] Furthermore, the mud pulse signal encoding device also includes: a second generating unit, which is used to generate the binary code corresponding to the downhole parameter based on the target position number of all the preset coding values, and then generate the mud pulse signal of the downhole parameter based on the binary code; a first transmission unit, which is used to transmit the mud pulse signal to the ground receiver through the near-bit geological guidance system, wherein the ground receiver determines a decoding strategy based on the preset encoding strategy and the preset verification strategy, and uses the decoding strategy to decode the mud pulse signal to obtain the downhole parameter.
[0021] According to another aspect of an embodiment of the present invention, a computer program product is also provided, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the mud pulse signal encoding method of the near-drill bit geological guidance system described in any one of the above is implemented.
[0022] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any one of the above-mentioned mud pulse signal encoding methods for a near-bit geological guidance system.
[0023] In the present invention, by determining the to-be-encoded value of each downhole parameter transmitted by the near-bit geological guidance system to the ground receiver, and based on all the to-be-encoded values, determining the number of coding bits N of the binary code and the number I of preset coding values, for each downhole parameter, based on the preset coding strategy, the number of coding bits N and the number I, determining the position range of each preset coding value in the binary code corresponding to the downhole parameter, based on the position range of each preset coding value, using a preset verification strategy to determine the target position numbers of all preset coding values, based on the target position numbers of all preset coding values, generating the binary code corresponding to the downhole parameter, thereby solving the technical problem in the related art that the coding efficiency of the downhole parameters is low and the downhole parameters cannot be transmitted quickly.
[0024] In the present invention, the value to be encoded of each downhole parameter (i.e., the parameter that the near-bit geological guidance system needs to transmit to the ground receiver) can be determined first, and then the number of coding bits N of the binary code and the number I of preset coding values (i.e., code 1) can be determined according to the range size of all the values to be encoded. Then, according to the preset coding strategy, the number of coding bits N and the number I, the position range of each preset coding value in the binary code corresponding to each downhole parameter can be determined, and then the preset verification strategy is used to determine the target position number of all preset coding values, so as to generate the binary code corresponding to each downhole parameter according to the target position number of all preset coding values, so as to generate the mud pulse signal corresponding to the downhole parameter according to the binary code, so as to utilize the mud pulse for encoding transmission. The above encoding method can effectively improve the encoding efficiency, thereby achieving the effect of transmitting more parameters in the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0026] Figure 1 is a flow chart of an optional mud pulse signal encoding method for a near-bit geosteering system according to an embodiment of the present invention;
[0027] Figure 2 is a schematic diagram of a corresponding relationship between a to-be-encoded value 2 of an optional 9-2 code and a pulse according to an embodiment of the present invention;
[0028] Figure 3 is a schematic diagram of an optional mud pulse signal encoding and decoding method for a near-bit geosteering system according to an embodiment of the present invention;
[0029] Figure 4 is a schematic diagram of an optional mud pulse signal encoding device of a near-bit geosteering system according to an embodiment of the present invention;
[0030] Figure 5 The present invention is a hardware structure block diagram of an electronic device (or mobile device) for a mud pulse signal encoding method for a near-bit geological steering system according to an embodiment of the present invention. DETAILED DESCRIPTION
[0031] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0032] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0033] It should be noted that the relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) collected and involved in the present invention are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of relevant data are in compliance with the relevant laws, regulations and standards of the relevant regions, necessary confidentiality measures are taken, and public order and good customs are not violated, and corresponding operation portals are provided for users to choose to authorize or refuse. For example, an interface is set up between this system and relevant users or organizations. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or organization through the interface, and obtain relevant information after receiving the consent information fed back by the aforementioned user or organization.
[0034] The present invention proposes a mud pulse signal encoding method for a near-drill-bit geological guidance system, which relates to measurement while drilling technology in the field of oil and gas exploration and development. By encoding with multiple recursive encoding rules, a clearer pulse determination rule can be obtained, and a strong parity check method is used to determine the encoding position number, which can provide data support for the subsequent generation of binary codes, and finally map the downhole parameters into binary code values, which can further clarify the pulse position and encoding method of the mud pulse. In summary, the encoding method of the mud pulse signal involves a smaller amount of calculation and complexity, is easier to implement in actual use, and is more suitable for application in a real-time monitoring system of measurement while drilling.
[0035] The present invention is described in detail below in conjunction with various embodiments.
[0036] Embodiment 1
[0037] According to an embodiment of the present invention, an embodiment of a mud pulse signal encoding method for a near-bit geological steering system is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0038] Figure 1 FIG. 1 is a flow chart of an optional mud pulse signal encoding method for a near-bit geosteering system according to an embodiment of the present invention. Figure 1 As shown, the method comprises the following steps:
[0039] Step S101, determine the value to be encoded of each downhole parameter transmitted by the near-bit geological steering system to the ground receiver, and based on all the values to be encoded, determine the number of binary coding bits N and the number of preset coding values I, where N>I, N and I are both positive integers.
[0040] Optionally, when performing logging while drilling for petroleum geological exploration, various downhole parameters, such as well inclination, near-well inclination, azimuth, distal gamma value, proximal gamma value, tool face, temperature and other parameters, can be transmitted to a ground receiver (e.g., a pressure sensor) through a near-drill-bit geological steering system, so as to analyze geological information (such as the properties of underground rocks, formation pressure, temperature and other information) through these downhole parameters, thereby more accurately evaluating the location, size and properties of oil and gas reservoirs.
[0041] In the embodiment of the present invention, various downhole parameters can be collected by using downhole sensors in the near-bit geosteering system, and the collected downhole parameters can be recorded as X. Then, the value X to be encoded of each downhole parameter can be determined, so that the binary code of the downhole parameter can be obtained by subsequent cyclic recursive encoding according to the value X to be encoded.
[0042] Afterwards, the number of binary code bits N and the number of preset code values (i.e., code 1) I (N>I, N and I are both positive integers, for example, N=9, I=2) can be determined based on the range size determined by all the values to be encoded, and the number of code 0s can be determined as NI.
[0043] Step S102, for each downhole parameter, based on the preset coding strategy, the number of coding bits N and the number I, determine the position range of each preset coding value of each bit in the binary code corresponding to the downhole parameter.
[0044] In step S102, a preset coding strategy may be predetermined, for example, when coding, the binary value ends with two 0s at the end, and there needs to be at least one 0 between code 1 and code 1. Then, according to the preset coding strategy, the number of coding bits N and the number I, the position range of each preset coding value in the binary code corresponding to each downhole parameter may be determined.
[0045] Exemplarily, assume that the preset coding strategy is: when coding, the binary value ends with two 0s at the end, and there needs to be a 0 between every two code 1s. The position number of the N-bit binary code is I=1,2,3,…,N, then the available range set (i.e., position range) of the first code 1 is [1, N-2-(I-1)*2], that is, starting from the first encodable position to the remaining I-1 encodable positions of the code 1. The position range of the remaining code 1 can be obtained by multiple recursive solutions based on the number position of the previous code 1, the sorting sequence number of the code 1 itself, and the code interval.
[0046] Step S103, based on the position range of each preset code value, a preset verification strategy is adopted to determine the target position numbers of all preset code values.
[0047] In step S103, a preset check strategy (odd number sum check or even number sum check) can be pre-selected, and then the position numbers of all codes 1 are determined according to the selected preset check strategy, that is, according to the position range of each preset code value, the preset check strategy is used to determine the target position numbers of all preset code values.
[0048] Optionally, according to the determined number N and number I of coding bits, an odd sum check or an even sum check may be selected as a preset check strategy for the current coding.
[0049] Step S104, generating a binary code corresponding to the downhole parameter based on the target position numbers of all preset code values, wherein the binary code is used to generate a mud pulse signal of the downhole parameter.
[0050] In step S104, a binary code corresponding to the downhole parameter can be generated based on the position number of all code 1. Then, a pulser can be used to generate a mud pulse signal corresponding to the binary code to transmit the data to the surface through the mud, and then the data is decoded by the ground decoding software to obtain specific downhole parameters.
[0051] Optionally, the specific process of generating binary codes based on the position numbers of all code 1s is as follows: the target position numbers of all preset code values can be added to the position number set Q. The binary code has a total of N bits. The position of code 1 in the N bits is determined according to the target position numbers of all preset code values, and the remaining position is determined as the position of code 0. Starting from the starting position of the binary code, it is determined whether the position number I is in the position number set Q of code 1. If it is, the position number I is encoded as 1, otherwise, it is encoded as 0. Finally, a string of binary code numbers consisting of 0 and 1 that conform to the encoding rules is mapped and generated. Among them, the formula for generating binary code is: .
[0052] In this embodiment of the invention, the initialization of the encoding is performed based on the encoding rule of multiple recursion, which provides the encoding and decoding rules for the subsequent encoding, and the position numbers of all the code 1s are determined by the strong parity check method, and all the encoding values of the binary code are determined according to the above numbers, and then the encoding is transmitted by mud pulses, and decoded on the ground decoding software. The decoding method has a small amount of operation and a fast execution speed. A larger amount of parameter data can be transmitted in the same time, which provides a better encoding method for improving the transmission rate in the future.
[0053] In summary, the value to be encoded of each downhole parameter transmitted by the near-bit geological guidance system to the ground receiver can be determined, and based on all the values to be encoded, the number of coding bits N of the binary code and the number I of preset coding values can be determined. For each downhole parameter, based on the preset coding strategy, the number of coding bits N and the number I, the position range of each preset coding value in the binary code corresponding to the downhole parameter is determined. Based on the position range of each preset coding value, the preset verification strategy is adopted to determine the target position numbers of all preset coding values. Based on the target position numbers of all preset coding values, the binary code corresponding to the downhole parameter is generated, which can effectively improve the coding efficiency, thereby achieving the effect of transmitting more parameters in the same time, and further solving the technical problem of low coding efficiency of downhole parameters in related technologies, which leads to the inability to quickly transmit downhole parameters.
[0054] In order to improve the accuracy of determining the value to be encoded of the downhole parameter, in the mud pulse signal encoding method of the near-bit geological guidance system provided in Example 1 of the present application, the resolution of each downhole parameter is determined; for each downhole parameter, the value to be encoded of the downhole parameter is determined based on the parameter value and resolution of the downhole parameter.
[0055] In the embodiment of the present invention, the value to be encoded can be determined according to the resolution of the downhole parameter. Specifically, the resolution k corresponding to each downhole parameter can be determined first, and then the value to be encoded X of each downhole parameter can be calculated using a rounding function according to the parameter value X of each downhole parameter and its corresponding resolution k. The downhole parameter can determine the value to be encoded X according to its resolution using the following formula:
[0056] ;
[0057] Wherein, X is the parameter value of the acquired downhole parameter, k is the resolution of the downhole parameter, X is the value to be encoded, and round is the rounding function.
[0058] Optionally, the resolution of the downhole parameters is used to indicate the accuracy of the acquired downhole parameters, and can be dynamically set by a near-bit geosteering system according to actual conditions.
[0059] In order to improve the accuracy of determining the number of coding bits N of binary coding and the number of preset coding values I, in the mud pulse signal coding method of the near-drill bit geological guidance system provided in Example 1 of the present application, based on all the values to be encoded, the range of values to be encoded is determined; based on the preset correspondence table, the number of coding bits N of the binary coding and the number of preset coding values I corresponding to the range of values to be encoded are determined, wherein the preset correspondence table records the binary coding information corresponding to each range of values to be encoded, and the binary coding information includes: the number of coding bits N and the number of preset coding values I.
[0060] In an embodiment of the present invention, the number of coding bits N corresponding to different ranges of values to be encoded and the number of preset coding values I (i.e., binary coding information) can be determined based on the encoding results of downhole parameters in a historical time period, so as to construct a preset corresponding table based on the binary coding information corresponding to different ranges of values to be encoded. In this way, it is convenient to directly determine the binary coding information used for encoding the downhole parameters based on the range of values to be encoded determined each time the downhole parameters are transmitted.
[0061] In an embodiment of the present invention, the maximum value to be encoded and the minimum value to be encoded can be determined according to the values to be encoded corresponding to all downhole parameters that need to be transmitted, so as to obtain the range of values to be encoded. Then, the number of coding bits N of the binary code corresponding to the range of values to be encoded and the number of preset coding values I can be determined according to the preset corresponding table, and the number of coded 0s can be determined as NI.
[0062] In order to improve the accuracy of determining the position range of the preset coding value, in the mud pulse signal coding method of the near-drill bit geological guidance system provided in Example 1 of the present application, the preset coding strategy includes: a preset number ending with 0 and a coding interval between every two preset coding values, and taking the first coding position of the binary code as the starting position of the first preset coding value; based on the number of coding bits N, the preset number, the first remaining number and the coding interval, determining the end position of the first preset coding value, wherein the first remaining number is the number I minus the sorting number of the first preset coding value; based on the coding interval and the position number of the previous preset coding value, determining the starting position of the current preset coding value, and based on the number of coding bits N, the preset number, the second remaining number and the coding interval, determining the end position of the current preset coding value, until the sorting number of the current preset coding value is equal to the number I, wherein the second remaining number is the number I minus the sorting number of the current preset coding value; based on the starting position and the end position of each preset coding value, determining the position range of each preset coding value.
[0063] In an embodiment of the present invention, the preset coding strategy includes: a preset number ending with 0 (such as 2, for example, the binary value ends with two 0s at the end when encoding) and a coding interval between every two preset coding values (such as 1, for example, there needs to be at least 1 coding 0 between coding 1 and coding 1).
[0064] In an embodiment of the present invention, the starting position and the ending position of each preset coding value can be determined to obtain its position range, specifically: the first coding position of the binary code can be first used as the starting position of the first preset coding value (that is, the first codable position of the binary code is determined as the starting position of the first coding 1), and then the ending position of the first preset coding value is determined according to the number of coding bits N, the preset number, the first remaining number (that is, the number of preset coding values I minus the sorting sequence number of the first preset coding value (that is, 1)) and the coding interval. That is, for the first preset coding value (that is, the first coding 1), its starting position is: 1, and the ending position is: N-preset number-(I-1)*(coding interval+1). For example, the preset number is 2 (that is, the binary value ends with two last 0s during encoding), and the coding interval is 1 (that is, there is a 0 between coding 1 and coding 1), then the available range set of the first coding 1 is [1, N-2-(I-1)*2].
[0065] Then, according to the coding interval and the position number of the previous preset coding value (the current position number is a temporary position number determined in the recursive loop, which may be adjusted as the preset verification strategy is continuously verified), the starting position of the current preset coding value is determined, that is, the starting position of the current preset coding value is the position number of the previous preset coding value plus (coding interval + 1), and the end position of the current preset coding value can be determined according to the number of coding bits N, the preset number, the second remaining number (the number of preset coding values I minus the sorting number of the current preset coding value) and the coding interval, until the sorting number of the current preset coding value is equal to the number I, that is, the end position of the current preset coding value is: N-preset number-(I-sorting number of the current preset coding value)*(coding interval + 1).
[0066] For example, assuming that the preset number is 2 (i.e., the binary value ends with two 0s at the end during encoding), and the encoding interval is 1 (i.e., there is a 0 between codes 1 and 1), then the available position range of the first code 1 with position number I1 is [1, N-2-(I-1)*2], the available position range of the second code 1 with position number I2 is [I1+2, N-2-(I-2)*2], the available position range of the third code 1 with position number I3 is [I2+2, N-2-(I-3)*2], and the available position range of the kth code 1 with position number I k The available position range is [I k-1 +2, N-2-(Ik)*2], and so on, the position number of the I-1th code 1 is I I-1 The available position range is [I I-2 +2, N-2-2], the position number of the I-th code 1 is I I The available position range is [I I-1+2, N-2]. The position size of each code 1 represents the size of the code value. The smaller the position number of the code 1, the smaller the corresponding code value.
[0067] Afterwards, the position range of each preset coding value is determined according to the starting position and the ending position of each preset coding value.
[0068] In order to improve the accuracy of determining the target position number of the preset coding value, in the mud pulse signal coding method of the near-drill bit geological guidance system provided in Example 1 of the present application, before determining the target position number of all preset coding values based on the position range of each preset coding value and using the preset verification strategy, the total number of codes is initialized, and the step of determining the target position number of all preset coding values based on the position range of each preset coding value and using the preset verification strategy includes: determining the initial position number of the I-1th preset coding value and all the preset coding values before the I-1th preset coding value based on the position range; determining the initial position number of the I-1th preset coding value based on the initial position number of the I-1th preset coding value , determine the current position range of the I-th preset coding value; based on the preset verification strategy, all initial position numbers and the current position range, determine the available position set and the number of available positions of the I-th preset coding value; based on the number of available positions, determine the current total number of codes; when the current total number of codes is greater than the value to be encoded, based on the value to be encoded, the current total number of codes and the number of available positions, determine the available positions from the available position set, and determine the position numbers of the available positions as the target position numbers of the I-th preset coding value; determine the initial position numbers of the I-1-th preset coding value and all the preset coding values before the I-1-th preset coding value as the target position numbers.
[0069] In the embodiment of the present invention, the total number of codes J needs to be initialized so that the initial value of the total number of codes J is 0.
[0070] In the embodiment of the present invention, according to the parity check method (i.e., the preset check strategy) determined in the initialization stage of the encoding, it is determined whether to use the odd sum check or the even sum check. Solving the position coding of all codes 1 is divided into the following steps: successively solving the positions of the first I-1 codes 1, then solving the number of available positions of the Ith code 1 based on the parity sum check method, and finally determining the target position number of all codes 1 according to the corresponding total number of codes J and the size of the value to be encoded X.
[0071] In an embodiment of the present invention, the initial position number of the I-1th preset code value and all preset code values before the I-1th preset code value can be determined according to the position range corresponding to the preset code value. For example, the position number can be first determined in sequence from the start position to the end position within the position range corresponding to code 1, and the first position number within the position range is initially selected as the initial position number. When the position number needs to be adjusted, it is adjusted in sequence from the start position to the end position. Then, according to the initial position number determined by the I-1th preset code value, the current position range of the Ith preset code value is determined, that is, based on the determined I-1 code positions, the available range of the position number of the Ith code 1 is [i I-1 +2, N-2].
[0072] Afterwards, the available position set and the number of available positions of the first preset code value can be determined according to the preset check strategy, all initial position numbers and the current position range, specifically: if the preset check strategy is an odd sum check, first determine whether the sum of the initial position numbers of the first I-1 preset code values is an odd number. If it is an odd number, it is necessary to select an even number from the current position range as the available position of the first preset code value, obtain the available position set, and count the number of available positions z. If z is greater than 0, it means that the coding rules of the preset check strategy are met, and the current total number of codes J can be determined according to the number of available positions, that is, the current total number of codes J is equal to the total number of initialized codes plus z; if z is equal to 0, it means that the first preset code value has no available position number in the current position range, does not meet the coding rules of the preset check strategy, and needs to adjust the position number of the I-1th code 1.
[0073] Exemplarily, the sum of the position numbers of I codes 1 is cyclically calculated according to the odd-even check method. Taking the odd check method as an example, if the sum value is an odd number, it means that the code complies with the rules. If the sum value is an even number, it means that the code does not comply with the rules. The odd check formula is as follows:
[0074] ;
[0075] in, Indicates the position number of the k-th code 1.
[0076] In an embodiment of the present invention, if the coding rules of the preset verification strategy are met, the total number of codes J increases by z (the number of available positions), and subsequent encoding steps can be performed; if the coding rules of the preset verification strategy are not met, it is necessary to adjust according to the available position range of the first I-1 codes 1, starting with the code 1 position with a larger sorting number, and performing a recursive loop in sequence until the coding rules of the preset verification strategy are met.
[0077] In an embodiment of the present invention, if the current total number of codes J is greater than the value to be encoded X, the available position can be determined from the available position set according to the value to be encoded X, the current total number of codes J and the number of available positions z, that is, the X-(Jz)+1th position can be selected from the available position set as the available position, and then the position number of the available position can be determined as the target position number of the I-th preset code value, and then the initial position number of the I-1th preset code value and all the preset code values before the I-1th preset code value can be determined as the target position number.
[0078] Exemplarily, the position numbers of all codes 1 are determined according to the corresponding total number of codes J and the size of the value to be encoded X. The total number of codes J can be solved according to the position number of the above code 1. If J>X, it means that the I-th code 1 under the position number of the current I-1 codes 1 has a codable value that complies with the encoding rules. The position number of the I-th code 1 can be solved according to the loop judgment. Otherwise, it is necessary to adjust according to the available position range of the first I-1 codes 1, starting from the code 1 position with a larger sorting number, and performing recursive loops in sequence until a code 1 position combination with J>X is found, as shown in the following formula:
[0079] ;
[0080] Thus, we can get the set Q of position numbers of all codes 1.
[0081] In order to further improve the accuracy of determining the target position number of the preset coding value, in the mud pulse signal coding method of the near-drill bit geological guidance system provided in Example 1 of the present application, after determining the current total number of codes based on the number of available positions, it also includes: when the current total number of codes is less than or equal to the value to be coded, adjusting the initial position number of the I-1th preset coding value to obtain the latest position number; based on the latest position number of the I-1th preset coding value, determining the latest position range of the I-1th preset coding value; calculating the sum of the initial position numbers and the latest position numbers of all the preset coding values before the I-1th preset coding value to obtain the total number, and based on the number The sum and the preset verification strategy are used to determine the latest available position set and the latest available position number of the I-th preset coding value; based on the latest available position number, the current total number of codes is accumulated to obtain the latest total number of codes; the latest total number of codes is compared with the value to be encoded, and when the latest total number of codes is less than or equal to the value to be encoded, the initial position number of the I-1-th preset coding value is continued to be adjusted; when all position numbers of the I-1-th preset coding value have been used and the latest total number of codes is less than or equal to the value to be encoded, the initial position number of the I-2-th preset coding value is adjusted until all position numbers of the 1-th preset coding value have been used or the latest total number of codes is greater than the value to be encoded.
[0082] In an embodiment of the present invention, if the current total number of codes J is less than or equal to the value to be encoded X, it is necessary to adjust the initial position number of the I-1th preset code value to obtain the latest position number (i.e., adjust the position number of the I-1th preset code value backward by one position according to the sorting sequence number of the position range from small to large). Then, according to the latest position number of the I-1th preset code value, determine the latest position range of the Ith preset code value, and then calculate the sum of the initial position numbers and the latest position numbers of all the preset code values before the I-1th preset code value to obtain the total number of numbers, and then determine the latest available position set and the latest available position number of the Ith preset code value according to the total number of numbers and the preset check strategy. If the latest available position number is greater than 0, it indicates that the coding rule of the parity check is met, and the current total number of codes can be accumulated according to the latest available position number to obtain the latest total number of codes. After that, compare the total number of the latest codes with the value to be encoded. If the total number of the latest codes is less than or equal to the value to be encoded, it means that the encoding rules are not met and it is necessary to continue to adjust the initial position number of the I-1th preset code value. If all position numbers of the I-1th preset code value have been used (all positions within the position range of code 1 have been used), but the total number of the latest codes is still less than or equal to the value to be encoded, continue to adjust the initial position numbers of the I-2th preset code values forward according to the sorting sequence number until all position numbers of the 1st preset code value have been used or the total number of the latest codes is greater than the value to be encoded.
[0083] In an embodiment of the present invention, if the encoding rules are still not met after all position numbers of the first preset encoding value have been used, the check strategy can be replaced, for example, the odd sum check is replaced with the even sum check, or the even sum check is replaced with the odd sum check.
[0084] Taking the 9-2 code (i.e., the number of bits N in the binary code is 9, and the number of coded 1s I is 2) as an example, Table 1 shows the corresponding encoding values (i.e., binary encoding values) of the 9-2 code obtained by odd check and even check when the values to be encoded are different.
[0085] Table 1
[0086]
[0087] In order to improve the accuracy of generating mud pulse signals, in the mud pulse signal encoding method of the near-bit geological guidance system provided in Example 1 of the present application, after generating the binary code corresponding to the downhole parameters based on the target position number of all preset coding values, it also includes: generating the mud pulse signal of the downhole parameters based on the binary code; transmitting the mud pulse signal to the ground receiver through the near-bit geological guidance system, wherein the ground receiver determines the decoding strategy based on the preset coding strategy and the preset verification strategy, and uses the decoding strategy to decode the mud pulse signal to obtain the downhole parameters.
[0088] In the embodiment of the present invention, the generation of the mud pulse signal can be determined in sequence according to the binary code values 0 and 1. Among them, the code 0 means that no mud pulse is sent, and the code 1 means that one mud pulse is sent. The pulse signal corresponding to the binary code can be generated by a pulser and transmitted to the ground through the mud fluid. On the ground, the corresponding downhole parameters are solved according to the corresponding decoding rules (that is, the decoding strategy can be determined according to the preset encoding strategy and the preset verification strategy used in the encoding).
[0089] In the embodiment of the present invention, decoding is the same as encoding, traversing all the code values that are 1 in the code, determining the corresponding total number of codable values in turn, and obtaining the corresponding specific values.
[0090] Figure 2 is a schematic diagram of a corresponding relationship between a to-be-encoded value 2 of an optional 9-2 code and a pulse according to an embodiment of the present invention, such as Figure 2 As shown, with time (t) as the horizontal axis and the pump pressure value as the vertical axis, the mud pulse signal curve generated when the binary code value is 100000100 when even parity is used is shown.
[0091] Another optional specific implementation is described in detail below.
[0092] In an embodiment of the present invention, a near-bit geological guidance system obtains various downhole parameters using a sensor module, and determines a value to be encoded according to the resolution of each parameter for subsequent encoding of a mud pulse signal, and then initializes the encoding method based on a multiple recursive encoding rule to determine the initial state of the encoding value, and then uses a strong parity check method to verify the sum of all determined coding 1 positions, and determines a position number set based on the verification result, and then generates a binary coding value based on the position number mapping of all coding 1s, and uses a pulser to generate a mud pulse signal from the binary coding value for transmission, and senses the mud pulse signal on the ground through a pressure sensor, and uses decoding software in the ground system to decode the mud pulse signal, thereby obtaining all downhole parameter information, which can effectively improve the transmission efficiency of downhole parameters and meet the normal use of measurement while drilling.
[0093] Figure 3 is a schematic diagram of an optional mud pulse signal encoding and decoding method for a near-bit geosteering system according to an embodiment of the present invention, such as Figure 3 As shown, the following process is included:
[0094] (1) Use the downhole sensors in the near-bit geosteering system to obtain data from each downhole sensor, and collect and process the data through the downhole central control circuit;
[0095] (2) Determine the value to be encoded according to the resolution, and determine the number of bits of binary encoding and the number of bits of encoding 1 according to the size range of the value to be encoded;
[0096] (3) Encoding initialization based on multiple recursive encoding rules;
[0097] (4) Use the strong parity check method to determine the position numbers of all code 1s;
[0098] (5) Generate binary codes based on all position numbers of code 1;
[0099] (6) A pulse generator is used to generate a mud pulse signal corresponding to the binary code, and the encoded signal is transmitted using the mud pulse. The signal is decoded on the ground decoding software to obtain specific downhole parameters.
[0100] In the embodiment of the present invention, the position of each code 1 is determined in turn through a multiple recursive algorithm, which is not only simple to implement, but also can ensure that the positions of pulses do not overlap, which is convenient for the identification of subsequent pulses, and can transmit more data values in the same time. For the demand of large data volume, this coding rule has a higher transmission rate. In addition, the parity sum method is used for verification, and the verification rule is simple and effective, with a small amount of calculation and low complexity. It can detect errors to a certain extent, ensuring the effectiveness and correctness of data transmission.
[0101] The following is a detailed description in conjunction with another embodiment.
[0102] Embodiment 2
[0103] A mud pulse signal encoding device for a near-bit geological steering system provided in this embodiment includes multiple implementation units, each of which corresponds to each implementation step in the above-mentioned embodiment 1.
[0104] Figure 4 Schematic diagram of a mud pulse signal encoding device for a near-bit geosteering system according to an embodiment of the present invention. Figure 4 As shown, the mud pulse signal encoding device may include: a first determination unit 40 , a second determination unit 41 , a third determination unit 42 , and a generation unit 43 .
[0105] The first determination unit 40 is used to determine the to-be-encoded value of each downhole parameter transmitted by the near-bit geosteering system to the ground receiver, and determine the number of binary encoding bits N and the number of preset encoding values I based on all the to-be-encoded values, wherein N>I, and both N and I are positive integers;
[0106] The second determination unit 41 is used to determine, for each downhole parameter, a position range of a preset coding value of each bit in the binary code corresponding to the downhole parameter based on a preset coding strategy, a coding bit number N and a number I;
[0107] A third determining unit 42 is used to determine the target position numbers of all preset code values by using a preset verification strategy based on the position range of each preset code value;
[0108] The generating unit 43 is used to generate a binary code corresponding to the downhole parameter based on the target position number of all preset code values, wherein the binary code is used to generate a mud pulse signal of the downhole parameter.
[0109] The above-mentioned mud pulse signal encoding device can determine the to-be-encoded value of each downhole parameter transmitted by the near-bit geological guidance system to the ground receiver through the first determination unit 40, and determine the number of coding bits N of the binary code and the number I of preset coding values based on all the to-be-encoded values. For each downhole parameter, the second determination unit 41 determines the position range of each preset coding value in the binary code corresponding to the downhole parameter based on the preset coding strategy, the number of coding bits N and the number I. The third determination unit 42 determines the target position numbers of all preset coding values based on the position range of each preset coding value and the preset verification strategy. The generation unit 43 generates the binary code corresponding to the downhole parameter based on the target position numbers of all preset coding values, which can effectively improve the coding efficiency, thereby achieving the effect of transmitting more parameters in the same time, thereby solving the technical problem of low coding efficiency of downhole parameters in the related technology, which leads to the inability to quickly transmit downhole parameters.
[0110] Optionally, the first determination unit includes: a first determination module for determining the resolution of each downhole parameter; and a second determination module for determining, for each downhole parameter, a value to be encoded of the downhole parameter based on the parameter value and the resolution of the downhole parameter.
[0111] Optionally, the second determination unit includes: a third determination module, used to determine the range of values to be encoded based on all values to be encoded; a fourth determination module, used to determine the number of coding bits N and the number of preset coding values I of the binary code corresponding to the range of values to be encoded based on a preset correspondence table, wherein the preset correspondence table records the binary coding information corresponding to each range of values to be encoded, and the binary coding information includes: the number of coding bits N and the number of preset coding values I.
[0112] Optionally, the preset coding strategy includes: a preset number ending with 0 and a coding interval between every two preset coding values, and the third determination unit includes: a first module for taking the first coding position of the binary code as the starting position of the first preset coding value; a fifth determination module for determining the ending position of the first preset coding value based on the number of coding bits N, the preset number, the first remaining number and the coding interval, wherein the first remaining number is the number I minus the sorting number of the first preset coding value; a sixth determination module for determining the starting position of the current preset coding value based on the coding interval and the position number of the previous preset coding value, and determining the ending position of the current preset coding value based on the number of coding bits N, the preset number, the second remaining number and the coding interval, until the sorting number of the current preset coding value is equal to the number I, wherein the second remaining number is the number I minus the sorting number of the current preset coding value; a seventh determination module for determining the position range of each preset coding value based on the starting position and the ending position of each preset coding value.
[0113] Optionally, the mud pulse signal encoding device also includes: an initialization unit, which is used to initialize the total number of codes before determining the target position numbers of all preset code values based on the position range of each preset code value by using a preset verification strategy; the third determination unit includes: an eighth determination module, which is used to determine the initial position number of the I-1th preset code value and all preset code values before the I-1th preset code value based on the position range; a ninth determination module, which is used to determine the current position range of the Ith preset code value based on the initial position number of the I-1th preset code value; a tenth determination module, which is used to determine the current position range of the Ith preset code value based on the preset verification strategy, all initial position codes The invention discloses a method for determining an available position set and the number of available positions for the I-th preset coding value based on the number and the current position range; an eleventh determination module is used to determine the current total number of codes based on the number of available positions; a twelfth determination module is used to determine the available positions from the available position set based on the value to be encoded, the current total number of codes and the number of available positions when the current total number of codes is greater than the value to be encoded, and to determine the position number of the available positions as the target position number of the I-th preset coding value; a thirteenth determination module is used to determine the initial position number of the I-1-th preset coding value and all the preset coding values before the I-1-th preset coding value as the target position number.
[0114] Optionally, the mud pulse signal encoding device also includes: a first adjustment unit, which is used to adjust the initial position number of the I-1th preset code value to obtain the latest position number after determining the current total number of codes based on the available position number, when the current total number of codes is less than or equal to the value to be encoded; a fourth determination unit, which is used to determine the latest position range of the I-1th preset code value based on the latest position number of the I-1th preset code value; a first calculation unit, which is used to calculate the sum of the initial position numbers and the latest position numbers of all preset code values before the I-1th preset code value to obtain the total number, and determine the I-1th preset code value based on the total number and the preset verification strategy. The latest available position set and the latest available position number; a first accumulation unit, used to accumulate the current total number of codes based on the latest available position number to obtain the latest total number of codes; a first comparison unit, used to compare the latest total number of codes with the value to be encoded, and when the latest total number of codes is less than or equal to the value to be encoded, continue to adjust the initial position number of the I-1th preset code value; a second adjustment unit, used to adjust the initial position number of the I-2th preset code value when all position numbers of the I-1th preset code value have been used and the latest total number of codes is less than or equal to the value to be encoded, until all position numbers of the 1st preset code value have been used or the latest total number of codes is greater than the value to be encoded.
[0115] Optionally, the mud pulse signal encoding device also includes: a second generating unit, which is used to generate a mud pulse signal of the downhole parameters based on the binary code, after generating a binary code corresponding to the downhole parameters based on the target position number of all preset coding values; a first transmission unit, which is used to transmit the mud pulse signal to a ground receiver through a near-bit geological guidance system, wherein the ground receiver determines a decoding strategy based on a preset encoding strategy and a preset verification strategy, and uses the decoding strategy to decode the mud pulse signal to obtain the downhole parameters.
[0116] The above-mentioned mud pulse signal encoding device may also include a processor and a memory. The above-mentioned first determination unit 40, second determination unit 41, third determination unit 42, generation unit 43, etc. are all stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to realize corresponding functions.
[0117] The processor includes a kernel, which retrieves the corresponding program unit from the memory. One or more kernels can be set to generate binary codes corresponding to downhole parameters based on the target position numbers of all preset code values by adjusting kernel parameters.
[0118] The above-mentioned memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one storage chip.
[0119] According to another aspect of an embodiment of the present invention, a computer program product is also provided, including a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the mud pulse signal encoding method of the near-drill bit geological guidance system is implemented.
[0120] When the computer program product is executed on a data processing device, it is suitable for executing an initialization program having the following method steps: determining the value to be encoded of each downhole parameter transmitted by the near-bit geological steering system to the ground receiver, and based on all the values to be encoded, determining the number of coding bits N of the binary code and the number I of preset coding values; for each downhole parameter, based on the preset coding strategy, the number of coding bits N and the number I, determining the position range of each preset coding value in the binary code corresponding to the downhole parameter; based on the position range of each preset coding value, using the preset verification strategy to determine the target position numbers of all preset coding values; based on the target position numbers of all preset coding values, generating the binary code corresponding to the downhole parameter.
[0121] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by one or more processors, the one or more processors implement the above-mentioned mud pulse signal encoding method of the near-drill bit geological steering system.
[0122] Figure 5 1 is a hardware structure block diagram of an electronic device (or mobile device) for a mud pulse signal encoding method for a near-drill-bit geological steering system according to an embodiment of the present invention. Figure 5 As shown, the electronic device may include one or more processors (e.g., Figure 5 The processor 502a, processor 502b, ..., processor 502N, etc., which may include but are not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 504 for storing data. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a keyboard, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 5 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 5 More or fewer components as shown, or with Figure 5 Different configurations are shown.
[0123] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0124] The embodiments or examples of the present disclosure are not exhaustive, but are only illustrative of some embodiments or examples, and are not intended to be specific limitations on the scope of protection of the present disclosure. In the absence of contradiction, each step in a certain embodiment or example can be implemented as an independent example, and the steps can be combined arbitrarily. For example, the scheme after removing some steps in a certain embodiment or example can also be implemented as an independent example, and the order of the steps in a certain embodiment or example can be arbitrarily exchanged. In addition, the optional methods or optional examples in a certain embodiment or example can be combined arbitrarily; in addition, the various embodiments or examples can be combined arbitrarily, for example, some or all steps of different embodiments or examples can be combined arbitrarily, and a certain embodiment or example can be combined arbitrarily with the optional methods or optional examples of other embodiments or examples.
[0125] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0126] In the several embodiments provided by the present invention, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0127] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0128] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0129] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk, etc. Various media that can store program codes.
[0130] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A mud pulse signal encoding method for a near-bit geological steering system, characterized in that: include: Determine the to-be-encoded value of each downhole parameter transmitted by the near-bit geosteering system to the ground receiver, and determine the number of binary encoding bits N and the number of preset encoding values I based on all the to-be-encoded values, where N>I, and both N and I are positive integers; For each of the downhole parameters, based on the preset coding strategy, the number of coding bits N and the number I, determine the position range of each preset coding value in the binary code corresponding to the downhole parameter, wherein the starting position and the ending position of each preset coding value are determined to obtain the position range of the preset coding value; Based on the position range of each preset code value, a preset verification strategy is used to determine the target position numbers of all the preset code values, wherein the total number of codes is initialized, and based on the position range of each preset code value, a preset verification strategy is used to determine the target position numbers of all the preset code values, including: based on the position range, determining the initial position number of the I-1th preset code value and all the preset code values before the I-1th preset code value; based on the initial position number of the I-1th preset code value, determining the current position range of the Ith preset code value; based on the preset verification strategy, all the initial position The number and the current position range are used to determine the available position set and the number of available positions of the first preset coding value; based on the number of available positions, the total number of current codes is determined; if the total number of current codes is greater than the value to be encoded, based on the value to be encoded, the total number of current codes and the number of available positions, the available positions are determined from the available position set, and the position numbers of the available positions are determined as the target position number of the first preset coding value; the initial position numbers of the first-1 preset coding value and all the preset coding values before the first-1 preset coding value are determined as the target position number; Based on the target position numbers of all the preset code values, the binary code corresponding to the downhole parameter is generated, wherein the binary code is used to generate a mud pulse signal of the downhole parameter.
2. The mud pulse signal encoding method according to claim 1, characterized in that: The step of determining a value to be encoded for each downhole parameter transmitted by the near-bit geosteering system to a surface receiver comprises: determining a resolution of each of said downhole parameters; For each of the downhole parameters, the value to be encoded of the downhole parameter is determined based on the parameter value of the downhole parameter and the resolution.
3. The mud pulse signal encoding method according to claim 1, characterized in that: Based on all the values to be encoded, the step of determining the number of encoding bits N of the binary code and the number of preset encoding values I comprises: Based on all the values to be encoded, determining a range of values to be encoded; Based on a preset correspondence table, the number of coding bits N of the binary code corresponding to the range of values to be encoded and the number I of the preset coding values are determined, wherein the preset correspondence table records the binary coding information corresponding to each range of values to be encoded, and the binary coding information includes: the number of coding bits N and the number I of the preset coding values.
4. The mud pulse signal encoding method according to claim 1, characterized in that: The preset coding strategy includes: a preset number ending with 0 and a coding interval between every two preset coding values, and a step of determining a starting position and an ending position of each preset coding value to obtain a position range of the preset coding value, including: Using the first coding position of the binary code as the starting position of the first preset coding value; Determine the end position of the first preset code value based on the number of code bits N, the preset number, the first remaining number, and the code interval, wherein the first remaining number is the number I minus the sorting sequence number of the first preset code value; Based on the coding interval and the position number of the previous preset coding value, determine the starting position of the current preset coding value, and based on the number of coding bits N, the preset number, the second remaining number and the coding interval, determine the ending position of the current preset coding value, until the sorting number of the current preset coding value is equal to the number I, wherein the second remaining number is the number I minus the sorting number of the current preset coding value; The position range of each preset coding value is determined based on the starting position and the ending position of each preset coding value.
5. The mud pulse signal encoding method according to claim 1, characterized in that: After determining the current total number of codes based on the number of available positions, the method further comprises: When the total number of current codes is less than or equal to the value to be encoded, adjusting the initial position number of the (I-1)th preset code value to obtain the latest position number; Determine the latest position range of the 1st preset code value based on the latest position number of the 1-1th preset code value; Calculate the sum of the initial position numbers and the latest position numbers of all the preset code values before the (I-1)th preset code value to obtain a total number of numbers, and determine the latest available position set and the latest available position number of the (I)th preset code value based on the total number of numbers and the preset verification strategy; Based on the latest number of available positions, the current total number of codes is accumulated to obtain the latest total number of codes; Compare the latest total number of codes with the value to be encoded, and if the latest total number of codes is less than or equal to the value to be encoded, continue to adjust the initial position number of the (I-1)th preset code value; When all position numbers of the I-1th preset coding value have been used and the total number of the latest codes is less than or equal to the value to be encoded, adjust the initial position number of the I-2th preset coding value until all position numbers of the 1st preset coding value have been used or the total number of the latest codes is greater than the value to be encoded.
6. The mud pulse signal encoding method according to claim 1, characterized in that: After generating the binary code corresponding to the downhole parameter based on the target position number of all the preset code values, the method further includes: Based on the binary code, generating a mud pulse signal of the downhole parameter; The mud pulse signal is transmitted to the ground receiver through the near-bit geological steering system, wherein the ground receiver determines a decoding strategy based on the preset encoding strategy and the preset verification strategy, and uses the decoding strategy to decode the mud pulse signal to obtain the downhole parameters.
7. A mud pulse signal encoding device for a near-bit geological steering system, characterized in that: include: A first determination unit is used to determine the to-be-encoded value of each downhole parameter transmitted by the near-bit geosteering system to the ground receiver, and determine the number of bits N of the binary code and the number I of the preset code values based on all the to-be-encoded values, wherein N>I, and both N and I are positive integers; A second determining unit is used to determine, for each of the downhole parameters, a position range of each preset code value in the binary code corresponding to the downhole parameter based on a preset coding strategy, the number of coding bits N and the number I, wherein a starting position and an ending position of each preset code value are determined to obtain the position range of the preset code value; A third determining unit is configured to determine the target position numbers of all the preset code values based on the position range of each preset code value by adopting a preset verification strategy, wherein the total number of initialized codes and the target position numbers of all the preset code values based on the position range of each preset code value by adopting a preset verification strategy include: determining the initial position numbers of the I-1th preset code value and all the preset code values before the I-1th preset code value based on the position range; determining the current position range of the Ith preset code value based on the initial position number of the I-1th preset code value; determining the available position set and the number of available positions of the Ith preset code value based on the preset verification strategy, all the initial position numbers and the current position range; and determining the current total number of codes based on the number of available positions; The first generating unit is used to generate the binary code corresponding to the downhole parameter based on the target position number of all the preset code values, wherein the binary code is used to generate a mud pulse signal of the downhole parameter.
8. A computer program product, characterized in that It comprises a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the mud pulse signal encoding method of the near-drill-bit geological steering system according to any one of claims 1 to 6 is implemented.
9. An electronic device, characterized in that: It includes one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the mud pulse signal encoding method of the near-drill bit geological guidance system as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Down-hole slurry pulse signal generation device
CN103670380A
Down-hole joint source-channel coding method based on wireless measurement while drilling
CN105227503A