mud pulse telemetry m˜ary encoding and decoding

7
ERDOS MILLER MUD PULSE TELEMETRY M-ARY ENCODING AND DECODING

Upload: others

Post on 19-Feb-2022

85 views

Category:

Documents


1 download

TRANSCRIPT

ERDOSMILLER

MUD PULSE TELEMETRYM-ARY ENCODING AND DECODING

Copyright © 2017 Erdos Miller 2

Introduction Mud Pulse Telemetry is encoded data which is

transmitted using pressure wave from a downhole

tool to an uphole receiver. Mud pulse telemetry is

commonly encoded using a technique referred to as

M-ary encoding. This paper will describe the encoding

and decoding of M-ary data from a physical medium.

M-ary is a data transmission format that take in a fi xed

size data packet and encodes it for transmission over

various physical media. It also handles the conversion

from the physical media back into the same fi xed size

data packet. M-ary does not handle guarantee of data

reception, nor does it provide any promises on the

accuracy of the received data.

M-Ary Data Streams

M-ary operates on units referred to as a data stream.

A M-ary data stream is comprised of two major

components. A Synch signal indicates the start of a

M-ary data stream. It is followed by data packets until

the entire data stream is transmitted; the M-ary packet

structure and order is shown below

Encoding & Decoding Process

An overview of the encoding and decoding process

which translates fi xed size data packets into

pulse trains and back again. The process of data

packetization, encoding/decoding, and transmission is

shown in the following diagram.

M-Ary EncodingThe M-ary encoding process consists of data packetization, pulse encoding, and pulse transmission.

Packetization

Prior to encoding the data into pulses, a fi xed size data

packet must be broken into two or three bit packets.

To determine this, given an n-bit size value of the fi xed

sized packet, the following rules should be applied in

order:

1. If n is divisible by 3, it should be broken up into n/3

packets of three-bit packets.

2. If n is not divisible by 3 and the remainder is 2,

it should be broken up into (n/3 + 1) packets. The

fi rst packet should be a two-bit packet. All the

remaining packets should be three-bit packets.

3. If n is not divisible by 3 and the remainder is 1, it

should be broken up into (n/3 + 1) packets. The fi rst

two packets should be two two-bit packets. All the

remaining packets should be three-bit packets.

M-ary cannot support 1-bit packets. For 1-bit data, such

as logical values, the encoding will automatically

be expanded from a 1-bit to a 2-bit packet. Table 1

demonstrates for n bits in the range 2 to 21 how the

data will be broken up into packets.

Synch Data Packet #1 Data Packet #N...

Physical Media

M-ary Decoding

Pulse Reception

Pulse Decoding

Data De-Packetization

M-ary Decoding

Pulse Reception

Pulse Decoding

Data De-Packetization

M-ary Encoding

Data Packetization

Pulse Encoding

Pulse Transmission

M-ary Encoding

Data Packetization

Pulse Encoding

Pulse Transmission

Copyright © 2017 Erdos Miller 3

The table below shows how data ranging from 2 to 21-

bits can be broken up into 2 and 3-bit packets.

Number of Bits in

Fixed Data Packet

Packet Stream (Value

Indicates Packet Size in Bits)

2 2

3 3

4 2+2

5 2+3

6 3+3

. . . . . .

20 2+3+3+3+3+3+3

21 3+3+3+3+3+3+3

As an example, assuming a starting binary value of the

following: 0110 0011 1001, the output after packetization

would be 011 000 111 001.

An outline of the binary encoding for a 2-bit packet

waveform is shown in the table below, each line

segment in the pulse waveform column represents

half of the pulse width. A 3-bit packet follows the same

pattern, but with a longer duration.

Binary Value Pulse Waveform

00 0

01 1

10 2

11 3

Pulse Encoding

M-ary pulse encoding is a form of phase shift keying.

Data is packetized and transmitted using a basic shift

technique. During the previous stage, data was broken

into two and three bit packets.

The data within each packet is interpreted as a

numerical unsigned data value. For example, a two-bit

packet of 01 is interpreted at a “1” data value. Another

example: A three-bit packet of 101 is interpreted as a

“5” data value.

Packets have a fixed time slice in which to indicate data

values. Two bit packets have a two pulse width wide

time slice and three bit packets have a four pulse width

wide time slice Pulses are always a single pulse width

wide. To indicate the value of the data, the pulse must

start at a specific time within that time slice relative to

the beginning time. All packets are followed by a low

period equal to their time slice.

To determine when to transmit the pulse within the time

slice of a packet with respect to the pulse width, the

following formula can be followed:

where tre

is the time of the rising edge, N is the number

of bits, V is the data value, tPW

is the pulse width, and tps

is the time of the packet start.

Assuming the following packet of 011 and a pulse width

of 1 second and the packet start time of 0 seconds, the

pulse would be transmitted at

Pulse Transmission

All data in the data stream is encoded into pulses. A

pulse is a pressure wave generated by a mud pulser.

How the mud pulser creates these pulses is outside the

scope of this document. To create the pulse, the pulser

22

22

22

2

accepts a single input line that controls the pulsing. To

determine a pulse, this line must be held high or low

for a specific time. This time is referred to as the pulse

width. Most mud pulsers have this value in seconds as

a configurable parameter. A demonstration of a single

pulse output on a pulse line us shown below.

Most current mud pulse telemetry systems define the

minimum pulse width value to be 250 milliseconds

and the maximum value to be 3 seconds. Common

acceptable pulse widths (units of seconds) are: 0.250,

0.375, 0.500, 0.600, 0.800, 1.0, 1.2, 1.5, 2.0, 3.0.

An example of a single pulse width

Synch Signal

Prior to any data pulses being sent, a Synch signal is

transmitted on the pulse line. The synch signal typically

consists of 4 pulses (each a single pulse width wide)

that are 2 pulse widths apart. This type of synch is

known as ‘1111’, and is the most commonly used synch

signal (there are alternate synch signals, but those are

beyond the scope of this document). The pulse line

must be off for a minimum of 2 pulse widths before the

first pulse is sent; the final off time is 5.5 pulse widths.

An example of the standard 1111 synch signal is shown

below. Assuming the following data stream values 3, 0,

7 ,1 encoded using three-bit packets and a pulse width

of 1 second and the synch signal already have been

sent, the pulse train for that transmission is also shown

below.Pulse Width

Pulse Width

VHigh

VLow

Time (seconds)

Time (seconds)

Pulse WidthPulse WidthPulse WidthPulse Width Pulse WidthPulse Width Pulse WidthPulse Width

2 x Pulse Width2 x Pulse Width 2 x Pulse Width2 x Pulse Width 2 x Pulse Width2 x Pulse Width 5.5 x Pulse Width2 x Pulse Width2 x Pulse Width

VHigh

VLow

Time (seconds)

1 second1 second1 second1 second 1 second1 second 1 second1 second

6.5 Seconds 1.5 seconds1.5 seconds 8 seconds 1.5 seconds2.5 seconds

VHigh

VLow

An example of a complete 1111 synch signal

Pulse waveform for transmission of 3, 0, 7, 1 using three-bit packets and a 1 second pulse width

Copyright © 2017 Erdos Miller 4

Copyright © 2017 Erdos Miller 5

M-ary DecodingDecoding an M-ary signal consists of receiving the pulse, decoding the pulses, and de-packetizing the data.

Receiving Pulses

The purpose of the synch signal is to provide with a

way for the decoding system to identify signal from the

input. There are a variety of ways to detect signals in

communications mediums. That is out of scope of this

document.

Once the detection of the synch has occurred, then the

receiving system will convert the analog input into a

two-level voltage signal to indicate if a pulse is present

or not.

Pulse Decoding

M-ary requires sharing of the expected data packet

size between the transmitter and receiver. Using that

information in the same manner as the packetization

step, the decoder determines how many packets and

their bit size.

The receiver will use the synch signal’s end to indicate

the start time of the time slices it is expecting for

initial data packet. All other data packet’s time slices

beginning will be based of the previous time slice’s

end.

To determine the value being sent, the start time of

the packet time slice is subtracted from the timing of

the rising edge of the pulse and modulus divided by

the pulse width. This value is then subtracted from

the maximum number of values possible minus 1. The

formula is below

where V is the data value, N is the number of bits, tre

is

the time of the rising edge, tps

is the time of the packet

start, and tPW

is the pulse width. After decoding, the

data value is then converted into binary.

Assuming the pulse width as 1 second and two-bit

encoding, a pulse is received at 3 seconds and the

packet started at 1 second. Then the data value

transmitted is

Assuming the pulse width as 1 second and three-

bit encoding, a pulse is received at 3 seconds and

the packet started at 1 second. Then the data value

transmitted is

Once the two-bit and three-bit packets are decoded,

the receiver will buffer those binary values into the

final data packet size and pass them to the intended

recipient.

ConclusionThis document presents the basics of M-ary encoding

and decoding for mud pulse telemetry systems.

The M-ary telemetry protocol is a very power

efficient encoding scheme that is commonly used

in measurement while drilling systems. Erdos Miller

has extensive experience developing and optimizing

measurement while drilling electronics and firmware,

including a thorough understanding of M-ary telemetry

protocol. For more information, please contact Erdos

Miller to speak with our engineering team.

Copyright © 2017 Erdos Miller 6

About Erdos MillerTurnkey solutions made to last in the harshest environments

With our extensive experience in designing rugged and reliable downhole electronics, software, and surface

equipment, Erdos Miller can solve your oilfield engineering challenges. We have experience designing custom

MWD electronics, firmware, and software for our customer’s downhole needs.

Let us know how we can partner on your next project.

Address

15120 Northwest Fwy.

Ste. 100

Houston, TX 77040

Contact

1-888-337-0869

[email protected]

erdosmiller.com

References

Monroe, S. P. “Applying digital data-encoding techniques to mud pulse telemetry.” Petroleum Computer

Conference. Society of Petroleum Engineers, 1990.

Zhao, Qingjie, Baojun Zhang, and Wei Wang. “Data processing techniques for a wireless data transmission

application via mud.” EURASIP Journal on Advances in Signal Processing 2011.1 (2011): 45.

Lin, D.; Cheng, C. “A New Pulse Interval and Width Modulation (PIWM) Technique for Underground Drilling Fluid

Measurement Systems.” International Journal of Simulation Systems, Science & Technology,

Hutin, R., R. W. Tennent, and S. V. Kashikar. “New mud pulse telemetry techniques for deepwater applications and

improved real-time data capabilities.” SPE/IADC drilling conference. Society of Petroleum Engineers, 2001.

Whitacre, Timothy P. “A Neural Network Receiver for EM-MWD Communication.” (2011).

Tubel, P., Clark Bergeron, and S. Bell. “Mud pulser telemetry system for down hole measurement-while-drilling.”

Instrumentation and Measurement Technology Conference, 1992. IMTC’92., 9th IEEE. IEEE, 1992.

ERDOSMILLER©Copyright 2016 Erdos Miller. All Rights Reserved.