U.S. patent number 10,385,684 [Application Number 15/796,561] was granted by the patent office on 2019-08-20 for systems and methods for communicating downhole data.
This patent grant is currently assigned to Pulse Directional Technologies Inc.. The grantee listed for this patent is Pulse Directional Technologies Inc.. Invention is credited to Steve Braisher, Karl Edler, Antal Soos.
![](/patent/grant/10385684/US10385684-20190820-D00000.png)
![](/patent/grant/10385684/US10385684-20190820-D00001.png)
![](/patent/grant/10385684/US10385684-20190820-D00002.png)
![](/patent/grant/10385684/US10385684-20190820-D00003.png)
![](/patent/grant/10385684/US10385684-20190820-D00004.png)
![](/patent/grant/10385684/US10385684-20190820-D00005.png)
![](/patent/grant/10385684/US10385684-20190820-D00006.png)
![](/patent/grant/10385684/US10385684-20190820-D00007.png)
![](/patent/grant/10385684/US10385684-20190820-D00008.png)
![](/patent/grant/10385684/US10385684-20190820-D00009.png)
![](/patent/grant/10385684/US10385684-20190820-D00010.png)
View All Diagrams
United States Patent |
10,385,684 |
Soos , et al. |
August 20, 2019 |
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 |
N/A |
CA |
|
|
Assignee: |
Pulse Directional Technologies
Inc. (Calgary, CA)
|
Family
ID: |
62017642 |
Appl.
No.: |
15/796,561 |
Filed: |
October 27, 2017 |
Prior Publication Data
|
|
|
|
Document
Identifier |
Publication Date |
|
US 20180119546 A1 |
May 3, 2018 |
|
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
62414556 |
Oct 28, 2016 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
E21B
47/20 (20200501); E21B 47/13 (20200501); E21B
47/18 (20130101); E21B 34/066 (20130101); E21B
49/00 (20130101); E21B 47/06 (20130101) |
Current International
Class: |
E21B
47/18 (20120101); E21B 47/12 (20120101); E21B
49/00 (20060101); E21B 47/06 (20120101); E21B
34/06 (20060101) |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Benlagsir; Amine
Attorney, Agent or Firm: McCarthy Tetrault LLP
Parent Case Text
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.
Claims
What is claimed is:
1. A method for communicating downhole signals, the method
comprising: a) encoding data collected from a downhole sensor and
parity information as symbols into pulses for transmission by a
pulser to a receiver as the downhole signals; b) transmitting the
pulses through use of the pulser; c) receiving the downhole signals
with the receiver and converting the pulses into a time series
numerical representation of the downhole signals with the receiver;
d) correlating a segment of the numerical representation with a
group of possible symbols from the symbols; e) selecting the
possible symbols with a maximum correlation; f) assembling the
selected possible symbols from the numerical representation into a
packet; g) comparing a parity symbol representing parity
information of the packet with a computed parity symbol; h)
interpreting the packet as data value where the parity symbol and
the computed parity symbol are equivalent; and, i) where the parity
symbol and the computed parity symbol are not equivalent,
correcting the selection of the possible symbols by selecting
another possible symbols from the group of the possible symbols,
wherein the data comprises information measured, determined, or
reported by a directional sensor, the downhole sensor, or any
downhole equipment.
2. The method of claim 1 wherein the pulser is a bottom mount
linear mud 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 downhole signals comprises a
synchronization header followed by symbolic signals interspersed
without a synchronization marker or at least the 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
symbols and the synchronization header.
7. The method of claim 4 wherein the downhole signals further
comprises a survey header following the synchronization header.
8. The method of claim 1 wherein the data comprises directional
information.
9. The method of claim 8 wherein the directional information
comprises orientation of the directional sensor, the data from the
downhole sensor in a drill string, or status flags from any
component in the drill string.
10. The method of claim 1, wherein the data collected from the
downhole sensor comprises background radiation level, vibration
level, downhole pressure, formation resistivity, gamma spectra,
rotational orientation, RPM, or directional radiation levels.
11. The method of claim 1 wherein the pulses comprise pressure
pulses and the pressure pulses are converted into pressure signals
by at least one pressure transducer.
12. The method of claim 11 wherein said converting the pressure
pulses comprises combining readings from two or more pressure
transducers to remove pump noise.
13. The method of claim 11 wherein the received downhole signals
are pre-filtered.
14. The method of claim 13 wherein the pre-filtering comprises
using a filter to determine an average pressure value and
subtracting the average pressure value from each value of the
received signals.
15. The method of claim 1 wherein the parity symbol comprises two
parity bits, with a first bit corresponding to first few symbols in
the data and a second bit corresponding to a rest of the data.
16. The method of claim 1 wherein the received downhole signals is
stored in its entirety into a single file.
17. The method of claim 1, wherein the group of possible symbols
comprises valid, likely invalid, and unlikely invalid symbols and
only the valid symbols are selected.
18. The method of claim 1, wherein the correction of the selection
of the possible symbols starts with a new selected symbol with a
least correlation.
19. The method of claim 1, wherein the another possible symbols
comprises a new symbol with a next least correlation in the group
of possible symbols.
20. The method of claim 1, wherein said correcting selection of the
possible symbols is repeated until the parity symbol and the
computed parity symbol are equivalent.
21. The method of claim 1, wherein the pulses comprises acoustic
pulses or electromagnetic pulses.
22. The method of claim 1, wherein the group of possible symbols
comprises symbols, non-symbols wherein signal degradation
transforms a symbol into a related non-symbol.
23. The method of claim 22, further comprising replacing the
selected possible symbols with a first valid symbol associated with
a first related non-symbol, wherein the possible symbols comprises
a non-symbol.
24. The method of claim 1 further comprising assigning confidence
to the data value based on the level of error correction
applied.
25. A method for communicating downhole signals, the method
comprising: a) encoding data collected from a downhole sensor and
parity information as pulses into symbols; and b) transmitting the
symbols as the downhole signals to a receiver uphole: c)
correlating a segment of the signals with a group of possible
symbols; d) selecting the possible symbols with a maximum
correlation; e) assembling the selected possible symbols from the
downhole signals into a packet; f) comparing a parity symbol
representing parity information of the packet with a computed
parity symbol; and g) interpreting the packet as data value where
the parity symbol and the computed parity symbol are equivalent;
and, h) where the parity symbol and the computed parity symbol are
not equivalent, correcting selection of the possible symbols by
selecting another possible symbols from the group of symbols,
wherein the data comprises information measured, determined, or
reported by a directional sensor, the downhole sensor, or any
downhole equipment.
Description
FIELD OF THE INVENTION
The invention relates to systems and methods for communicating
downhole data.
BACKGROUND
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.
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.
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.
The downhole tools are generally powered with some combination of
batteries and generators which turn the flow of mud into electrical
power.
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
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.
In some embodiments, the mud pulser is a bottom mount linear
pulser.
In some embodiments, the symbols comprise a cyclic block code
having four time slots per symbol. In some embodiments, the data
comprises binary data.
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.
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.
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.
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.
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.
In some embodiments, processing the full wave signals comprises
evaluating the full wave signals for correlations to
synchronization header, symbols, and synchronization markers.
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.
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.
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.
In some embodiments, the processing of the full wave pressure
signals and the decoding of the symbols are performed by a
processor.
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.
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.
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
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:
FIG. 1 illustrates a symbol encoding system according to an
embodiment of the present disclosure.
FIG. 2 illustrates the possible configurations of the valve of the
mud pulser and the corresponding symbols according to an embodiment
of the disclosure.
FIGS. 3A to 3C illustrate exemplary packet structures used for
drill string information according to an embodiment of the present
disclosure.
FIG. 4 illustrates the bit patterns for symbol encoding and
possible correction according to an embodiment of the present
disclosure.
FIG. 5 illustrates the synchronization and data frame structure
according to an embodiment of the present disclosure.
FIG. 6A illustrates a first synchronization header pattern
according to an embodiment of the present disclosure.
FIG. 6B illustrates a second synchronization header pattern
according to an embodiment of the present disclosure.
FIG. 7 illustrates pre-filtering steps performed by a controller
according to an embodiment of the present disclosure.
FIG. 8 illustrates a first decimation and filtering stage performed
by a controller according to an embodiment of the present
disclosure.
FIG. 9 illustrates a second decimation and filtering stage
performed by a controller according to an embodiment of the present
disclosure.
FIG. 10 illustrates base band data processing performed by a
controller according to an embodiment of the present
disclosure.
FIG. 11 illustrates decoding of the symbols performed by a
controller according to an embodiment of the present
disclosure.
FIG. 12 illustrates data reconstruction performed by a controller
according to an embodiment of the present disclosure.
FIG. 13 illustrates the transmission of reconstructed data using a
server according to an embodiment of the present disclosure.
FIG. 14 illustrates communication between the controller and the
Web Socket server according to an embodiment of the present
disclosure.
FIG. 15 illustrates an exemplary graphical user interface according
to an embodiment of the present disclosure.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 "O" 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).
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.
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".
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.
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.
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.
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.
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.
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".
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.
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.
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.
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
start decoding properly if the synchronization header was not
properly received or some other error occurred.
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.
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.
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.
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).
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.
Before the synchronization sequences or symbols can be read, the
controller will perform processing on the digitized pressure
readings.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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: Data compression algorithms may be applied to data being
pulsed up by the mud pulser. While only one pulser is discussed in
the embodiment described herein, more than one pulser may be used
to communicate the data. Where more than one pulser is used, each
pulser may pulse the information at different frequencies. 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. The information
from each run of the drill string may be stored in a set of files
and analyzed at a later time. 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. 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. The controller may be part of a
surface receiver.
Some advantages of the embodiments described herein include: Faster
communication may allow more data to reach the surface in the same
amount of time. The method may allow more reliable communication in
the presence of pump noise. 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. The ability to re-synchronize without
stopping to re-survey reduces time and costs.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
* * * * *