# Patent

## Title
Communication applications

## Abstract

In some embodiments, an apparatus and a system, as well as a method and an article, may operate to transmit and receive data. Transmission may comprise transforming larger values of acquired data into smaller values of transformed data using a transform defined by a seed value selected to reduce digital pulse position modulation transmission time for the acquired data. Additional activities include digital pulse position modulating the transformed data and a checksum associated with the transformed data to provide a propagation signal, and transmitting the propagation signal into drilling fluid or a geological formation. Reception may comprise receiving the propagation signal, demodulating the propagation signal to extract the transformed data and the checksum, and transforming the transformed data into an estimate of the acquired data, using the transform defined by the seed value validated by the checksum. Additional apparatus, systems, and methods are described.

## Background
RELATED APPLICATIONS
This application is a continuation-in-part of International Application No. PCT/US2011/038398, filed on May 27, 2011, the content of which is incorporated by reference herein in its entirety.


BACKGROUND
Drilling rig operators often employ the use of Measurement-While-Drilling (MWD) and Logging-While-Drilling (LWD) tools and services during drilling operations, to measure and/or log various conditions within the borehole and/or the rock formations surrounding the borehole. MWD/LWD tools utilize a variety of sensors to sample and aggregate digital values for real-time transmission to the surface during drilling operations. The transmission scheme and channel medium may vary. For example, they may include Mud Pulse Telemetry (MPT) through water and drilling mud, Electro-Magnetic-Telemetry (EMT) through rock formations, and Acoustic Telemetry (AT) via the drill-string. Each scheme typically employs some form of modulation (e.g. Orthogonal Frequency Division Multiplexed (OFDM), or Direct Sequence Spread Spectrum (DSSS)) to increase the reliability of communication through the associated medium.
When either OFDM or DSSS modulation are used, the transmit peak-to-average-power-ratio (PAPR) is often poor (i.e., relatively high), as compared to other processes, even though error rates may be improved. As a result, a more expensive transmitter power amplifier, with a higher dynamic range, is often used to maintain a desired level of reliability within a given communication system.
During drilling operations, the driller will often pump fluids, e.g. “drilling mud” or water, into the borehole via a set of pumps (typically positive displacement pumps) through the drill string and out the drill bit. The fluids return to the surface through the annulus (the space between the drill-string and borehole wall). This drilling mud is quite ubiquitous in drilling operations, and due to costs or formation constraints, it is often the media of choice for transmitting information—using mud pulse telemetry (MPT). However, the data rates provided by MPT are relatively low when compared to other mechanisms of data transport.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates examples of scrambler transforms at the transmitter and the receiver, according to various embodiments of the invention.
FIG. 2 illustrates a bit-stream format concatenating packets of fixed numbers of bits, according to various embodiments of the invention.
FIG. 3 illustrates a bit-stream format concatenating fixed length packets with SEED values, according to various embodiments of the invention.
FIG. 4 illustrates a bit-stream format concatenating fixed length packets with SEED and POLY values, according to various embodiments of the invention.
FIG. 5 illustrates transmission bit-streams that may be used to reduce PAPR, according to various embodiments of the invention.
FIGS. 6-16 illustrate block diagrams of transmitters and receivers, according to various embodiments of the invention.
FIG. 17 is a block diagram of apparatus according to various embodiments of the invention.
FIG. 18 illustrates a wireline system embodiment of the invention.
FIG. 19 illustrates a drilling rig system embodiment of the invention.
FIG. 20 is a flow chart illustrating several methods according to various embodiments of the invention.
FIG. 21 is a block diagram of an article according to various embodiments of the invention.
FIGS. 22-24 illustrate additional block diagrams of transmitters and receivers, according to various embodiments of the invention.
FIG. 25 is a flow chart illustrating additional methods according to various embodiments of the invention.



DETAILED DESCRIPTION
In some embodiments, data to be communicated within a drilling system, from sub-surface to surface, and vice-versa, is transformed by selecting a transform from a plurality of transforms to improve (i.e., reduce) the transmit PAPR of the signal that carries the data within a rock formation using multi-carrier/waveform modulation, without materially reducing the decoding rate. The terms “rock formation” and “geological formation” are used interchangeably herein, referring in all cases to materials that make up the surface and subsurface of the Earth. The solution provided by this process can be used to more efficiently and accurately communicate data within underground formations.
In some embodiments, the effective data transmission rate is improved by formatting packets in a unique manner, so that the time to transmit the formatted data is reduced when compared to conventional systems. Various communication schemes, including MPT, can benefit from this increase in the data transmission rate.
As used in this document, a “scrambler” is a processing device comprising electrical hardware that operates to manipulate a data stream before transmission into a communications channel. The manipulations are reversed by a “descrambler” at the receiving end of the communications channel Scrambler types may include additive and multiplicative scramblers. Scrambling is widely used in satellite, radio relay communications, and PSTN (public switched telephone network) modems. In some embodiments, a scrambler is placed just before a FEC (forward error correction) coder, or it can be placed after the FEC, just before the modulation or line code. A scrambler in this context has nothing to do with encrypting, as the intent is not to render the message unintelligible, but to impart useful properties to the transmitted signal. For example, the scrambler may operate to transform digital sequences into other sequences, without removing undesirable sequences, to reduce the probability of vexatious sequence occurrence.
Scramblers have been used in the past to “whiten” digitized data, providing adaptive equalization in a receiver, or flattening the power spectral density of a transmitter's output. These uses are contrary to the teachings provided herein, since the various embodiments operate to locally flatten the time-domain transmission amplitude within a packet, and not the ergodic frequency content of the overall signal. Indeed, the use of scramblers in various embodiments, as described herein, may result in greater frequency variance across subcarriers or spreading codes (e.g., in the case of quadrature amplitude modulation), and increase the local periodic characteristic within modulated packets of digitized data, depending on the choice of modulation for each subcarrier.
To reduce PAPR in a transmitted signal, some embodiments include an apparatus electrically connected with a drill string configured to produce electrical current in a rock formation. The apparatus may comprise a power source, and an amplifier electrically connected to the power source. The amplifier is used to vary an adjustable voltage output to produce changes in electrical current traveling through a rock formation. The apparatus uses a controller that operates the amplifier to create a plurality of changes in the electrical current passing through the rock formation via multiple waveform modulation, wherein the controller formats digital data into packets using a transform selected from a plurality of available transforms.
Transmitter embodiments may use a form of multiple waveform modulation, e.g. OFDM (orthogonal frequency-division multiplexing) or DSSS (direct-sequence spread spectrum). The multiple waveforms within OFDM modulation aggregate a plurality of sinusoidal subcarriers orthogonal with respect to each other, where each subcarrier is further modulated using more conventional modulation approaches, e.g. PSK (phase-shift keying) and QAM. The aggregation may cause constructive superposition, so that subcarrier amplitudes present large absolute amplitude peaks relative to the average absolute amplitude over the symbol period. Hence, OFDM transmission signals often experience a poor PAPR, leading to poor telemetry throughput unless circuit complexity is significantly increased.
Under a DSSS scheme, an aggregation of a plurality of chip sequences, preferably with low cross-correlation properties, is transmitted. Thus, DSSS transmission also may suffer from a poor PAPR.
Under either OFDM or DSSS, when the PAPR is poor, a more expensive transmitter power amplifier, with a higher dynamic range, is often used to maintain a desired reliability of communication. Various embodiments described herein operate to transform a packet of predetermined length into OFDM or DSSS symbols with a reduced PAPR, reducing constraints on power amplifier dynamic range, while providing the same communication reliability.
Thus, some embodiments may include a system to communicate through a rock formation that comprises a transmitter configured to modulate a current with transformed digital data and to transmit the modulated current through a rock formation. The modulated current may comprise a superposition of a plurality of waveforms. The system may further include a receiver configured to demodulate the current, to select a transform from a plurality of transforms, and to use the selected transform to operate on the demodulated information, providing the digital data forming part of at least one packet, using an error detection code.
FIG. 1 illustrates examples of scrambler transforms 100, 102, 104, 106 at the transmitter and the receiver, according to various embodiments of the invention. Thus at the transmitter, one embodiment uses a transform selected from a set of transforms 100, 104 where each comprises a linear feedback shift register (LFSR) configured according to a polynomial descriptor. Each register can accept an initial state value/indicator for the memory elements within the LFSR. The number of memory elements may indicate the largest possible cardinality of the transform set. Thus, the transmitter may have at least one scrambler 108 that includes one or more transforms 100, 104, perhaps taking the form of LFSRs, to transform, e.g. scramble, digital values according to a polynomial indicator and an initial value, possibly using Galois Field arithmetic (GF), such as modulo-2 arithmetic. The transforms 100, 102, 104, 106 may also be implemented with hardware or hardware executing software/firmware instructions that provides a unitary transform, spherical codes, and other matrix transforms.
Some embodiments operate to communicate through a rock formation as a system. The system may comprise a transmitter configured to modulate a current through the rock formation, where the current comprises a superposition of a plurality of waveforms. The system may comprise a plurality of initial state indicators accessible to the transmitter to enable scrambling digital data. The system may further comprise a receiver configured to demodulate the signal provided by the current, and to select an initial state indicator from a plurality of initial state indicators accessible to the receiver. The receiver may further comprise transforms 102, 106, perhaps taking the form of LFSRs, to descramble the transformed digital data using a descrambler 110 and an error detection code to determine the digital data within at least one packet. An initial value of all zeroes may operate to disable the scrambler 108 or descrambler 110.
FIG. 2 illustrates a bit-stream format 200 concatenating packets 201, 202, 203 of fixed numbers of bits, according to various embodiments of the invention. Each packet 201, 202, 203 includes information in the form of data 204 (e.g., bits, bytes or words 206, 207, 208) and cyclic redundancy check (CRC) information 205. In some embodiments, the bit-stream format 200 is transmitted and received using scrambled data 204.
FIG. 3 illustrates a bit-stream format 300 concatenating fixed length packets 301, 302, 303 with SEED values 309, according to various embodiments of the invention. Here each packet 301, 302, 303 includes information in the form of data 304 (e.g., bits, bytes or words 306, 307, 308), CRC information 305, and a SEED value 309, which represents the initial content of an LFSR.
FIG. 4 illustrates a bit-stream format 400 concatenating fixed length packets 401, 402, 403 with SEED and POLY values 409, 410, according to various embodiments of the invention. Here each packet 401, 402, 403 includes information in the form of data 404 (e.g., bits, bytes or words 406, 407, 408), CRC information 405, a SEED value 409, and a POLY value 410, which represents the polynomial descriptor for the transform that has been selected, perhaps to be implemented by an LFSR.
Thus, transmitters may operate to select different initial content values, or SEEDs, for one or more LFSRs. Transmitters that operate in this manner may transform a given set of digital data input bits differently, using different SEEDs, resulting in potentially different PAPR characteristics for each selection. The transmitter can then include the selected SEED within the bit-stream modulated for transmission, as shown in FIGS. 3 and 4.
A controller within the transmitter may operate to account for the SEED initial value indicator when calculating the various PAPRs for each transformed digitized value, perhaps as part of calculating optimization metrics for each possible SEED given a LFSR configured to implement a particular polynomial descriptor, POLY. Thus, transmitters in some embodiments may use the PAPR as a predetermined optimization criterion. In other embodiments, the SEED and/or POLY values that pertain to the transform used at the transmitter may or may not (e.g., see FIG. 2) be included in the formatted bit-stream and/or encoded, modulated waveforms. Likewise, various receiver embodiments at the receiver may or may not use any SEED and/or POLY values to decode transmitted packets. This tradeoff may involve additional receiver complexity (more calculations), as various possible combinations for SEED and/or POLY various are tested to determine which produces a series of correctly unscrambled packets.
In some embodiments, a controller calculates at least one optimization metric relating to a predetermined criterion (e.g., selecting a threshold acceptable error rate) for at least one transform within a plurality of transforms. The controller may include a memory device to store one or more optimization metrics, as determined by a predetermined criterion. Memory devices may include one or more of a register or cache memory within a microcontroller or microprocessor, a register comprising of digital logic within a programmable device and/or ASIC (application-specific integrated circuit), random access memory (RAM), and non-volatile storage, such as FLASH memory, programmable read-only memory, and/or a hard-drive.
The controller may operate to select a transform from a plurality of transforms corresponding to a minimal (i.e. a metric near a minimum) optimization metric, such as the PAPR, or the minimum PAPR. Likewise, the controller may operate to select an equivalent maximal (i.e. a metric near a maximum) optimization metric, such as 1/PAPR, or the maximum 1/PAPR.
FIG. 5 illustrates transmission bit-streams 510 that may be used to reduce PAPR, according to various embodiments of the invention. Here it can be seen that scrambling the data with a fixed POLY value and optimized SEED value results in a reduction of PAPR 514 given the same input data bitstream as in 512 that has not been optimized for PAPR. Even further reduction in PAPR may be achieved by determining an optimized POLY value for a configurable LFSR scrambler in conjunction with an optimized SEED value for the configurable LFSR scrambler as in 516 given the same input data bitstream as in 512 and 514. For illustration purposes, FIG. 5 includes SEED and POLY values within the transmission of the bit stream, slight increasing the time of transmission. In practice, including SEED and POLY values within the transmission may be useful to reduce receiver complexity. However, in some embodiments, the system may benefit from selecting and using an optimized transform, saving time by not including the SEED and POLY values in the bit stream to be modulated.
Alternative embodiments of the optimization metric may us the estimated probability of receiving a packet in error, given channel state information. Likewise, the optimization metric might comprise using the estimated probability of receiving the packet correctly (e.g., a packet rejection region may or may not be present in the metric).
A method embodiment operates to communicate through a rock formation by calculating at least one optimization metric relating to a predetermined optimization criterion, using the optimization metric to select one of a plurality of initial state indicators available to a transmitter, and scrambling digital data using the selected initial state indicator (which may enable the receiver to perform an error-detection check). Additional activities may include transmitting the scrambled digital data through the rock formation using a modulated waveform comprising a superposition of multiple waveforms, receiving the transmitted waveform from the rock formation, demodulating the received waveform into a plurality of demodulated values, and identifying packet errors using the demodulated values, the selected transform, and an error detection code.
FIG. 6 illustrates a block diagram of a transmitter 610 and receiver 612, according to various embodiments of the invention. FIG. 7 illustrates a block diagram of a transmitter 710 and receiver 712, according to various embodiments of the invention. FIG. 8 illustrates a block diagram of a transmitter 810 and receiver 812, according to various embodiments of the invention.
Referring now to FIGS. 6-8, it can be seen that a transmitter can operate on a concatenated sequence of information (comprising SEED and POLY values, as well as a data payload 622) 620. A transmitted CRC processor 624 can operate on its input (the information 620 in this case) to calculate and append a CRC value to the information 620. A FEC (forward error correction) encoder 630 may operate on its input (the information 620, augmented by an associated CRC value in this case, which provides augmented information 626) to calculate and append error correcting code(s) to the augmented information 626, providing additional information 628.
The output of the FEC encoder 630 (i.e., additional information is scrambled by a scrambler 632, which may comprise one or more transforms (e.g., transforms 100, 104), perhaps taking the form of LFSRs. The operation of the scrambler 632 may be influenced by POLY and SEED values selected by the transmission selector 634, which may in turn be selected as fixed or variable values, perhaps according to minimal/minimum PAPR calculations, maximal/maximum 1/PAPR calculations, or other metric optimization calculations. The selected SEED and POLY values may be provided to the concatenated sequence 620, as well as to the scrambler 632.
The output of the scrambler 632 is modulated by the modulator 636 (e.g., an OFDM or DSSS modulator), before entering the communications channel 614 as transformed data 638. The transformed data 638 may be amplified using a power amplifier (not shown at the output of the transmitter 610).
A receiver 612 can operate to receive the transformed data 638, which is demodulated by the demodulator 656 to provide demodulated data. A descrambler 652 (which may be similar to or identical to the scrambler 632) can operate on the demodulated data to provide descrambled data. A FEC decoder 650 can apply the error correcting code(s) to the descrambled data to provide a decoded data sequence 640.
The demodulator 656 may provide either hard or soft detection. If soft detection is used, the payload bits may be estimated by the estimator 642 and selectively applied, using the selector 644, so that the correct CRC appears, as calculated by the received CRC processor 646.
In FIGS. 7 and 8, the components of the transmitter 610 and receiver 612 shown in FIG. 6 have been arranged in a different order, to permit processing acquired data (e.g., input bits 622) differently, providing essentially different transmitter/receiver combinations 710, 712 and 810, 812. Thus, many embodiments may be realized.
For example, some transmitter embodiments use scramblers 632 that employ configurable LFSRs transmit the polynomial descriptor, POLY, with the SEED descriptor, and may include one or both values within the optimization metric and optimization criterion. The plurality of available transforms may be implemented using at least one configurable LFSR used to receive a polynomial indicator from a plurality of possible polynomial indicators that described feedback connections to the LFSR.
In some embodiments, the optimization metric and predetermined optimization criterion in the transmitter may or may not use peak or average powers or amplitude or their ratios. Indeed, the POLY and SEED indicators may or may not be transmitted along with the transformed data (e.g., see examples of different potential transmission bit streams 510, prior to transformation, shown in FIG. 5).
The plurality of available transforms within a scrambler may or may not utilize initial values identifying different transforms. Receivers may or may not use formatted data to exhaustively search for sequences that result in determining the SEED and/or POLY values utilized by the transmitter. The tradeoff in these cases may be receiver complexity versus bandwidth efficiency.
In some embodiments, a transmitter within a communications system transforms and transmits digital data within a packet using a modulation resembling the superposition of multiple waveforms. The transmitter comprises an amplifier having a peak output voltage with a selected dynamic range, a plurality of available transforms, a transform selector to select at least one of the transforms such that the modulated output voltage of the amplifier provides at least one packet of transformed digital values that avoids non-linear distortion after the application of an interpolation filter, wherein the selected transform enables error detection at the receiver. The interpolation filter allows the insertion of data into the bit stream, ahead of the amplifier. The transmitter may comprise one or more connectors to provide connections to a drill string and/or well casing.
In some embodiments, the transmitter includes a plurality of initial state indicators, and an initial state indicator selector to select at least one initial state indicator from the plurality of initial state indicators to avoid non-linear distortion after the application of the interpolation filter. In some embodiments, the transmitter includes a scrambler with a plurality of configurations, a plurality of initial state indicators, a scrambler configuration indicator selector to select at least one configuration from said plurality of configurations.
An apparatus may comprise a receiver electrically coupled to a drill string to receive formatted digital data transmitted via multiple waveform modulated electrical current through a rock formation. The receiver may comprise a sensor to receive a superposition of waveforms from the current in the rock formation, a demodulator to estimate transmitted digital values from the superposition of waveforms received by the sensor, and a plurality of transforms to enable transforming the received, estimated digital values. The receiver may further comprise a controller to select at least one transform from said plurality of transforms and to transform the received, estimated digital values into digital data representing data that was acquired by the transmitter.
The receiver may operate to demodulate multiple waveform modulation comprising OFDM or DSSS. The transforms may comprise LFSRs, with the ability to accept at least one initial shift register value from a plurality of possible initial shift register values. One or more configurable LFSRs may be operable to receive a polynomial indicator from a plurality of possible polynomial indicators describing feedback connections.
In some embodiments, a controller operates to select at least one initial shift register value from a plurality of possible initial shift register values, to implement the selection of a transform. The controller may also operate to select at least one polynomial indicator from a plurality of possible polynomial indicators to implement selection of a transform. The initial shift register and polynomial indicator value(s) may be selected at least in part based on said estimated transmitted digital values. Other controller embodiments may employ a plurality of LFSRs configured using a corresponding plurality of polynomial descriptors, corresponding to a plurality of polynomial indicators.
In some receivers, a scrambler may be configured to receive at least one initial state indicator from a plurality of possible initial state indicators, to generate a sequence of numbers and transform said estimated digital values. The associated controller may be configured to select at least one initial state indicator from a plurality of possible initial state indicators used in the transformation of said estimated digital values. The scrambler may be used to generate a sequence of numbers and transform digital data using Galois Field arithmetic.
The controller in a transmitter or a receiver may comprise a digital logic circuit, or a microprocessor circuit, or a microcontroller circuit executing a program. A CRC processing module may be used to provide a CRC value within packets of formatted digital data, as part of the bit-stream. The CRC processing module can operate to check received estimated digital values, and to enable selection of at transformed received estimated digital values from a plurality of transforms.
The CRC processing module may be realized using either hardware and/or software. The CRC processing module uses a sufficient number of bits along with a polynomial descriptor that, when combined, provides decoding error detection to some desired threshold level of accuracy.
In some embodiments, a system may comprise one or more repeaters, each including a transmitter and a receiver. The repeater may relay blindly and/or decode and re-encode digitized data, wherein the re-encoding may or may not use the same modulation coding scheme as the decoding. In the case of re-encoding, the repeater may select its own transform indicator(s) via its own criteria or simply reuse the same SEED and POLY values obtained from the received signal.
In some embodiments, rock formation communication is initiated by selecting a transform from a plurality of transform available at the transmitter, transforming digital data using the selected transform (so as to enable the receiver to perform an error-detection check), and transmitting transformed digital data through the rock formation using a modulated waveform resembling a superposition of multiple waveforms. Communication is completed by receiving a waveform from the rock formation in response to said transmission, demodulating the received waveform in to a plurality of demodulated values, and identifying packet errors by using the plurality of demodulated values, the selected transform, and an error detection code value.
FIG. 9 illustrates a block diagram of a transmitter 910 and receiver 912, according to various embodiments of the invention. FIG. 10 illustrates a block diagram of a transmitter 1010 and receiver 1012, according to various embodiments of the invention. In this case, the order of the components of the transmitter 610 and receiver 612 shown in FIG. 6 have been re-arranged. The location and composition of the concatenated sequence 960 has also been changed. In addition, the estimate provided by the estimator 962 to the selector 644 comprises both estimated acquired data bits and estimated CRC bits. This permits processing the acquired data (e.g., input bits 622) differently than what is available with respect to the arrangements shown in FIGS. 6-8, providing essentially different transmitter/receiver combinations 910, 912 and 1010, 1012. Thus, many embodiments may be realized.
An optimization metric may be calculated, where the controller uses at least one PAPR of a transmitted modulated waveform to select at least one transformation of digital data. The waveform may comprise interpolated samples resulting from at least one interpolation filter connected in series with an amplifier. Optimization may involve use of a predetermined criterion, such as a measure of PAPR for a transmitted modulated waveform, or a characteristic of the filter, to guide transform selection.
FIG. 11 illustrates a block diagram of a transmitter 1110 and receiver 1112, according to various embodiments of the invention. FIG. 12 illustrates a block diagram of a transmitter 1210 and receiver 1212, according to various embodiments of the invention. FIG. 13 illustrates a block diagram of a transmitter 1310 and receiver 1312, according to various embodiments of the invention.
In this case, the order of the components of the transmitter 610 and receiver 612 shown in FIG. 6 have been re-arranged. The composition of the concatenated sequence 1168 has also been changed, resulting in a change of the composition of the decoded data sequence 1170. This permits processing the acquired data (e.g., input bits 622) differently than what is available with respect to the arrangements shown in FIGS. 6-8, providing essentially different transmitter/receiver combinations 1110, 1112, 1210, 1212, and 1310, 1312. Thus, many embodiments may be realized.
In providing a service to its clients, an oil field services company may practice various embodiments via a method of receiving digital data packets through a rock formation that comprises sensing at least one physical effect caused by the propagation of a superposition of a plurality of waveforms from a multiple waveform modulated electrical current within the rock formation. The method may include demodulating the superposition of the plurality of waveforms into a plurality of numerical values, estimating digital values from said plurality of demodulated numerical values, transforming said estimated digital values using at least one transform selected from a plurality of transforms.
The sensed physical effect may include sending an electrical voltage drop across a distance in the rock formation, due to the current passing through the rock formation. Another physical effect that can be sensed includes changes in magnetic fields observed using magnetometers.
In some embodiments, the estimated digital values may be scrambled using at least one initial state value selected from a plurality of possible initial state values. Polynomial indicators can be selected from a plurality of possible polynomial indicators to configure the scrambler. Initial state values can be selected from a plurality of possible initial state values for this purpose, as well.
The process of selecting an initial state value/indicator, and/or a polynomial indicator may or may not take into account some of the estimated digital values. The receiver may or may not operate to calculate CRC checksums using transformed, estimated digital values to determine whether digital data packets have been correctly received. The receiver may or may not operate to search some or all possible transforms, initial state SEED values/indicators, and/or polynomial indicators POLY to find a CRC value that indicates a correct decoding event, or a checksum indicating a non-error condition.
FIG. 14 illustrates a block diagram of a transmitter 1410 and receiver 1412, according to various embodiments of the invention. FIG. 15 illustrates a block diagram of a transmitter 1510 and receiver 1512, according to various embodiments of the invention. FIG. 16 illustrates a block diagram of a transmitter 1610 and receiver 1612, according to various embodiments of the invention.
In this case, the order of the components of the transmitter 610 and receiver 612 shown in FIG. 6 have been re-arranged. The location and composition of the concatenated sequence 1474 has also been changed, resulting in a change of the composition of the decoded data sequence 1478. This permits processing the acquired data (e.g., input bits 622) differently than what is available with respect to the arrangements shown in FIGS. 6-8, providing essentially different transmitter/receiver combinations 1410, 1412, 1510, 1512, and 1610, 1612.
FIGS. 22-24 illustrate block diagrams of transmitters 2210, 2310, 2410 and receivers 2212, 2312, 2412, according to various embodiments of the invention. In this case, the order of the components of the transmitter 1610 and receiver 1612 shown in FIG. 16 have been re-arranged. The location and composition of the concatenated sequence 1474 has also been changed, resulting in a change of the composition of the decoded data sequence 1478 and 2478. This permits processing the acquired data (e.g., input bits 622) differently than what is available with respect to the arrangements shown in FIGS. 14-16, providing essentially different transmitter/receiver combinations 2210, 2212, 2310, 2312, and 2410, 2412. Thus, many embodiments may be realized.
In some embodiments, a method of formatting digital data packets enabling transmission through a rock formation comprises receiving digital data, calculating a CRC using said digital data, calculating optimization metrics for at least one transform and modulation scheme associated with the transmission of electrical current through a rock formation. One or more transformations applied to the digital data may be selected from a plurality of transformations on the basis of the optimization metric calculation results.
The current passing through the rock formation may be modulated by varying a voltage using the transformed data. The optimization metrics may be calculated using at least one initial scrambler state selected from a plurality of possible initial scrambler states. The digital data may be scrambled to produce scrambled data, and the current passing through the rock formation may be modulated by varying a voltage using said scrambled data. In some embodiments, methods may comprise calculating the optimization metrics using the CRC, and generating parity data using a FEC encoder, further comprising calculating the optimization metrics using said parity data.
In some embodiments, transformations are selected using a minimal or minimum optimization metric. In some embodiments, the optimization metric may be calculated using a maximal or maximum metric.
In some embodiments, the optimization metric may be calculated using the transmission time of a formatted packet. In some embodiments, the optimization metric may be calculated using the data rate of the formatted packet, further comprising interpolating said transformed data with a filter, perhaps calculating optimization metrics use at least one characteristic of interpolating filtering. Still more embodiments may be realized.
FIG. 17 is a block diagram of apparatus 1700 according to various embodiments of the invention. The apparatus 1700 may comprise any one or more of the transmitters and/or receivers shown in FIGS. 6-16, and 22-24. Moreover, any one or more of the transmitters and/or receivers shown in FIGS. 6-16, and 22-24 may include scramblers that comprise one or more of the transforms shown in FIG. 1, operating on the bit stream formats shown in FIGS. 2-4, as appropriate.
Any of the transmitters described herein may comprise an interpolation filter and/or an amplifier, to provide an amplified version of the transmitter output signal voltage that results in propagating a current in the geological formation. These components are not shown in many of the drawings so as not to obscure the composition of various embodiments of the invention. Similarly, any of the receivers described herein may comprise one or more preamplifiers and/or reception filters that provide amplified, filtered data to a demodulator. These components are also not shown in many of the drawings so as not to obscure the composition of various embodiments of the invention.
In many embodiments, the apparatus 1700 comprises a combination of downhole instrumentation T, R, such as acoustic transmitters T1-T1′, T2-T2′ and T3-T3′ and acoustic receivers R1, R2, and R3, attached to a drill string 1704. The instrumentation T, R may also comprise other kinds of instruments, such as magnetometers, electromagnetic transmitters/receivers, antennas, etc.
The apparatus 1700 may also include hardware logic 1740 and/or one or more processors 1730, perhaps comprising a programmable drive and/or sampling control system. The logic 1740 can be used to acquire formation data, such as resistivity. The data can be stored in a memory 1750, perhaps using a database 1758.
A data transmitter and/or receiver 1744 (equivalent to or identical to the transmitters and/or receivers of FIGS. 6-16, and 22-24) can be used to communicate with a surface 1766 data processing system 1756, via a second transmitter and/or receiver 1746 (which may also be equivalent to or identical to the transmitters and/or receivers shown in FIGS. 6-16, and 22-24). Thus, the apparatus 1700 may further comprise a data transmitter 1744 (e.g., a telemetry transmitter or transceiver) to transmit boundary distance and resistivity formation parameters, and/or other data to a surface data processing system 1756. The communication may occur via a number of channels 1760, such as the drill string, the drilling mud, the well casing, and/or the geological formation surrounding the well casing. Some embodiments may include systems comprising multiple instances of the apparatus 1700. For example, such systems may include one or more transmitters and/or receivers 1744 below the surface 1766, and/or one or more transmitters and/or receivers 1746 above the surface 1766. Thus, many embodiments may be realized.
For example, in the case of EMT, a MWD service provider may use an electrical transmitting tool serially connected to the drill-string 1704 to place a time-varying voltage potential across an insulator, such as a ceramic spacer. The spacer may be located serially in the drill string 1704 to electrically isolate the bit from the drill-string 1704 attached to the surface rig, so as to produce time-varying electrical currents in the surrounding rock formations. On the uplink connection (e.g., using channel 1760), the down-hole electrical tool varies the voltage across this insulator and thus varies the current fields in the rock formation. A surface system receiver (e.g., receiver 1746) observes one or more voltage drops or magnetic changes (e.g., using magnetometers) across distances at the surface 1766, between the drill-string 1704 and spatially separated grounding spikes. The current used to communicate information may comprise any of the currents described herein.
If two-way communication is desired, a downlink connection (e.g., using channel 1760) transmits information from the surface rig to the down-hole electrical tool. The surface system 1756 may use the potential across at least one distance at the surface 1766, perhaps using the same set of grounding spikes and the drill string used for reception of the uplink information. Thus, the down-hole electrical tool is capable of receiving a signal by observing the potential across the insulating spacer.
In some embodiments, such as those used for MPT and EMT communication, among others, the data transmitter and/or receiver 1744, 1746 include one or more transducers and/or one or more sensors, respectively.
The transducers forming part of a transmitter may comprise a number of components, such as a pulser (e.g., when MPT communication is used) to induce pulses in the drilling fluid, or an amplifier (e.g., when EMT communication is used) to receive a propagation signal, and to produce an amplified version of the propagation signal in the geological formation.
The sensors forming part of a receiver may also comprise a number of components. For example, a sensor may comprise one of a surface receiver configured to receive a propagation signal from a sub-surface mud pulser (e.g., when MPT communication is used), or an electromagnetic telemetry receiver (e.g., when EMT communication is used) to receive the propagation signal from a sub-surface electromagnetic telemetry transmitter. Thus, many additional embodiments may be realized.
For example, referring now to FIGS. 1-17, it can be seen that an apparatus 1700 may comprise a scrambler module to transform acquired data into transformed data using at least one transform selected from a plurality of transforms according to an optimization metric calculation that operates on single, fixed-length packets of the transformed data and/or received data corresponding to the transformed data, and a preselected quality criterion threshold. The apparatus 1700 may comprise an amplifier to receive an electrical signal including the transformed data, and to produce an amplified version of the electrical signal in a geological formation via a drill string.
In some embodiments, the apparatus 1700 may comprise an LFSR configurable to accomplish the at least one transform using at least one of a selectable initial SEED value or a selectable polynomial indicator POLY. The apparatus 1700 may comprise a modulator to provide the electrical signal by operating on the transformed data using OFDM or DSSS modulation. The apparatus 1700 may comprise a CRC processing module to generate a CRC value to be included in the transformed data or the electrical signal.
In some embodiments, the apparatus 1700 may comprise an interpolation filter to operate on the transformed data. The interpolation filter may be located between the modulator and the amplifier, for example. The apparatus 1700 may further comprise a portion of the drill string 1704 to house the scrambler module and the amplifier. Thus, any of the components of a down-hole tool 1762 may be housed by or attached to the drill string 1704.
The apparatus 1700 may also comprise reception apparatus. For example, an apparatus 1700 may comprise a sensor (e.g., a preamplifier and/or filter) to receive an amplified version of an electrical signal in a geological formation. The apparatus 1700 may further comprise a descrambler module to transform the electrical signal including transformed data into an estimated version of acquired data using at least one transform defined by at least one of a seed value or a polynomial indicator. The at least one transform may be selected from a plurality of transforms according to an optimization metric calculation that operates on single, fixed-length packets of the transformed data and/or the estimated version, and a preselected quality criterion threshold. The preselected quality criterion threshold may be based on at least one of a PAPR of the electrical signal, the transformed data, or an error rate of the estimated version.
The apparatus 1700 may further comprise a shift register (e.g., an LFSR) configurable to accomplish the at least one transform using at least one of an initial seed value SEED or a polynomial indicator POLY contained in the electrical signal.
In some embodiments, the apparatus 1700 is electrically coupled to a drill string. The apparatus 1700 can be used to produce an electrical current that propagates through a rock formation, and comprises a power source, an amplifier electrically connected to the power source, the amplifier capable of pulsing an adjustable voltage output to produce changes in electrical current pulsing through the rock formation. The apparatus 1700 further comprises a plurality of transforms that are used to format digital data in packets. A controller (e.g., a hardware processor) in the apparatus 1700 enables the amplifier to create a plurality of changes in electrical current passing through said rock formation, the current comprising multiple waveform modulation, wherein the controller formats the digital data into packets using a transform selected from said plurality of transforms.
The multiple waveform modulation may comprise OFDM or DSSS modulation. The plurality of transforms may comprise one or more LFSRs configured to accept at least one initial shift register value from a plurality of possible initial shift register values. The plurality of transforms may comprise one or more configurable LFSRs to receive a polynomial indicator from a plurality of possible polynomial indicators describing feedback connections.
The controller may operate to calculate one or more optimization metrics relating to a predetermined criterion threshold for at least one transform within the plurality of transforms. A memory in the apparatus 1700 may be used to store one or more optimization metrics determined by the predetermined criterion threshold.
The controller may operate to select a transform from said plurality of transforms corresponding to a minimal or a minimum optimization metric. Similarly, the controller may operate to select a transform from said plurality of transforms corresponding to a maximal or a maximum optimization metric. The optimization metric may be the estimated probability of receiving the packet in error, or of receiving the packet correctly. The apparatus may further comprise a CRC processing module enabling said controller to include a CRC value within the packets of formatted digital data.
In some embodiments, the apparatus 1700 comprises a scrambler enabled to receive at least one initial state indicator from a plurality of possible initial state indicators, to generate a sequence of numbers and transform digital data using Galois Field arithmetic. The apparatus 1700 may further comprise a controller enabling the amplifier to create a plurality of changes in electrical current passing through a rock formation resembling a multiple waveform modulation, wherein the controller optimizes using a predefined criterion that enables the scrambler to transform digital data into packets using an initial state indicator selected from said plurality of possible initial state indicators.
Calculating at least one optimization metric by the controller may use at least one PAPR of a transmitted modulated waveform corresponding to at least one transformation of the digital data. The predetermined criterion may thus include a measure of PAPR of a transmitted modulated waveform.
The apparatus 1700 may comprise at least one interpolation filter in series with the amplifier. The controller may optimize using at least one characteristic of the filter in the transform selection.
The apparatus 1700 may include a transform selector capable of selecting at least one transform from a plurality of transforms such that the modulated output voltage of the amplifier of at least one packet of transformed digital values avoids non-linear distortion after processing by an interpolation filter, and the selected transform enables error detection at the receiver.
The apparatus 1700 may comprise an initial state indicator selector capable of selecting at least one initial state indicator from a plurality of initial state indicators such that the modulated voltage of at least one packet of transformed digital values avoids non-linear distortion after processing by an interpolation filter, wherein said selected transform enables error detection at the receiver.
In some embodiments, the apparatus 1700 electrically connected with a drill string may be configured to receive formatted digital data transmitted via multiple waveform modulated electrical current through a rock formation. The apparatus 1700 may comprise a sensor enabling the reception of a superposition of waveforms from said multiple waveform modulated electrical current within said rock formation, a demodulator enabling the estimation of said transmitted digital values from said superposition of waveforms received by said sensor, a plurality of transforms enabling at least one transformation of said received estimated digital values, and a controller (e.g., comprising processing hardware, such as a microprocessor or a digital signal processor) to select at least one transform from said plurality of transforms and transform received estimated digital values.
The plurality of transforms may comprise at least one LFSR configured to accept at least one initial shift register value from a plurality of possible initial shift register values and/or to receive a polynomial indicator from a plurality of possible polynomial indicators describing feedback connections.
The controller may operate to select at least one initial shift register value from a plurality of possible initial shift register values, enabling said transform selection. The controller may operate to select at least one polynomial indicator from a plurality of possible polynomial indicators enabling said transform selection.
The controller may operate to select said selected initial shift register value and/or said selected polynomial indicator at least in part based on said estimated transmitted digital values. The controller may employ a plurality of LFSRs configured using a plurality of polynomial descriptors, respectively, corresponding to a plurality of polynomial indicators, also respectively.
The apparatus 1700 may comprise a CRC processing module enabling the checking of at least one check value of said received estimated digital values wherein said module also enables selection of transformed received estimated digital values from said plurality of transforms.
The apparatus 1700 may further comprise a scrambler to receive at least one initial state indicator from a plurality of possible initial state indicators, to generate a sequence of numbers and transform said estimated digital values, and a controller to select at least one initial state indicator from said plurality of possible initial state indicators used in the transformation of said estimated digital values. The scrambler may be configurable by receiving at least one polynomial indicator from a plurality of possible polynomial indicators describing the configuration of the scrambler and at least one initial state indicator from a plurality of possible initial state indicators, to generate a sequence of numbers and transform said estimated digital values in response to receiving a polynomial indicator and an initial state indicator.
Some embodiments may comprise a system of multiple apparatus 1700—some of the apparatus 1700 operating as a transmitter, and some of the apparatus 1700 operating as a receiver. Such systems may operate as a transceiver and/or a repeater, as described previously.
Thus, a system to communicate through a rock formation may comprise a transmitter to modulate a current through a rock formation resembling the superposition of a plurality of waveforms. The system may further comprise a plurality of transforms accessible by said transmitter enabling the transformation of digital data. A receiver may be included in the system, the receiver operating to demodulate, to select a transform from a plurality of transforms accessible by the receiver, and to transform said transformed digital data using an error detection code to determine the digital data within at least one packet.
FIG. 18 illustrates a wireline system 1864 embodiment of the invention. FIG. 19 illustrates a drilling rig system 1964 embodiment of the invention. Thus, the systems 1864, 1964 may comprise portions of a tool body 1870 as part of a wireline logging operation, or of a downhole tool 1924 as part of a downhole drilling operation. FIG. 18 shows a well during wireline logging operations. A drilling platform 1886 is equipped with a derrick 1888 that supports a hoist 1890.
Drilling of oil and gas wells is commonly carried out using a string of drill pipes connected together so as to form a drilling string that is lowered through a rotary table 1810 into a wellbore or borehole 1812. Here it is assumed that the drilling string has been temporarily removed from the borehole 1812 to allow a wireline logging tool body 1870, such as a probe or sonde, to be lowered by wireline or logging cable 1874 into the borehole 1812. Typically, the tool body 1870 is lowered to the bottom of the region of interest and subsequently pulled upward at a substantially constant speed.
During the upward trip, at a series of depths the instruments (e.g., the instruments T, R shown in FIG. 1700) included in the tool body 1870 may be used to perform measurements on the subsurface geological formations 1814 adjacent the borehole 1812 (and the tool body 1870). The measurement data can be communicated to a surface logging facility 1892 for storage, processing, and analysis. Communication of the data may occur using any of the apparatus 1700 described herein. The logging facility 1892 may be provided with electronic equipment for various types of signal processing, which may be implemented by any one or more of the components of the apparatus 1700 in FIG. 1700. Similar formation evaluation data may be gathered and analyzed during drilling operations (e.g., during LWD operations, and by extension, sampling while drilling).
In some embodiments, the tool body 1870 comprises a formation resistivity tool for obtaining and analyzing resistivity measurements from a subterranean formation through a wellbore. The formation resistivity tool is suspended in the wellbore by a wireline cable 1874 that connects the tool to a surface control unit (e.g., comprising a workstation 1854). The formation resistivity tool may be deployed in the wellbore on coiled tubing, jointed drill pipe, hard wired drill pipe, or any other suitable deployment technique.
Turning now to FIG. 19, it can be seen how a system 1964 may also form a portion of a drilling rig 1902 located at the surface 1904 of a well 1906. The drilling rig 1902 may provide support for a drill string 1908. The drill string 1908 may operate to penetrate a rotary table 1810 for drilling a borehole 1812 through subsurface formations 1814. The drill string 1908 may include a Kelly 1916, drill pipe 1918, and a bottom hole assembly 1920, perhaps located at the lower portion of the drill pipe 1918.
The bottom hole assembly 1920 may include drill collars 1922, a downhole tool 1924, and a drill bit 1926. The drill bit 1926 may operate to create a borehole 1812 by penetrating the surface 1904 and subsurface formations 1814. The downhole tool 1924 may comprise any of a number of different types of tools including MWD (measurement while drilling) tools, LWD tools, and others.
During drilling operations, the drill string 1908 (perhaps including the Kelly 1916, the drill pipe 1918, and the bottom hole assembly 1920) may be rotated by the rotary table 1810. In addition to, or alternatively, the bottom hole assembly 1920 may also be rotated by a motor (e.g., a mud motor) that is located downhole. The drill collars 1922 may be used to add weight to the drill bit 1926. The drill collars 1922 may also operate to stiffen the bottom hole assembly 1920, allowing the bottom hole assembly 1920 to transfer the added weight to the drill bit 1926, and in turn, to assist the drill bit 1926 in penetrating the surface 1904 and subsurface formations 1814.
During drilling operations, a mud pump 1932 may pump drilling fluid (sometimes known by those of skill in the art as “drilling mud”) from a mud pit 1934 through a hose 1936 into the drill pipe 1918 and down to the drill bit 1926. The drilling fluid can flow out from the drill bit 1926 and be returned to the surface 1904 through an annular area 1940 between the drill pipe 1918 and the sides of the borehole 1812. The drilling fluid may then be returned to the mud pit 1934, where such fluid is filtered. In some embodiments, the drilling fluid can be used to cool the drill bit 1926, as well as to provide lubrication for the drill bit 1926 during drilling operations. Additionally, the drilling fluid may be used to remove subsurface formation 1814 cuttings created by operating the drill bit 1926.
Thus, referring now to FIGS. 1-19, it may be seen that in some embodiments, the systems 1864, 1964 may include a drill collar 1922, a downhole tool 1924, and/or a wireline logging tool body 1870 to house one or more apparatus 1700, similar to or identical to the apparatus 1700 described above and illustrated in FIG. 17. Additional apparatus 1700 may be included in a surface processing facility, such as the workstation 1854. Thus, for the purposes of this document, the term “housing” may include any one or more of a drill collar 1922, a downhole tool apparatus 1924, and a wireline logging tool body 1870 (all having an outer wall, to enclose or attach to instrumentation, sensors, fluid sampling devices, pressure measurement devices, transmitters, receivers, and data acquisition systems). The apparatus 1700 may comprise a downhole tool, such as an LWD tool or MWD tool. The tool body 1870 may comprise a wireline logging tool, including a probe or sonde, for example, coupled to a logging cable 1874. Many embodiments may thus be realized.
For example, in some embodiments, a system 1864, 1964 may include a display 1896 to present resistivity information, both measured and predicted, as well as database information, perhaps in graphic form. A system 1864, 1964 may also include computation logic, perhaps as part of a surface logging facility 1892, or a computer workstation 1854, to receive signals from transmitters and receivers, and other instrumentation to determine the distance to boundaries in the formation 1814.
Thus, a system 1864, 1964 may comprise a downhole tool 1924, and one or more apparatus 1700 attached to the downhole tool 1924, the apparatus 1700 to be constructed and operated as described previously. Additional apparatus 1700 may be included at the surface, perhaps in the workstation 1854. In some embodiments, the downhole tool 1924 comprises one of a wireline tool or an MWD tool.
The apparatus 1700, and any components included therein may all be characterized as “modules” herein. Such modules may include hardware circuitry, and/or a processor and/or memory circuits, software program modules and objects, and/or firmware, and combinations thereof, as desired by the architect of the apparatus 1700 and systems 1864, 1964 and as appropriate for particular implementations of various embodiments. For example, in some embodiments, such modules may be included in an apparatus and/or system operation simulation package, such as a software electrical signal simulation package, a power usage and distribution simulation package, a power/heat dissipation simulation package, and/or a combination of software and hardware used to simulate the operation of various potential embodiments.
It should also be understood that the apparatus and systems of various embodiments can be used in applications other than for logging operations, and thus, various embodiments are not to be so limited. The illustrations of apparatus 1700 and systems 1864, 1964 are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein.
Applications that may include the novel apparatus and systems of various embodiments include electronic circuitry used in high-speed computers, communication and signal processing circuitry, modems, processor modules, embedded processors, data switches, and application-specific modules. Such apparatus and systems may further be included as sub-components within a variety of electronic systems, such as televisions, cellular telephones, personal computers, workstations, radios, video players, vehicles, signal processing for geothermal tools and smart transducer interface node telemetry systems, among others. Some embodiments include a number of methods.
For example, FIG. 20 is a flow chart illustrating several methods 2011 according to various embodiments of the invention. In some embodiments, a computer-implemented method 2011 may begin at block 2021 with acquiring data, perhaps from a down-hole tool carrying a variety of instrumentation.
The method 2011 may continue on to block 2025 with formatting the acquired data into the single, fixed length packets, each of the packets including at least one of an initial seed value or a polynomial indicator used in the transforming. The formatting can occur prior to transformation, or after transformation.
The method 2011 may continue on to block 2029 with calculating at least one of a cyclic redundancy checksum or parity data using at least one of the acquired data or the transformed data. The activity at block 2029 may further include inserting the at least one of the CRC or parity data into at least one of the fixed-length packets.
The method 2011 may continue on to block 2033 with calculating an optimization metric using at least one initial scrambler state selected from a plurality of initial scrambler states corresponding to a fixed scrambler configuration and a selected modulation scheme.
The method 2011 may continue on to block 2037 to determine whether the calculated optimization metric indicates and acceptable level of PAPR in the data stream to be transmitted, or perhaps an acceptable level of non-linear distortion—in either case, when compared to a selected quality criterion threshold.
Thus, if the threshold value is met at block 2037, the method 2011 may continue on to block 2041 with selecting at least one transform such that the amplified version has less than a selected amount of PAPR, or non-linear distortion, or some other measure of signal quality corresponding to a preselected quality criterion threshold. If the threshold value is not met at block 2037, then the method 2011 may return to block 2033, to include selecting different values for initial scrambler states and/or transforms implemented by the scrambler.
The method 2011 may continue on to block 2045 from either of blocks 2037 or 2041, to include transforming acquired data into transformed data using at least one transform selected from a plurality of transforms according to an optimization metric calculation that operates on single, fixed-length packets of the transformed data, and a preselected quality criterion threshold.
The method 2011 may continue on to block 2047 with modulating the electrical signal using the transformed data to provide the electrical signal as a superposition of waveforms.
In some embodiments, the method 2011 includes filtering the transformed data (e.g., using an interpolation filter), and then amplifying the data prior to transmission, at block 2049.
The method 2011 may continue on to block 2053 with transmitting an amplified version of an electrical signal in a geological formation, the electrical signal including the transformed data.
The method 2011 may continue on to block 2057 to include receiving an amplified version of an electrical signal in a geological formation, the electrical signal including transformed data.
The method 2011 may continue on to block 2059, to include demodulating the amplified version as a superposition of a plurality of waveforms into a plurality of numerical values comprising the transformed data.
The method 2011 may continue on to block 2061 to include configuring a descrambler to accomplish transformation (at block 2065) based on at least one of an initial seed value or a polynomial indicator, each selected according to a preselected quality criterion threshold, which may be the same or different as the threshold selected for the transmission process.
The method 2011 may continue on to block 2065 to include transforming the transformed data into an estimate of acquired data, the transforming using at least one transform selected from a plurality of transforms according to an optimization metric calculation that operates on single, fixed-length packets of the transformed data and/or the estimate, and the preselected quality criterion threshold.
The method 2011 may continue on to block 2069 to include parsing the estimate of acquired data to determine at least one of a cyclic redundancy checksum or parity data, and determining an error rate in the estimate based on the cyclic redundancy checksum and/or parity data.
At block 2073, the method 2011 may include comparing the error rate (or the PAPR, or some other measure of quality) with the preselected quality criterion threshold. If the quality of the received data is found to meet the desired, measurable level of quality, then the method 2011 may end at block 2077. Otherwise, the method 2011 may include returning to block 2061, to include re-configuring the descrambler by choosing different initial SEED values, or different transform POLY values.
The activity at blocks 2061 and 2073 may thus comprise determining at least one of an initial seed value or a polynomial indicator associated with the transformed data by attempting the transformation using multiple values of the initial seed value and/or the polynomial indicator until check data in the estimate indicates existence of a correct value. Many additional embodiments may be realized.
For example, a method of formatting digital data packet enabling transmission through a rock formation may comprise acquiring digital data, calculating a cyclic redundancy checksum using said digital data, calculating optimization metrics for at least one transform and modulation scheme suitable to propagate electrical current passing through a rock formation, the current communicating a plurality of transformations using said digital data, selecting a transformation using said optimization metrics, and generating transformed data using said digital data.
In another embodiment, a method of transmitting digital data packets through a rock formation may comprise acquiring digital data, calculating a cyclic redundancy checksum using said digital data, calculating optimization metrics for at least one transform and modulation scheme suitable for propagating electrical current through a rock formation, the current communicating a plurality of transformations using said digital data, selecting a transformation using said optimization metrics, generating transformed data using said digital data, and modulating the current passing through the rock formation by varying a voltage using said transformed data.
In another embodiment, a method of transmitting digital data packets through a rock formation may comprise acquiring digital data, calculating a cyclic redundancy checksum using said digital data, calculating optimization metrics using at least one initial scrambler state from a plurality of possible initial scrambler states of a predetermined scrambler configuration and a modulation scheme suitable to propagate electrical current through a rock formation, the current communicating a plurality of transformations using said digital data. The method may further comprise selecting an initial scrambler state for said predetermined scrambler configuration using said optimization metrics, scrambling said digital data to produce scrambled data, and modulating the current passing through the rock formation by varying a voltage using said scrambled data.
In another embodiment, a method of transmitting digital data packets through a rock formation may comprise acquiring digital data, calculating a cyclic redundancy checksum using said digital data, calculating optimization metrics using at least one initial scrambler state selected from a plurality of possible initial scrambler states for at least one scrambler configuration from a plurality of possible scrambler configurations, and selecting a modulation scheme suitable to propagate electrical current through a rock formation, the current communicating a plurality of transformations using said digital data. The method may further comprise selecting at least one scrambler configuration and at least one initial scrambler state using said optimization metrics, scrambling said digital data to produce scrambled data, and modulating the current passing through the rock formation by varying a voltage using said scrambled data.
Various methods may include calculating the optimization metrics using a cyclic redundancy checksum and/or parity data. Thus, the methods may comprise generating parity data using a forward error correction encoder. The cyclic redundancy checksum may be calculated using said parity data.
One or more transformations may be selected using a minimal or minimum optimization metric. Similarly, one or more transformation may be selected using a maximal or maximum optimization metric.
The optimization metric may be calculated using the transmission time of the formatted packet and/or the data rate of the formatted packet. Some embodiments may comprise interpolating said transformed data with a filter, and perhaps calculating optimization metrics using at least one characteristic of said filtering.
In an embodiment, a method of receiving digital data packets through a rock formation may comprise sensing at least one physical effect of the superposition of a plurality of waveforms from a multiple waveform modulated electrical current within said rock formation, demodulating said superposition of a plurality of waveforms into a plurality of numerical values, estimating digital values from said plurality of demodulated numerical values, transforming said estimated digital values using at least one transform selected from a plurality of transforms.
In an embodiment, a method of receiving digital data packets through a rock formation may comprise sensing at least one physical effect of the superposition of a plurality of waveforms from a multiple waveform modulated electrical current within said rock formation, demodulating said superposition of a plurality of waveforms into a plurality of numerical values, estimating digital values from said plurality of demodulated numerical values, scrambling said estimated digital values using at least one initial state value selected from a plurality of possible initial state values, and selecting at least one initial state value from said plurality of possible initial state values.
In an embodiment, a method of receiving digital data packets through a rock formation may comprise sensing at least one physical effect of the superposition of a plurality of waveforms from a multiple waveform modulated electrical current within said rock formation, demodulating said superposition of a plurality of waveforms into a plurality of numerical values, estimating digital values from said plurality of demodulated numerical values, selecting at least one polynomial indicator from a plurality of possible polynomial indicators, configuring a scrambler using at least in part the selected polynomial indicator, and scrambling said estimated digital values using at least one initial state value selected from a plurality of possible initial state values.
The selection of at least one initial state value may use at least a portion of said estimated digital values. Similarly, the selection of at least one polynomial indicator may be at least a portion of said estimated digital values.
In some embodiments, the method may comprise calculating at least one cyclic redundancy checksum using transformed estimated digital values to enable determination of whether digital packets have been received correctly, or in error.
In some embodiments, the method may comprise determining a correct decoding event for said received digital packet by calculating a plurality of cyclic redundancy checksums of a plurality of transformed estimated digital values, respectively, and ceasing additional calculations of cyclic redundancy checksums for a given received digital packet upon the occurrence of a correct checksum check event.
In an embodiment, a method of communicating through a rock formation may comprise selecting a transform from a plurality of transforms available to a transmitter, transforming digital data using said selected transform enabling the receiver to perform an error-detection check, transmitting transformed digital data through a rock formation using a modulated waveform resembling a superposition of multiple waveforms, receiving the waveform from the rock formation, demodulating said received waveform in to a plurality of demodulated values, and identifying packet errors by using said plurality of demodulated values, said selected transform, and an error detection code value.
In an embodiment, a method of communicating through a rock formation may comprise calculating at least one optimization metric relating to a predetermined optimization criterion, selecting a initial state indicator from a plurality of initial state indicators available to the transmitter using said at least one of optimization metric, scrambling digital data using said selected initial state indicator enabling the receiver to perform an error-detection check, transmitting said scrambled digital data through a rock formation using a modulated waveform resembling a superposition of multiple waveforms, receiving a waveform from a rock formation in response to said transmitted modulated waveform, demodulating said received waveform into a plurality of demodulated values, and identifying packet errors by using said plurality of demodulated values, said selected transform, and an error detection code.
It should be noted that the methods described herein do not have to be executed in the order described, or in any particular order. Moreover, various activities described with respect to the methods identified herein can be executed in iterative, serial, or parallel fashion. The various elements of each method can be substituted, one for another, within and between methods. Information, including parameters, commands, operands, and other data, can be sent and received in the form of one or more carrier waves.
Upon reading and comprehending the content of this disclosure, one of ordinary skill in the art will understand the manner in which a software program can be launched from a computer-readable medium in a computer-based system to execute the functions defined in the software program. One of ordinary skill in the art will further understand the various programming languages that may be employed to create one or more software programs designed to implement and perform the methods disclosed herein. The programs may be structured in an object-orientated format using an object-oriented language such as Java or C#. Alternatively, the programs can be structured in a procedure-orientated format using a procedural language, such as assembly or C. The software components may communicate using any of a number of mechanisms well known to those skilled in the art, such as application program interfaces or interprocess communication techniques, including remote procedure calls. The teachings of various embodiments are not limited to any particular programming language or environment. Thus, other embodiments may be realized.
For example, FIG. 21 is a block diagram of an article 2100 according to various embodiments of the invention, such as a computer, a memory system, a magnetic or optical disk, or some other storage device. The article 2100 may include one or more processors 2116 coupled to a machine-accessible medium such as a memory 2136 (e.g., removable storage media, as well as any tangible, non-transitory memory including an electrical, optical, or electromagnetic conductor) having associated information 2138 (e.g., computer program instructions and/or data), which when executed by one or more of the processors 2116, results in a machine (e.g., the article 2100) performing any of the actions described with respect to the apparatus, systems, and methods of FIGS. 1-20.
In some embodiments, the article 2100 may comprise one or more processors 2116 coupled to a display 2118 to display data processed by the processor 2116 and/or a wired or wireless transceiver 1744 (e.g., a downhole telemetry transceiver) to receive and transmit data processed by the processor.
The memory system(s) included in the article 2100 may include memory 2136 comprising volatile memory (e.g., dynamic random access memory) and/or non-volatile memory. The memory 2136 may be used to store data 2140 processed by the processor 2116, such as data acquired by down-hole tool instrumentation.
In various embodiments, the article 2100 may comprise communication apparatus 2122, which may in turn include amplifiers 2126 (e.g., preamplifiers or power amplifiers) and/or filters (e.g., interpolation filters, noise reduction filters, etc.). In some embodiments, the apparatus 2122 may comprise one or more transducers 2128 and/or one or more sensors 2130 coupled to the transmitter and receiver included in the transceiver 1744. Signals 2142 received or transmitted by the communication apparatus 2122 may be processed according to the methods described herein.
Many variations of the article 2100 are possible. For example, in various embodiments, the article 2100 may form part of a downhole tool, including any one or more parts of the apparatus 1700 shown in FIG. 17.
Up to this point, a family of novel approaches using transformations (e.g. scrambling with different polynomials and initial state values) in the formatting of packet payloads of a predetermined length to reduce PAPR during EMT communications, among others, have been described. However, still further embodiments are possible, employing differential pulse position modulation (DPPM) to reduce transmission time in MPT, EMT, and other communications systems. In this case, DPPM is used as a modulation format to stream a single data stream, rather than OFDM and DSSS modulation schemes that are meant to stream a plurality of symbols at the same time. These embodiments will now be discussed in detail.
In most embodiments, a plurality of transforms are used with a set of scramblers to transform a data packet of predetermined length; DPPM is used to compress the transmission time for a given single data stream. Such embodiments can be desirable when the use of OFDM and/or DSSS is not possible.
MPT employs a pulser apparatus to produced modulated pressure pulses in drilling fluid. The pulser apparatus may be known as either a “positive” and/or “negative” pulser. A positive pulser operates to restrict the flow of drilling fluids traveling to the bit by way of a valve mechanism (e.g., poppet and orifice, or stator and rotor). The restriction creates a positive pressure change above the valve mechanism that travels along the drill string to the surface, where a pressure transducer or other sensor that may determine the pressure changes within the drilling rig plumbing senses the positive pressure change. By opening the valve, the pulser removes the restriction and the pressure returns to ambient levels timed relative to the closing of the valve. In this way, a positive pulser creates a positive pulse within the drill pipe.
A negative pulser opens a passage way (e.g., using gate and seat, or gate and knife valves) between the inside of the drill-string, where the pressure is relatively high, and the annulus, where the pressure is relatively low. Thus, the negative pulser creates a negative pressure change within the drill-string when the passage way is open, with the pressure returning to the previous ambient state when the passage way is closed. In this way, a negative pulser creates a negative pulse within the drill pipe.
For both positive and negative pulses, the pressure change travels along inside the drill-string until its energy is dissipated. Either manner of actuating a valve creates a single pulse, and a collection of pulses (either positive and/or negative) can be created to effectively modulate pressure within the drill-string. The pressure modulation travels along the drilling pipe in both directions (possibly with different signs and magnitudes) behaving much like an acoustic sound pressure wave. These pressure waves attenuate, reflect, and become spectrally shaped by the various pipe geometries and fluid properties, and eventually, these spectrally shaped residual signals reach drilling rig at the surface.
At the surface, sensors receive the pulse waveform, which may be digitized, recorded, and interpreted by a surface processor (e.g. a computer, digital signal processor, etc.). Thus, a mud pulser modulates pressure waves within a drill string (and not a rock formation as in EMT) as a way to make a physical encoded representation of data. If observed at the surface with sufficient power relative to the noise power (i.e., assuming a sufficient SNR to recover the pulse train), at least one surface processor may operate to extract the encoded data by way of demodulating and/or decoding. Other embodiments may use multiple processors operating independently or collectively to accomplish the same result.
The pulser may use any number of digital modulation schemes that are often considered continuous-waveform signaling (i.e. continuously pulsed at a given rate where the relative frequency may encode data) or discrete-waveform signaling, where the time-location of discrete pulses indicate information. An example of continuous-waveform signaling is Frequency Modulation (FM). A spinning type valve, e.g. rotor and stator, may continuously spin, with a varying rate of spin used to encode information.
Two examples of discrete-waveform signaling are Pulse Position Modulation (PPM) and DPPM. In PPM, the transmitter encodes data with the pulse location appearing within a constant symbol duration that repeats sequentially in a linear fashion. DPPM is a variation on PPM, where information is encoded via the time interval between pulses, and symbol durations are different for different values—unlike the constant duration of PPM where all symbol durations are the same. Both DPPM and PPM are forms of On-Off-Keying (OOK), i.e. discrete-pulsing.
In PPM, the absolute quantized time-location within a periodic time slot (symbol duration) indicates the data value, rather than the quantized differential time between pulses. The order of quantization indicates the number of bits per pulse, i.e., the modulation order. Since PPM has a fixed symbol duration for all of the data values, the duration is divided such that the number of possible pulse locations (e.g., 2,048) are typically uniformly distributed to represent K bits within the constant symbol duration time period. For example, if one PPM symbol takes 500 msec to transmit, then each of the 2,048 possible PPM symbols each take 500 msec to transmit, and the data value transmitted will indicate where within the 500 msec time period the transmitter is to place the pulse. Thus, there may be trailing-zeros (unused time) after a pulse that indicates the symbol value. Thus, if within the 500 msec PPM transmission example, if a pulse of 100 msec starts at 200 msec and end at 300 msec within the 500 msec symbol window, then the time from 300 msec until 500 msec constitutes trailing-zeros. The next symbol is not allowed to start transmission until the initial 500 msec window ends—to begin the next 500 msec time epoch.
In DPPM, which is a derivative of PPM, the transmission of each symbol truncates trailing zeros, so that DPPM symbols have different time durations. In other words, DPPM permits the next symbol time period to begin as soon as the pulse for the prior symbol ends—there are no trailing zeroes.
In most embodiments of DDPM, the time interval is no longer fixed—it is the time difference between two adjacent pulses. In one embodiment, the interval is determined as a function of three parameters and the data which it represents. The three parameters are the Minimum Pulse Interval (MPI) time increment, the Bits-Per-Interval (BPI), and the relationship defined by the time period Δt3 between pulses (m−1) and m, for m=1, 2, 3, . . . to the number of symbols transmitted.
First, the pulser, e.g., transmitter, will create a pulse (either positive or negative) at a time t0 to indicate a first pulse time marker of a series of pulses that follow. A second pulse follow the first pulse at time t1, indicating a second time marker representing a first data value. Subsequently, each mth data value, dm, is represented by the “time interval difference” according to:




  
    
      
        
          Δ
          ⁢
          
            
          
          ⁢
          
            t
            m
          
        
        =
        
        ⁢
        
          
            t
            m
          
          -
          
            t
            
              (
              
                m
                -
                1
              
              )
            
          
        
      
    
    
      
        
        ⁢
        
          //
          
            The
            ⁢
            
              
            
            ⁢
            time
            ⁢
            
              
            
            ⁢
            between
            ⁢
            
              
            
            ⁢
            
              m
              th
            
            ⁢
            
              
            
            ⁢
            and
            ⁢
            
              
            
            ⁢
            
              
                (
                
                  m
                  -
                  1
                
                )
              
              th
            
            ⁢
            
              
            
            ⁢
            pulses
          
        
      
    
  
  
    
      
        =
        
        ⁢
        
          
            T
            MPI
          
          +
          
            (
            
              Δ
              ⁢
              
                
              
              ⁢
              T
              ×
              
                d
                m
              
            
            )
          
        
      
    
    
      
        
        ⁢
        
          
            //
            
              when
              ⁢
              
                
              
              ⁢
              a
              ⁢
              
                
              
              ⁢
              minimum
              ⁢
              
                
              
              ⁢
              pulse
              ⁢
              
                
              
              ⁢
              interval
              ⁢
              
                
              
              ⁢
              is
              ⁢
              
                
                  
                
                ⁢
                
                  
                
              
              ⁢
              used
            
          
          ,
        
      
    
  




where TMPI represents a non-negative MPI, ΔT represents the smallest positive time resolution between encoded data values, dm represents K bits to be transmitted by the mth interval Δtm (where K is the “modulation order” and the time interval Δtm along with the pulse marking tm is the “symbol”). Other embodiments use the preceding pulse (e.g., the (m−1)th pulse), up to the start of the current mth pulse to represent the “symbol”.

In one embodiment, let the N data elements be described as a (1×N) non-negative vector d=[d1, d2, . . . , dN] with values d=[2, 1, . . . , 10]BASE10 represent 4 bits each (i.e. [0010, 0001, . . . , 1010]BASE2). Assume TMPI=100 msec, ΔT=50 msec, K=4 [bits/interval], then using Δtm=TMPI+(ΔT×dm) the time intervals for d are:




  
    
      
        
          Δ
          ⁢
          
            
          
          ⁢
          
            t
            1
          
        
        =
        
          
            
              100
              ⁢
              
                
              
              [
              msec
              ]
            
            +
            
              (
              
                
                  50
                  ⁢
                  
                    
                  
                  [
                  msec
                  ]
                
                ×
                2
              
              )
            
          
          =
          
            200
            ⁢
            
              
            
            [
            msec
            ]
          
        
      
    
    
      
        //
        
          
            represent
            ⁢
            s
          
          ⁢
          
            
          
          ⁢
          2
          ⁢
          
            
          
          ⁢
          in
          ⁢
          
            
          
          ⁢
          decimal
          ⁢
          
            
          
          ⁢
          
            and
            ⁢
            
              
            
            [
            0010
            ]
          
          ⁢
          
            
          
          ⁢
          in
          ⁢
          
            
          
          ⁢
          binary
        
      
    
  
  
    
      
        
          Δ
          ⁢
          
            
          
          ⁢
          
            t
            2
          
        
        =
        
          
            
              100
              ⁢
              
                
              
              [
              msec
              ]
            
            +
            
              (
              
                
                  50
                  ⁢
                  
                    
                  
                  [
                  msec
                  ]
                
                ×
                1
              
              )
            
          
          =
          
            150
            ⁢
            
              
            
            [
            msec
            ]
          
        
      
    
    
      
        //
        
          represents
          ⁢
          
            
          
          ⁢
          1
          ⁢
          
            
          
          ⁢
          in
          ⁢
          
            
          
          ⁢
          decimal
          ⁢
          
            
          
          ⁢
          
            and
            ⁢
            
              
            
            [
            0001
            ]
          
          ⁢
          
            
          
          ⁢
          in
          ⁢
          
            
          
          ⁢
          binary
        
      
    
  
  
    
      ...
    
    
      ...
    
  
  
    
      
        
          Δ
          ⁢
          
            
          
          ⁢
          
            t
            N
          
        
        =
        
          
            
              100
              ⁢
              
                
              
              [
              msec
              ]
            
            +
            
              (
              
                
                  50
                  ⁢
                  
                    
                  
                  [
                  msec
                  ]
                
                ×
                10
              
              )
            
          
          =
          
            200
            ⁢
            
              
            
            [
            msec
            ]
          
        
      
    
    
      
        //
        
          represents
          ⁢
          
            
          
          ⁢
          10
          ⁢
          
            
          
          ⁢
          in
          ⁢
          
            
          
          ⁢
          decimal
          ⁢
          
            
          
          ⁢
          
            and
            ⁢
            
              
            
            [
            1010
            ]
          
          ⁢
          
            
          
          ⁢
          in
          ⁢
          
            
          
          ⁢
          binary
        
      
    
  




where dm is the decimal representation of the mth set of K bits.

Using naturally ordered symbol mapping, this embodiment may have a symbol-to-binary mapping (and vice versa) as shown in Table I for K=4 and K=5 bits/interval. Table II illustrates a symbol-to-binary mapping (and vice versa) for K=6 bits/interval.










TABLE I







K = 4





bits/interval

K = 5 bits/interval












Decimal
Binary
Decimal
Binary
Decimal
Binary















0
0000
0
00000
16
10000


1
0001
1
00001
17
10001


2
0010
2
00010
18
10010


3
0011
3
00011
19
10011


4
0100
4
00100
20
10100


5
0101
5
00101
21
10101


6
0110
6
00110
22
10110


7
0111
7
00111
23
10111


8
1000
8
01000
24
11000


9
1001
9
01001
25
11001


10
1010
10
01010
26
11010


11
1011
11
01011
27
11011


12
1100
12
01100
28
11100


13
1101
13
01101
29
11101


14
1110
14
01110
30
11110


15
1111
15
01111
31
11111
















TABLE II







K = 6 bits/interval








Decimal
Binary











0
000000


1
000001


2
000010


3
000011


4
000100


5
000101


6
000110


7
000111


8
001000


9
001001


10
001010


11
001011


12
001100


13
001101


14
001110


15
001111


16
010000


17
010001


18
010010


19
010011


20
010100


21
010101


22
010110


23
010111


24
011000


25
011001


26
011010


27
011011


28
011100


29
011101


30
011110


31
011111


32
100000


33
100001


34
100010


35
100011


36
100100


37
100101


38
100110


39
100111


40
101000


41
101001


42
101010


43
101011


44
101100


45
101101


46
101110


47
101111


48
110000


49
110001


50
110010


51
110011


52
110100


53
110101


54
110110


55
110111


56
111000


57
111001


58
111010


59
111011


60
111100


61
111101


62
111110


63
111111









It should be noted that some of the examples given herein are directed to MPT using drilling fluids as a transmission medium (and EMT systems with rock formations for the medium), with DPPM as a modulation encoding scheme. However, instead of attempting to address MPT and EMT in a parallel fashion, this document will focus on MPT for reasons of simplicity and brevity. Therefore, the focus is not seen to be applied in a limiting fashion; any of the embodiments described herein can be applied to MPT as well as to EMT systems, unless specifically noted otherwise.
In some embodiments, a pulsing apparatus comprises a valve that modulates the pressure of drilling fluids within a drill string; an electronic controller coupled to said valve; at least one sensor for measuring a parameter within a borehole; an encoding processor coupled to said sensor and said electronic controller that receives, formats and controls the electrical signaling that actuates said valve according to at least in part to a single sensor measurement (or sensor data) whereby the valve modulates the drilling fluid according to an encoded format employing time compression of a packet of information containing a representation of said sensor measurement via a data transformation selected from a set of data transformations.
The encoding processor may further comprise an adaptable LFSR configured as a scrambler to transform said sensor data into a formatted packets suitable for transmission, that would be shorter in time duration when using DPPM than without using DPPM (i.e., a faster transmission results with transformation, than with no transformation). Additional encoder embodiments may further comprise an encoded format containing an indicator of a transform within a set containing a plurality of transforms. In an embodiment, this may take the form of an initial state of the shift register within the scrambler, comprising a SEED value. Embodiments of this scrambler may be implemented in either hardware and/or software. Additional encoder embodiments may include a polynomial representation in said format indicating the polynomial configuration of the LFSR. This may be denoted by a POLY field within the encoded packet format. This embodiment allows for the selection of the set of transforms where each polynomial represents a set of different transforms.
In another embodiment, a receiving apparatus comprises a pressure transducer capable of providing an analog value in relation to the pressure within a drilling fluid; an analog-to-digital converter capable of creating digital values from analog measurements coupled to said pressure transducer; a decoding processor coupled to said analog-to-digital converter, the processor capable of receiving digital values representing the received modulated pressure changes within said drilling fluid and further capable of interpreting the modulation created by a valve actuated in accordance to a data transformation of a time compressed encoded data packet containing a value relating at least in part to a sensor reading where said data transformation is one transformation of a set comprising of a plurality data transformations.
In an embodiment, the decoding processor may further comprise an adaptable LFSR configured as a scrambler to transform and interpret said packet format, so as to retrieve said encoded sensor data. The decoding processor embodiment may operate to decode a SEED value, configuring the initial scrambler state, and unscrambling the payload. Additional decoder embodiments may comprise a receiver capable of retrieving a POLY field value and/or a SEED field value to configure the scrambler for the set of transforms indicated by the value of the POLY field, and the specific transform within the set using the SEED value. The scrambler may then be configured to unscramble the payload using the SEED and/or POLY values.
A system embodiment may be used to communicate through drilling fluid, and comprises a transmitter enabled to modulate said drilling fluid through a drill string using DPPM; a plurality of transforms accessible by said transmitter enabling the transformation of digital data into a transformed data set that takes less time to transmit (using DPPM than without using DPPM); a receiver enabled to demodulate the modulated data, to select a transform from a plurality of transforms accessible by said receiver (similar to or identical to the plurality of transforms accessible by said transmitter), and to transform said transformed digital data using an error detection code to determine the digital data within at least one packet.
Thus at the transmitter, a transform can be selected from a set of transforms and implemented by a LFSR configured according to a polynomial descriptor POLY, accepting an initial state value SEED for the memory elements within the LFSR. The number of memory elements in the LFSR may indicate the largest possible cardinality of the transform set. Thus, the transmitter may include one or more scramblers using a LFSR to transform digital values according to a polynomial indicator POLY and the initial value SEED, possibly using Galois Field arithmetic.
When communicating through the fluids surrounding a drill string in a borehole, in some embodiments, a transmitter modulates the pressure in the fluid using a sequence of pulses. A plurality of initial state indicators (e.g., SEED values) are accessible to the transmitter to enable scrambling the digital data. A corresponding receiver demodulates the modulated data, selecting an initial state indicator SEED from a plurality of initial state indicators accessible to the receiver (which may be similar to or identical to the plurality of initial state indicators accessible to the transmitter). The received data may be transformed into digital data using the scrambler and an error detection code to determine the digital data within at least one packet.
By using different initial values for the LFSR, some of the transmitter embodiments of this invention may select from a plurality of initial values. Hence, the transmitter may transform the incoming digital values differently by selecting a difference SEED value, which is the initial value of the LFSR, resulting in possibly different data transmission times via DPPM for each possible SEED selection. In some embodiments, the SEED value selected by the transmitter is included within the bit-stream modulated for transmission. A processor within the transmitter may operate to account for the SEED value when calculating the various times to transmit the payload for the transformed digitized values (i.e. calculating optimization metrics for each possible SEED given a LFSR configured to a polynomial descriptor POLY). The time calculated to complete transmitting a payload can be used as a predetermined optimization criterion. In some embodiments, the SEED and/or POLY values that pertain to the transformed data used at the transmitter may or may not be included in the formatted bit-stream and/or encoded, modulated waveforms. Likewise, various embodiments at the receiver may or may not use any SEED and/or POLY values to correctly decode transmitted packets. This tradeoff may involve additional receiver complexity (e.g., via more calculations).
In some embodiments, the controller calculates at least one optimization metric relating to a predetermined criterion for at least one transform within the plurality of transforms, with a memory device enabling the storage of at least one optimization metric determined by a predetermined criterion relating to the packet embodiment's transmission time.
The controller may select a transform from a plurality of transforms corresponding to a minimal value (i.e. a metric near a minimum) optimization metric, such as minimizing a packet transmission time. Likewise, the controller may operate to select an equivalent maximal value (i.e., a metric near a maximum) optimization metric, such as the average packet data rate=number bits in the packet/time to send the packet.
A memory device in the apparatus described herein may include a register or cache memory within a microcontroller or microprocessor, a register comprising digital logic within a programmable device and/or ASIC (application specific integrated circuit), Random Access Memory (RAM), and non-volatile storage such as a FLASH memory, EPROM (erasable, programmable read-only memory) and/or a hard drive.
Repeaters may be used in either MPT or EMT systems, serving to repeat the received waveform and/or the data using a similar format via DPPM. Thus, in some embodiments, a system may comprise one or more repeaters, each of the repeaters including a transmitter and/or a receiver, according to various embodiments described herein.
The repeater may relay blindly decode and/or re-encode digitized data wherein the re-encoding may or may not use the same modulation coding scheme. In such embodiments, MWD service operators can use the repeaters to communicate through a rock formation or drilling fluid. For EMT operations, this may occur by selecting a transform from a plurality of transforms available at the transmitter; transforming digital data using said selected transform enabling the receiver to perform an error-detection check; transmitting transformed digital data through a rock formation using a modulated waveform resembling a superposition of multiple waveforms; receiving a waveform from a rock formation in response to said transmitted modulated waveform; demodulating said received waveform in to a plurality of demodulated values; and identifying packet errors by using said plurality of demodulated values, said selected transform, and the error detection code value.
Some MPT embodiments operate to communicate through a drilling fluid. Methods include calculating at least one optimization metric relating to a predetermined optimization criterion; selecting an initial state indicator (e.g., SEED value) from a plurality of initial state indicators available at the transmitter using said at least one of optimization metric; scrambling digital data using said selected initial state indicator enabling the receiver to perform an error-detection check; transmitting said scrambled digital data through a body of drilling fluid using a discrete-signaling waveform comprising differential time intervals between adjacent pulses; receiving a waveform from the body of drilling fluid in response to said transmitted discrete-signaling waveforms; demodulating said received waveform into a plurality of demodulated values; and identifying packet errors by using said plurality of demodulated values, said selected transform, and an error detection code.
Another embodiment may use scramblers that employ configurable LFSRs. These transmitters may operate to transmit a polynomial descriptor POLY, with the SEED descriptor, calculating to account for the inclusion of both values within the optimization metric and optimization criterion. Hence, the plurality of transforms may comprise using at least one configurable LFSR enabled to receive a polynomial indicator POLY from a plurality of selectable polynomial indicators describing feedback connections. In some embodiments, the POLY and SEED indicator values may or may not be transmitted along with the transformed data. In some embodiments, the optimization metric and predetermined optimization criterion may or may not use a minimal value for transmission time of a packet or a maximal value for the average data rate of a packet. In some embodiments, the plurality of transforms may or may not comprise scrambler(s) with a plurality of initial SEED values identifying different transforms within a plurality of transforms. Likewise, the receivers at the other end may or may not use the formatted data to perform an exhaustive search to determine SEED and/or POLY values that are not transmitted with the data. The tradeoff between determining whether to send SEED and/or POLY values as part of the payload or not involves receiver complexity and bandwidth efficiency.
When determining the SEED and POLY values from a brute force search approach (e.g., when no SEED and/or POLY information is included in the data sent by the transmitter), a non-zero probability exists that the included checksum may indicate the SEED and/or POLY values have been correctly determined, when in fact they have not. This false positive result may be due to the finite number of bits within the checksum. For embodiments that do not operate to transmit SEED and/or POLY values, the receiver may perform additional checks to determine whether a false positive has arisen, as a result of using a particular checksum.
For example, some embodiments may perform an additional check of seeing if there exists any other SEED and/or POLY value combination that result in a valid checksum. If no other SEED and/or POLY combinations exist, then the recovered payload may be kept, with the assumption that the determined SEED and/or POLY values have been determined correctly.
In the event that other SEED and/or POLY combinations also result in valid checksums, indicating that the message was correctly received and the receiver has determined the SEED and/or POLY values correctly, then the recovered payload corresponding the SEED and/or POLY that has the minimal value for transmission time (likewise maximal value for data rate) may be retained, while payloads corresponding to longer transmission times may be discarded.
In some embodiments, the transmitter and receiver may have a predetermined order of SEED and/or POLY value configurations that are used to select a solution from. If an exhaustive search is not desired, the added check to determine whether the correct values of SEED and POLY have been determined may use a limited search to see if any other SEED value in a predetermined order leading up to the determined SEED value has a shorter minimal value transmission time metric (or maximal data rate metric). This limited checking of possible SEED and/or POLY values, in a predetermined order, may add confidence to any existing CRC checksum validity indication.
In some embodiments, a transmitter may operate to scramble and transmit digital data within a packet using a modulation with discrete-signaling waveforms having data encoded via time intervals (e.g., DPPM) comprising: an valve having a peak actuation rate and limited pulse amplitude range; a plurality of initial state indicators as SEED values; an initial state indicator selector capable of selecting at least one initial state indicator of said plurality of initial state indicators such that the modulated pressure pulses of at least one packet of transformed digital values that minimizes transmission time for a given amount of data, wherein said selected transform enables error detection at the receiver; and a connector enabling connections with a drill string and/or casing.
A receiver embodiment may comprise an apparatus serially connected with a drill string, being enabled to receive formatted digital data transmitted via a modulation utilizing discrete-signaling waveforms with data encoded via time intervals (e.g., DPPM) comprising: a sensor enabling the reception of discrete-signaling waveforms from modulated pressure waves within a body of drilling fluid, a demodulator enabling the estimation of transmitted digital values from said time intervals of related discrete pressure pulses received by said sensor, a plurality of transforms enabling at least one transformation of said received estimated digital values, and a controller enabled to select at least one transform from said plurality of transforms and transform received estimated digital values.
The receiver apparatus may operate to demodulate multiple pressure pulses comprising DPPM. Furthermore, the plurality of transforms comprising of at least one LFSR may or may not be configured to accept at least one initial shift register value (e.g., a SEED value) from a plurality of possible initial shift register values. In some embodiments, the receiver uses at least one configurable LFSR enabled to receive a polynomial indicator POLY, selected from a plurality of possible polynomial indicators describing feedback connections.
In some embodiments, the controller selects at least one initial shift register value (e.g., a SEED value) from a plurality of possible initial shift register values enabling said transform selection and configuration, selects at least one polynomial indicator (e.g., a POLY value) from a plurality of possible polynomial indicators enabling said transform selection, selects said selected initial shift register value at least in part based on said estimated transmitted digital values, or selects said selected polynomial indicator at least in part based on said estimated transmitted digital values. Other controller implementation embodiments may employ a plurality of LFSRs configured using a plurality of polynomial descriptors, respectively, corresponding to a plurality of polynomial indicators, also respectively.
An apparatus electrically and/or optically connected with a drill string enabled to receive formatted digital data transmitted via a modulation utilizing discrete-signaling waveforms with data encoded via time intervals (e.g., DPPM) through a body of drilling fluid may comprise: a sensor enabling the reception of a multiple discrete pressure pulses modulated within said drilling fluid to represent a series of data values encoded via relative time differences between pulses, a demodulator enabling the estimation of said transmitted digital values from said discrete pressure pulsed waveforms received by said sensor, a scrambler enabled to receive at least one initial state indicator from a plurality of possible initial state indicators, to generate a sequence of numbers and transform said estimated digital values; and a controller enabled to select at least one initial state indicator from said plurality of possible initial state indicators used in the transformation of said estimated digital values.
In many embodiments, a controller comprises a microprocessor circuit or microcontroller circuit executing a program producing a voltage indicative of digitized values. In some embodiments, the controller may comprise a digital logic circuit. The controller may further comprise a CRC module that enables said controller to embed a CRC value within the packet of formatted digital data bit-stream. The CRC module enables the checking of at least one checksum of said received estimated digital values wherein said module also enables selection of at least one transformed received estimated digital values from said plurality of transforms. The module may be implemented as hardware, firmware or software.
In some embodiments, an apparatus is serially connected to a drill string to produce pressure pulses through a body of drilling fluid. The apparatus comprises a power source (e.g., a battery, a generator); a valve, electrically connected to said power source, capable of inducing pulsed pressure changes (a discrete-signaling waveform) within a flowing body of the drilling fluid; a scrambler to receive at least one initial state indicator (e.g., a SEED value) from a plurality of possible initial state indicators, to generate a sequence of numbers and transform digital data using Galois Field arithmetic; and a controller to command said valve to create a plurality of pulsed pressure changes in said body of drilling fluid to modulate data encoded via time intervals (e.g. DPPM), wherein the controller optimizes the transmission time using a predefined criterion that enables the scrambler to transform digital data into packets using an initial state indicator selected from said plurality of possible initial state indicators.
In some embodiments, an apparatus is serially connected to a drill string to produce pressure waveforms in a body of drilling fluid. The apparatus comprise a power source (e.g. battery, generator); a valve, connected to said power source, the valve capable of inducing a pulsed discrete-signaling waveform within said body of drilling fluid contained within a drilling-pipe; a configurable scrambler to receive at least one polynomial indicator POLY from a plurality of possible polynomial indicators describing the configuration of the scrambler and at least one initial state indicator SEED value from a plurality of possible initial state indicators, to generate a sequence of numbers in response to receiving the polynomial indicator, the initial state indicator and a fixed length packet of digital data to transform digital data using Galois Field arithmetic; and a controller to command said valve to create pulsed changes in fluid pressure traveling within the body of flowing drilling fluid contained within a drill string as multiple discrete pulses representing digital information via time differences between pulses, wherein the controller optimizes the transmission using a predefined criterion that enables the scrambler to transform digital data into packets using an initial state indicator SEED value selected from a plurality of possible initial state indicators and/or a polynomial indicator POLY from a plurality of possible initial state indicators.
A receiver and/or system embodiment may be electrically and/or optically connected with a pressure sensor measuring the pressure within a body of fluid inside of a drill string. The receiver may receive formatted digital data transmitted via modulated pressure pulses and their relative time differences. The receiver may comprise a sensor enabling the reception of discrete pulsed waveforms as pressure pulses within said drilling fluid, a demodulator enabling the estimation of transmitted digital values from said sequence of discrete pulsed waveforms received by said sensor, a configurable scrambler to receive at least one polynomial indicator POLY from a plurality of possible polynomial indicators describing the configuration of the scrambler and at least one initial state indicator SEED value from a plurality of possible initial state indicators, to generate a sequence of numbers and transform said estimated digital values in response to receiving the polynomial indicator and the initial state indicator; and a controller to select at least one initial state indicator from said plurality of possible initial state indicators and select at least one polynomial indicator from plurality of possible polynomial indicators used in the transformation of said estimated digital values.
In some embodiments, the controller operates to select an initial shift register (e.g., LSFR) value at least in part based on said estimated transmitted digital values and/or selects said selected polynomial indicator at least in part based on said estimated transmitted digital values. Some embodiments may comprise a CRC module to conduct at least one error-detection check of said estimated digital values wherein said module also receives a selection of at least one transformed estimated digital values from said plurality of transforms. The CRC module may be realized using either hardware and/or software. The CRC module uses a number of bits along with a polynomial descriptor to detect errors in decoding with high accuracy.
As part of providing a service, an oil field services company may practice some embodiments of the invention by enacting a method of receiving digitally encoded data packets through a body of fluid, the method comprising: sensing a discretely pulsed waveform using measured pressure readings taken from a body of moving drilling fluid within a drill string; demodulating said sensed pressure readings comprising a plurality of pulsed waveforms into a plurality of numerical values using in part the relative time difference between detected pulses; estimating digital values from said plurality of demodulated numerical values; transforming said estimated digital values using at least one transform selected from a plurality of transforms, after selecting at least one transform from said plurality of transforms. The pulsed waveform may include signals indicating either or both absolute pressure and/or differential pressure provided by one or more sensors separated by a non-zero distance either electrically or optically coupled to the moving drilling fluid.
In some embodiments, a method comprises receiving digital data packets from a flowing body of drilling fluid comprising: sensing at least one physical effect of a modulated discretely signaled waveform constructed from a series of sequential pulses represented via relative time differences between pulses within said body of drilling fluid; demodulating said sequence of discretely pulsed waveforms into a plurality of numerical values while determining at least on time interval between pulses detected; estimating digital values from said plurality of demodulated numerical values; scrambling said estimated digital values using at least one initial state value of a plurality of possible initial state values; and selecting at least one initial state value from said plurality of possible initial state values.
In some embodiments, a method comprises receiving digital data packets through a drilling fluid by sensing at least one pressure waveform as a collection of multiple pulses modulating pressure within said drilling fluid within a drill string; demodulating said collection of pulses into of a plurality of numerical values; estimating digital values from said plurality of demodulated numerical values; selecting at least one polynomial indicator POLY from a plurality of possible polynomial indicators; configuring a scrambler using at least the said selected polynomial indicator; scrambling said estimated digital values using at least one initial state SEED value of a plurality of possible initial state values, after selecting at least one initial state value from said plurality of possible initial state values.
The selection of an initial SEED state value/indicator may or may not use at least a portion of said estimated digital values. Similarly, the selection a polynomial indicator POLY may or may not use at least a portion of said estimated digital values also. Again, the receiver may or may not calculate CRC checksums using at least one transformed estimated digital values from a possible plurality of transformed estimated digital values to determine whether receiving at least one digital data packet was accomplished correctly or in error. The receiver may or may not operate to search some or all the possible transforms, initial state values/indicators (“SEED”) and/or polynomial indicators POLY to find a CRC value that indicate a correct decoding event or a checksum indicating a non-error.
A method of formatting digital data packet enabling transmission through a drilling fluid may comprise receiving digital data; calculating a CRC checksum using said digital data; calculating optimization metrics for at least one transform and modulation scheme suitable for pressure waves traveling within a flowing body of drilling fluid relating to a plurality of transformations using said digital data; selecting a transformation using said optimization metrics; and generating transformed data using said digital data.
In some embodiments, a method of transmitting digital data packets through a body of drilling fluid comprises receiving digital data; calculating a cyclic redundancy checksum using said digital data; calculating optimization metrics for at least one transform and modulation scheme suitable for discrete pressure pulsed waveforms to travel through said body of drilling fluid relating to a plurality of transformations using said digital data; selecting a transformation using said optimization metrics; generating transformed data using said digital data; and modulating the pressure of the fluid using said transformed data and a valve.
In some embodiments, a method of transmitting digital data packets through a drilling fluid comprises receiving digital data; calculating a cyclic redundancy checksum using said digital data; calculating optimization metrics using at least one initial scrambler state selected from a plurality of possible initial scrambler states of a predetermined scrambler configuration and a modulation scheme suitable for pulsed pressure waveforms passing through a body of drilling fluid relating to a plurality of transformations using said digital data; selecting an initial scrambler state for said predetermined scrambler using said optimization metrics; scrambling said digital data to produce scrambled data; and modulating the pressure of the drilling fluid passing through the drill string by varying the position of a valve using said scrambled data where the relative time difference between said pulsed pressure waveforms represents said digital data.
In some embodiments, a method of transmitting digital data packets through a drilling fluid comprises receiving digital data; calculating a cyclic redundancy checksum using said digital data; calculating optimization metrics using at least one initial scrambler state selected from a plurality of possible initial scrambler states for at least one scrambler configuration from a plurality of possible scrambler configurations and a modulation scheme suitable for pulsing pressure waveforms through a body of drilling fluid relating to a plurality of transformations using said digital data; selecting at least one scrambler configuration and at least one initial scrambler state using said optimization metrics; scrambling said digital data to produce scrambled data; and modulating the pressure of the drilling fluid moving through the a drill string by varying a voltage (coupled to a valve, either directly or indirectly) using said scrambled data.
In some embodiments, the methods further comprise calculating the optimization metrics using said cyclic redundancy checksum, further comprising generating parity data using an FEC encoder, further comprising calculating the optimization metrics using said parity data.
In some embodiments, the methods further comprise calculating the optimization metrics using said cyclic redundancy checksum further comprise calculating the cyclic redundancy checksum using said parity data, to select the transformation using a minimal optimization metric value (e.g., packet transmission time). In some embodiments, the methods of selecting the transformation use a minimum optimization metric value (e.g. the packet transmission time). In some embodiments, the method of calculating at least one optimization metric uses the transmission time of the formatted packet, wherein selecting the transformation uses a maximal optimization metric value (e.g., the effective data rate of a packet transmission), and/or a maximum optimization metric value (e.g., the data rate).
Possible transforms include bit permutations, inversion, and bit mappings (e.g. Gray, Reverse Gray, Natural Order, Reverse Natural Order). In simulations of various embodiments, improvements in the bit transmission rate of using scrambled values according to various embodiments, over no scrambling, have exceeded 30% when 6 BPI transmission was used.
With the benefit of this information, and referring back to FIGS. 1-17, it can be seen that several additional embodiments can be realized. For example, in some embodiments a data transmission apparatus 1700 may comprise a scrambler that operates according to a SEED value that reduces DPPM transmission time, a DPPM modulator, and a transducer. Thus, the apparatus 1700 may comprise a scrambler module to transform larger values of acquired data into smaller values of transformed data according to a SEED value selected to reduce DPPM transmission time. The apparatus 1700 may further comprise a DPPM modulator to modulate the transformed data and a checksum associated with the transformed data as a propagation signal, along with a transducer to transmit the propagation signal into drilling fluid or a geological formation.
In some embodiments, the transducer may be one that is employed for mud pulse or electromagnetic telemetry. Thus, the transducer may comprise one of a pulser to induce pulses in the drilling fluid, or an amplifier to receive the propagation signal, and to produce an amplified version of the propagation signal in the geological formation. If the transducer is a pulser, it may comprise a valve.
The scrambler may use a shift register to transform acquired data, prior to modulation. Thus, the apparatus 1700 may comprise an LFSR configurable to accomplish the transform using the SEED value.
A CRC value may be used as the checksum. Thus, the apparatus 1700 may comprise a CRC processing module to generate a CRC value as the checksum.
The scrambler may be housed in some part of a drill string. Thus, the apparatus 1700 may comprise a portion of a drill string to house the scrambler module.
In some embodiments, a reception apparatus may comprise a sensor (mud pulse or electromagnetic telemetry), a DPPM demodulator, and a descrambler that operates according to a SEED value that is validated by a checksum associated with the demodulated data. Thus, an apparatus 1700 may comprise a sensor to receive a propagation signal as an acoustic signal propagated in drilling fluid or as an electrical signal propagated in a geological formation. The apparatus 1700 may further comprise a DPPM demodulator to extract transformed data and a checksum from the propagated signal, and a descrambler module to transform the transformed data into an estimated version of acquired data using a transform defined by a SEED value validated by the checksum.
If multiple potential SEED values are discovered, then the SEED value that produces the shortest packet transmission time (for the SEED combined with its corresponding transformed data) is used. Thus, the SEED value may be one of multiple SEED values validated by the checksum, wherein the SEED value is selected as one of the multiple values having a shortest transmission duration associated with a received aggregate of the estimated version of the acquired data.
A shift register, such as an LSFR, may be used to unscramble the acquired data. Thus, the apparatus 1700 may comprise a shift register configurable to accomplish the transform using the SEED value.
Sensors to receive the propagation signal may include mud pulse receivers, electromagnetic telemetry receivers, and others. Thus, the sensor may comprise one of a surface receiver configured to receive the propagation signal from a sub-surface mud pulser, or an electromagnetic telemetry receiver configured to receive the propagation signal from a sub-surface electromagnetic telemetry transmitter. Still further embodiments may be realized.
For example, FIG. 25 is a flow chart illustrating additional methods 2511 and 2557 according to various embodiments of the invention. The methods 2511 and 2557 may comprise processor-implemented methods, to execute on one or more processors (e.g., the processors 1730 in FIG. 17) that perform the methods.
Methods 2511 can be used as a searching mechanism to determine one or more SEED values that provide a reduced DPPM transmission time, and may be applied to a number of configurations of the apparatus 1700 and systems 1864, 1964 shown in FIGS. 17-19, respectively. For example, a method 2511 may comprise transforming acquired data into smaller values according to a SEED value selected to reduce DPPM transmission time, applying DPPM to the smaller values to provide modulated data, and transmitting the modulated data as a propagation signal—either in drilling fluid or in a formation, among other media.
In some embodiments, a method 2511 may begin at block 2513 with acquiring data, perhaps using a sensor or transducer. If acquisition is not complete, as determined at block 2517, then the method 2511 may return to block 2513.
If acquisition has been completed, as determined at block 2517, then method 2511 may continue on to block 2521, with selecting a SEED value, perhaps to be used as an initial value for LFSR configuration in a scrambler. The SEED value may be selected to reduce DPPM transmission time for the acquired data after it is transformed
In some embodiments, the method 2511 may continue on to block 2525 with formatting the acquired data into packets, such as fixed-length packets.
In some embodiments, the method 2511 may continue on to block 2529 with transforming larger values of acquired data into smaller values of transformed data using a transform defined by the SEED value.
A CRC code or parity data can be used as a checksum. Thus, the method 2511 may continue on to block 2533 with calculating at least one of a CRC checksum or parity data using at least one of the acquired data or (after transformation at block 2529) the transformed data.
In some embodiments, the method 2511 may continue on to block 2537 with formatting the transformed data into packets, such as fixed-length packets. Thus, the acquired data can be formatted into packets after transformation, and prior to applying DPPM. Therefore, the method 2511 may include, at block 2537, formatting the acquired data into fixed length packets, with at least one of the packets including the SEED value or a polynomial indicator POLY used in the transforming.
The method 2511 may continue on to block 2541 with inserting the at least one of the CRC checksum or parity data as the checksum into at least one of the packets, such as fixed-length packets.
The polynomial indicator POLY can also be selected to reduce DPPM transmission time. Thus, the method 2511 may continue on to block 2545 with selecting the polynomial indicator POLY to reduce the DPPM transmission time for the acquired (and formatted) data.
The method 2511 may continue on to block 2549 with DPPM of the transformed data and the checksum associated with the transformed data to provide a propagation signal.
A polynomial indicator POLY can be inserted into the propagation signal, and sent to the receiving apparatus. Thus, the activity at block 2549 may comprise DPPM of the polynomial indicator POLY to provide a modulated portion of the propagation signal, wherein the polynomial indicator is used to define the transformation of the acquired data.
The method 2511 may continue on to block 2553 to include transmitting the propagation signal into drilling fluid or a geological formation, depending on the mechanism used for transmission. Additional methods may be realized.
For example, methods 2557 can be used as decoding mechanism for acquired data that has been transformed and modulated according to selected SEED and/or polynomial indicator values using DPPM to reduce transmission time. The methods 2557 may be applied to a number of configurations of the apparatus 1700 and systems 1864, 1964 shown in FIGS. 17-19, respectively. For example, a method 2557 may comprise receiving the propagation signal (disposed in a desired propagation medium by the transmitter), demodulating the signal using DPPM, and descrambling the demodulated signal according to a SEED value. The SEED value (and/or a polynomial indicator), may or may not have been sent as part of the propagation signal.
Thus, the method 2557 may begin at block 2561 with receiving a propagation signal as an acoustic signal propagated in drilling fluid or as an electrical signal propagated in a geological formation. If reception is not complete, as determined at block 2565, then the method 2557 may return to block 2561.
If the reception is complete, as determined at block 2565, then the method 2557 may continue on to block 2569 with demodulating the propagation signal to extract transformed data and a checksum.
Checksum data forming part of the estimated acquired data, such as a CRC checksum or FEC code, may be used to determine the SEED value and/or the polynomial indicator POLY value. The FEC checksum using parity-check equations to calculate syndrome bits (e.g., a sum of estimated bits used to check the validity of a codeword when using a block code). Thus, the method 2557 may continue on to block 2573 with determining at least one of the SEED value or a polynomial indicator POLY associated with the transformed data by attempting the transforming using multiple values of the SEED value or the polynomial indicator until the checksum comprising FEC data in the estimate indicates existence of a correct value.
A table of stored SEED/polynomial indicator values can increase the efficiency of discovering SEED/polynomial indicator values that are not sent as part of the propagation signal. Thus, the activity at block 2573 may comprise determining the SEED value or the polynomial indicator POLY according to a predetermined order of configurations stored in a table.
If the SEED value is not sent as part of the propagation signal, it can be discovered, and validated using the checksum. Thus, the method 2557 may comprise, at block 2577, selecting the SEED value from multiple SEED values validated by the checksum, wherein the SEED value is selected as one of the multiple SEED values having a shortest transmission duration associated with a received aggregate of the estimate of the acquired data.
The demodulated signal may be descrambled according to a SEED and/or polynomial value that are sent as part of the propagation signal. thus, the method 2557 may comprise, at block 2581, configuring a descrambler to accomplish the transforming based on at least one of the SEED value or a polynomial indicator POLY value, wherein the SEED value, the polynomial indicator, or both, form a modulated portion of the propagation signal.
The method 2557 may continue on to 2585 with transforming the transformed data into an estimate of acquired data, using a transform defined by a SEED value validated by the checksum.
In summary, the apparatus, systems, and methods disclosed herein may operate to improve data rates over peak rates achievable using conventional modulation techniques, such as MPT systems that employ DPPM.
In some scenarios, the data rate may improve by as much as 45% when matching transmission parameters are used. As a result, the time spent communicating information from the surface down hole, and vice versa, may be substantially reduced, enhancing the value of services provided by an operation/exploration company.
The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.

## Claims

1. An apparatus, comprising:
a seed transmitter selector arranged to select a seed value from a plurality of seed values to reduce differential pulse position modulation transmission time, the selection based on calculations of time, for each seed value of the plurality of seed values, to complete transmission of a payload;
a scrambler module to transform larger values of acquired data into smaller values of transformed data according to the seed value selected from the plurality of seed values to reduce differential pulse position modulation transmission time;
a differential pulse position modulator to modulate the transformed data and a checksum associated with the transformed data as a propagation signal; and
a transducer to transmit the propagation signal into drilling fluid or a geological formation.

2. The apparatus of claim 1, wherein the transducer comprises one of a pulser to induce pulses in the drilling fluid, or an amplifier to receive the propagation signal, and to produce an amplified version of the propagation signal in the geological formation.

3. The apparatus of claim 2, wherein the pulser comprises a valve.

4. The apparatus of claim 1, further comprising:
a linear feedback shift register configurable to accomplish the transform using the seed value.

5. The apparatus of claim 1, further comprising:
a cyclic redundancy check processing module to generate a cyclic redundancy check value as the checksum.

6. The apparatus of claim 1, further comprising:
a portion of a drill string to house the scrambler module.

7. An apparatus, comprising:
a sensor to receive a propagation signal as an acoustic signal propagated in drilling fluid or as an electrical signal propagated in a geological formation;
a differential pulse position demodulator to extract transformed data, multiple seed values, and a checksum from the propagated signal;
a seed selector to select a seed value from multiple seed values validated by the checksum; and
a descrambler module to transform the transformed data into an estimated version of acquired data using a transform defined by the selected seed value of the multiple seed values validated by the checksum, wherein the selection of the seed value is based on at least one optimization metric.

8. The apparatus of claim 7, wherein the selected seed value is selected as one of the multiple values having a shortest transmission duration associated with a received aggregate of the estimated version of the acquired data.

9. The apparatus of claim 7, further comprising:
a shift register configurable to accomplish the transform using the selected seed value.

10. The apparatus of claim 7, wherein the sensor is one of a surface receiver configured to receive the propagation signal from a sub-surface mud pulser, or an electromagnetic telemetry receiver configured to receive the propagation signal from a sub-surface electromagnetic telemetry transmitter.

11. The apparatus of claim 7, wherein the at least one optimization metric is selected from a group consisting of a data packet transmission time, an average data packet transmission rate, a data packet error rate, a predicted data packet error rate, a peak-to-average power ration, and parity data.

12. A computer-implemented method, comprising:
selecting a seed value from a plurality of seed values to reduce differential pulse position modulation transmission time, the selection based on calculating time, for each seed value of the plurality of seed values, to complete transmitting a payload;
transforming larger values of acquired data into smaller values of transformed data using a transform defined by the seed value selected from the plurality of seed values to reduce differential pulse position modulation transmission time for the acquired data;
differential pulse position modulating the transformed data and a checksum associated with the transformed data to provide a propagation signal; and
transmitting the propagation signal into drilling fluid or a geological formation.

13. The method of claim 12, further comprising:
formatting the acquired data into fixed length packets, with at least one of the packets including the seed value or a polynomial indicator used in the transforming.

14. The method of claim 12, further comprising:
calculating at least one of a cyclic redundancy check (CRC) checksum or parity data using at least one of the acquired data or the transformed data;
formatting the acquired data or the transformed data into fixed-length packets; and
inserting the at least one of the CRC checksum or parity data as the checksum into at least one of the fixed-length packets.

15. The method of claim 12, further comprising:
differential pulse position modulating a polynomial indicator to provide a modulated portion of the propagation signal, wherein the polynomial indicator is used to define the transform.

16. The method of claim 15, further comprising:
selecting the polynomial indicator to reduce the differential pulse position modulation transmission time for the acquired data.

17. A computer-implemented method, comprising:
receiving a propagation signal as an acoustic signal propagated in drilling fluid or as an electrical signal propagated in a geological formation;
demodulating, by differential pulse position demodulation, the propagation signal to extract transformed data, multiple seed values, and a checksum;
selecting a seed value from the multiple seed values validated by the checksum; and
transforming the transformed data into an estimate of acquired data, using a transform defined by the selected seed value of the multiple seed values validated by the checksum, wherein the selecting of the seed value is based on at least one optimization metric.

18. The method of claim 17, further comprising:
selecting the seed value from the multiple seed values validated by the checksum by selecting one of the multiple seed values having a shortest transmission duration associated with a received aggregate of the estimate of the acquired data.

19. The method of claim 17, further comprising:
selecting the seed value according to a predetermined order of configurations stored in a table.

20. The method of claim 17, wherein the at least one optimization metric is selected from a group consisting of a data packet transmission time, an average data packet transmission rate, a data packet error rate, a predicted data packet error rate, a peak-to-average power ration, and parity data.