US20110026362A1 - Telemetry Coding and Surface Detection for a Mud Pulser - Google Patents

Telemetry Coding and Surface Detection for a Mud Pulser Download PDF

Info

Publication number
US20110026362A1
US20110026362A1 US12/512,222 US51222209A US2011026362A1 US 20110026362 A1 US20110026362 A1 US 20110026362A1 US 51222209 A US51222209 A US 51222209A US 2011026362 A1 US2011026362 A1 US 2011026362A1
Authority
US
United States
Prior art keywords
integer
encoded
pulses
fibonacci
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/512,222
Other versions
US8730764B2 (en
Inventor
Caimu Tang
Mark S. Beattie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schlumberger Technology Corp
Original Assignee
Smith International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US12/512,222 priority Critical patent/US8730764B2/en
Application filed by Smith International Inc filed Critical Smith International Inc
Assigned to SMITH INTERNATIONAL INC. reassignment SMITH INTERNATIONAL INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEATTIE, MARK S, TANG, CAIMU
Priority to CA2769357A priority patent/CA2769357A1/en
Priority to GB1201982.4A priority patent/GB2484056B/en
Priority to PCT/US2010/043887 priority patent/WO2011014761A2/en
Publication of US20110026362A1 publication Critical patent/US20110026362A1/en
Assigned to SCHLUMBERGER TECHNOLOGY CORPORATION reassignment SCHLUMBERGER TECHNOLOGY CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SMITH INTERNATIONAL, INC.
Priority to US14/280,339 priority patent/US9797242B2/en
Publication of US8730764B2 publication Critical patent/US8730764B2/en
Application granted granted Critical
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/003Seismic data acquisition in general, e.g. survey design
    • EFIXED CONSTRUCTIONS
    • E21EARTH DRILLING; MINING
    • E21BEARTH DRILLING, e.g. DEEP DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B47/00Survey of boreholes or wells
    • E21B47/12Means for transmitting measuring-signals or control signals from the well to the surface, or from the surface to the well, e.g. for logging while drilling
    • E21B47/14Means for transmitting measuring-signals or control signals from the well to the surface, or from the surface to the well, e.g. for logging while drilling using acoustic waves
    • E21B47/18Means for transmitting measuring-signals or control signals from the well to the surface, or from the surface to the well, e.g. for logging while drilling using acoustic waves through the well fluid, e.g. mud pressure pulse telemetry
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/06Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two
    • H03M7/08Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two the radix being ten, i.e. pure decimal code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • the present invention relates generally to data communication between a downhole tool deployed in a subterranean borehole and surface instrumentation. More particularly, this invention relates to downhole telemetry coding and surface detection and decoding of mud pulse telemetry.
  • Typical petroleum drilling operations employ a number of techniques to gather information about the borehole and the formation through which it is drilled. Such techniques are commonly referred to in the art as measurement while drilling (MWD) and logging while drilling (LWD). As used in the art, there is not always a clear distinction between the terms LWD and MWD. Generally speaking MWD typically refers to measurements taken for the purpose of drilling the well (e.g., navigation) and often includes information about the size, shape, and direction of the borehole. LWD typically refers to measurement taken for the purpose of analysis of the formation and surrounding borehole conditions and often includes various formation properties, such as acoustic velocity, density, and resistivity. It will be understood that the present invention is relevant to both MWD and LWD operations. As such they will be referred to commonly herein as “MWD/LWD.”
  • Mud pulse telemetry is one technique that is commonly utilized for such data transmissions.
  • drilling fluid commonly referred to as “mud” in the art
  • BHA bottom hole assembly
  • the mud serves several purposes, including cooling and lubricating the drill bit, clearing cuttings away from the drill bit and transporting them to the surface, and stabilizing and sealing the formation(s) through which the borehole traverses.
  • a transmission device such as an electromechanical pulser or a mud siren located near the drill bit generates a series of pressure pulses (in which the data is encoded) that is transmitted through the mud column to the surface.
  • a transducer convert the pressure pulses to electrical signals, which are then transmitted to a signal processor.
  • the signal processor then decodes the signals to provide the transmitted data to the drilling operator.
  • One significant difficulty with decoding a mud pulse signal is the poor signal to noise ratio that results from both low signal amplitude and high noise content.
  • the amplitude of a transmitted pressure pulse tends to attenuate as it travels up the drill pipe. Such attenuation is dependent on many factors including the depth of the borehole, the type of drilling mud, the hydrostatic pressure, the number of joints in the drill string, and the width of the pressure pulse.
  • there are a number of potential sources of noise generated during drilling operations including turning of the drill bit and/or drill pipe in the borehole, sliding and/or impact of the drill pipe against the borehole wall, and the mud pump that is used to pump the mud downhole.
  • U.S. Pat. No. 4,908,804 to Rorden discloses a combinatorial coding technique for mud pulse telemetry. While the methods disclosed in the Rorden patent have been commercially utilized, there remains room for further improvement. For example, there remains a need for coding and decoding methodologies that improve both the efficiency and reliability of mud pulse telemetry communications.
  • the present invention addresses one or more of the above-described drawbacks of prior art data compression and communication techniques.
  • Aspects of this invention include a method for encoding a non-negative integer.
  • the integer may represent various downhole data, for example, including MWD/LWD data.
  • the method includes encoding at least a portion of the integer using at least one novel Fibonacci derived sequence.
  • the remainder of the integer may be encoded using conventional Fibonacci encoding.
  • Surface detection and decoding methodologies are also disclosed.
  • Exemplary embodiments of the present invention may advantageously provide several technical advantages.
  • exemplary methods according to this invention tend to improve the encoding efficiency of large non-negative integers commonly utilized to represent downhole data.
  • the invention also tends to improve communication speed.
  • Embodiments of the invention also tend to improve synchronization between the downhole and the surface locations, e.g., by the use of predefined word and window tags as described in more detail below.
  • the inventive coding methodology also tends to result in coded bit sequences having sparsely spaced 1's. This advantageously facilitates pulse detection in MWD/LWD embodiments by reducing inter-pulse/inter-symbol interference. Downhole power savings may also be realized.
  • the present invention includes a method for encoding a non-negative integer. After acquiring the integer, the method includes encoding at least a portion of the integer using at least a first order Fibonacci derived sequence to obtain a first encoded portion and encoding an uncoded remainder of the integer using a zero-th order Fibonacci sequence to obtain a second encoded portion. The method further includes combining the first encoded portion and the second encoded portion to obtain an encoded integer.
  • the present invention includes a method for transmitting downhole data to a surface location.
  • the method includes acquiring a non-negative integer representative of the downhole data. At least a portion of the integer is then encoded using at least a first order Fibonacci derived sequence to obtain a first encoded portion. An uncoded remainder of the integer is encoded using a zero-th order Fibonacci sequence to obtain a second encoded portion. The first and second encoded portions are then combined to obtain an encoded integer, which is then transmitted to the surface.
  • the present invention includes a method for receiving an encoded integer.
  • the method comprises acquiring a digitized waveform including a first plurality of pulses distributed among a second plurality of time slots and locating each of the pulses in the digitized waveform. At least one confidence value is computed for each of the pulses.
  • the method further includes selecting a subset of the plurality of pulses having low confidence values and generating a set of unique waveforms corresponding to various combinations of the selected subset of pulses.
  • a cross-correlation between the acquired digitized waveform and each of the generated waveforms is then computed.
  • the waveform having the highest cross-correlation is then selected for decoding.
  • FIG. 1 depicts a conventional drilling rig on which exemplary embodiments of the present invention may be utilized.
  • FIG. 2 depicts a conventional mud flow arrangement in which exemplary embodiments of the present invention may be utilized.
  • FIG. 3 depicts a flowchart of one exemplary data encoding embodiment in accordance with the present invention.
  • FIG. 4 depicts an exemplary code matrix in accordance with the present invention including the conventional Fibonacci sequence and first through seventh order Fibonacci derived sequences.
  • FIG. 5 depicts a flowchart of one exemplary embodiment of a surface detection methodology in accordance with the present invention.
  • FIG. 6 depicts a flowchart of one exemplary embodiment of a matched filtering methodology in accordance with the present invention.
  • FIG. 7 depicts a flowchart of a selective matched filtering methodology in accordance with the present invention.
  • FIG. 1 depicts an exemplary offshore drilling assembly, generally denoted 10 , suitable for employing exemplary method embodiments in accordance with the present invention.
  • a semisubmersible drilling platform 12 is positioned over an oil or gas formation (not shown) disposed below the sea floor 16 .
  • a subsea conduit 18 extends from deck 20 of platform 12 to a wellhead installation 22 .
  • the platform may include a derrick and a hoisting apparatus for raising and lowering the drill string 30 , which, as shown, extends into borehole 40 and includes drill bit 32 , a transmission device 50 (e.g., a conventional electromechanical pulser), and at least one MWD/LWD tool 60 .
  • Drill string 30 may optionally further include substantially any number of other tools including, for example, other MWD/LWD tools, stabilizers, a rotary steerable tool, and a downhole drilling motor.
  • FIG. 1 is merely exemplary. It will be further understood that exemplary embodiments in accordance with the present invention are not limited to use with a semisubmersible platform 12 as illustrated on FIG. 1 .
  • the invention is equally well suited for use with any kind of subterranean drilling operation, either offshore or onshore. Moreover, it will further be appreciated that the invention is not limited mud-pulse telemetry operations or even to downhole applications.
  • a mud pump 81 generates a downward traveling mud flow 83 into a standpipe 95 and down through drill string 30 .
  • Rotation of the drill string (and/or drill bit 32 ) creates borehole 40 in the earth (or in sea floor 16 as shown on FIG. 1 ).
  • the mud flow 83 emerges at or near the drill bit 32 and creates an upward traveling mud flow 84 through annulus 46 (the space between the drill string 30 and the borehole wall).
  • Conventional rigs commonly further include a pulsation dampener 90 (also referred to in the art as a desurger) that evens out the flow 83 in the standpipe 95 and drill string 30 .
  • the pulsation dampener 90 essentially acts like an accumulator to smooth outlet pressure generated by the mud pump 81 .
  • MWD/LWD data is encoded downhole (e.g., via a conventional downhole controller).
  • a transmission device 50 such as a conventional electromechanical mud pulser, produces an acoustic pressure wave 85 (a “waveform” that includes the encoded data).
  • This pressure wave 85 travels towards the surface at approximately the speed of sound (typically in the range of about 2000 to 4000 feet per second) through the downward traveling mud 83 .
  • the signal may also be transmitted through and received from the upward traveling mud flow 84 in the annulus 46 .
  • the transmitted pressure wave 85 may be received (detected) at transducer 87 and decoded and analyzed via signal processor 89 (for example a conventional data acquisition computer or DSP board).
  • signal processor 89 for example a conventional data acquisition computer or DSP board.
  • any suitable transducer arrangement may be utilized.
  • the use of a single transducer, as depicted on FIG. 2 is common in the art.
  • Multiple transducer arrangements are also known, for example, as disclosed in U.S. Pat. No. 6,421,298 to Beattie et al.
  • a differential transducer arrangement may also be utilized.
  • One such suitable arrangement is disclosed in commonly assigned U.S. Pat. No. 7,489,591 to Mumby.
  • Methods in accordance with the present invention pertain to downhole encoding and surface decoding of the MWD/LWD data. Methods in accordance with the present invention also relate to windowing methodology for synchronizing the downhole encoder with the surface decoder and a matched filtering detection scheme for reconstructing the transmitted bit sequence. These methods are described in more detail below under appropriate headings.
  • FIG. 3 one exemplary embodiment of an encoding methodology 100 in accordance with the present invention is depicted in flow chart form.
  • a non-negative integer suitable for encoding is received.
  • At 104 at least a portion of the non-negative integer is encoded using one or more novel higher order Fibonacci derived sequences. These novel Fibonacci derived sequences are described in more detail below with respect to FIG. 4 .
  • a remainder of the non-negative integer is encoded using a conventional (zero-th order) Fibonacci sequence at 106 .
  • the encoded bit stream may optionally be denormalized at 108 prior to transmission.
  • encoding schemes in accordance with the present invention make use of both the conventional Fibonacci sequence and novel Fibonacci derived sequences.
  • the first 19 elements of certain of these sequences are depicted on FIG. 4 , with column F 0 depicting the conventional Fibonacci sequence (which may be thought of as a zero-th order Fibonacci derived sequence) and columns F 1 through F 7 depicting first through seventh order Fibonacci derived sequences.
  • the conventional Fibonacci sequence may be represented mathematically as follows:
  • the novel Fibonacci derived sequences may be represented mathematically as follows:
  • the higher order Fibonacci derived sequences may be thought of as being derived from the conventional Fibonacci sequence.
  • the first order Fibonacci derived sequence may be derived from the conventional Fibonacci sequence (the zero-th order sequence).
  • the second order Fibonacci derived sequence may be derived from the first order sequence (which may be derived from the conventional sequence). And so on.
  • Fibonacci derived sequences may be represented in alternative mathematical form as follows:
  • column B 1 is an arithmetic sequence with constant 2 of order 1.
  • Fibonacci sequence and Fibonacci derived sequences may be advantageously used in accordance with the present invention to encode any non-negative integer.
  • any non-negative integer x may be encoded using the conventional Fibonacci sequence (i.e., column F 0 in FIG. 4 ).
  • Zeckendorf's theorem states that every positive integer can be represented in a unique way as the sum of one or more distinct Fibonacci numbers in such a way that the sum does not include any two consecutive Fibonacci numbers.
  • a suitable algorithm for such Fibonacci encoding may be given in Algorithm I as follows:
  • Step (1) Initialize F 0 (x) to 0.
  • Step (4) Output bits from the least significant bit (LSB) to the most significant bit (MSB) of the encoded value.
  • Fibonacci encoding is advantageous in that any non-negative integer may be encoded without the use of consecutive 1s.
  • the string ‘11’ only appears at the end of an encoded integer and therefore serves as a separator between two consecutively encoded integers.
  • a controller merely searches for the next ‘11’ and decodes the bit stream between consecutive ‘11’ strings.
  • Non-negative integers may be more efficiently encoded in accordance with the present invention using the Fibonacci derived sequences (i.e., the higher order Fibonacci sequences described above) while still retaining the advantages of Fibonacci encoding.
  • a suitable algorithm, in accordance with the present invention, for such derived Fibonacci encoding (also referred to herein as higher order Fibonacci encoding) may be given in Algorithm II as follows:
  • Step (1) Initialize F n (x) to 0.
  • Step (3) Apply Algorithm 1 to the remainder of x after the completion of Step 2 and set these k 1 +2 least significant bits of F n (x) . Note that this step is performed even when the remainder of x is zero after Step (2).
  • Step (4) Output bits from the LSB to the MSB of the encoded value.
  • the above-described derived Fibonacci encoding method in accordance with the present invention may be utilized to encode any non-negative integer for any given order: n ⁇ 1. Moreover, such derived Fibonacci encoding retains the self-synchronization feature of conventional Fibonacci encoding in which each integer is identified by the string ‘11’. However, unlike conventional Fibonacci encoding, the string ‘11’ is located in the middle of the encoded integer, between a first portion of the integer that is encoded in Step (2) and a second portion of the integer encoded in Step (3).
  • the Fibonacci derived sequences may be thought of as being a code matrix in which each higher order sequence F k (0 ⁇ k ⁇ n) represents a single column in the matrix.
  • a ‘1’ is recorded in the (k i +k+2)-th bit of F n (x) for each selected F k (k i ).
  • the remainder of x is encoded using Algorithm I.
  • the value 193,015 is selected from column F 4 (row 18)
  • the value 1424 is selected from column F 3 (row 10)
  • the value 72 is selected from column F 2 (row 6)
  • the value 32 is selected from column F 1 (row 6), leaving a remainder of 16.
  • the remaining 16 may then be encoded as ‘11001000’ via conventional Fibonacci encoding (selecting the values of 13 and 3 in rows 6 and 3 of column F 0 ). Combining the results from columns F 4 through F 1 and column F 0 yields: ‘100000000100001111001000’.
  • the integer 194,559 is encoded using seven pulses distributed among 24 bits.
  • the value 109,357 is selected from column F 7 (row 12)
  • the value 50,779 is selected from column F 6 (row 12)
  • the value 22,596 is selected from column F 5 (row 12)
  • the value 9,638 is selected from column F 4 (row 12)
  • the value 1424 is selected from column F 3 (row 10)
  • the value 585 is selected from column F 2 (row 10)
  • the value 142 is selected from column F 1 (row 9), leaving a remainder of 38.
  • the remaining 38 may then be encoded as ‘1100001010’ via conventional Fibonacci encoding (selecting the values of 34, 3, and 1 in rows 8, 3, and 1 of column F 0 ).
  • the integer 194,559 requires ten pulses distributed among 27 bits (‘110101010010100010010010000’).
  • the above examples illustrate potential efficiency improvements that may be realized using the derived Fibonacci encoding scheme of the present invention.
  • These pulse savings can significantly improve efficiency depending upon the particular de-normalization scheme utilized (as described in more detail below) and accuracy (depending on the particular surface detection algorithm utilized).
  • a pulse savings also tends to save energy downhole at the MOP (in mud pulse telemetry embodiments).
  • the invention is not limited to the use of a coding matrix having any particular number of columns or any particular number of higher order Fibonacci derived sequences.
  • the coding matrix may be pre-selected so as to optimize efficiency for a given set (or range) of non-negative integers.
  • Non-negative integers encoded using the methodology described above in Algorithm II may be readily decoded.
  • a suitable methodology for such derived Fibonacci decoding may be given in Algorithm III as follows:
  • Step (1) Search for the first ‘11’
  • Step (2) Initialize x to 0.
  • Step (3) Record the positions of each of the n ‘1’ bits after the first ‘11’. Then decode for the value of each ‘1’ using the corresponding F k (1 ⁇ k ⁇ n) and add values to x.
  • Step (4) Remove the second ‘1’ from the first ‘11’ and record the positions of each ‘1’ before the first ‘11’ (including the first ‘1’ in the first ‘11’). Then decode for the value of each ‘1’ using F 0 and add values to x.
  • Step (5) Search for next ‘11’ to decode successive integers and repeat steps (2), (3), and (4).
  • the previously encoded integer 194,559 is now decoded using Algorithm III.
  • the first ‘11’ is identified (moving from right to left), as underlined in the encoded bit stream: ‘1000000001000011 11 001000’.
  • the values added to x in this example are 193,015 (selected from column F 4 ), 1424 (F 3 ), 72 (F 2 ), and 32 (F 1 ).
  • the string ‘1001000’ (which remains after the second ‘1’ is dropped from the underlined ‘11’) is decoded using F 0 and the appropriate value (16) is added to x.
  • the resultant integer is 194,559.
  • a pressure pulse or a specifically modulated waveform may be generated for each ‘1’ in the bit sequence.
  • Each ‘0’ may be represented by an idle time slot of predetermined duration or a differently modulated waveform.
  • pulses are advantageously separated in time by a sufficiently long duration to accommodate the extremely noise communication channel, (or for bits going through a modulation scheme, bit symbols can be advantageously separated by the difference of phase (and/or amplitude, frequency) offsets in a continuous waveform).
  • Such separation may optionally be accomplished by a denormalization process (step 108 in FIG. 3 ) in which additional slots (or 0's) are added between pulses.
  • the following denormalization process may be advantageously utilized in combination with Algorithm II.
  • Q represents the number of idle slots used to separate two consecutive pulses.
  • the coded bit sequence generated by Algorithm II includes first and second coded portions that come after (to the left of) and before (to the right of) the ‘11’ identifier. Each portion includes at least one pulse (at least one ‘1’). Since the ‘1’ bits in the second portion (encoded using F 0 ) are already separated by at least one idle slot (at least one ‘0’), it is sufficient to insert Q-1 idle slots either before or after each pulse. In the first portion (encoded using F k ), the ‘1’ bits are not necessarily separated, so Q idle slots may be inserted either before or after each pulse.
  • the two ‘1’ bits in the ‘11’ identifier may be separated by Q-1 idle slots so as to create a unique (and therefore recognizable) pattern.
  • a word tag (the denormalized ‘11’ identifier) may be defined as being 3Q-1 denormalized slots: Q-1 idle slots between the pulses in the ‘11’ pattern and Q-1 leading idle slots and Q-1 trailing idle slots. In practice this word tag is often easier to identify during surface detection than an individual pulse (e.g., using a matched filtering algorithm as described in more detail below).
  • a suitable denormalization process may be given in Algorithm IV as follows:
  • Step (1) Convert a bit sequence to a normalized slot sequence by a one-to-one mapping in which ‘1’ is a pulse slot and ‘0’ is an idle slot.
  • Step (2) Insert Q-1 idle slots immediately before each ‘1’ before ‘11’.
  • Step (3) Insert Q-1 idle slots immediately before and immediately after the first ‘1’ in ‘11’.
  • Step (4) Insert Q idle slots immediately before each of the ‘1’ slots (those after ‘11’). After step (4), the output is ready for pulsing.
  • the invention is, of course, not limited to the use of any particular denormalization constant or even to the use of denormalization.
  • Q-1 idle slots are inserted as indicated (the inserted slots are underlined): ‘100000000100001111001 00 000’.
  • Q-1 idle slots are inserted before and after the first ‘1’ in the ‘11’ to obtain: ‘10000000010000111 00 1 00 001 00 000’.
  • step (4) Q idle slots are then inserted before each ‘1’ after the ‘11’ as follows: ‘1 000 000000001 000 00001 000 1 000 1 00 001 00 000’.
  • the word tag is identified as: ‘ 00 1 00 1 00 ’.
  • the ‘11’ identifier establishes synchronization between the surface and downhole systems. Given the noisy communication channel, there is some likelihood that the ‘11’ identifier may be falsely received at the service or that a transmitted ‘11’ may degrade to a single pulse. In such instances, successively encoded integers may be decoded in error, especially when successive integers are encoded using varying values of n. In exemplary embodiments of the present invention, these types of synchronization losses may be resolved in a cost effective manner using a windowing technique.
  • a window is defined to include a fixed number of non-negative integers.
  • the window is typically preceded (or followed) by a window tag as described in more detail below. While such a window may include substantially any number of integers, it preferably includes enough integers so that the overhead associated with the window tag does not significantly degrade transmissions efficiency, but not so many integers as to require an excessively long time to resynchronize in the event of a missed or falsely received ‘11’ identifier.
  • Mud pulse telemetry embodiments may advantageously include a window length, for example, in a range from about 10 to about 50 integers. The invention is, of course, not limited in these regards. Nor is the invention limited to the use of a window tag. Such an implementation is purely optional.
  • a window tag may include the normalized string ‘111’.
  • the window tag When denormalized, the window tag may advantageously include three pulses distributed in 4Q-1 slots.
  • one advantageous window tag includes Q-1 idle slots before the first pulse, Q-1 idle slots between the first and second pulses, Q-1 idle slots between the second and third pulses, and Q-1 idle slots after the third pulse.
  • the window tag may be advantageously combined with one of the above described word tags since the slot sequence for a word tag has a common prefix and the same number of idle slots between pulses as long as there are at least Q idle slots before the very first pulse of a number which is to ensure the window tag uniqueness.
  • Such a scheme advantageously reduces overhead.
  • the invention is expressly not limited in these regards.
  • Proper signal detection is critical to any communication system. Proper signal detection at the surface prior to decoding is especially important in mud pulse telemetry operations, in part due to the extremely noisy communication channel. Signal attenuation and drilling noise (as well as other sources of noise) can cause reception errors and a loss of synchronization between the downhole encoder and the surface decoder. The frequency of these errors may be reduced via surface detection and decoding techniques.
  • FIG. 5 one exemplary embodiment of a surface detection methodology 150 in accordance with the present invention is depicted in flow chart form.
  • Surface detection includes detecting (or receiving) the signal (in this case an analog pressure waveform) at the surface ( 152 ).
  • the analog waveform may be received at the surface using substantially any suitable transducer or differential transducer arrangement, e.g., as disclosed in U.S. Pat. Nos. 6,421,298 and 7,489,591.
  • the waveform is typically also preprocessed at 154 .
  • Conventional preprocessing may include, for example, digitizing and filtering the waveform (e.g., using analog to digital conversion and filtering or decimation routines).
  • the surface detection method further includes a first matched filtering step at 156 in which the individual word tags (e.g., the 3Q-1 bits described above) are identified thereby enabling the waveform to be further processed word by word (i.e., integer by integer).
  • This matched filtering step may alternatively be configured to identify individual window tags (e.g., the 4Q-1 bits described above) to enable further processing window by window (i.e., one group of integers). While the invention is described in more detail below in terms of a word by word algorithm, it will be appreciated the invention is not limited in these regards as this processing may be accomplished two, three, or more words (or windows) at a time.
  • the pulses in a given word may be identified and located preliminarily at 158 , for example, via setting a pulse threshold.
  • the word may be further processed using a second matched filtering step as described in more detail below with respect to FIG. 7 .
  • the word (the encoded integer) may then be decoded at 162 , for example as described above.
  • the decoded integer may then be saved and/or plotted as is conventional in the art.
  • matched filtering step 156 is depicted in flow chart form on FIG. 6 .
  • This implementation includes a cross correlation methodology that may be represented mathematically, for example, as follows:
  • R 12 ⁇ ( t ) ⁇ - ⁇ ⁇ ⁇ G 12 ⁇ ( ⁇ ) ⁇ ⁇ j ⁇ ⁇ ⁇ t ⁇ ⁇ ⁇ Equation ⁇ ⁇ 5
  • R 12 (t) represents the cross correlation of the two waveforms
  • G 12 ( ⁇ ) represents the cross spectrum of the two waveforms w 1 and w 2 and is defined as H 1 ( ⁇ )H* 2 ( ⁇ ), where H 1 ( ⁇ ) is the Fourier Transform of w 1 and H* 2 ( ⁇ ) is the complex conjugate of the Fourier Transform of w 2 .
  • w 1 represents a portion of the decimated waveform including at least one word and w 2 represents a theoretical waveform for the word tag.
  • the exemplary matched filtering routine depicted also includes a bandpass filtering (BPF) operations by which the DC component of the waveform w 1 may be removed.
  • BPF bandpass filtering
  • fast Fourier Transform (FFT) coefficients are computed for w 1 , w 2 , and the bandpass filter coefficients (BPF).
  • the bandpass filter FFT coefficients are then multiplied (complex multiplication) with each of the w 1 and w 2 FFT coefficients.
  • the resultant products are then processed via a complex conjugate multiplication operation as depicted and spectral weighted using a kernel such as a Roth processor or a Wiener processor.
  • the real and imaginary parts of the spectral weighting process may be represented mathematically, for example, as follows:
  • s r (k)+s i (k)j represent the FFT coefficients of w 1
  • r r (k)+r i (k)j represent the FFT coefficients of w 2
  • f r (k)+f i (k)j represent the FFT coefficients of the impulse response of the bandpass filter
  • IFFT inverse FFT
  • the word tag (or tags) or window tag (or tags) may be identified where the cross correlation is a maximum (or greater than a predetermined threshold).
  • Individual words may be further processed as depicted at 158 , 160 , and 162 in FIG. 5 .
  • the other pulses in the word (the encoded integer) are located. This may be accomplished for example, via evaluating the pulse height of the pulses in the word tag located in 156 and applying a corresponding threshold (e.g., half the pulse height) to the waveform.
  • the word may optionally be decoded at 162 , for example as described above, in order to obtain the encoded and transmitted integer. While such an approach may be serviceable, a degree of uncertainty remains. In particular, due to the attenuation and noise in the communication channel, pulses are sometimes shifted in time. It is not uncommon for one or more pulses to be located, for example, between adjacent slots.
  • the certainty of the detected word may be improved via applying a second matched filtering (cross-correlation) algorithm at 160 .
  • confidence values C 0 i , C ⁇ 1 i and C +1 i may be computed for each pulse at 182 .
  • C 0 i represent the confidence values for the i'th pulse as located in the slot in which it was detected (having a slot offset of 0).
  • C ⁇ 1 i and C +1 i represent the confidence values for the i'th pulse offset one slot earlier ( ⁇ 1) or later (+1) in time.
  • the confidence values C 0 i , C ⁇ 1 i , and C +1 i may be computed, for example, via considering the noise to signal ratio (NSR) and the relative offset of each peak from a slot center position. The greater the NSR and the relative offset, the lower the confidence value. Confidence values may also be obtained via comparing the low pass filtered signal obtained in 154 with the bandpass filtered signal obtained in 156 . A good peak-to-peak match indicates a high confidence value while a poor peak-to-peak match indicates a low confidence value.
  • NSR noise to signal ratio
  • each pulse may be theoretically located in one of three slots, there are a total of 3 M combinations for a given word (where M represents the number of pulses in the word).
  • M represents the number of pulses in the word.
  • Each of the 3 M combinations represents a unique potential waveform.
  • each of these potential waveforms may be cross correlated with the decimated waveform w 1 using the matched filtering technique described above with respect to FIG. 6 .
  • the waveform with the highest amplitude may be taken as correct. While this approach may be suitable for certain applications, those of ordinary skill will readily appreciate that it is not tractable for even a moderate number of pulses M (e.g., there are 2187 potential waveforms for a word having only 7 pulses).
  • a certain number S of least confident pulses may be selected at 184.
  • the selected pulses have the lowest valued confidence values C 0 i .
  • C confidence value
  • a fixed number of pulses e.g., five
  • S is preferably a small number (e.g., about 5) such that the algorithm may be efficiently implemented on a conventional DSP chip such as a TI TMS320C6701.
  • the more likely offset may also selected based on the values of C ⁇ 1 i and C +1 i . This results in 2 S unique combinations for S least confidence pulses.
  • a selective matched detection algorithm in accordance with the present invention may be given, for example, in Algorithm V as follows:
  • Step (1) Seek S pulses having indices ⁇ S 1
  • Step (2) For each pulse in ⁇ S i
  • Step (3) Generate a 2 S unique waveforms at 186 based on the 2 S combinations of ⁇ S i
  • Step (4) Apply the matched filtering algorithm depicted in FIG. 6 at 187 to each of the waveforms generated in Step (3).
  • Step (5) Select the wave form having the highest cross-correlation with the reference waveform (the decimated waveform) at 188 .

Abstract

A method for encoding a non-negative integer, for example, representative of MWD/LWD data, includes encoding at least a portion of the integer using at least a first order Fibonacci derived sequence. The remainder of the integer may be encoded using conventional Fibonacci encoding. The invention tends to improve coding efficiency, downhole and surface synchronization, and surface detection.

Description

    RELATED APPLICATIONS
  • None.
  • FIELD OF THE INVENTION
  • The present invention relates generally to data communication between a downhole tool deployed in a subterranean borehole and surface instrumentation. More particularly, this invention relates to downhole telemetry coding and surface detection and decoding of mud pulse telemetry.
  • BACKGROUND OF THE INVENTION
  • Typical petroleum drilling operations employ a number of techniques to gather information about the borehole and the formation through which it is drilled. Such techniques are commonly referred to in the art as measurement while drilling (MWD) and logging while drilling (LWD). As used in the art, there is not always a clear distinction between the terms LWD and MWD. Generally speaking MWD typically refers to measurements taken for the purpose of drilling the well (e.g., navigation) and often includes information about the size, shape, and direction of the borehole. LWD typically refers to measurement taken for the purpose of analysis of the formation and surrounding borehole conditions and often includes various formation properties, such as acoustic velocity, density, and resistivity. It will be understood that the present invention is relevant to both MWD and LWD operations. As such they will be referred to commonly herein as “MWD/LWD.”
  • Transmission of data from a downhole tool to the surface is a difficulty common to MWD/LWD operations. Mud pulse telemetry is one technique that is commonly utilized for such data transmissions. During a typical drilling operation, drilling fluid (commonly referred to as “mud” in the art) is pumped downward through the drill pipe, MWD/LWD tools, and the bottom hole assembly (BHA) where it emerges at or near the drill bit at the bottom of the borehole. The mud serves several purposes, including cooling and lubricating the drill bit, clearing cuttings away from the drill bit and transporting them to the surface, and stabilizing and sealing the formation(s) through which the borehole traverses. In a typical mud pulse telemetry operation, a transmission device, such as an electromechanical pulser or a mud siren located near the drill bit generates a series of pressure pulses (in which the data is encoded) that is transmitted through the mud column to the surface. At the surface, one or more transducers convert the pressure pulses to electrical signals, which are then transmitted to a signal processor. The signal processor then decodes the signals to provide the transmitted data to the drilling operator.
  • One significant difficulty with decoding a mud pulse signal is the poor signal to noise ratio that results from both low signal amplitude and high noise content. For example, the amplitude of a transmitted pressure pulse tends to attenuate as it travels up the drill pipe. Such attenuation is dependent on many factors including the depth of the borehole, the type of drilling mud, the hydrostatic pressure, the number of joints in the drill string, and the width of the pressure pulse. Moreover, there are a number of potential sources of noise generated during drilling operations including turning of the drill bit and/or drill pipe in the borehole, sliding and/or impact of the drill pipe against the borehole wall, and the mud pump that is used to pump the mud downhole.
  • Due in part to the poor signal to noise ratio, data transmission rates are slow (e.g., on the order of about 1 bit per second). Increasing the transmission rate tends to decrease the signal to noise ratio due to decreased signal amplitude. The low signal to noise ratio also tends to increase the frequency of transmission errors which can erode the reliability of the communication channel and disrupt the synchronization between the downhole encoder and the surface decoder. As is known to those of ordinary skill in the art, these problems can be severe in ordinary drilling operations, and in particular in deep wells.
  • U.S. Pat. No. 4,908,804 to Rorden discloses a combinatorial coding technique for mud pulse telemetry. While the methods disclosed in the Rorden patent have been commercially utilized, there remains room for further improvement. For example, there remains a need for coding and decoding methodologies that improve both the efficiency and reliability of mud pulse telemetry communications.
  • SUMMARY OF THE INVENTION
  • The present invention addresses one or more of the above-described drawbacks of prior art data compression and communication techniques. Aspects of this invention include a method for encoding a non-negative integer. The integer may represent various downhole data, for example, including MWD/LWD data. The method includes encoding at least a portion of the integer using at least one novel Fibonacci derived sequence. The remainder of the integer may be encoded using conventional Fibonacci encoding. Surface detection and decoding methodologies are also disclosed.
  • Exemplary embodiments of the present invention may advantageously provide several technical advantages. For example, exemplary methods according to this invention tend to improve the encoding efficiency of large non-negative integers commonly utilized to represent downhole data. As such, the invention also tends to improve communication speed. Embodiments of the invention also tend to improve synchronization between the downhole and the surface locations, e.g., by the use of predefined word and window tags as described in more detail below. The inventive coding methodology also tends to result in coded bit sequences having sparsely spaced 1's. This advantageously facilitates pulse detection in MWD/LWD embodiments by reducing inter-pulse/inter-symbol interference. Downhole power savings may also be realized.
  • In one aspect the present invention includes a method for encoding a non-negative integer. After acquiring the integer, the method includes encoding at least a portion of the integer using at least a first order Fibonacci derived sequence to obtain a first encoded portion and encoding an uncoded remainder of the integer using a zero-th order Fibonacci sequence to obtain a second encoded portion. The method further includes combining the first encoded portion and the second encoded portion to obtain an encoded integer.
  • In another aspect, the present invention includes a method for transmitting downhole data to a surface location. The method includes acquiring a non-negative integer representative of the downhole data. At least a portion of the integer is then encoded using at least a first order Fibonacci derived sequence to obtain a first encoded portion. An uncoded remainder of the integer is encoded using a zero-th order Fibonacci sequence to obtain a second encoded portion. The first and second encoded portions are then combined to obtain an encoded integer, which is then transmitted to the surface.
  • In a further aspect, the present invention includes a method for receiving an encoded integer. The method comprises acquiring a digitized waveform including a first plurality of pulses distributed among a second plurality of time slots and locating each of the pulses in the digitized waveform. At least one confidence value is computed for each of the pulses. The method further includes selecting a subset of the plurality of pulses having low confidence values and generating a set of unique waveforms corresponding to various combinations of the selected subset of pulses. A cross-correlation between the acquired digitized waveform and each of the generated waveforms is then computed. The waveform having the highest cross-correlation is then selected for decoding.
  • The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter, which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 depicts a conventional drilling rig on which exemplary embodiments of the present invention may be utilized.
  • FIG. 2 depicts a conventional mud flow arrangement in which exemplary embodiments of the present invention may be utilized.
  • FIG. 3 depicts a flowchart of one exemplary data encoding embodiment in accordance with the present invention.
  • FIG. 4 depicts an exemplary code matrix in accordance with the present invention including the conventional Fibonacci sequence and first through seventh order Fibonacci derived sequences.
  • FIG. 5 depicts a flowchart of one exemplary embodiment of a surface detection methodology in accordance with the present invention.
  • FIG. 6 depicts a flowchart of one exemplary embodiment of a matched filtering methodology in accordance with the present invention.
  • FIG. 7 depicts a flowchart of a selective matched filtering methodology in accordance with the present invention.
  • DETAILED DESCRIPTION
  • FIG. 1 depicts an exemplary offshore drilling assembly, generally denoted 10, suitable for employing exemplary method embodiments in accordance with the present invention. In FIG. 1 a semisubmersible drilling platform 12 is positioned over an oil or gas formation (not shown) disposed below the sea floor 16. A subsea conduit 18 extends from deck 20 of platform 12 to a wellhead installation 22. The platform may include a derrick and a hoisting apparatus for raising and lowering the drill string 30, which, as shown, extends into borehole 40 and includes drill bit 32, a transmission device 50 (e.g., a conventional electromechanical pulser), and at least one MWD/LWD tool 60. Drill string 30 may optionally further include substantially any number of other tools including, for example, other MWD/LWD tools, stabilizers, a rotary steerable tool, and a downhole drilling motor.
  • It will be understood by those of ordinary skill in the art that the deployment illustrated on FIG. 1 is merely exemplary. It will be further understood that exemplary embodiments in accordance with the present invention are not limited to use with a semisubmersible platform 12 as illustrated on FIG. 1. The invention is equally well suited for use with any kind of subterranean drilling operation, either offshore or onshore. Moreover, it will further be appreciated that the invention is not limited mud-pulse telemetry operations or even to downhole applications.
  • Referring now to FIG. 2, an exemplary prior art mud pulse telemetry apparatus 80 is illustrated. A mud pump 81 generates a downward traveling mud flow 83 into a standpipe 95 and down through drill string 30. Rotation of the drill string (and/or drill bit 32) creates borehole 40 in the earth (or in sea floor 16 as shown on FIG. 1). The mud flow 83 emerges at or near the drill bit 32 and creates an upward traveling mud flow 84 through annulus 46 (the space between the drill string 30 and the borehole wall). Conventional rigs commonly further include a pulsation dampener 90 (also referred to in the art as a desurger) that evens out the flow 83 in the standpipe 95 and drill string 30. The pulsation dampener 90 essentially acts like an accumulator to smooth outlet pressure generated by the mud pump 81.
  • MWD/LWD data is encoded downhole (e.g., via a conventional downhole controller). A transmission device 50, such as a conventional electromechanical mud pulser, produces an acoustic pressure wave 85 (a “waveform” that includes the encoded data). This pressure wave 85 travels towards the surface at approximately the speed of sound (typically in the range of about 2000 to 4000 feet per second) through the downward traveling mud 83. It will be appreciated that the signal may also be transmitted through and received from the upward traveling mud flow 84 in the annulus 46.
  • The transmitted pressure wave 85 may be received (detected) at transducer 87 and decoded and analyzed via signal processor 89 (for example a conventional data acquisition computer or DSP board). Substantially any suitable transducer arrangement may be utilized. For example, the use of a single transducer, as depicted on FIG. 2 is common in the art. Multiple transducer arrangements are also known, for example, as disclosed in U.S. Pat. No. 6,421,298 to Beattie et al. A differential transducer arrangement may also be utilized. One such suitable arrangement is disclosed in commonly assigned U.S. Pat. No. 7,489,591 to Mumby.
  • Methods in accordance with the present invention pertain to downhole encoding and surface decoding of the MWD/LWD data. Methods in accordance with the present invention also relate to windowing methodology for synchronizing the downhole encoder with the surface decoder and a matched filtering detection scheme for reconstructing the transmitted bit sequence. These methods are described in more detail below under appropriate headings.
  • Turning now to FIG. 3, one exemplary embodiment of an encoding methodology 100 in accordance with the present invention is depicted in flow chart form. At 102, a non-negative integer suitable for encoding is received. At 104 at least a portion of the non-negative integer is encoded using one or more novel higher order Fibonacci derived sequences. These novel Fibonacci derived sequences are described in more detail below with respect to FIG. 4. A remainder of the non-negative integer is encoded using a conventional (zero-th order) Fibonacci sequence at 106. The encoded bit stream may optionally be denormalized at 108 prior to transmission.
  • Fibonacci Encoding and Decoding
  • As described above with respect to FIG. 3, encoding schemes in accordance with the present invention make use of both the conventional Fibonacci sequence and novel Fibonacci derived sequences. The first 19 elements of certain of these sequences are depicted on FIG. 4, with column F0 depicting the conventional Fibonacci sequence (which may be thought of as a zero-th order Fibonacci derived sequence) and columns F1 through F7 depicting first through seventh order Fibonacci derived sequences. As is known to those of skill in the mathematical arts, the conventional Fibonacci sequence may be represented mathematically as follows:

  • F 0(i)=F 0(i−1)+F 0(i−2)   Equation 1
  • where F0(i) represents the i-th element of the Fibonacci sequence such that i≧3 and F0(1)=1 and F0(2)=2. The novel Fibonacci derived sequences may be represented mathematically as follows:

  • F k(j)=F k(j−1)+F k−1(j)   Equation 2
  • where Fk(j) represents the j-th element of the k-th order Fibonacci derived sequence such that j≧2 and k≧1 and Fk(1)=1. As is evident from Equation 2, the higher order Fibonacci derived sequences may be thought of as being derived from the conventional Fibonacci sequence. For example, the first order Fibonacci derived sequence may be derived from the conventional Fibonacci sequence (the zero-th order sequence). The second order Fibonacci derived sequence may be derived from the first order sequence (which may be derived from the conventional sequence). And so on.
  • The Fibonacci derived sequences may be represented in alternative mathematical form as follows:

  • F k(j)=F k(j−1)+F k(j−2)+2; k=1

  • F k(j)=F k(j−1)+F k(j−2)+B −1(j); k>1   Equation 3
  • where B represents an auxiliary arithmetic sequence given as follows
  • B 1 B 2 B 3 B 4 B 5 1 1 1 1 1 3 4 5 6 7 5 9 14 20 27 7 16 30 50 77 9 25 55 105 182 Equation 4
  • where column B1 is an arithmetic sequence with constant 2 of order 1. Column B2 may be thought of as being an arithmetic sequence with constant 2 of order 2, since B2(j)−B2(j−1)=B1(j). Column B3 may be thought of as being an arithmetic sequence with constant 2 of order 3 since B3(j)−B3(j−1)=B2(j). And so on.
  • The above defined Fibonacci sequence and Fibonacci derived sequences may be advantageously used in accordance with the present invention to encode any non-negative integer. Those of skill in the mathematical and signal processing arts will recognize that any non-negative integer x may be encoded using the conventional Fibonacci sequence (i.e., column F0 in FIG. 4). Zeckendorf's theorem states that every positive integer can be represented in a unique way as the sum of one or more distinct Fibonacci numbers in such a way that the sum does not include any two consecutive Fibonacci numbers. A suitable algorithm for such Fibonacci encoding may be given in Algorithm I as follows:
  • Step (1): Initialize F0(x) to 0.
  • Step (2): Search F0 for the biggest element smaller than x (the i-th element where i=0 for x=0) and then set the (i+2)-th bit and the (i+1)-th bit of F0(x) to 1. Also, set x=x−F0(i).
  • Step (3): Repeat the following steps until x=0: (a) search F0 for the biggest element smaller than x (the j-th element), (b) set the (j+1)-th bit of F0(x) to 1, and (c) set x=x−F0(j).
  • Step (4): Output bits from the least significant bit (LSB) to the most significant bit (MSB) of the encoded value.
  • Such Fibonacci encoding is advantageous in that any non-negative integer may be encoded without the use of consecutive 1s. As a result, the string ‘11’ only appears at the end of an encoded integer and therefore serves as a separator between two consecutively encoded integers. To decode a bit sequence generated by Algorithm I, a controller merely searches for the next ‘11’ and decodes the bit stream between consecutive ‘11’ strings.
  • While conventional Fibonacci encoding may provide for self-synchronization, it tends to be somewhat inefficient in encoding the large integer values that are commonly utilized to encode various MWD/LWD data. Given the severe bandwidth constraints of conventional mud pulse telemetry, efficiency improvements are desired.
  • Non-negative integers (particularly large integers) may be more efficiently encoded in accordance with the present invention using the Fibonacci derived sequences (i.e., the higher order Fibonacci sequences described above) while still retaining the advantages of Fibonacci encoding. A suitable algorithm, in accordance with the present invention, for such derived Fibonacci encoding (also referred to herein as higher order Fibonacci encoding) may be given in Algorithm II as follows:
  • Step (1): Initialize Fn(x) to 0.
  • Step (2): Execute the following steps iteratively from Fn to F1: (a) search in Fk (1≦k≦n) for the biggest element smaller than x (the ki-th element where ki=0 for x=0), (b) set the (ki+k+2)-th bit of Fn(x) to 1, and (c) set x=x−Fk(ki).
  • Step (3): Apply Algorithm 1 to the remainder of x after the completion of Step 2 and set these k1+2 least significant bits of Fn(x). Note that this step is performed even when the remainder of x is zero after Step (2).
  • Step (4): Output bits from the LSB to the MSB of the encoded value.
  • The above-described derived Fibonacci encoding method in accordance with the present invention may be utilized to encode any non-negative integer for any given order: n≧1. Moreover, such derived Fibonacci encoding retains the self-synchronization feature of conventional Fibonacci encoding in which each integer is identified by the string ‘11’. However, unlike conventional Fibonacci encoding, the string ‘11’ is located in the middle of the encoded integer, between a first portion of the integer that is encoded in Step (2) and a second portion of the integer encoded in Step (3).
  • With reference again to FIGS. 3 and 4, this coding methodology is now described in more detail by way of example. The Fibonacci derived sequences may be thought of as being a code matrix in which each higher order sequence Fk(0≦k≦n) represents a single column in the matrix. The encoding process begins at a predetermined Fn (e.g., n=4 and n=7 in the examples that follow) and proceeds from right to left selecting exactly one value of Fk(ki) from each column. A ‘1’ is recorded in the (ki+k+2)-th bit of Fn(x) for each selected Fk(ki). Upon reaching column F0, the remainder of x is encoded using Algorithm I. Using this methodology, the positive integer 194,559 is now encoded, first for n=4 and then for n=7.
  • When n=4, the value 193,015 is selected from column F4 (row 18), the value 1424 is selected from column F3 (row 10), the value 72 is selected from column F2 (row 6), and the value 32 is selected from column F1 (row 6), leaving a remainder of 16. This results in the following bit stream: ‘1000000001000011’ for columns F4 through F1. The remaining 16 may then be encoded as ‘11001000’ via conventional Fibonacci encoding (selecting the values of 13 and 3 in rows 6 and 3 of column F0). Combining the results from columns F4 through F1 and column F0 yields: ‘100000000100001111001000’. In this example, the integer 194,559 is encoded using seven pulses distributed among 24 bits.
  • When n=7, the value 109,357 is selected from column F7 (row 12), the value 50,779 is selected from column F6 (row 12), the value 22,596 is selected from column F5 (row 12), the value 9,638 is selected from column F4 (row 12), the value 1424 is selected from column F3 (row 10), the value 585 is selected from column F2 (row 10), the value 142 is selected from column F1 (row 9), leaving a remainder of 38. This results in the following bit stream: ‘1111001101’ for columns F7 through F1. The remaining 38 may then be encoded as ‘1100001010’ via conventional Fibonacci encoding (selecting the values of 34, 3, and 1 in rows 8, 3, and 1 of column F0). Combining the results from columns F7 through F1 and column F0 yields: ‘111100110101100001010’. Note that a single ‘0’ was introduced between these results since the value selected in F1 (142) is one row below the highest value selected in F0 (row 9 vs. row 8). In this example, the integer 194,559 is encoded using eleven pulses distributed among 21 bits.
  • When encoded using conventional Fibonacci encoding, the integer 194,559 requires ten pulses distributed among 27 bits (‘110101010010100010010010000’). The above examples illustrate potential efficiency improvements that may be realized using the derived Fibonacci encoding scheme of the present invention. In this example a savings of 6 bits was realized when n=7 at the expense of only one additional pulse. A savings of 3 bits and 3 pulses was realized when n=4. These pulse savings can significantly improve efficiency depending upon the particular de-normalization scheme utilized (as described in more detail below) and accuracy (depending on the particular surface detection algorithm utilized). A pulse savings also tends to save energy downhole at the MOP (in mud pulse telemetry embodiments). In practice, the use of higher order derived Fibonacci sequences (e.g., n=7 as opposed to n=4) often enables an integer (particular a large integer) to be encoded using fewer bits, however, the use of fewer bits sometimes comes at the expense of requiring additional pulses (as illustrated in the example given above). It will thus be appreciated that there is often a tradeoff between reducing the number of required bits versus reducing the number of required pulses when selecting a particular coding matrix via changing the allowable Fibonacci derived sequence order (note that, for an order n, the coding matrix is unique). It will also be appreciated that the invention is not limited to the use of a coding matrix having any particular number of columns or any particular number of higher order Fibonacci derived sequences. In practice, the coding matrix may be pre-selected so as to optimize efficiency for a given set (or range) of non-negative integers.
  • Non-negative integers encoded using the methodology described above in Algorithm II may be readily decoded. A suitable methodology for such derived Fibonacci decoding may be given in Algorithm III as follows:
  • Step (1): Search for the first ‘11’
  • Step (2): Initialize x to 0.
  • Step (3): Record the positions of each of the n ‘1’ bits after the first ‘11’. Then decode for the value of each ‘1’ using the corresponding Fk (1≦k≦n) and add values to x.
  • Step (4): Remove the second ‘1’ from the first ‘11’ and record the positions of each ‘1’ before the first ‘11’ (including the first ‘1’ in the first ‘11’). Then decode for the value of each ‘1’ using F0 and add values to x.
  • Step (5): Search for next ‘11’ to decode successive integers and repeat steps (2), (3), and (4).
  • Note that the number of bits used to encode any given non-negative integer is unknown at the decoder prior to decoding. Note also that the number of ‘1’ bits between the ‘11’ identifier in successively encoded integers must be greater than or equal to n. This is guaranteed by the encoding methodology.
  • By way of example, the previously encoded integer 194,559, encoded above using n=4 higher order Fibonacci derived sequences, is now decoded using Algorithm III. At step (1), the first ‘11’ is identified (moving from right to left), as underlined in the encoded bit stream: ‘100000000100001111001000’. Each of the (n=4) ‘1’ bits following the ‘11’ identifier is assigned a value in step (3) based on its position after (to the left of) the underlined ‘11’. These values are then added to x. The values added to x in this example are 193,015 (selected from column F4), 1424 (F3), 72 (F2), and 32 (F1). At step (4), the string ‘1001000’ (which remains after the second ‘1’ is dropped from the underlined ‘11’) is decoded using F0 and the appropriate value (16) is added to x. The resultant integer is 194,559.
  • In order to output a bit sequence generated by Algorithm II to the telemetry channel (the column of drilling fluid), a pressure pulse or a specifically modulated waveform may be generated for each ‘1’ in the bit sequence. Each ‘0’ may be represented by an idle time slot of predetermined duration or a differently modulated waveform. In practical applications, pulses are advantageously separated in time by a sufficiently long duration to accommodate the extremely noise communication channel, (or for bits going through a modulation scheme, bit symbols can be advantageously separated by the difference of phase (and/or amplitude, frequency) offsets in a continuous waveform). Such separation may optionally be accomplished by a denormalization process (step 108 in FIG. 3) in which additional slots (or 0's) are added between pulses. For example, when using a mud operated pulser, the following denormalization process may be advantageously utilized in combination with Algorithm II.
  • In this example, Q represents the number of idle slots used to separate two consecutive pulses. As described above, the coded bit sequence generated by Algorithm II includes first and second coded portions that come after (to the left of) and before (to the right of) the ‘11’ identifier. Each portion includes at least one pulse (at least one ‘1’). Since the ‘1’ bits in the second portion (encoded using F0) are already separated by at least one idle slot (at least one ‘0’), it is sufficient to insert Q-1 idle slots either before or after each pulse. In the first portion (encoded using Fk), the ‘1’ bits are not necessarily separated, so Q idle slots may be inserted either before or after each pulse. The two ‘1’ bits in the ‘11’ identifier may be separated by Q-1 idle slots so as to create a unique (and therefore recognizable) pattern. In one advantageous implementation a word tag (the denormalized ‘11’ identifier) may be defined as being 3Q-1 denormalized slots: Q-1 idle slots between the pulses in the ‘11’ pattern and Q-1 leading idle slots and Q-1 trailing idle slots. In practice this word tag is often easier to identify during surface detection than an individual pulse (e.g., using a matched filtering algorithm as described in more detail below). A suitable denormalization process may be given in Algorithm IV as follows:
  • Step (1): Convert a bit sequence to a normalized slot sequence by a one-to-one mapping in which ‘1’ is a pulse slot and ‘0’ is an idle slot.
  • Step (2): Insert Q-1 idle slots immediately before each ‘1’ before ‘11’.
  • Step (3): Insert Q-1 idle slots immediately before and immediately after the first ‘1’ in ‘11’.
  • Step (4): Insert Q idle slots immediately before each of the ‘1’ slots (those after ‘11’). After step (4), the output is ready for pulsing.
  • By way of example, the previously encoded integer 194,559, encoded above using n=4 higher order Fibonacci derived sequences, is now denormalized using Algorithm IV. In this example a denormalization constant Q=3 is used. The invention is, of course, not limited to the use of any particular denormalization constant or even to the use of denormalization. At step (2) Q-1 idle slots are inserted as indicated (the inserted slots are underlined): ‘10000000010000111100100000’. At step (3) Q-1 idle slots are inserted before and after the first ‘1’ in the ‘11’ to obtain: ‘100000000100001110010000100000’. At step (4) Q idle slots are then inserted before each ‘1’ after the ‘11’ as follows: ‘100000000000100000001000100010000100000’. In this exemplary denormalized string, the word tag is identified as: ‘00100100’.
  • Slot Sequence Windowing
  • It will be appreciated that in exemplary embodiments of the above described encoding methodology the ‘11’ identifier establishes synchronization between the surface and downhole systems. Given the noisy communication channel, there is some likelihood that the ‘11’ identifier may be falsely received at the service or that a transmitted ‘11’ may degrade to a single pulse. In such instances, successively encoded integers may be decoded in error, especially when successive integers are encoded using varying values of n. In exemplary embodiments of the present invention, these types of synchronization losses may be resolved in a cost effective manner using a windowing technique.
  • In such embodiments a window is defined to include a fixed number of non-negative integers. The window is typically preceded (or followed) by a window tag as described in more detail below. While such a window may include substantially any number of integers, it preferably includes enough integers so that the overhead associated with the window tag does not significantly degrade transmissions efficiency, but not so many integers as to require an excessively long time to resynchronize in the event of a missed or falsely received ‘11’ identifier. Mud pulse telemetry embodiments may advantageously include a window length, for example, in a range from about 10 to about 50 integers. The invention is, of course, not limited in these regards. Nor is the invention limited to the use of a window tag. Such an implementation is purely optional.
  • In one exemplary embodiment in accordance with the present invention, a window tag may include the normalized string ‘111’. When denormalized, the window tag may advantageously include three pulses distributed in 4Q-1 slots. For example, one advantageous window tag includes Q-1 idle slots before the first pulse, Q-1 idle slots between the first and second pulses, Q-1 idle slots between the second and third pulses, and Q-1 idle slots after the third pulse. Between successive windows, the window tag may be advantageously combined with one of the above described word tags since the slot sequence for a word tag has a common prefix and the same number of idle slots between pulses as long as there are at least Q idle slots before the very first pulse of a number which is to ensure the window tag uniqueness. Such a scheme advantageously reduces overhead. Again, the invention is expressly not limited in these regards.
  • Surface Detection and Matched Filtering
  • Proper signal detection is critical to any communication system. Proper signal detection at the surface prior to decoding is especially important in mud pulse telemetry operations, in part due to the extremely noisy communication channel. Signal attenuation and drilling noise (as well as other sources of noise) can cause reception errors and a loss of synchronization between the downhole encoder and the surface decoder. The frequency of these errors may be reduced via surface detection and decoding techniques.
  • Turning now to FIG. 5, one exemplary embodiment of a surface detection methodology 150 in accordance with the present invention is depicted in flow chart form. Surface detection, as the name implies, includes detecting (or receiving) the signal (in this case an analog pressure waveform) at the surface (152). The analog waveform may be received at the surface using substantially any suitable transducer or differential transducer arrangement, e.g., as disclosed in U.S. Pat. Nos. 6,421,298 and 7,489,591. The waveform is typically also preprocessed at 154. Conventional preprocessing may include, for example, digitizing and filtering the waveform (e.g., using analog to digital conversion and filtering or decimation routines). The surface detection method further includes a first matched filtering step at 156 in which the individual word tags (e.g., the 3Q-1 bits described above) are identified thereby enabling the waveform to be further processed word by word (i.e., integer by integer). This matched filtering step may alternatively be configured to identify individual window tags (e.g., the 4Q-1 bits described above) to enable further processing window by window (i.e., one group of integers). While the invention is described in more detail below in terms of a word by word algorithm, it will be appreciated the invention is not limited in these regards as this processing may be accomplished two, three, or more words (or windows) at a time.
  • With continued reference to FIG. 5, the pulses in a given word (or words) may be identified and located preliminarily at 158, for example, via setting a pulse threshold. At 160, the word may be further processed using a second matched filtering step as described in more detail below with respect to FIG. 7. The word (the encoded integer) may then be decoded at 162, for example as described above. The decoded integer may then be saved and/or plotted as is conventional in the art. Method steps 156, 158, and 160 are now described in more detail, beginning with the first matched filter step performed at 156.
  • One exemplary embodiment of matched filtering step 156 is depicted in flow chart form on FIG. 6. This implementation includes a cross correlation methodology that may be represented mathematically, for example, as follows:
  • R 12 ( t ) = - G 12 ( ω ) t ω Equation 5
  • where R12(t) represents the cross correlation of the two waveforms, G12(ω) represents the cross spectrum of the two waveforms w1 and w2 and is defined as H1(ω)H*2(ω), where H1(Ω) is the Fourier Transform of w1 and H*2(ω) is the complex conjugate of the Fourier Transform of w2. In step 156 (FIG. 5), w1 represents a portion of the decimated waveform including at least one word and w2 represents a theoretical waveform for the word tag. The exemplary matched filtering routine depicted also includes a bandpass filtering (BPF) operations by which the DC component of the waveform w1 may be removed.
  • With continued reference to FIG. 6, fast Fourier Transform (FFT) coefficients are computed for w1, w2, and the bandpass filter coefficients (BPF). The bandpass filter FFT coefficients are then multiplied (complex multiplication) with each of the w1 and w2 FFT coefficients. The resultant products are then processed via a complex conjugate multiplication operation as depicted and spectral weighted using a kernel such as a Roth processor or a Wiener processor. The real and imaginary parts of the spectral weighting process may be represented mathematically, for example, as follows:

  • (f r 2(k)+f i 2(k))(r r(k)s r(k)+s i(k)r i(k))

  • (f r 2(k)+f i 2(k))(r i(k)s r(k)−s i(k)r r(k))   Equation 6
  • where sr(k)+si(k)j represent the FFT coefficients of w1, rr(k)+ri(k)j represent the FFT coefficients of w2, fr(k)+fi(k)j represent the FFT coefficients of the impulse response of the bandpass filter, and (0≦k≦L-1) with L being the sample length of waveform w1. After spectral weighting, an inverse FFT (IFFT) may be applied to inverse transform the spectrally weighted result back into the time domain. The word tag (or tags) or window tag (or tags) may be identified where the cross correlation is a maximum (or greater than a predetermined threshold).
  • Individual words (identified as described above) may be further processed as depicted at 158, 160, and 162 in FIG. 5. For example, at 158 the other pulses in the word (the encoded integer) are located. This may be accomplished for example, via evaluating the pulse height of the pulses in the word tag located in 156 and applying a corresponding threshold (e.g., half the pulse height) to the waveform. Once the pulses have been identified and located (the output of step 158), the word may optionally be decoded at 162, for example as described above, in order to obtain the encoded and transmitted integer. While such an approach may be serviceable, a degree of uncertainty remains. In particular, due to the attenuation and noise in the communication channel, pulses are sometimes shifted in time. It is not uncommon for one or more pulses to be located, for example, between adjacent slots.
  • In one exemplary embodiment of the invention, the certainty of the detected word may be improved via applying a second matched filtering (cross-correlation) algorithm at 160. With reference now to FIG. 7, confidence values C0 i, C−1 i and C+1 i may be computed for each pulse at 182. C0 i represent the confidence values for the i'th pulse as located in the slot in which it was detected (having a slot offset of 0). C−1 i and C+1 i represent the confidence values for the i'th pulse offset one slot earlier (−1) or later (+1) in time. The confidence values C0 i, C−1 i, and C+1 i may be computed, for example, via considering the noise to signal ratio (NSR) and the relative offset of each peak from a slot center position. The greater the NSR and the relative offset, the lower the confidence value. Confidence values may also be obtained via comparing the low pass filtered signal obtained in 154 with the bandpass filtered signal obtained in 156. A good peak-to-peak match indicates a high confidence value while a poor peak-to-peak match indicates a low confidence value.
  • Given that each pulse may be theoretically located in one of three slots, there are a total of 3M combinations for a given word (where M represents the number of pulses in the word). Each of the 3M combinations represents a unique potential waveform. In order to obtain the most likely waveform, each of these potential waveforms may be cross correlated with the decimated waveform w1 using the matched filtering technique described above with respect to FIG. 6. The waveform with the highest amplitude may be taken as correct. While this approach may be suitable for certain applications, those of ordinary skill will readily appreciate that it is not tractable for even a moderate number of pulses M (e.g., there are 2187 potential waveforms for a word having only 7 pulses).
  • With continued reference to FIG. 7, a certain number S of least confident pulses may be selected at 184. The selected pulses have the lowest valued confidence values C0 i. For example, only pulses having a confidence value less than some predetermined threshold may be selected. Alternatively, a fixed number of pulses (e.g., five) having the lowest valued confidence values may be selected. In practice, S is preferably a small number (e.g., about 5) such that the algorithm may be efficiently implemented on a conventional DSP chip such as a TI TMS320C6701. For each of the S least confident pulses, the more likely offset may also selected based on the values of C−1 i and C+1 i. This results in 2S unique combinations for S least confidence pulses. A selective matched detection algorithm in accordance with the present invention may be given, for example, in Algorithm V as follows:
  • Step (1): Seek S pulses having indices {S1|1≦i≦S} which correspond to S least confidence values in {C0 i|1≦i≦M}.
  • Step (2): For each pulse in {Si|1≦i≦S}, select the offset ‘−1’ when C−1 Si>C+1 Si or ‘+1’ when C+1 si≧C−1 Si. Steps (1) and (2) may be executed at 184 in FIG. 7
  • Step (3): Generate a 2S unique waveforms at 186 based on the 2S combinations of {Si|1≦i≦S} and the M-S pulses (the “most confident pulses) that have fixed positions.
  • Step (4): Apply the matched filtering algorithm depicted in FIG. 6 at 187 to each of the waveforms generated in Step (3).
  • Step (5): Select the wave form having the highest cross-correlation with the reference waveform (the decimated waveform) at 188.
  • Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alternations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (23)

1. A method for encoding a non-negative integer, the method comprising:
(a) acquiring a non-negative integer;
(b) encoding at least a portion of the non-negative integer using at least a first order Fibonacci derived sequence to obtain a first encoded portion;
(c) encoding an uncoded remainder of the integer using a zero-th order Fibonacci sequence to obtain a second encoded portion; and
(d) combining the first encoded portion and the second encoded portion to obtain an encoded integer.
2. The method of claim 1, further comprising:
(e) transmitting the encoded integer.
3. The method of claim 1, wherein the non-negative integer represents an MWD/LWD measurement.
4. The method of claim 1, wherein (b) comprises encoding at least a portion of the non-negative integer using first through n-th order Fibonacci derived sequences.
5. The method of claim 4, wherein the n-th order Fibonacci derived sequence is defined mathematically as follows:

F n(j)=F n(j−1)+F n-1(j)
wherein Fn(j) represents the j-th clement of the n-th order Fibonacci derived sequence such that j≧2 and n≧1 and Fn(1)=1.
6. The method of claim 4, wherein x represents the non-negative integer and (b) comprises executing the following steps iteratively from Fn to F1 wherein Fn represents the n-th order Fibonacci derived sequence and F1 represents the first order Fibonacci derived sequence:
(i) searching in Fk, wherein 1≦k≦n, for the biggest element less than or equal to x, the biggest element being the ki-th element;
(ii) setting the (ki+k+2)-th bit of the first encoded portion to 1; and
(iii) setting x=x−Fk(k).
7. The method of claim 1, wherein y represents the uncoded remainder of the integer and (c) comprises the following sequence of steps:
(i) searching F0 for the biggest element smaller than y, the biggest element being the i-th element;
(ii) setting the (i+2)-th bit and the (i+1)-th bit of the second encoded portion to 1 and setting y=y−F0(i); and
(iii) repeating the following steps until y=0: (a) searching F0 for the biggest element smaller than y (the j-th element), (b) setting the (j+1)-th bit of the second encoded portion to 1, and (c) setting y=y−F0(j).
8. The method of claim 1, further comprising:
(e) transmitting the encoded integer from a downhole location to a surface location;
(f) receiving the encoded integer at the surface location; and
(g) decoding the encoded integer at the surface location to obtain a decoded integer.
9. The method of claim 8, wherein (g) further comprises:
(i) searching for a first ‘11’ in the encoded integer;
(ii) recording positions of each ‘1’ after the first ‘11’
(iii) decoding a value for each ‘1’ recorded in (ii) using the at least first order Fibonacci derived sequence;
(iv) recording positions of each ‘1’ prior to a second ‘1’ in the first ‘11’;
(v) decoding a value for each ‘1’ recorded in (iv) using the zero-th order Fibonacci sequence; and
(vi) summing the decoded values obtained in (iii) and (v).
10. The method of claim 1, further comprising:
(e) denormalizing the encoded integer.
11. The method of claim 10, wherein Q represents a number of idle slots and (e) further comprises:
(i) inserting Q-1 idle slots before each ‘1’ located before a first ‘11’;
(ii) inserting Q-1 idle slots before and after a first ‘1’ in the first ‘11’; and
(iii) inserting Q idle slots before each ‘1’ after the first ‘11’.
12. The method of claim 1, wherein the encoded integer includes a predefined word tag.
13. The method of claim 1, wherein the encoded integer comprises an identifier located between the first encoded portion and the second encoded portion.
14. A method for transmitting downhole data to a surface location, the method comprising:
(a) acquiring a non-negative integer representative of the downhole data;
(b) encoding at least a portion of the integer using at least a first order Fibonacci derived sequence to obtain a first encoded portion;
(c) encoding an uncoded remainder of the integer using a zero-th order Fibonacci sequence to obtain a second encoded portion;
(d) combining the first encoded portion and the second encoded portion to obtain an encoded integer; and
(e) transmitting the encoded integer to the surface.
15. The method of claim 14, wherein (e) further comprises transmitting the encoded integer with a downhole electromechanical mud pulser.
16. The method of claim 14, further comprising:
(f) receiving the encoded integer at the surface; and
(g) decoding the encoded integer to obtain the non-negative integer.
17. A method for receiving an encoded integer, the method comprising:
(a) acquiring a digitized waveform including a first plurality of pulses distributed among a second plurality of time slots;
(b) locating each of the pulses in the digitized waveform;
(c) computing a confidence value for each of the pulses;
(d) selecting a subset of the plurality of pulses, the subset including pulses having low confidence values computed in (c);
(e) generating a set of unique waveforms corresponding to various combinations of the subset of pulses selected in (d);
(f) computing a cross-correlation between each of the waveforms generated in (e) and the digitized waveform acquired in (a);
(g) selecting the waveform having the highest cross-correlation computed in (f).
18. The method of claim 17, filer comprising:
(h) decoding the waveform selected in (g).
19. The method of claim 17, wherein (c) comprises computing C0 i, C−1 i, and C+1 i for each of the pulses, wherein C0 i represents a confidence value for the i-th pulse located in the time slot in which it was detected, C−1 i represents a confidence value for the i-th pulse offset one time slot earlier, and C+1 i represents a confidence value for the i-th pulse offset one time slot later.
20. The method of claim 19, wherein (d) comprises:
(i) selecting a subset of the plurality of pulses having the lowest confidence values C0 i; and
(ii) further selecting an offset for each pulse selected in (i), the offset being −1 when C−1 Si>C+1 Si or +1 when C+1 Si≧C−1 Si.
21. The method of claim 20, wherein the subset of pulses selected in (d) includes S pulses and (e) comprises generating a set of 2S unique waveforms.
22. The method of claim 19, wherein (d) comprises selecting a predetermined number of pulses having the lowest confidence values C0 i.
23. The method of claim 19, wherein (d) comprises selecting a subset of the plurality of pulses having confidence values C0 i less than a predetermined threshold.
US12/512,222 2009-07-30 2009-07-30 Telemetry coding and surface detection for a mud pulser Active 2033-03-19 US8730764B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US12/512,222 US8730764B2 (en) 2009-07-30 2009-07-30 Telemetry coding and surface detection for a mud pulser
CA2769357A CA2769357A1 (en) 2009-07-30 2010-07-30 Telemetry coding and surface detection for a mud pulser
GB1201982.4A GB2484056B (en) 2009-07-30 2010-07-30 Telemetry coding and surface detection for a mud pulser
PCT/US2010/043887 WO2011014761A2 (en) 2009-07-30 2010-07-30 Telemetry coding and surface detection for a mud pulser
US14/280,339 US9797242B2 (en) 2009-07-30 2014-05-16 Telemetry coding and surface detection for a mud pulser

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/512,222 US8730764B2 (en) 2009-07-30 2009-07-30 Telemetry coding and surface detection for a mud pulser

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/280,339 Division US9797242B2 (en) 2009-07-30 2014-05-16 Telemetry coding and surface detection for a mud pulser

Publications (2)

Publication Number Publication Date
US20110026362A1 true US20110026362A1 (en) 2011-02-03
US8730764B2 US8730764B2 (en) 2014-05-20

Family

ID=43526870

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/512,222 Active 2033-03-19 US8730764B2 (en) 2009-07-30 2009-07-30 Telemetry coding and surface detection for a mud pulser
US14/280,339 Active 2030-11-10 US9797242B2 (en) 2009-07-30 2014-05-16 Telemetry coding and surface detection for a mud pulser

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/280,339 Active 2030-11-10 US9797242B2 (en) 2009-07-30 2014-05-16 Telemetry coding and surface detection for a mud pulser

Country Status (4)

Country Link
US (2) US8730764B2 (en)
CA (1) CA2769357A1 (en)
GB (1) GB2484056B (en)
WO (1) WO2011014761A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120201096A1 (en) * 2009-10-27 2012-08-09 Henri-Pierre Valero Methods and Apparatus to Process Time Series Data for Propagating Signals in A Subterranean Formation
WO2016043778A1 (en) * 2014-09-19 2016-03-24 Halliburton Energy Services, Inc. High bitrate downhole telemetry system using two independent channels on a multi-conductor cable
US10280739B2 (en) 2014-12-05 2019-05-07 Halliburton Energy Services, Inc. Downhole clock calibration apparatus, systems, and methods
CN110611508A (en) * 2019-09-02 2019-12-24 中国石油天然气集团有限公司 Combined code-based coding and decoding method for petroleum drilling

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8730764B2 (en) 2009-07-30 2014-05-20 Schlumberger Technology Corporation Telemetry coding and surface detection for a mud pulser
US9932824B2 (en) * 2015-10-21 2018-04-03 Schlumberger Technology Corporation Compression and transmission of measurements from downhole tool
CA3010424C (en) * 2016-03-11 2020-07-07 Halliburton Energy Services, Inc. Bit-scrambling in differential pulse position modulation
WO2022075982A1 (en) * 2020-10-07 2022-04-14 Halliburton Energy Services, Inc. Data rate optimization and synchronization for mud-pulse telemetry in a wellbore

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3991611A (en) * 1975-06-02 1976-11-16 Mdh Industries, Inc. Digital telemetering system for subsurface instrumentation
US4797668A (en) * 1986-12-12 1989-01-10 Halliburton Company Acoustic well logging system having multiplexed filter digitizing
US4808996A (en) * 1983-09-08 1989-02-28 Halliburton Company Simultaneous digitizing apparatus for an acoustic tool
US4908804A (en) * 1983-03-21 1990-03-13 Develco, Inc. Combinatorial coded telemetry in MWD
US5010333A (en) * 1989-05-17 1991-04-23 Halliburton Logging Services, Inc. Advanced digital telemetry system for monocable transmission featuring multilevel correlative coding and adaptive transversal filter equalizer
US5402122A (en) * 1991-11-01 1995-03-28 Al-Ofi; Moatad S. TPC radix converter
US6308562B1 (en) * 1999-12-22 2001-10-30 W-H Energy Systems, Inc. Technique for signal detection using adaptive filtering in mud pulse telemetry
US6421298B1 (en) * 1999-10-08 2002-07-16 Halliburton Energy Services Mud pulse telemetry
US20040015766A1 (en) * 2001-06-15 2004-01-22 Keisuke Toyama Encoding apparatus and encoding method
US20040113820A1 (en) * 2000-06-26 2004-06-17 Elena Leanza Method for numeric compression and decompression of binary data
US20070188352A1 (en) * 2006-02-14 2007-08-16 Taiyi Cheng Method and system for improved lookup table (LUT) mechanism for Huffman decoding
US7400276B1 (en) * 2002-01-28 2008-07-15 Massachusetts Institute Of Technology Method and apparatus for reducing delay in a bus provided from parallel, capacitively coupled transmission lines
US20080219618A1 (en) * 2005-03-22 2008-09-11 General Electric Company Methods of making and operating a fiber optic sensing device
US7489591B2 (en) * 2005-05-06 2009-02-10 Pathfinder Energy Services, Inc. Drilling fluid pressure pulse detection using a differential transducer
US7583209B1 (en) * 2008-03-19 2009-09-01 Mitsubishi Electric Research Laboratories, Inc. System and method for signaling on a bus using forbidden pattern free codes
US20110011594A1 (en) * 2007-09-07 2011-01-20 Multi-Shot Llc Mud Pulse Telemetry System

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613228B2 (en) * 2005-08-10 2009-11-03 Bae Systems Information And Electronic Systems Integration Inc. M-Algorithm multiuser detector with correlation based pruning
US8024284B2 (en) * 2007-12-10 2011-09-20 Oracle America, Inc. Accurately inferring physical variable values associated with operation of a computer system
US8730764B2 (en) 2009-07-30 2014-05-20 Schlumberger Technology Corporation Telemetry coding and surface detection for a mud pulser

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3991611A (en) * 1975-06-02 1976-11-16 Mdh Industries, Inc. Digital telemetering system for subsurface instrumentation
US4908804A (en) * 1983-03-21 1990-03-13 Develco, Inc. Combinatorial coded telemetry in MWD
US4808996A (en) * 1983-09-08 1989-02-28 Halliburton Company Simultaneous digitizing apparatus for an acoustic tool
US4797668A (en) * 1986-12-12 1989-01-10 Halliburton Company Acoustic well logging system having multiplexed filter digitizing
US5010333A (en) * 1989-05-17 1991-04-23 Halliburton Logging Services, Inc. Advanced digital telemetry system for monocable transmission featuring multilevel correlative coding and adaptive transversal filter equalizer
US5402122A (en) * 1991-11-01 1995-03-28 Al-Ofi; Moatad S. TPC radix converter
US6421298B1 (en) * 1999-10-08 2002-07-16 Halliburton Energy Services Mud pulse telemetry
US6308562B1 (en) * 1999-12-22 2001-10-30 W-H Energy Systems, Inc. Technique for signal detection using adaptive filtering in mud pulse telemetry
US20040113820A1 (en) * 2000-06-26 2004-06-17 Elena Leanza Method for numeric compression and decompression of binary data
US20040015766A1 (en) * 2001-06-15 2004-01-22 Keisuke Toyama Encoding apparatus and encoding method
US7400276B1 (en) * 2002-01-28 2008-07-15 Massachusetts Institute Of Technology Method and apparatus for reducing delay in a bus provided from parallel, capacitively coupled transmission lines
US20080219618A1 (en) * 2005-03-22 2008-09-11 General Electric Company Methods of making and operating a fiber optic sensing device
US7489591B2 (en) * 2005-05-06 2009-02-10 Pathfinder Energy Services, Inc. Drilling fluid pressure pulse detection using a differential transducer
US20070188352A1 (en) * 2006-02-14 2007-08-16 Taiyi Cheng Method and system for improved lookup table (LUT) mechanism for Huffman decoding
US20110011594A1 (en) * 2007-09-07 2011-01-20 Multi-Shot Llc Mud Pulse Telemetry System
US7583209B1 (en) * 2008-03-19 2009-09-01 Mitsubishi Electric Research Laboratories, Inc. System and method for signaling on a bus using forbidden pattern free codes

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120201096A1 (en) * 2009-10-27 2012-08-09 Henri-Pierre Valero Methods and Apparatus to Process Time Series Data for Propagating Signals in A Subterranean Formation
WO2016043778A1 (en) * 2014-09-19 2016-03-24 Halliburton Energy Services, Inc. High bitrate downhole telemetry system using two independent channels on a multi-conductor cable
US10208588B2 (en) 2014-09-19 2019-02-19 Halliburton Energy Services, Inc. High bitrate downhole telemetry system using two independent channels on a multi-conductor cable
US10280739B2 (en) 2014-12-05 2019-05-07 Halliburton Energy Services, Inc. Downhole clock calibration apparatus, systems, and methods
CN110611508A (en) * 2019-09-02 2019-12-24 中国石油天然气集团有限公司 Combined code-based coding and decoding method for petroleum drilling

Also Published As

Publication number Publication date
WO2011014761A2 (en) 2011-02-03
WO2011014761A3 (en) 2011-05-05
CA2769357A1 (en) 2011-02-03
GB201201982D0 (en) 2012-03-21
US8730764B2 (en) 2014-05-20
US20140254322A1 (en) 2014-09-11
GB2484056B (en) 2014-02-19
GB2484056A (en) 2012-03-28
US9797242B2 (en) 2017-10-24

Similar Documents

Publication Publication Date Title
US9797242B2 (en) Telemetry coding and surface detection for a mud pulser
CA2577811C (en) Joint source-channel coding for multi-carrier modulation
EP3332090B1 (en) Mud pulse telemetry preamble for sequence detection and channel estimation
US9638030B2 (en) Receiver for an acoustic telemetry system
US8111171B2 (en) Wellbore telemetry and noise cancellation systems and methods for the same
US5969638A (en) Multiple transducer MWD surface signal processing
US9007232B2 (en) Mud pulse telemetry noise reduction method
WO2007095111A1 (en) System and method for measurement while drilling telemetry
US7187298B2 (en) Methods and systems for transmitting and receiving a discrete multi-tone modulated signal in a fluid
EP3166271B1 (en) Method and apparatus for signal equalisation
US11898440B2 (en) Determining frequency band suitability for communication
WO2021003120A1 (en) Method and apparatus for determining a tubular thickness using a pulse echo waveform signal
US11802479B2 (en) Noise reduction for downhole telemetry
US11655708B2 (en) Telemetry using pulse shape modulation
WO2022129880A1 (en) Apparatus and method

Legal Events

Date Code Title Description
AS Assignment

Owner name: SMITH INTERNATIONAL INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TANG, CAIMU;BEATTIE, MARK S;SIGNING DATES FROM 20090723 TO 20090724;REEL/FRAME:023181/0424

AS Assignment

Owner name: SCHLUMBERGER TECHNOLOGY CORPORATION, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SMITH INTERNATIONAL, INC.;REEL/FRAME:029143/0015

Effective date: 20121009

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8