U.S. patent application number 15/796561 was filed with the patent office on 2018-05-03 for systems and methods for communicating downhole data.
This patent application is currently assigned to Pulse Directional Technologies Inc.. The applicant listed for this patent is Pulse Directional Technologies Inc.. Invention is credited to Steve Braisher, Karl Edler, Antal Soos.
Application Number | 20180119546 15/796561 |
Document ID | / |
Family ID | 62017642 |
Filed Date | 2018-05-03 |
United States Patent
Application |
20180119546 |
Kind Code |
A1 |
Soos; Antal ; et
al. |
May 3, 2018 |
SYSTEMS AND METHODS FOR COMMUNICATING DOWNHOLE DATA
Abstract
Systems and methods for communicating downhole signals using a
mud pulser. The method includes encoding data collected from a
downhole sensor as symbols into electrical pulses received by the
mud pulser; transmitting the electrical pulses as pressure pulses
through using the mud pulser; converting the pressure pulses into
full wave pressure signals; processing the full wave pressure
signals to recover the symbols; and decoding the symbols to provide
the data.
Inventors: |
Soos; Antal; (Calgary,
CA) ; Edler; Karl; (Calgary, CA) ; Braisher;
Steve; (Okotoks, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Pulse Directional Technologies Inc. |
Calgary |
|
CA |
|
|
Assignee: |
Pulse Directional Technologies
Inc.
Calgary
CA
|
Family ID: |
62017642 |
Appl. No.: |
15/796561 |
Filed: |
October 27, 2017 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62414556 |
Oct 28, 2016 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
E21B 47/13 20200501;
E21B 34/066 20130101; E21B 47/06 20130101; E21B 47/20 20200501;
E21B 49/00 20130101; E21B 47/18 20130101 |
International
Class: |
E21B 47/18 20060101
E21B047/18; E21B 47/12 20060101 E21B047/12 |
Claims
1) A method for communicating downhole signals using a mud pulser,
the method comprising: encoding data collected from a downhole
sensor as symbols into electrical pulses received by the mud
pulser; transmitting the electrical pulses as pressure pulses
through use of the mud pulser; converting the pressure pulses into
full wave pressure signals; processing the full wave pressure
signals to recover the symbols; and decoding the symbols to provide
the data.
2) The method of claim 1 wherein the mud pulser is a bottom mount
linear pulser.
3) The method of claim 1 wherein the symbols comprise a cyclic
block code having four time slots per symbol.
4) The method of claim 1 wherein the data comprises at least one
data frame having a synchronization header followed by information
interspersed with at least one synchronization marker.
5) The method of claim 4 wherein the synchronization header does
not correlate to regular symbols used in communication.
6) The method of claim 4 wherein the synchronization marker
comprises a long statistically unlikely sequence different from the
data and the synchronization header.
7) The method of claim 4 wherein the data frame comprises a survey
header following the synchronization header.
8) The method of claim 7 wherein the survey header comprises
meta-data describing subsequent information.
9) The method of claim 8 wherein the subsequent information
comprises directional unit information.
10) The method of claim 9 wherein the directional unit information
comprises orientation of the directional unit, data from the
sensors in the drill string, or status flags from any component in
the drill string.
11) The method of claim 6 wherein the data frame comprises a
toolface header following the synchronization header.
12) The method of claim 11 wherein the toolface header comprises
data from any sensor or system in the drill string.
13) The method of claim 11 wherein the data comprises background
radiation level, vibration level, pressure in the annulus,
formation resistivity, gamma spectra, rotational orientation, RPM,
or directional radiation levels.
14) The method of claim 4 wherein the pressure pulses are converted
into pressure signals by at least one pressure transducer.
15) The method of claim 14 wherein converting the pressure pulses
comprises combining readings from two or more pressure transducers
to remove pump noise.
16) The method of claim 4 wherein processing the full wave pressure
signals comprises pre-filtering the full wave pressure signals.
17) The method of claim 16 wherein pre-filtering the full wave
pressure signals comprises using an exponentially weighted moving
average filter to determine the average pressure value and
subtracting average pressure value from each value of the full wave
pressure signals.
18) The method of claim 4 wherein processing the full wave signals
comprises evaluating the full wave signals for correlations to
synchronization header, symbols, and synchronization markers.
19) The method of claim 4 wherein decoding the symbols comprises:
correlating a value from the full wave pressure signals to possible
symbols; assigning confidence to each possible symbol; selecting
the symbol with the highest confidence; and assembling the symbol
into packets.
20) The method of claim 19 comprising: calculating parity of the
packets; and interpreting the packet as data value where parity is
correct.
21) The method of claim 20 wherein calculating parity comprises:
adding a parity symbol into the data packet; and comparing the
calculated parity with the parity symbol.
22) The method of claim 21 wherein the parity symbol comprises two
parity bits, with the first bit corresponding to the first few
symbols in the data and the second bit corresponding to the rest of
the data.
23) The method of claim 1 wherein the full wave pressure signal is
stored in its entirety into a single file and processing is
performed after a run of the drill string is complete.
24) A method of communicating downhole data comprising: using the
method of claim 1 for a first set of data at a first frequency; and
using the method of claim 1 for a second set of data at a second
frequency.
25) A method of communicating downhole data comprising: using the
method of claim 1 for a first set of data using mud-pulse
communications; and using the method of claim 1 for a second set of
data using EM-pulse communications.
Description
[0001] This is a United States non-provisional patent application
claiming priority to U.S. provisional Patent Application Ser. No.
62/414,556, the entirety of which is hereby incorporated by
reference.
FIELD OF THE INVENTION
[0002] The invention relates to systems and methods for
communicating downhole data.
BACKGROUND
[0003] In resource exploration, drill strings are used for drilling
the wellbore and assessing downhole conditions. A typical drill
string includes a bit, followed by a series of inter-connected
downhole tools. Directly above the bit, there are "at-bit" tools
which can be connected together with direct electrical contacts.
Above those tools is the mud motor which generally blocks direct
electrical connections. Above the mud motor, there is a second set
of inter-connected downhole tools. Because direct wire contacts are
blocked by the motor, communication between the two sets of tools
is often achieved using electromagnetic (EM) pulses on the outside
of the drill string.
[0004] Above the downhole tools, there is a long series of pipe
sections reaching to the surface and the drilling rig. Mud is
pumped down this pipe at a high pressure and this mud turns the mud
motor and flows through the bit to help cut the borehole and clear
the cuttings at the borehole.
[0005] Many downhole tools are used to acquire data about the
environment downhole (e.g., information about the formation) and
this data needs to be transmitted to the surface. The information
can be used in different ways. For instance, a human operator may
use this data to determine what needs to be done to steer the
entire drill string towards the desired target.
[0006] The downhole tools are generally powered with some
combination of batteries and generators which turn the flow of mud
into electrical power.
[0007] There are generally five kinds of pulses that are used to
transmit data from downhole to the surface: mud pulses, EM pulses,
sonic pulses, and direct wire connections. Mud pulses periodically
restrict the flow of drilling fluid which causes pressure
variations which can be detected on the surface. EM pulses use low
frequency radio waves to send information upwards. Sonic pulses
send sound waves into the metal body of the pipe to be detected on
the surface. Direct wire connections are not used during drilling
because they would be destroyed and all of the other communication
mediums are very slow (i.e., measured in bits per second), and so
there is a strong desire to transmit more data to the surface.
SUMMARY OF THE DISCLOSURE
[0008] One aspect of the invention provides a method for
communicating downhole signals using a mud pulser. The method
includes the steps of: (a) encoding data collected from a downhole
sensor as symbols into electrical pulses received by the mud
pulser; (b) transmitting the electrical pulses as pressure pulses
through using the mud pulser; (c) converting the pressure pulses
into full wave pressure signals; (d) processing the full wave
pressure signals to recover the symbols; and (e) decoding the
symbols to provide the data.
[0009] In some embodiments, the mud pulser is a bottom mount linear
pulser.
[0010] In some embodiments, the symbols comprise a cyclic block
code having four time slots per symbol. In some embodiments, the
data comprises binary data.
[0011] In some embodiments, the data is encoded by a directional
unit in a drill string. In some embodiments, the data comprises at
least one data frame having a synchronization header followed by
information interspersed with at least one synchronization marker.
In some embodiments, the synchronization header does not correlate
to regular symbols used in communication. In some embodiments, the
synchronization marker comprises a long statistically unlikely
sequence different from the data and the synchronization
header.
[0012] In some embodiments, the data frame comprises a survey
header following the synchronization header. In some embodiments,
the survey header comprises meta-data describing subsequent
information. In some embodiments, the subsequent information
comprises directional unit information. In some embodiments, the
directional unit information comprises orientation of the
directional unit or status flags from any component in the drill
string.
[0013] In some embodiments, the data frame comprises a toolface
header following the synchronization header. In some embodiments,
the toolface header comprises data from any sensor or system in the
drill string. In some embodiments, the data comprises background
radiation level, vibration level, or pressure in the annulus,
formation resistivity, gamma spectra, rotational orientation, RPM,
or directional radiation levels.
[0014] In some embodiments, the pressure pulses are converted into
pressure signals by at least one pressure transducer. In some
embodiments, converting the pressure pulses comprises combining
readings from two or more pressure transducers to remove pump
noise.
[0015] In some embodiments, processing the full wave pressure
signals comprises pre-filtering the full wave pressure signals. In
some embodiments, pre-filtering the full wave pressure signals
comprises using an exponentially weighted moving average filter to
determine the average pressure value and subtracting average
pressure value from each value of the full wave pressure signals.
In some embodiments, pre-filtering the full wave pressure signals
comprises using a low pass filter to remove high frequency noise in
the full wave pressure signals. In some embodiments, a neural
network is used to adjust parameters of the pre-filtering of the
full wave pressure signals or assist in decoding the symbols.
[0016] In some embodiments, processing the full wave signals
comprises evaluating the full wave signals for correlations to
synchronization header, symbols, and synchronization markers.
[0017] In some embodiments, decoding the symbols comprises:
correlating a value from the full wave pressure signals to possible
symbols; assigning confidence to each possible symbol; selecting
the symbol with the highest confidence; and assembling the symbol
into packets.
[0018] In some embodiments, the method comprises further steps of
calculating parity of the packets, and interpreting the packet as
data value where parity is correct. In some embodiments,
calculating parity comprises adding a parity symbol into the data
packet and comparing the calculated parity with the parity symbol.
In some embodiments, the parity symbol comprises two parity bits,
with the first bit corresponding to the first few symbols in the
data and the second bit corresponding to the rest of the data.
[0019] In some embodiments, the full wave pressure signals are
stored in their entirety into a single file and processing is
performed after a run of the drill string is complete.
[0020] In some embodiments, the processing of the full wave
pressure signals and the decoding of the symbols are performed by a
processor.
[0021] In some embodiments, the method is used for a first set of
data at a first frequency and a second set of data at a second
frequency.
[0022] In another implementation, there is provided a method of
communicating downhole data using any one of the foregoing methods
for a first set of data at a first frequency and using any one of
the foregoing methods for a second set of data at a second
frequency.
[0023] In another implementation, there is provided a method of
communicating downhole data using any one of the foregoing methods
for a first set of data using mud-pulse communication and using any
of one of the foregoing methods for a second set of data using
EM-pulse communications.
BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Features and advantages of the embodiments of the present
invention will become apparent from the following detailed
description, taken in combination with the appended drawings, in
which:
[0025] FIG. 1 illustrates a symbol encoding system according to an
embodiment of the present disclosure.
[0026] FIG. 2 illustrates the possible configurations of the valve
of the mud pulser and the corresponding symbols according to an
embodiment of the disclosure.
[0027] FIGS. 3A to 3C illustrate exemplary packet structures used
for drill string information according to an embodiment of the
present disclosure.
[0028] FIG. 4 illustrates the bit patterns for symbol encoding and
possible correction according to an embodiment of the present
disclosure.
[0029] FIG. 5 illustrates the synchronization and data frame
structure according to an embodiment of the present disclosure.
[0030] FIG. 6A illustrates a first synchronization header pattern
according to an embodiment of the present disclosure.
[0031] FIG. 6B illustrates a second synchronization header pattern
according to an embodiment of the present disclosure.
[0032] FIG. 7 illustrates pre-filtering steps performed by a
controller according to an embodiment of the present
disclosure.
[0033] FIG. 8 illustrates a first decimation and filtering stage
performed by a controller according to an embodiment of the present
disclosure.
[0034] FIG. 9 illustrates a second decimation and filtering stage
performed by a controller according to an embodiment of the present
disclosure.
[0035] FIG. 10 illustrates base band data processing performed by a
controller according to an embodiment of the present
disclosure.
[0036] FIG. 11 illustrates decoding of the symbols performed by a
controller according to an embodiment of the present
disclosure.
[0037] FIG. 12 illustrates data reconstruction performed by a
controller according to an embodiment of the present
disclosure.
[0038] FIG. 13 illustrates the transmission of reconstructed data
using a server according to an embodiment of the present
disclosure.
[0039] FIG. 14 illustrates communication between the controller and
the Web Socket server according to an embodiment of the present
disclosure.
[0040] FIG. 15 illustrates an exemplary graphical user interface
according to an embodiment of the present disclosure.
[0041] In the description which follows, like parts are marked
throughout the specification and the drawings with the same
respective reference numerals.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0042] The description which follows and the embodiments described
therein are provided by way of illustration of an example or
examples of particular embodiments of the principles of the present
invention. These examples are provided for the purposes of
explanation and not limitation of those principles and of the
invention. In some instances, certain structures and techniques
have not been described or shown in detail in order not to obscure
the invention.
[0043] The embodiments described herein relate to a method for
transmitting downhole signals using a mud pulser. The method
includes the steps of: (a) encoding data collected from a downhole
sensor as symbols into electrical pulses received by the mud
pulser; (b) transmitting the electrical pulses as pressure pulses
through use of the mud pulser; (c) converting the pressure pulses
into full wave pressure signals; (d) processing the full wave
pressure signals to recover the symbols; and (e) decoding the
symbols to provide the data.
[0044] Downhole tools are used in the drilling of wellbores in
formation during the resource exploration and extraction processes.
Typically, there are a number of downhole sensors and systems
connected to a directional unit and a mud pulser. The directional
unit senses the orientation of the drill string and also collects
the data from the other systems. The directional unit then encodes
this information into a series of electrical pulses which the mud
pulser translates into open and close positions of its valve.
[0045] The opening and closing of the valve of the mud pulser
creates pressure pulses which travel up the flowing column of mud
to the surface where one or more pressure transducers are
located.
[0046] Generally, the pressure transducers convert the pressure to
electrical signals which are digitized and sent to a controller at
the surface. The controller interprets the pressure pulses as
information from the various sensors and systems downhole. In order
for the controller to be able to interpret the pressure pulses as
information from the various sensors and systems, the directional
unit will encode the data in a way that the controller expects, and
the controller needs to be able to see through the noise and
distortion introduced by the flowing mud and the pumps that push
the mud downhole.
[0047] The downhole tools used to create mud pulses generally fall
into two types: top mount and bottom mount. The top mount pulsers
are put on the very top of the set of downhole tools above the
motor, while bottom mount pulsers are placed on the bottom of that
same tool set. Typically, top mount pulsers use rotary fins to
restrict the mud flow by any desired amount, while bottom mount
pulsers use an on/off valve to create a pressure pulse. The top
mount pulsers are often called rotary pulsers, while the bottom
mount pulsers are called linear pulsers because of the linear
motion which turns the valve on/off.
[0048] For bottom mount pulsers, there are industry standard
encoding schemes classified as M-ary encodings, which are used to
decide how information is to be written in mud pulses. M-ary
encoding uses symbols which encode M bits per symbol. For example,
binary or `2-ary` communication uses the symbols `0` and `1` to
encode two bits. It is also possible to encode information into
symbols of any length "M". The advantage is that the symbols are
easier to recognize in noisy situations but the disadvantage is
that the speed of communication or `bandwidth` is reduced.
[0049] In the context of drilling, M-ary is used to speak about
encoding schemes which have multi-bit symbols that are made of
discrete on/off pressure pulses. These types of pulses are easily
made with an on/off bottom mount pulser.
[0050] Top mount pulsers can also be used to generate the same
on/off pulses as bottom mount pulsers, but because they can rotate
their fins in small increments they are not restricted to producing
on/off style pulses. The result is that these top mount rotary
pulsers can produce much more complex waveforms and encode
information in the shape of those waveforms. This type of
communication is called "full wave" because the resulting signal
does not look like a series of on/off pulses but rather as a
continuous variation in the mud pressure. The advantage of this
full wave communication is that with small motions of the fins,
more information can be encoded.
[0051] While a rotary pulser can provide full wave communication,
from a tool string design perspective, in some embodiments, it may
be more advantageous to use a linear pulser. For instance, in some
designs, when a mud generator is used for downhole power instead of
a battery, the mud generator will fit on top of the tool string and
the rotary pulser cannot be used.
[0052] In the systems and methods described herein, full wave
pressure signals are communicated to the surface using a bottom
mount pulser. In some embodiments, the bottom mount pulser is
cycled at a speed such that the resulting pressure signal received
at the surface is a continuous wave.
[0053] FIG. 1 illustrates a symbol encoding system 6 according to
an embodiment of the present disclosure. In this embodiment, the
encoding system uses a cyclic block code made up of four time slots
per symbol. As illustrated, blocks 10 correspond to times when the
valve is closed and the four symbols are labelled "01", "00", "10",
and "11" according to their binary values. Each symbol shown as
block 10 is generated from the adjacent symbol by shifting the
pattern one time slot. The patterns shown as blocks 12 correspond
to situations that differ from a valid symbol by the flipping of
one time slot. The patterns shown as blocks 14 correspond to
situations that differ from a valid symbol by the flipping of two
time slots.
[0054] FIG. 2 illustrates the possible configurations of the valve
of the mud pulser and the corresponding symbols in symbol encoding
system 6 according to one embodiment of the present disclosure. "C"
means the valve of the mud pulser is closed and "0" means the valve
of the mud pulser is open. As shown in FIG. 2, in this embodiment
of the symbol encoding system 6, the valid symbols are symbol "01"
(Open, Open, Closed, Closed); symbol "00" (Closed, Open, Open,
Closed); symbol "10" (Closed, Closed, Open, Open); and symbol "11"
(Open, Closed, Closed, Opened). Other configurations would be
invalid symbols. For instance, if the pattern received at the
surface by the controller is Open, Open, Closed, Open (OOCO), it is
not a valid symbol but is most likely a corruption of either the
symbol "01" (OOCC) or "11" (OCCO).
[0055] FIG. 3 illustrates an exemplary data packet structure for
the symbol encoding system 6 according to one embodiment of the
present disclosure. FIG. 3A illustrates an exemplary packet
structure with a 11 bit pattern; FIG. 3B illustrates an exemplary
packet structure with an 8 bit pattern; and FIG. 3C illustrates an
exemplary packet structure with a 15 bit pattern. In some
embodiments, any of inclination (Inc), azimuth (Azm), gravity
(Gray), magnetic toolface (MagF), magnetic dip angle (DipA), and
temperature of the drill string or components in the drill string
(11P) is encoded in an 11 bit pattern. In some embodiments, any of
battery voltage (BatV), automatic toolface (aTFA), and gamma
photons detected per second (Gama) is encoded in an 8 bit pattern.
In some embodiments, annulus pressure while drilling (Apwd) is
encoded in a 15 bit pattern. A person skilled in the art will
program the directional unit to encode different types of
information using the applicable bit patterns. In this embodiment,
all of the data from the downhole tools is converted from binary
into symbols. For example, a data value, which may correspond to
the inclination of the tool string, that is 12 binary bits long, is
to be transmitted to the surface. This value could be translated
into 6 symbols in a total of 24 time slots. As shown in FIGS. 3A to
3C, for error correction purposes, a further symbol 16 (containing
2-bits of information) for parity can be added. The data value and
the parity symbol together form a data packet. The first bit in the
parity symbol 16 is calculated downhole as the exclusive or (EXOR)
of the data in the first two symbols of the value while the second
parity bit corresponds to the EXOR of the rest of the bits in the
value.
[0056] When the controller receives the full wave pressure signals,
it correlates what it receives with the possible configurations as
shown in FIG. 2. The controller then assigns a probability to the
pressure information corresponding to each of the possible symbols.
Once it has received enough symbols to complete a packet, the
parity is calculated. If the received parity and computed parity
symbols are the same, then the value is marked as "Parity OK".
Otherwise, the parity information will be used by the controller to
either correct the value or mark the value as "Parity FAILED".
[0057] FIG. 4 illustrates an embodiment of parity correction and
failure according to an embodiment of the disclosure. In FIG. 4,
the numbers 20 are the desired correlation outcomes, namely OOCC,
OCCO, COOC, and CCOO. The decoded bits can be assigned as: for
COOC, the decoded value is 00; for OOCC, the decoded value is 01;
for CCOO, the decoded value is 10; and, for OCCO, the decoded value
is 11.
[0058] The numbers 22 are directly between two valid symbols and
can be associated with one or the other depending on both the
correlation probabilities and parity check information. Therefore,
for COCC or OOOC, the decoded value could be 00 or 01; for OCCC or
OOCO, the decoded value could be 01 or 11; for OCOO or CCCO, the
decoded value could be 11 or 10; and for COOO or CCOC, the decoded
value could be 10 or 00.
[0059] The numbers 24 are the invalid patterns OCOC, COCO, OOOO,
and CCCC in the middle of the circle and cannot be associated with
a possible decoded value. These values are not used for further
processing or analysis by the controller.
[0060] When decoding for symbols from the full wave pressure
signals, the controller chooses one of the four valid symbols based
on the correlation probability value (even if a non-symbol pattern
has the highest correlation probability). In the event there is a
parity failure, the controller associates one of the numbers 22 in
FIG. 4 with the valid decoded symbol (i.e., number 20) which was
not chosen last time. The controller then re-runs the parity check
for the newly associated number 20.
[0061] Where the first parity bit (which corresponds to the first
two symbols) fails but the second parity bit does not fail, the
parity symbol 16 and the decoding of the first two symbols are
re-evaluated. From the decoded symbols, the controller checks the
one with lowest confidence. If the first choice was one of the
numbers 22, then the controller modifies its interpretation of the
symbol decoded with the least confidence. Parity is then re-checked
to determine whether changing the decoded number resolves the
problem. If the first choice did not lead to correction, then the
symbol with the next least confidence is used, and the process is
repeated. In this embodiment, if a parity correction was made, the
controller marks the corrected data as "Parity Corrected" and uses
it for further processing and analysis. If no correction can be
found which yields a packet with valid parity, then the data is
marked as "Parity FAILED" and the data is not used. In other
embodiments, other types of marking known to the person skilled in
the art may be used. Where only the second bit of the parity symbol
16 fails, the controller takes the foregoing steps for the second
group of data.
[0062] If there is an error in both bits of the parity symbol 16,
then a different set of steps may be taken by the controller. In
these steps, the controller first checks if the symbol carrying the
parity information has the least confidence from both groups. If
so, the bits are flipped 180 degrees on the diagram as shown in
FIG. 2 and the parity is rechecked to determine if this fixes the
parity error. If yes, then both of the bits in parity symbol 16 are
flipped and the controller marks the data as "Parity
Corrected".
[0063] If there is no solution in the parity symbol 16, the
controller may attempt correction with the first two bits of the
data set based on the process as described above. If the parity of
the packet has not yet been corrected, the controller may attempt
further correction with the second group of symbols using the
process as described above.
[0064] To allow the controller to interpret the pressure pulses
created by the mud pulser, synchronization is necessary. FIG. 5
illustrates exemplary synchronization and data frame structures
according to an embodiment of the present disclosure.
[0065] All communications from the directional unit to the surface
start with a synchronization header followed by information
interspersed with synchronization markers. In one embodiment, the
synchronization header is selected in such a way that it does not
correlate to the regular symbols used in communication, and is
long. This structure of the synchronization header makes it
distinctive and statistically unlikely, so that when the controller
receives it, the controller can know that a data stream is
starting. In some embodiments, the synchronization header has the
pattern as illustrated in FIG. 6A, which was previously disclosed
in JPL Communication Systems Research Section, JPL Deep Space
Network Progress Report, 42-26. In some embodiments, the
synchronization header has the pattern as illustrated in FIG. 6B,
which was previously disclosed in IEEE Transactions on
Communications, Vol. Com-20, No. 2, April, 1972. In some
embodiments, other types of synchronization headers may be used. In
some embodiments, different types of synchronization headers,
including those as illustrated in FIGS. 6A and 6B, are used in
combination.
[0066] In some embodiments, the synchronization marker is also a
long statistically unlikely sequence which is different from both
the data and the header. The synchronization markers are
interspersed in long communications to give the controller a chance
to adjust timings and
[0067] start decoding properly if the synchronization header was
not properly received or some other error occurred.
[0068] In the embodiment illustrated in FIG. 5, the data frame
starts with a synchronization header and is followed by the survey
header. In this embodiment, the survey header indicates whether or
not the directional unit will be sending up information acquired
while the drill string was lying still. In some embodiments, the
survey header comprises describing subsequent information in the
data frame. After the survey header, the data frame includes a
toolface header (TH) which indicates if the directional unit will
be sending up information while the drill string is in operation.
The precise nature of the survey and toolface information can vary.
While running, the marker is sent by the directional unit after
each set of "N" toolface data sets. In one embodiment, "N" is equal
to 10. In other embodiments, "N" is less than 10. In other
embodiments, "N" is greater than 10. In some embodiments, survey
information includes the orientation of the drill string and status
flags for the various sensors. In some embodiments, toolface data
includes drill string orientation, background radiation level,
vibration level, and pressure. In some embodiments, any sensor
data, including formation resistivity, spectral gamma, rotation per
minute of the drill string, rotary steerable piston pressure of the
rotary steerable tool (if present), and the like, can be encoded in
the toolface data or the survey information.
[0069] In some embodiments, information from the drill string is
communicated in the survey sequence (as soon as the mud-pump
starts). In some embodiments, information from the drill string is
communicated by the directional unit in the logging sequence, which
continues in a loop after the survey sequence.
[0070] In some embodiments, an auto-survey sequence may be used.
The auto-survey sequence interrupts the logging sequence after some
interval and repeats the survey sequence information.
[0071] In some embodiments, the directional unit of the drill
string can be programmed with 4 or more survey sequences and 4 or
more logging sequences. In some embodiments, these sequences can be
selected by downlinking (e.g., sending information down to the
directional unit by manipulating the mud pumps, sending an EM
signal, or the like).
[0072] In one embodiment, the operator of the drill string knows
with certainty when the directional unit will send up a
synchronization header after the pumps have been turned on. In some
embodiments, a window for time is chosen to search for the
synchronization header and the moment of maximum correlation is
presumed to be the moment of reception. In some embodiments,
operators are warned with display flags where the correlation
between the synchronization header and the received signal did not
hit a pre-programmed limit. In some embodiments, data values
displayed to the operator are coloured according to their parity
results (for example, black for "Parity OK", blue for "Parity
Corrected" and red for "Parity FAILED"). Other manners of
communicating the parity result known to a person skilled in the
art may also be used.
[0073] Before the synchronization sequences or symbols can be read,
the controller will perform processing on the digitized pressure
readings.
[0074] In one embodiment, if there are two pressure transducers
placed some distance apart on the pipe carrying mud downhole, the
first step is to combine the two readings to cancel as much pump
noise as possible. After that, the controller conducts
pre-filtering of the digital pressure values using the process as
shown in FIG. 7. In this embodiment, the controller uses an
exponentially weighted moving average (EWMA) filter to determine
the average pressure value (rcDCestimate) which is subtracted from
the digitized pressure readings. In some embodiments, the
controller uses another EWMA filter to smooth the resulting
signals, and the controller applies a low pass filter to remove
high frequency noise from the digitized pressure readings. In some
embodiments, the controller uses the EWMA filter to determine the
average pressure value when there is only input from one
transducer.
[0075] In some embodiments, the controller conducts further
processing of the digitized pressure readings. FIGS. 8 and 9
illustrate further filtering to remove frequency components in the
readings that cannot be part of the stream of signals or
synchronization.
[0076] FIG. 8 describes a first decimation stage undertaken by the
controller. Upon completion of the first decimation stage, the
process illustrated in FIG. 9, the second decimation stage, is
undertaken by the controller. Decimation is the process of reducing
the sampling rate of a signal that is known to a person skilled in
the art. Decimation reduces the data rate or the size of the data
by reducing high-frequency signal components with a low-pass filter
and down-sampling the filtered signal. The first and second
decimation stages as shown in FIGS. 8 and 9 filter and remove
frequency components in the signal that could not be part of the
stream of signal or synchronization sequences.
[0077] The processes as described in FIGS. 7, 8, and 9 constitute
pre-processing to provide the minimum quantity of numbers which
retain the signal information for input into the correlation
routines. In some embodiments, over-sampling at 500 samples per
second is done to capture all of the spectral information in the
signal. Higher frequencies are filtered out and the average
pressure value (rcDCestimate) removed by the controller using the
processes as shown in FIG. 7. The decimation processes illustrated
in FIGS. 8 and 9 further remove aliasing and reduce the number of
data points that have to be processed at later stages. Once the
input data stream (i.e., the digitized pressure readings) has had
all unnecessary frequency components removed, the controller begins
the decoding process of the data stream.
[0078] In some embodiments, a neural network is used to adjust
parameters of the pre-filtering of the full wave pressure signals
or assist in decoding the symbols.
[0079] In the illustrated embodiment, the controller receives the
cleaned input data stream with an estimate of the average pressure
value and performs the process as described in FIG. 10 on the input
data stream. In this embodiment, the controller looks for
correlations to the synchronization sequences and symbols. The
result is a stream of decoded packets with parity information.
[0080] In the illustrated embodiment, the controller interprets the
decoded packets as data values using a "BitCollectorInterpreter"
which operates in a manner based on the directional unit's
configuration for communicating downhole signals. This knowledge
about the directional unit is determined before the drill string is
lowered into the ground and is stored in the "ConfigurationDataSt"
shown in FIG. 10. The BitCollectorInterpreter is a component that
takes the decoded bits and bytes after parity correction and
associates them with their meanings. In some embodiments, some
bytes describe the inclination, others describe the azimuth, and
yet others describe some other types of information. The precise
correspondence between bits and their meanings changes from job to
job and is described by the survey and logging sequences. An
example survey sequence might be: "GV0:u12.0:P GV1:u12.0:P
GV2:u12.0:P Inc:11:P Azm:12:P Gray:10:P MagF:10:P DipA:10:P
BatV:8:P Bat2:P" which describes that the first 12 bits are generic
variable 0 which corresponds to the rotary steerable tool's
inclination setting encoded in `u` format, followed by a nested
parity bit and then followed by other data variables. The
BitCollector Interpreter is preprogrammed with instructions on how
to assign meaning to the bits. The BitCollectorInterpreter of the
controller receives the bits, follows pre-programmed instructions,
and assigns meaning to the decoded data. Once the meanings are
assigned, they can be displayed to a user by a graphical user
interface. In some embodiments, the interpreted values are shown to
the human operator by the graphical user interface (GUI). In some
embodiments, the interpreted values are stored into memory and
communicated to other devices. In most embodiments, both are done
at the same time.
[0081] Within the base band data processing as described herein,
the controller decodes the symbols and assembles the decoded
symbols into data packets. In one embodiment, the controller
decodes the symbols using the processes as shown schematically in
FIG. 11. Generally, the controller takes the values from a circular
buffer and computes the cross-correlation between the signal and
possible patterns, such as the configurations as shown in FIG. 2.
The controller uses discrete formula commonly known to a person
skilled in the art to compute the cross-correlation between the
signal and possible patterns. In the illustrated embodiment, the
cross-correlation provides 16 numbers labeled 0 to 15 and at the
"sort-descendent" step, these numbers are sorted by the controller
in descending order. Out of these 16 possibilities, only 4 are
valid symbols and the controller selects the symbol with the
highest correlation to the received signal for this time slot. This
symbol is then added to the received data. The received data is
then assembled using the processes shown schematically in FIG.
12.
[0082] FIG. 12 schematically illustrates the assembly of decided
symbols into data packets according to one embodiment. Generally,
in data reconstruction, the symbols are assembled into packets, the
parity is computed, and parity corrections are applied as described
herein. The result is a data packet marked with its meaning and its
parity status (e.g., OK, ERROR, or CORRECTED). The controller uses
the "BitAssembler" to assemble the data packet. These packets are
then interpreted as values and displayed to the user.
[0083] Once the downhole data has been interpreted by the
controller, the data can be displayed or used in a variety of ways.
In one embodiment, the interpreted downhole data is logged and
distributed over first the local area network (LAN) and then over
the wide area network (WAN). As illustrated in FIG. 13, the data
from the controller 50 is first sent to a WebSocket server 52
operating on the well site 45, such as in the same computer as the
controller 50. Other devices 54 on the same well site can connect
to this server via communication frameworks known to a person
skilled in the art, such as WiFi, Bluetooth, and the like, and view
the same through a graphical user interface such as that shown in
FIG. 15. The Web Socket server 52 can also make an attempt to
connect to a second server 58 using the Internet. If successful,
other devices 56 could view the same data provided they have the
correct credentials and can connect to the Internet.
[0084] In one embodiment, the controller communicates with the Web
Socket server using the processes illustrated in FIG. 14.
WebSockets are used to provide a communication interface compatible
with the standard TCP port for HTTP. The result is that the data
can flow to a display within a standard web browser or to an app in
a device like a smart phone or tablet. The main_FPSR.cpp produces a
stream of data values associated with their meanings (such as
inclination (Inc), azimuth (Azm), gamma photons detected per second
(Gama), and the like). This information is coupled to the
WS_Q_FPSR.cpp program which makes it available over a websocket
interface. The chat server is another program that connects to the
WS_Q_FPSR.cpp program, reads the data stream, and distributes it to
all of the terminals that are connected to the chat server. In some
embodiments, these terminals have graphical user interfaces similar
to that as shown in FIG. 15. In some embodiments, the data is
displayed differently. Multiple users can then view and interact
with the data as it is being decoded through the Internet using
different computing devices, such as personal computers, tablets,
smart phones, and the like.
[0085] In one embodiment, the data can be displayed using a
graphical user interface 100 as illustrated in FIG. 15. In this
embodiment, the graphical user interface shows the filtered pump
pressure, the interpreted values, and a rosebud to help the
operator visualize the situation. In some embodiments, the system
comprises a login/password protection feature to ensure only
authorized individuals may view the downhole data.
[0086] While a number of exemplary aspects and implementations have
been discussed above, those skilled in the art will recognize
certain modifications, permutations, additions, sub-combinations
thereof, including: [0087] Data compression algorithms may be
applied to data being pulsed up by the mud pulser. [0088] While
only one pulser is discussed in the embodiment described herein,
more than one pulser may be used to communicate the data. [0089]
Where more than one pulser is used, each pulser may pulse the
information at different frequencies. [0090] While one controller
is discussed in the embodiment described herein, more than one
controller or a combination of central controller and subcontroller
may be used to perform the conversion, processing, filtering, and
decoding steps described herein. [0091] The information from each
run of the drill string may be stored in a set of files and
analyzed at a later time. [0092] In some embodiments, a pause
marker may be introduced between toolface sequences and the
synchronization markers in order to save power downhole when it is
not necessary to send continuous data. [0093] Other data computed
by the controller relating to the data stream may be displayed to
the operator (e.g., in a graphical user interface such as that of
FIG. 15), including data signal to noise ratio, quality,
confidence, and decoding success. If any of these values drops, it
is a sign that the communication is problematic. [0094] The
controller may be part of a surface receiver.
[0095] Some advantages of the embodiments described herein include:
[0096] Faster communication may allow more data to reach the
surface in the same amount of time. [0097] The method may allow
more reliable communication in the presence of pump noise. [0098]
The ability to communicate for a period of more than a minute while
the pumps are coming up to pressure reduces time and cost; the
first information can be available in a short time (e.g., 15
seconds) after drilling starts thus reducing the time needed per
survey. [0099] The ability to re-synchronize without stopping to
re-survey reduces time and costs.
[0100] Unless the context clearly requires otherwise, throughout
the description and the claims: "comprise," "comprising," and the
like are to be construed in an inclusive sense, as opposed to an
exclusive or exhaustive sense; that is to say, in the sense of
"including, but not limited to". "Connected," "coupled," or any
variant thereof, means any connection or coupling, either direct or
indirect, between two or more elements; the coupling or connection
between the elements can be physical, logical, or a combination
thereof "Herein," "above," "below," and words of similar import,
when used to describe this specification shall refer to this
specification as a whole and not to any particular portions of this
specification. "Or" in reference to a list of two or more items,
covers all of the following interpretations of the word: any of the
items in the list, all of the items in the list, and any
combination of the items in the list. The singular forms "a," "an,"
and "the" also include the meaning of any appropriate plural
forms.
[0101] Words that indicate directions such as "vertical,"
"transverse", "horizontal," "upward," "downward," "forward,"
"backward," "inward," "outward", "vertical," "transverse," "left,"
"right," "front," "back", "top," "bottom," "below," "above,"
"under," and the like, used in this description and any
accompanying claims (where present) depend on the specific
orientation of the apparatus described and illustrated. The subject
matter described herein may assume various alternative
orientations. Accordingly, these directional terms are not strictly
defined and should not be interpreted narrowly.
[0102] Embodiments may be implemented using specifically designed
hardware, configurable hardware, programmable data processors
configured by the provision of software (which may optionally
comprise "firmware") capable of executing on the data processors,
special purpose computers or data processors that are specifically
programmed, configured, or constructed to perform one or more steps
in a method as explained in detail herein and/or combinations of
two or more of these. Examples of specifically designed hardware
are: logic circuits, application-specific integrated circuits
("ASICs"), large scale integrated circuits ("LSIs"), very large
scale integrated circuits ("VLSIs"), and the like. Examples of
configurable hardware are: one or more programmable logic devices
such as programmable array logic ("PALs"), programmable logic
arrays ("PLAs"), and field programmable gate arrays ("FPGAs")).
Examples of programmable data processors are: microprocessors,
digital signal processors ("DSPs"), embedded processors, graphics
processors, math co-processors, general purpose computers, server
computers, cloud computers, mainframe computers, computer
workstations, and the like. For example, one or more data
processors in a control circuit for a device may implement methods
as described herein by executing software instructions in a program
memory accessible to the processors.
[0103] Processing may be centralized or distributed. Where
processing is distributed, information including software and/or
data may be kept centrally or distributed. Such information may be
exchanged between different functional units by way of a
communications network, such as a Local Area Network (LAN), Wide
Area Network (WAN), or the Internet, wired or wireless data links,
electromagnetic signals, or other data communication channel.
[0104] For example, while processes or blocks are presented in a
given order, alternative examples may perform routines having
steps, or employ systems having blocks, in a different order, and
some processes or blocks may be deleted, moved, added, subdivided,
combined, and/or modified to provide alternative or
subcombinations. Each of these processes or blocks may be
implemented in a variety of different ways. Also, while processes
or blocks are at times shown as being performed in series, these
processes or blocks may instead be performed in parallel, or may be
performed at different times.
[0105] In addition, while elements are at times shown as being
performed sequentially, they may instead be performed
simultaneously or in different sequences. It is therefore intended
that the following claims are interpreted to include all such
variations as are within their intended scope.
[0106] Software and other modules may reside on servers,
workstations, personal computers, tablet computers, image data
encoders, image data decoders, PDAs, color-grading tools, video
projectors, audio-visual receivers, displays (such as televisions),
digital cinema projectors, media players, and other devices
suitable for the purposes described herein. Those skilled in the
relevant art will appreciate that aspects of the system can be
practised with other communications, data processing, or computer
system configurations, including: Internet appliances, hand-held
devices, wearable computers, all manner of cellular or mobile
phones, multi-processor systems, microprocessor-based or
programmable consumer electronics (e.g., video projectors,
audio-visual receivers, displays, such as televisions, and the
like), set-top boxes, color-grading tools, network PCs,
mini-computers, mainframe computers, and the like.
[0107] The invention may also be provided in the form of a program
product. The program product may comprise any non-transitory medium
which carries a set of computer-readable instructions which, when
executed by a data processor, cause the data processor to execute a
method. Program products according to the invention may be in any
of a wide variety of forms. The program product may comprise, for
example, non-transitory media such as magnetic data storage media
including floppy diskettes, hard disk drives, optical data storage
media including CD ROMs, DVDs, electronic data storage media
including ROMs, flash RAM, EPROMs, hardwired or preprogrammed chips
(e.g., EEPROM semiconductor chips), nanotechnology memory, or the
like. The computer-readable signals on the program product may
optionally be compressed or encrypted.
[0108] In some embodiments, the invention may be implemented in
software. For greater clarity, "software" includes any instructions
executed on a processor, and may include (but is not limited to)
firmware, resident software, microcode, and the like. Both
processing hardware and software may be centralized or distributed
(or a combination thereof), in whole or in part, as known to those
skilled in the art. For example, software and other modules may be
accessible via local memory, via a network, via a browser or other
application in a distributed computing context, or via other means
suitable for the purposes described above.
[0109] Where a component is referred to above, unless otherwise
indicated, reference to that component (including a reference to a
"means") should be interpreted as including as equivalents of that
component, any component which performs the function of the
described component (i.e., that is functionally equivalent),
including components which are not structurally equivalent to the
disclosed structure which performs the function in the illustrated
exemplary embodiments of the invention.
[0110] Specific examples of systems, methods and apparatuses have
been described herein for purposes of illustration. These are only
examples. The technology provided herein can be applied to systems
other than the example systems described above. Many alterations,
modifications, additions, omissions and permutations are possible
within the practice of this invention. This invention includes
variations on described embodiments that would be apparent to the
skilled addressee, including variations obtained by: replacing
features, elements and/or acts with equivalent features, elements
and/or acts; mixing and matching of features, elements and/or acts
from different embodiments; combining features, elements and/or
acts from embodiments as described herein with features, elements
and/or acts of other technology; and/or omitting combining
features, elements and/or acts from described embodiments.
[0111] It is therefore intended that the following appended claims
and claims hereafter introduced are interpreted to include all such
modifications, permutations, additions, omissions and
sub-combinations as may reasonably be inferred. The scope of the
claims should not be limited by the preferred embodiments set forth
in the examples, but should be given the broadest interpretation
consistent with the description as a whole.
* * * * *