<img height="1" width="1" src="https://www.facebook.com/tr?id=1101141206686180&amp;ev=PageView &amp;noscript=1">

Blog

Simulations and Data Driven Approach for Improved Code Deployment

 

Introduction

At Erdos Miller, we are firm believers in making data-driven decisions. Programming and code deployment is no exception to that philosophy. From a firmware development background, there is a necessary process that must take place. Every time we discuss a new feature for implementation, we review the test and field data, including the customer feedback.  Suppose the idea or improvement works with the existing dataset before deploying a firmware update for field use. In that case, we then develop a pilot/prototype code using either Python,  MATLAB, or LabVIEW to validate the data. Although this technique does not eliminate the need for updates, it has drastically reduced the number of bugfixes after releasing a major update.

 

Example 1 - Azimuthal Gamma Controller

For the prototyping phase, one of several tests includes mounting a focused gamma + MicroPulse-3 combo in our rotation stand with a rotary encoder to grab hi-speed toolface measurements from both sources, with a point gamma source placed in various positions around the gamma probe. This test allowed our engineers to run multiple algorithm simulations in a short period without having to program a MicroPulse-3 with code changes and test it every single time we wished to try something new.

 

Once we deployed the Azimuthal Gamma Controller feature, we still received occasional questions about how sure we were with the performance because   "lab environments are never the same as downhole conditions." For this phase, we deployed our Flight recorder tool to grab high-density sensor data to compare binning performance with the image stored in the tool logs and simulated image post run from the Flight recorder. For those of you who followed our case study on the MicroPulse-3: Continuous Inclination / Azimuth performance, we took a similar approach. We found that the Downhole data gathered to be relatively the same compared to the post-processed image. In other words, the lab test data was very similar to the actual field data.

 

We also leveraged all the data gathered to implement Azimuthal Gamma Compression, which I'm happy to say exceeds expectations based on the logs shared by customers. Below is how much compression we can achieve with a single image slice.

 

 

 

Azimuthal Gamma Curve

# of bits uncompressed

# of bits compressed

4-Sector Gamma

32

16

8-Sector Gamma

64

24

16-Sector Gamma

128

32



 

 

Example 2 - Survey Compression

Survey Compression is a new feature that should be complete in the next few weeks, which leverages the data customers have shared with us. We understand that it's hard to get high data rates with M-ary Mud Pulse Telemetry with current drilling configurations. Customers request speed increases, even if it means losing precision by reducing the number of bits used to telemeter faster Gamma and Toolface updates. Learning this, we felt data compression would be ideal for MWD applications. Survey compression is our first of many building blocks in providing the same.

 

For this feature, we had to analyze several job logs to identify surveys transmitted uphole and come up with bit allocations and techniques for compression to obtain about 32-33% compression without losing much precision in calculated survey measurements.

 

Conclusion

As we complete our next major release, including this feature, we include all the lessons learned from studying the data available and customer feedback. All said and done; please check with Kenneth Miller and our Decoder team to know about their vision on improving the decoder product line based on data.

Contact: ken@erdosmiller.com

 

Recent Posts:

The Absolute Necessity of Goals
Publish Date 10 Mar 2021 Cameron BashamSaravanan Pandiyan

The Biology of Goals

Nyquist Rate and Antialiasing Filter Explained
Publish Date 10 Mar 2021 Jason ThaiSaravanan Pandiyan

In mud pulse telemetry, we use a sync signal for synchronization. A commonly used [..]

Good Firmware Programming: Quantitative vs Qualitative
Publish Date 10 Mar 2021 Yifang YangSaravanan Pandiyan

Write Software for others as you wish they would write for you.

Simulations and Data Driven Approach for Improved Code Deployment
Publish Date 10 Mar 2021 Saravanan PandiyanSaravanan Pandiyan

  Introduction At Erdos Miller, we are firm believers in making data-driven [..]

Wireframe, Mockups, and Prototypes
Publish Date 10 Mar 2021 Ashton ScaliseSaravanan Pandiyan

Before implementing a new feature in an application, it is common practice to create [..]

Simple Practice of Time Management
Publish Date 10 Mar 2021 Bryce UrestiSaravanan Pandiyan

Time Management can be very easy but also complicated based on schedules. But with [..]