An encoding and decoding method based on mud discharge rate downlink commands
By adopting new synchronous head encoding method and voltage rate decoding method in deep well drilling, the problems of deep well decoding failure and difficulty in counting single bit time in traditional methods are solved, and more efficient command download and higher drilling efficiency are achieved.
Patent Information
- Application Number
- CN202411173354.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-08-26
AI Technical Summary
During deep well drilling, the traditional method of downloading instructions by changing the mud displacement is prone to the increase in the well depth, resulting in the failure of decoding, and the single bit time is not easy to count, which reduces the drilling efficiency.
A new synchronous head encoding method and downhole decoding method are adopted to form a specific pulse sequence by controlling the mud displacement, the synchronization head is used to determine the pulse width and length of a single symbol, and the "0" or "1" state in the data segment is judged by the voltage change rate, avoiding the dependence of fixed thresholds.
It effectively avoids the problem of deep well decoding failure, shortens the time for command downloading, improves drilling efficiency, and does not require the traditional 8-second pulse width, which can shorten the command downloading time to half of the traditional method.
Smart Images

Figure CN118933723B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of coding and decoding, and in particular relates to a coding and decoding method based on mud displacement downlink instructions. Background Art
[0002] The rotary steerable instrument is one of the key instruments for drilling special process wells such as high-difficulty directional wells, horizontal wells, and extended-reach wells. By controlling the instrument's deflection unit and adjusting the drilling direction of the drill bit, the wellbore deflection and horizontal drilling are completed. Compared with ordinary screw drilling, the rotary steerable instrument has a stronger deflection capability and higher drilling efficiency. At the same time, the trajectory control accuracy is also very high, and it has gradually become a powerful tool for oil and gas field drilling. The drill bit is installed at the front end of the rotary steerable instrument and is located at the bottom of the well when working. To complete the control of the drilling direction, the on-site engineer must send the drilling direction adjustment command from the ground to the bottom of the well. There are generally two ways to send commands. One is to change the drill pipe speed on the ground and detect the speed change downhole to decode the transmitted command. The other is to change the mud displacement on the ground and detect the voltage change caused by the generator speed change downhole to decode the transmitted command. The method of changing the rotation speed requires the installation of sensors for detection, which is rather troublesome. In addition, since support pressure is easily generated as the well depth gradually increases, the rotation speed cannot be accurately transmitted to the bottom of the well. Therefore, the instructions of the rotary steerable instrument are generally transmitted by changing the mud displacement.
[0003] In order to transmit instructions by changing the mud displacement, it is necessary to install a command transmission device on the ground. The traditional method of transmitting instructions is to open the valve of the device to discharge part of the mud flowing into the drill pipe into the mud pool, thereby reducing the mud displacement flowing into the bottom of the well. The rotary steerable instrument is equipped with a turbine generator. Due to the reduction in mud displacement, the speed of the turbine generator decreases, thereby reducing the voltage amplitude generated. Conversely, when the valve of the command transmission device is closed, the mud displacement will increase, and the voltage amplitude generated by the turbine generator will increase again. Therefore, the instructions transmitted from the ground can be decoded by detecting the changes in the high and low states of the voltage amplitude in the well.
[0004] With the traditional method, when the data code elements alternate between "0" and "1" continuously after the well depth increases, that is, when the ground command transmission device is continuously switched on and off, the displacement change is transmitted slowly after the well depth increases, resulting in the voltage waveform in the well failing to reach the judgment threshold of the standard voltage, thus failing to decode. Although this phenomenon can be improved by increasing the time for the valve to open and close, it cannot completely solve the problem. Moreover, as the well depth increases, a longer transmission time is required, reducing the drilling efficiency. At the same time, due to the certain rise and fall time of the voltage change, the single bit duration (8 seconds pulse width) is not easy to count and generally cannot reach 8 seconds. The pulse width time is different depending on the well depth, and inaccurate pulse width judgment will also lead to decoding failure. Summary of the invention
[0005] The purpose of the present invention is to adopt a new synchronization header encoding method and downhole decoding method to solve the problem of deep well decoding failure.
[0006] The technical solution of the present invention is as follows:
[0007] A coding and decoding method for transmitting instructions based on mud displacement, comprising a coding method and a decoding method, and used for transmitting and receiving instructions by controlling mud displacement during drilling.
[0008] Furthermore, the encoding method specifically comprises the following steps:
[0009] By controlling the mud displacement control system, the mud displacement is changed according to the specified timing, and a specific mud displacement pulse sequence is formed in the drilling pipeline to complete the sending of a downlink instruction;
[0010] The downlink instruction is composed of a synchronization header, a command code, a data length, a data segment and an even parity bit.
[0011] Furthermore, the synchronization header is composed of a coding method of "0"+"1"+"0"+"1"+"0"+"1", wherein "0" and "1" are both single-bit code element durations.
[0012] Furthermore, the command code uses the lower 3 bits to encode different instruction meanings, and the highest bit is always "0" to avoid confusion with the last bit of the synchronization header.
[0013] Furthermore, the decoding method specifically comprises the following steps:
[0014] The mud displacement measurement device installed in the well collects mud displacement data in real time and processes the data to identify the mud displacement pulse sequence;
[0015] Identify the synchronization head, that is, detect the continuous "0" + "1" + "0" + "1" + "0" + "1" pulse sequence, and use it as the starting point of decoding;
[0016] Calculate the duration of each "0" and "1" state in the synchronization header, find the average value, and use 90% and 110% of this average value as the interval standard for judging the pulse width of the code element in the subsequent data segment;
[0017] The code element judgment method based on voltage change rate is adopted to judge the "0" or "1" state of each bit in the data segment by comparing the relative changes of the average mud displacement in continuous time periods;
[0018] According to the decoded data segment and known encoding rules, the specific content of the transmitted instruction is parsed and checked to ensure the correctness of the instruction.
[0019] Furthermore, the code element determination method based on voltage change rate is specifically as follows:
[0020] The voltage value is collected every 50ms underground, and the 10 collected values of 500ms are used as a set to calculate the average value. This operation is repeated continuously, and the average value of this set is compared with the average value of the previous set. When the average value of this set is greater than or less than 10% of the average value of the previous set, it is regarded as a valid set. If it is greater, the count value counter_1 is increased by 1, otherwise, the count value counter_0 is increased by 1. Then the next set average value is compared with the current set average value, and the judgment is made in the same way. The counting of the count values counter_1 and counter_0 is completed. When the count value is increased by 1 for three consecutive times, that is, counter_0 ≥ 3 or counter_1 ≥ 3, the code element conversion is determined.
[0021] Compared with the prior art, the present invention has the following advantages:
[0022] (1) The present invention designs a new frame structure, including a synchronization header, a command code, a data header, a data segment and an even parity bit, so as to complete the encoding of the downlink instruction;
[0023] (2) A synchronization header with the code element of "010101" is defined, and the pulse width length of a single code element is determined in the synchronization header decoding stage, providing a pulse width timing standard for subsequent data decoding, effectively avoiding decoding failures caused by pulse width counting and timing errors;
[0024] (3) The present invention does not need to select a fixed voltage threshold as the judgment standard for the "0" and "1" code words, but uses the voltage change rate as the standard for judging the level jump, thereby avoiding the decoding failure caused by the voltage sampling value failing to reach the fixed threshold after the well depth increases;
[0025] (4) By adopting the frame structure and the method for judging the code words "0" and "1" of the present invention, the pulse width of a single code element need not use the traditional 8-second duration, but can be further reduced to 4 seconds, thereby shortening the time for transmitting instructions to half of the traditional method. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The accompanying drawings generally illustrate various embodiments by way of example and not limitation, and together with the description and claims, serve to illustrate the embodiments of the invention. Where appropriate, the same reference numerals are used throughout the drawings to refer to the same or similar parts. Such embodiments are illustrative and are not intended to be exhaustive or exclusive embodiments of the present apparatus or method.
[0027] Figure 1 A schematic diagram of a complete instruction transmission and decoding process of the present invention is shown. DETAILED DESCRIPTION
[0028] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0029] The steps of a complete instruction transmission decoding of the present invention are as follows:
[0030] Step 1: Before the downlink command starts, the mud displacement is relatively stable, and the output voltage amplitude of the turbine generator does not change much. The voltage value is continuously collected to obtain the average value and compare it, waiting for the condition of counter_0 plus 1 to be met and counting is performed;
[0031] Step 2: When counter_0≥3, it is considered that the instruction is started to be transmitted, the first code element "0" of the synchronization header is captured, counter_0 is cleared and the addition operation is no longer performed, and the voltage is continued to be collected for comparison, waiting for the condition of counter_1 plus 1 to be met and counting is performed, and the timer is started for timing, and the pulse width duration of the first code element "0" of the synchronization header is recorded and saved;
[0032] Step 3: When counter_1≥3, it is considered that the second code element "1" of the synchronization header is captured, counter_1 is cleared and the addition operation is no longer performed, and the voltage is continued to be collected for comparison, waiting for the condition of counter_0 plus 1 to be met and counting is performed, and the timer is started for timing, and the pulse width duration of the second code element "1" of the synchronization header is recorded and saved;
[0033] Step 4: Repeat steps 2 and 3 until the 6-bit code element of the synchronization header is captured, calculate the average value of the 6 pulse widths saved in the above steps, record 90% of this average value as time_down, and record 110% of this average value as time_up, and use the interval [time_down, time_up] as the interval standard for judging the code element pulse width of subsequent data segments;
[0034] Step 5: When counter_0 ≥ 3, the first code element "0" of the command code is captured, the timer is started, counter_0 is cleared and the addition operation is no longer performed, the voltage is continued to be collected for comparison, and the condition of counter_1 addition is met and counting is performed;
[0035] Step 6: When counter_1≥3, the timer ends and the total time is recorded as time_total. The number of code element "0" is determined by the code element pulse width judgment interval obtained in step 4. The number of code element "0" is an integer in the interval [time_total / time_up, time_total / time_down]. At the same time, counter_1 is cleared and the addition operation is no longer performed. The voltage is continued to be collected for comparison, and the condition of counter_0 adding 1 is met and counting is performed;
[0036] Step 7: Repeat steps 5 and 6 until the 4-bit code element of the command code is captured, and calculate the even parity value to the variable check;
[0037] Step 8: In the same way as capturing the synchronization header and command code, capture the 3-bit code element of the data length to obtain the subsequent data length data_length, and update the even parity check value check;
[0038] Step 9: Capture the N-bit code elements of the data segment in the same way as the synchronization header and command code. The capture of the data segment code elements ends when the number of captured code elements is equal to the data length data_length in step 8.
[0039] Step 10: Capture the 1-bit code element of the even check and determine whether it is equal to the value of check. If it is equal, the decoding is successful and a command is sent to the rotary steering instrument. Otherwise, the decoding fails and returns to the first step.
[0040] In view of the problem that the pulse width is difficult to count in the traditional method, the coding method of the synchronization head of the present invention is "0" + "1" + "0" + "1" + "0" + "1", and the duration corresponding to the synchronization head "0" and "1" is consistent with the data segment, which is a single-bit code element duration. The use of three groups of "0" and "1" alternating coding methods will generate 6 single-bit code element pulse widths. These 6 single-bit code element pulse widths are collected as samples, and the average value is calculated. 90% and 110% of this average value are used as the interval standard for judging the subsequent data segment code element pulse width to decode the downlink data.
[0041] In view of the problem that the traditional method of using a fixed threshold to judge the transmitted instructions is prone to decoding failure, the present invention does not need to select a fixed threshold as the judgment standard for the "0" and "1" codewords, but uses the rate of change of the voltage for judgment. The specific method is as follows: the voltage value is collected every 50ms underground, and the 10 collected values of 500ms are used as a set to calculate the average value. This operation is performed continuously, and the average value calculated for this set is compared with the average value of the previous set. When the average value of this set is greater than or less than 10% of the average value of the previous set, it is regarded as a valid set. If it is greater, the count value counter_1 is increased by 1, otherwise, the count value counter_0 is increased by 1. Then continue to compare the average value of the next set with the average value of this set, judge in the same way, and complete the counting of the count values counter_1 and counter_0.
[0042] When the count value is increased by 1 for three consecutive times, that is, counter_0≥3 or counter_1≥3, it is considered that the transmitted instruction code element has changed from "1" to "0" or "0" to "1", and the code element "0" or code element "1" is sampled in combination with the pulse width judgment standard. It should be noted that the count values counter_0 and counter_1 must meet the increase 1 condition three times in a row before the next step can be carried out. If it does not meet the condition once, it will be reset and restarted.
[0043] The structure of the transmission instruction frame of the present invention is shown in the following table. The command code represents the specific meaning of the transmission instruction, including a total of 7 types, the lower 3 bits 0-7 are respectively for starting guidance, starting stable inclination, setting guidance direction, setting guidance force, setting target well inclination, setting deflection force, setting torsion azimuth force, the highest bit of the command code is always "0", which is convenient for completing the data segment decoding after the synchronization header decoding, and avoiding the highest bit of the command code and the last bit of the synchronization header being "1" at the same time. The 3-bit data length represents the total number of bits N of the data segment plus the last bit of the even check bit, 0 means the length is 2, 1 means the length is 4, ..., 7 means the length is 16.
[0044] The number and meaning of the data segments are determined by the rotary steerable instrument.
[0045] type Synchronous header "010101" Command code Data length Data segment Even parity Number of digits 6 4 3 N 1
[0046] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can make equivalent replacements or changes according to the technical scheme and inventive concept of the present invention within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.
Claims
1. A coding and decoding method based on mud displacement transmission instructions, characterized in that: The method includes an encoding method and a decoding method for transmitting and receiving instructions by controlling mud displacement during drilling; The decoding method specifically comprises the following steps: Step 1: Before the downlink command starts, the mud displacement is relatively stable, and the output voltage amplitude of the turbine generator does not change much. The voltage value is continuously collected to obtain the average value and compare it, waiting for the condition of counter_0 plus 1 to be met and counting is performed; Step 2: When counter_0≥3, it is considered that the instruction is started to be transmitted, and the first code element "0" of the synchronization header is captured. Counter_0 is cleared and the addition operation is no longer performed. The voltage is continued to be collected for comparison, and the condition of counter_1 plus 1 is met and counting is performed. At the same time, the timer is started for timing, and the pulse width duration of the first code element "0" of the synchronization header is recorded and saved; Step 3: When counter_1≥3, it is considered that the second code element "1" of the synchronization header is captured, counter_1 is cleared and the addition operation is no longer performed, and the voltage is continued to be collected for comparison, waiting for the condition of counter_0 plus 1 to be met and counting is performed, and the timer is started for timing, and the pulse width duration of the second code element "1" of the synchronization header is recorded and saved; Step 4: Repeat steps 2 and 3 until the 6-bit code element of the synchronization header is captured, calculate the average value of the 6 pulse widths saved in the above steps, record 90% of this average value as time_down, and record 110% of this average value as time_up, and use the interval [time_down, time_up] as the interval standard for judging the code element pulse width of subsequent data segments; Step 5: Adopt the code element judgment method based on the voltage change rate to judge the "0" or "1" state of each bit in the data segment by comparing the relative change of the average mud displacement in the continuous time period; when counter_0 ≥ 3, the first code element "0" of the command code is captured, the timer is started, counter_0 is cleared and the addition operation is no longer performed, the voltage is continuously collected for comparison, and the condition of counter_1 addition is met and counting is performed; Step 6: until counter_1≥3, the timer ends, and the total time is recorded as time_total. The number of code element "0" is determined by the code element pulse width judgment interval obtained in the fourth step. The number of code element "0" is an integer in the interval [time_total / time_up, time_total / time_down]. At the same time, counter_1 is cleared and the addition operation is no longer performed. The voltage is continuously collected for comparison, and the condition of counter_0 adding 1 is met and counting is performed. Step 7: Repeat steps 5 and 6 until the 4-bit code element of the command code is captured and the even parity check value is calculated; Step 8: In the same way as capturing the synchronization header and command code, capture the 3-bit code element of the data length to obtain the subsequent data length and update the even parity value; Step 9: Capture the N-bit code elements of the data segment in the same way as the synchronization header and command code. The capture of the data segment code elements ends when the number of captured code elements is equal to the data length in step 8. Step 10: Capture the 1-bit code element of the even check and determine whether it is equal to the value of the even check value. If it is equal, the decoding is successful and a command is sent to the rotary steering instrument. Otherwise, the decoding fails and returns to the first step. The code element determination method based on voltage change rate is specifically as follows: The voltage value is collected every 50ms underground, and the 10 collected values of 500ms are used as a set to calculate the average value. This operation is repeated continuously, and the average value of this set is compared with the average value of the previous set. When the average value of this set is greater than or less than 10% of the average value of the previous set, it is regarded as a valid set. If it is greater, the count value counter_1 is increased by 1, otherwise, the count value counter_0 is increased by 1. Then the next set average value is compared with the current set average value, and the judgment is made in the same way. The counting of the count values counter_1 and counter_0 is completed. When the count value is increased by 1 for three consecutive times, that is, counter_0 ≥ 3 or counter_1 ≥ 3, the code element conversion is determined.
2. The encoding and decoding method based on mud displacement transmission instruction according to claim 1 is characterized in that: The encoding method specifically comprises the following steps: By controlling the mud displacement control system, the mud displacement is changed according to the specified timing, and a specific mud displacement pulse sequence is formed in the drilling pipeline to complete the sending of a downlink instruction; The downlink instruction is composed of a synchronization header, a command code, a data length, a data segment and an even parity bit.
3. The encoding and decoding method based on mud displacement transmission instruction according to claim 2 is characterized in that: The synchronization header is composed of a coding method of "0"+"1"+"0"+"1"+"0"+"1", where "0" and "1" are both single-bit code element durations.
4. The encoding and decoding method based on mud displacement transmission instruction according to claim 2 is characterized in that: The command code uses the lower 3 bits to encode different command meanings, and the highest bit is always "0" to avoid confusion with the last bit of the synchronization header.
Citation Information
Patent Citations
Slurry negative pulse data download coding method for well drilling
CN103670381A