Systems and methods for processing signals with telemetry data using machine learning

A machine learning-based signal processing system adapts to environmental conditions by using filter modules to effectively address noise and distortion in telemetry data, enhancing data processing accuracy in subsurface drilling operations.

WO2024229204A9PCT designated stage expired Publication Date: 2025-01-09DIXON STEVEN MICHAEL
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/027386
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-21
Filing Date
2024-05-02
Publication Date
2025-01-09

AI Technical Summary

Technical Problem

Conventional algorithms fail to effectively process noisy and distorted telemetry data in subsurface environments, such as those encountered in mud pulse telemetry during drilling operations, due to their fixed nature and inability to adapt to varying environmental conditions.

Method used

The implementation of a machine learning-based signal filtering and processing system (ML-SFPS) that uses filter modules like wavelet, rolling average, and FFT filters to remove noise, attenuation, and distortion from raw pressure data, allowing for real-time adaptation and optimization based on environmental characteristics.

Benefits of technology

This approach significantly improves the accuracy and reliability of telemetry data processing by learning from past and current environments, enabling better noise filtering and distortion correction in real-time, even in challenging subsurface conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024027386_09012025_PF_FP_ABST
    Figure US2024027386_09012025_PF_FP_ABST
Patent Text Reader

Abstract

Systems and methods for removing noise in raw pressure data for obtaining telemetry data comprising telemetry waveforms from downhole equipment use one or more one or more filter modules using machine learning, for providing the telemetry data having telemetry waveforms to a processing module. Systems and methods may run in real‑time or using historical or training data. The noise may include mechanical or electrical noise and the filter modules may also be for removing attenuation or distortion in the raw pressure data. Systems and methods may perform post‑run analysis, training in real‑time or during downtime, where the training may be iteratively performed as the filter modules are adjusted. Systems may be deployed in a cloud‑based architecture, including edge devices, trailer computers and servers.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS AND METHODS FOR PROCESSING SIGNALS WITH TELEMETRY DATA USING MACHINE LEARNINGCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Application No. 63 / 499,653 filed on May 2, 2023 and Canadian Patent Application No. 3,209,854 filed on August 21, 2023, the contents of which are incorporated herein by reference in their entirety.FIELD OF THE DISCLOSURE

[0002] The present disclosure relates to telemetry in a subsurface environment. More particularly, the disclosure relates to machine learning systems and methods for improved signal processing of telemetry’ data.BACKGROUND

[0003] In subsurface applications, various measured downhole parameters may need to be communicated to equipment at the surface. For example, measurement systems may employ sensors to obtain information about a subsurface environment during drilling, completion, or production operation. Such data may be digitally encoded and transmitted to the surface. These measurements may include, but are not limited to, downhole temperature, pressure, near-bit spatial attitude as measured by inclination and azimuth, gamma ray count, tool face, and other parameters.

[0004] In subsurface applications mud pulse telemetry may be used to communicate data to and from downhole tools and the surface. Such communication requires that pressure signals be processed in a noisy environment and / or in applications where a signal may be distorted or attenuated. Conventionally, a series of fixed algorithms may be used to filter out noise and distortion, or compensate for attenuation and identify telemetry data. None of the current series of fixed algorithms are suitable to use all of the time on all rigs and in all environments.SUMMARY

[0005] Methods and systems disclosed herein comprise the use of one or more filter modules on raw pressure data to remove noise, distortion, and attenuation in the raw pressure data for obtaining telemetry data comprising telemetry waveforms or pulses from downhole equipment, the one or more filter modules comprising machine learning (ML). The methods and systems provide improved adaptability to address noise, distortion, and attenuation in mud pulse telemetry data contained in the raw pressure data and may be deployed in a local area network or a cloud-based architecture, wherein servers, trailer computers, and edge devices may be used. The one or more filter modules are trained prior to deployment and may be updated or re-trained during operation.

[0006] In a broad aspect of the present disclosure, a method of processing raw pressure data comprising telemetry data from a wellbore comprises: encoding the telemetry data into a telemetry signal at a first location; transmitting the telemetry signal from the first location; receiving the telemetry signal at a second location as the raw pressure data, the first location in the wellbore and downhole of the second location; selecting one or more filter modules using a machine learning signal filtering and processing system (ML-SFPS); adjusting parameters of the one or more filter modules using the ML-SFPS; running the one or more filter modules on the raw pressure data to remove noise, attenuation and distortion in the raw pressure data for obtaining the telemetry data comprising telemetry waveforms from downhole equipment; and providing the telemetry7data comprising telemetry7waveforms to a processing module.

[0007] In some embodiments, the method further comprises: obtaining a record of telemetry7data from telemeter memory7; running a post run analysis on the record of telemetry7data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters: and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS, wherein selecting one or more filter modules comprises using the selected combination of filter modules; and wherein adjusting the one or more parameters comprises using the selected set of parameters.

[0008] In some embodiments, the method further comprises: running a real time analysis on the record of telemetry data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters; and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS, wherein selecting one or more filter modules comprises using the selected combination of filter modules; and wherein adjusting the one or more parameters comprises using the selected set of parameters.

[0009] In some embodiments, the telemetry signal is received at the second location as the raw pressure data in real time.

[0010] In some embodiments, the noise comprises at least one of mechanical noise and electrical noise.

[0011] In some embodiments, the one or more filter modules comprise one or more of a wavelet filter, a rolling average filter, a rolling maximum filter, a rolling definite integral, a band pass filter, an envelope follower, and a fast Fourier transform (FFT) filter.

[0012] In some embodiments, the parameters comprise one or more of: data frequency, pulse width, pulse time shift, a testing range, a flat height threshold, a quantile threshold, a peak comparison quantile, a rolling trend, a FFT lower cut-off frequency, a FFT upper cut-off frequency, snipping low pressure data, a minimum pressure threshold, a time start buffer, a detrend model, a prominence flat threshold, an automatic model selection, and a rolling trend length.

[0013] In some embodiments, the method further comprises: identifying synchronizing pulses; and identifying pulse widths.

[0014] In some embodiments, the method further comprises running an error correction module to identify occurrences of one or more of missed pulses, time shifted pulses, incorrectly identified pulses, and extra pulses in the one or more filtering modules.

[0015] In some embodiments, the method further comprises providing contextual information to the one or more filter modules.

[0016] In some embodiments, the method further comprises evaluating raw pressure data during an initialization stage of a system, wherein raw pressure data does not comprise telemetry data.

[0017] In a broad aspect of the present disclosure, a system for processing rawpressure data comprising telemetry data from a wellbore, the system comprises: one or more telemeters for: encoding the telemetry data into a telemetry signal at a first location, and transmitting the telemetry signal from the first location; and one or more first computing devices, each first computing device comprising one or more processors for executing instructions stored in a memory for: receiving the telemetry signal at a second location as the raw pressure data, the first location in the wellbore and downhole of the second location, selecting one or more filter modules using a ML-SFPS; adjusting parameters of the one or more filter modules using the ML-SFPS; running the one or more filter modules to the raw pressure data to remove noise, attenuation and distortion in the raw pressure data for obtaining the telemetry data comprising telemetry waveforms from downhole equipment, and providing the telemetry data comprising telemetry waveforms to a processing module.

[0018] In some embodiments, the one or more first computing devices are further for: obtaining a record of telemetry data from telemeter memory; running a post run analysis on the record of telemetry data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters; and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS, wherein selecting one or more filter modules comprises using the selected combination of filter modules; and wherein adjusting the one or more parameters comprises using the selected set of parameters.

[0019] In some embodiments, the one or more first computing devices are further for: running a real time analysis on the record of telemetry data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters; and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS, wherein selecting one or more filter modules comprises using the selected combination of filter modules: and wherein adjusting the one or more parameters comprises using the selected set of parameters.

[0020] In some embodiments, the system comprises a cloud based architecture.

[0021] In some embodiments, the one or more first computing devices are edge devices.

[0022] In some embodiments, the telemetry signal is received by the one or more computing devices in real time.

[0023] In some embodiments, the noise comprises at least one of mechanical noise and electrical noise.

[0024] In some embodiments, the one or more filter modules comprise one or more of a wavelet filter, a rolling average filter, a rolling maximum filter, a rolling definite integral, a band pass filter, an envelope follower, and a fast Fourier transform filter.

[0025] In some embodiments, the parameters comprise one or more of: data frequency, pulse width, pulse time shift, a testing range, a flat height threshold, a quantile threshold, a peak comparison quantile, a rolling trend, a FFT lower cut-off frequency, a FFT upper cut-off frequency, snipping low pressure data, a minimum pressure threshold, a time start buffer, a detrend model, a prominence flat threshold, an automatic model selection, and a rolling trend length

[0026] In some embodiments, the one or more first computing devices are further for: identifying synchronizing pulses; and identifying pulse widths.

[0027] In some embodiments, the one or more first computing devices are further for running a first error correction module to identify occurrences of one or more of missed pulses, time shifted pulses, incorrectly identified pulses, and extra pulses in the one or more filtering modules.

[0028] In some embodiments, the system further comprises one or more second computing devices, each second computing device comprising one or more processors for executing instructions stored in the memory' for running a second error correction module to identify occurrences of one or more of missed pulses, time shifted pulses, incorrectly identified pulses, and extra pulses in the one or more filtering modules.

[0029] In some embodiments, at least one of the first computing devices are further for receiving contextual information.

[0030] In some embodiments, at least one of the first computing devices are further for evaluating raw pressure data during an initialization stage of the system, wherein raw pressure data does not comprise telemetry data.BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The present disclosure will be better understood having regard to the drawings in which:

[0032] FIG. 1 is a functional block diagram of an example telemetry system that maybe used with or as part of a downhole tool;

[0033] FIG. 2 illustrates an interval of an example pressure signal received and displayed by a data acquisition system at the surface:

[0034] FIG. 3 is a functional block diagram of a system according to some embodiments;

[0035] FIG. 4 is a functional block diagram illustrating an example high-level architecture of the system of FIG. 3;

[0036] FIG. 5 illustrates three categories or data clusters “Group A’", “Group B”, and “Group C’?;

[0037] FIG. 6 illustrates an Al-based ML-SFPS and shows example inputs and output;

[0038] FIG. 7A and FIG. 7B illustrate an example of signals comprising telemetry data;

[0039] FIG. 8A illustrate a time unit (TU) sequence;

[0040] FIG. 8B illustrate examples of expectation correction of a TU sequence;

[0041] FIG. 9 illustrates an example convolutional neural network architecture;

[0042] FIG. 10 illustrates an example raw pressure signal that may be input to the Machine Learning Signal Filtering and Processing System;

[0043] FIG. 11 to FIG. 13 illustrate the pressure data with, respectively: an average pressure data filter applied; a max pressure data filter applied; and an FFT data filter applied;

[0044] FIG. 14 is a flow chart of an example method according to some embodiments;

[0045] FIG. 15 illustrates a set of model parameters in JSON format; and

[0046] FIG. 16 is a flowchart of a method according to some embodiments.DETAILED DESCRIPTION

[0047] As noted above, measured downhole parameters or other data may be digitally encoded for transmission via a telemetry system, such as a fluid pulse telemetry system. Various digital encoding schemes may be utilized. M-ARY is an example of one of these encoding schemes, although embodiments are not limited to a particular encoding scheme. The methods and principles described herein may also be employed for other types of telemetry, and embodiments are not limited to pulse telemetry' applications. For example, other signal waveforms and / or modulation methods may be used.

[0048] As used herein, the relative term ‘‘downhole” may refer to a location further downstream in a wellbore, and the term “uphole” may refer to a location further upstream in the drilling fluid's system during the construction of a wellbore. The terms “uphole” and “downhole” as used in this context do not refer to absolute depth or distance from the surface and does not imply a vertical spacing. Wellbores often include sections deviated from vertical, such as horizontal sections. Thus, a first location being "downhole” or downstream from a second location does not require the first location to be at a greater depth from the surface than the second location, and vice versa.

[0049] Utilizing a non-fixed Al-based Machine Learning Signal Filtering and Processing System (“ML-SFPS”) or filter modules may have distinct advantages over conventional methods. It may be able to not only leam from and improve from past environments but also from current environments. The ML-SFPS can leam uniquecharacteristics of a specific drilling rig or specific environment and apply a rig or environment specific algorithms based on its past teaching.

[0050] FIG. 1 is a functional block diagram of an example downhole telemeter 100 that may transmit data to uphole equipment via signals comprising telemetry data. The telemeter 100 may, in some embodiments, be integrated within or coupled to a downhole tool or other downhole equipment. For example, the telemeter 100 may be used for Measurement While Drilling (MWD) operations.

[0051] The term "telemeter" as used herein may refer to any combination of hardware and / or software that enables communication of data by transmission of signals comprising telemetry data from a first location to be received at a second location. The first location may be, for example, within a wellbore, and the second location may be located at a location uphole or upstream of the first location. The second location may also be within the wellbore or at or near surface equipment. However, embodiments are not limited to particular first and second locations.

[0052] In this example, the telemeter 100 includes memory 102, processor(s) 104, and signal generator 106. The telemeter 100 may receive or collect sensor data and store the collected sensor data (e.g., in memory 102). The telemeter may encode the sensor data using the processor(s) 104. The telemeter 100 may further include one or more sensors 108 for taking downhole measurements, and / or the telemeter 100 may be operatively coupled to one or more external sensors. In other embodiments, the sensor(s) 108 may be external to the telemeter 100 and part of different downhole equipment, with measurements made by the sensor(s) 108 communicated to the telemeter 100.

[0053] As noted above, the telemeter 100 may be implemented as, or included in, a downhole tool that includes the memory 102, processor(s) 104 and signal generator 106. For example, the downhole tool may include a Directional Module (DM), and the memory 102 and / or processor(s) 104 of the telemeter 100 may be part of the DM. In other embodiments, the memory 102, processor(s) 104, and / or signal generate 106 may be part of other types of downhole tools or tool modules. The memory 102. processor(s) 104, signal generate 106, and / or sensor(s) 108 may also be distributed betw een multiple components or modules of oneor more downhole tools. Embodiments are not limited to any particular combination of hardware and software that implements the telemeter functionality described herein.

[0054] The signal generator 106 may include any means suitable for modulating pressure or other means for generating the signals comprising telemetry data in a given application. For example, the signal generator 106 may include a downhole pulse generator, such as a pulser capable of generating pressure pulses to transmit data to the surface. However, embodiments are not limited to pulsers, and other signal modulation and transmission means may be used. The memory 102 and signal generator 106 may be configured to generate digital data indicative of measured downhole parameters for transmission by the signal generator 106.

[0055] Ideally the signals comprising telemetry data created downhole would travel to the surface, be readily detected, for example by an upstream transducer through a drill pipe, and sent to a data acquisition system and computer processor for decoding. In practice, this is rarely the case since the drilling, completion, or production fluid pressure usually contains considerable noise and can fluctuate significantly. Noise may be introduced to the system from a variety of sources. Examples of sources of noise include, but are not limited to, action of pumps, changing pressure differential over motors or agitators or changing dynamics in the drill string or electrical or acoustic noise from surface or downhole equipment. Attenuation and distortion may also affect signals comprising telemetry' data. Attenuation may include loss of energy as signals travel through a medium (drilling fluid). Distortion may include geometric or physical change of signals due to external factors such as wellbore geometries (hole washout, high doglegs, etc.).

[0056] In applications using mud pulse telemetry' in drilling, noise may be a challenging issue, wherein noise may comprise unwanted electrical, electromagnetic, and / or mechanical energy introduced into a system from the surrounding environment degrading the quality' of a signal or even directly degrading the data. While attenuation may be a significant issue in mud pulse telemetry', it may generally be addressed by adjusting pulse width. While distortion may be generally present in a system, it may generally be overcome using filtering techniques that naturally address distortion with statistical measures.

[0057] Electrical noise may be the result of variations in voltage and / or current for signals typically having low amplitude and is generally undesirable. Electrical noise in mud pulse telemetry applications may be the result of poor grounding connections at the edge computing device 304, a pressure transducer, a power source, or the surrounding environment.

[0058] Electrical noise floor refers to a measure or sum of the combined signal created from electrical noise. High electrical noise floor may originate from power sources, such as generators (e.g. from variable frequency drives, source generators, directly, etc.), power consumption from a particular piece of equipment, and / or electromagnetic interference from nearby electrical transmission lines.

[0059] Mechanical noise may result from a number of sources including from vibrations from mud pumps, top drives, agitators, jars, shock subs, mud motors, anti stick-slip tools, other downhole tools, and other pieces of equipment. As raw data signals are generally transmitted through fluid mediums, which mediums provide a very dynamic environment due to having changing geometries, length, fluid properties, pressures via mass flow rates, and / or the like, there may be a large number of sources of mechanical noise. Mechanical noise may result from surface equipment such as mud pumps, top drives, pipes in motion (whether picking up, rotating, static with mud circulating, slacking off. or a combination thereof), and / or supplemental rig site equipment (e.g. excavators, bulldozer, vibrator trucks, seismic trucks, nearby drilling rigs, fracturing crews, and / or the like). Mechanical noise may also result from downhole environmental elements including resulting from fluid rheology (fluid density, fluid viscosity, fluid dispersion, fluid components, particle loading, gel strength profiles, etc.), geometry (hole sizes, in gauge, ledges, caverns, length of travel, tortuosity, trueness of travel, etc.), and / or pressure (e.g. hydrostatic, dynamic, etc.).

[0060] Attenuation may be described as a loss of energy, or pulse amplitude, between a transmitter and a receiver. The degradations of pulse amplitude maybe overcome in mud pulse telemetry applications by widening the thickness of the pulse. This is different than other applications where increasing the input energy may be required. The use of larger pulse widths to address attenuation generally does not require modifying or changing equipment, which may be designed for a pre-run installation, resulting in a more robust pulse for enhanced identification.

[0061] Distortion may generally be described to be when a signal changes shape or form in a medium of transport from a point of transmission to a point of reception. In mud pulse telemetry applications, this may be result from downhole environmental factors, such as crown pulses due to high pressure.

[0062] FIG. 2 illustrates an interval of an example pressure signal received and displayed by a data acquisition system at the surface. This interval of pressure signal contains data encoded in accordance with M-ARY techniques and transmitted as pulses. Raw- pressure signal 202 is shown, with dots 204 indicating times that a pulse was generated by the downhole pulse generator.

[0063] Conventional algorithms exist to extract the transmitted signal from the noise and to compensate for attenuation and / or distortion. Numerical techniques used for the purpose of data extraction may include, but are not limited to, filtering, rolling means, fast Fourier transforms, rolling quantile and peak detection. Oftentimes these conventional techniques fail to detect and produce a value for an encoded data signal. There is a need for improved means of identifying transmitted signals.

[0064] Artificial intelligence (Al) systems, including one or more machine learning models, may be used to interpret and classify signals based on training data provided to the Al system. For instance, Al system may be used to process measured pressure data and extract received telemetry- data within the measured pressure data. The machine learning model(s) may, for example, be implemented using one or more neural networks. Embodiments of Al systems disclosed herein permit the filtering of noise, distortion, and / or attenuation that may be changing and resulting from a wide variety of sources without requiring identification of the sources of noise, distortion, and / or attenuation.

[0065] The machine learning models generally require training and adjustment to be suitable for identifying telemetry- data, which may be in the form of waveforms or pulses. Pulses are generally positive pulses but may also be negative pulses. Machine learning models are for extracting waveforms or pulses comprising telemetry data from raw pressure signals. The Al system components described herein may include a training module that operates in accordance with any numbers of machine learning strategies including, but not limited to, artificial neural networks, fuzzy logic, genetic algorithms, support vector machines, casedbased reasoning or hybrid systems. Such a machine learning model permits addressing noise, distortion, and attenuation arising from a wide variety of sources and changing during operation.

[0066] FIG. 3 is a functional block diagram of a system 300 according to some embodiments. Embodiments are not limited to the particular system shown. The system 300 generally includes a cloud computing system or a second computing device 302 and one or more edge computing system(s) or first computing devices(s) 304 capable of communication with the cloud computing system 302. The cloud computing system may comprise one or more distributed processors 306 and memory 308. The processors 306 and memory 308 may be distributed in one or more servers and / or other network hardware, including a rig floor display processor, an edge computer located on location (e g. MWD trailer, directional drilling trailer, etc.) or other on-site location, in the cloud, or in any combination of on-site and off-site processors. The cloud computing system 302 in this example includes an AI- based training module 310 and a database 312. The training module 310 and a database 312 may be implemented by the processors 306 and memory 308. While the computer systems 302 and 304 are shown as cloud and edge computing systems respectively, embodiments are not limited cloud and edge system architectures, as discussed below.

[0067] The edge computing system(s) 304 in this example includes one or more processors 314 and memory 316 that implement an ML-SFPS 318 and a decoding module 320. The edge computing system 304 may, for example, comprise a computing device proximate to and / or in communication wi th surface equipment at a rig location, such as an active standpipe within the drilling rig's pressure system 322 and pressure data acquisition system 324. The pressure data acquisition system 324 may include one or more pressure sensors within the drilling rig’s pressure system 322) that captures pressure measurements. The pressure sensor(s) may include one or more pressure transducers, for example. The pressure data acquisition system 324 may also include hardware for generating raw pressure data from the measurements and transmitting the raw pressure data to the edge computing system 304.

[0068] Generally, the ML-SFPS 318 is trained in the cloud computing system 302. The training module 310 trains the ML-SFPS in the cloud. For example, the training module 310 may include a copy or version of the ML-SFPS, which is trained by the training module310 for filtering noise, attenuation and / or distortion and identifying telemetry data (e.g., pressure pulses) from raw pressure data. The training generates model parameters, which are communicated to the ML-SFPS 318 in the edge computing system 304.

[0069] The ML-SFPS 318 in the edge computing system 304 processes the rawpressure data received from the pressure data acquisition system 324 and recovers telemetry data from the raw pressure data. The term '‘telemetry data output’’ may refer to any data output indicative of telemetry data identified received in the pressure data. The ML-SFPS 318 comprises a machine learning model that processes the raw pressure data and identifies telemetry data received at surface. The processing of the raw data may include applying one or more filters and changing the filter(s) used during operation. The filtering may include (but is not limited to) one or more of: applying a rolling average amplitude filter; a max pressure data filter; a rolling definite integral, a wavelet filter, a bandpass filter, an envelope follower filter; and performing a Fast Fourier Transform (FFT) to generate FFT-transformed data. The ML-SFPS 318 may use a combination of one or more of the above listed filters, adjust the parameters of the one or more of the above listed filters, and may include creating one or more new filters as may be suitable for a particular application. The ML-SFPS 318 may operate based on model parameters that control how the filtering or other processing is performed, as explained in more detail below. The telemetry data output from the ML-SFPS 318 is then decoded by the decoding module 320. The ML-SFPS 318 may be configured by a plurality of model parameters, which are discussed below.

[0070] A rolling average filter comprises obtaining a rolling average of pressure data of a specific period, a max pressure data filter comprises obtaining a rolling max based on half of a pulse width and a rolling average of pressure data of a specific period. A wavelet filter performing a real-time FFT on center pressure data over short time windows, a bandpass filter obtains signals within a specific frequency band or range, and an envelope follower filter analyzes harmonics as a pulse signature and associates it with a pulse.

[0071] As also described herein, the ML-SFPS 318 may receive a record of telemetry data. Historical records of telemetry data may be obtained from operational memory of one or more telemeters (such as the telemeter 326 shown in FIG. 4). The operational memory may include data indicating a record of telemetry data, such as transmitted telemetry data and / or the data encoded in the telemetry data that were transmitted during operation over a timeinterval. This record of telemetry data may be referred to as "ground truth’' herein. In the case of pulse telemetry, the record may be referred as a "‘pulse bin,” “pulser data”. As noted above, however, embodiments are not limited to pulse telemetry and other types of telemetry data may be stored in a telemeter and retrieved from the telemeter memory. After an operation (or during a break in an operation), the telemeter may be removed from the wellbore and this record of telemetry data may be extracted from the operational memory from the telemeter. The record of telemetry data may be provided to the training module 310 for use in training the ML-SFPS. The edge computing system 304 may also provide the training module 310 with the raw surface pressure data obtained during the time interval and the pulse data obtained by the ML-SFPS 318. The training by the training module 310 will be further discussed below.

[0072] The record of telemetry data from the telemeter memory may be compared to the telemetry' data obtained from the ML-SFPS by the data acquisition system 324. For a pulse telemetry system, the data layering may include time synchronization of the data sets, identification of pulse events and the values associated with each pulse event.

[0073] The system 300 may comprise an error correction (ECC) method to correct pulses in the signal. The ECC method may comprise using parity checks by comparing a parity bit against a data sequence. When ECC is not used, this represents higher decoding confidence for a ML-SFPS 318 on a particular edge computing system 304. If the ECC is used above a threshold number of times, the ML-SFPS 318 for an edge computing system 304 is performing poorly and an alternative computing resources may be used such as servers, trailer computers, or the cloud computing system 302 and / or the ML-SFPS 318 may be re-trained. The ECC may7be run on the edge computing system 304 or in the cloud system 302, including in the trailer PC.

[0074] In practice it should be noted that the training module 310 will operate to teach the ML-SFPS. The ML-SFPS may exist on any suitable computer processor and be connected to the surface data acquisition system. The training module may include a version of the ML- SFPS generated in the cloud computing system 302 or on an offsite server. Further, data decoding may take place on the computer processor by decoding the filtered data using a version of the ML-SFPS.

[0075] Some embodiments described herein include a training module implemented in a cloud computer system, where the training system trains a first instance or version of an ML-SFPS, and a second instance or version of the ML-SFPS implemented in an edge computing system. However, embodiments are not limited to this cloud / edge system arrangement. In other embodiments, the training module and associated functionality7may be implemented in any first computing system at a first location, and the second instance of the ML-SFPS may be implemented by any computer system capable of communication with the first computer system. For example, the training module (including the first instance of the ML-SFPS) may be implemented in a first computer system coupled to a local area network (LAN) and the second instance of the ML-SFPS may be implemented on a second computer system that can communicate with the first system over the LAN. The second computer system may, for example, comprise a rig floor display processor, an edge computer located on location (e.g., MWD trailer, directional drilling trailer, etc.) or other on-site location, in the cloud, or in any combination of on-site and off-site processors. In still other embodiments, the training module may be implemented on the same computer system as the second instance of the ML-SFPS. In still other embodiments, first and second computer systems implementing the first and second instances of the ML-SFPS may be first and second edge computing systems. In still other embodiments, first and second computer systems may be first and second cloud computing systems. Any combination of the examples above or other system architectures may be used.

[0076] FIG. 4 is a functional block diagram illustrating an example high-level architecture of an implementation of the system 300 of FIG. 3. However, embodiments are not limited to the specific example of FIG. 4. In some embodiments, historical telemetry data may be obtained from the memory of the telemeter 326.

[0077] As shown, the cloud computing system 302 includes the training module 310 and the database 312. The training module 310 includes ML-SFPS 330 and a ML-SFPS training software 332.

[0078] FIG. 4 also shows a rig side 402 of the system. The rig side 402 includes the edge computing system 304 and may include a telemeter 326 and / or other data storage including telemeter logs obtained from the telemeter, where the telemeter logs include a record of telemetry data. The telemeter logs may, for example, include pulse bin or pulserdata and / or directional module (DM) data. Memory data from the DM may be compared to surface decoded values to train the ML-SFPS and verify the accuracy of decoded values. The edge computing device 340 may further include the decoding module 320 of FIG. 3, in which case the telemetry data from the ML-SFPS may be input to the decoding module 320. Alternatively, the decoding module 320 may be in a separate computing device that receives the pulse data from the edge computing system 304 to be decoded.

[0079] The database 312 may store a variety of data for use in training the ML-SFPS in the training module 310 as well as results and parameters received from the training module 310. Data stored in the database 312 may be received from the edge computing system 304, the training module 310, and / or other sources. Data provided to the database 312 by the edge computing system 304 may include, but is not limited to, at least one of: telemetry data; raw pressure data; and contextual information. The telemetry data may real-time telemetry' data generated by the ML-SFPS 318 and / or a record of telemetry' data from operational memory of a telemeter. The raw pressure data may be obtained from the pressure data acquisition system 324 and provided to the database 312.

[0080] Contextual information may include any non-sensor data. Examples of contextual data include, but are not limited to, information about the well, equipment information, environment, operation(s), and / or manually entered data, to name a few examples. Equipment information may include, but it not limited to, equipment configurations, pump information, pipe information, etc. The ML-SFPS 318 or ML-SFPS 330 may, for example, generate observational data or signal metrics using contextual data.

[0081] Some contextual information may be provided to the ML-SFPS 318 or ML-SFPS 330 prior to operation, such as an identifying rig name and number, pump specifications, pipe specifications, fluid specifications, MWD specifications, poppet and orifice specifications, and MWD configuration information or files. Some contextual information may be provided to the ML-SFPS 318 or ML-SFPS 330 in real-time during operation, such as rotational speed, flowrate (in or out), weight on bit measurements, differential pressure, individual pump stroke rate, total pump strokes, and torque measurements.

[0082] Specific equipment may be assigned profiles with associated contextual data wherein, the ML-SFPS 318 or ML-SFPS 330 may use the specific set of associated contextual data for improved performance.

[0083] Data received by the database 312 from other sources may, for example, include historical data from previous well operations. The historical data may include, but is not limited to, raw pressure data, DM data, telemetry data, and / or contextual data. Other types of data may also be received from other sources, and embodiments are not limited to the example data mentioned above.

[0084] The training module 310 may access or receive some or all of the aforementioned data that is received by database 312 from the edge computing system 304 or other sources.

[0085] The training module 310 may. in turn, provide output to the database 312 including, but is not limited to: model results (e.g., telemetry data) generated by the ML-SFPS 330; and / or new or updated model parameters.

[0086] The ML-SFPS 318 in edge computing system 304 may receive the new or updated model parameters from the cloud computing system 302, and raw pressure data obtained from the pressure data acquisition system 324. The ML-SFPS 318 may optionally also receive contextual information (e.g., equipment configuration data). The ML-SFPS 318 may process the raw pressure data and generate output. The output may include, but is not limited to: processed signal data, which may include telemetry data; signal metrics and / or observational data. The telemetry data output generated by the ML-SFPS 318 and other data generated or gathered by edge computing sy stem 304 may, in turn, be provided to the database 312 by the edge computing system 304 (as described above).

[0087] The telemeter 326 (or other component(s) of a downhole tool system) may be programmed with the telemetry file sequence and the ranges of each variable, this “tool configuration file” may be utilized by the ML-SFPS to determine the number of bits per variable and the order they are being transmitted.

[0088] The edge computing system 304 may send additional data to the database 312 for use in training, including, but not limited to, decoded data values, telemeter memory logs, statistics on decoding (e.g. error rate or other statistics on decoding performance.Machine Learning Signal Filtering and Processing System Operation

[0089] The ML-SFPS (318, 330) may, in some embodiments, include multiple machine learning models to achieve the expected results. The ML-SFPS (318, 330) may utilize a tiered process to identify like datasets in order to apply a specific model to fit the noise canceling, attenuation or distortion needs. The ML-SFPS (318, 330) has a set of operational parameters referred to herein as model parameters, which configure operation of the model. These model parameters can iteratively be tested to determine what parameters have the best results on the test datasets. In some embodiments of the present disclosure, the ML-SFPS may combine filters and / or models, as well as creating new filters and / or models as suitable for a particular application.

[0090] An example basic machine learning model that may be implemented is a linear regression model that tests varying parameters used in the model and determines which set of model parameters results in the optimal performance on the tested dataset. A linear regression model may provide good results for large datasets.

[0091] In some embodiments of the present disclosure, clustering may be used to label different pressure datasets. For example, the ML-SFPS (318, 330) may observe characteristics of the pressure data and may select a particular set of model parameters or configuration based on the observed characteristics. As one example, well conditions may cause the received pressure data to exhibit recognizable characteristics. Various categories or cluster types maybe recognized, with each category or cluster type corresponding to a respective set of model parameters. The categories may be learned by the ML-SFPS (318,330), for example during the training process), or otherwise provided to the system. FIG. 5 illustrates three categories or data clusters “Group A”, “Group B” and “Group C”, which each include raw pressure data with certain common characteristics. Each of the images for Group A, B and C shows a raw pressure signal (top) and a filtered signal (bottom). Group A illustrates noise, which may be introduction of additional signals in the form of electrical or mechanical interference. The noise in this example includes an impulse signal. Group B illustrates attenuation (specificallya chaotic low amplitude signal in this example). Attenuation may include loss of energy by signal propagation through a medium such as a mud column. Group C illustrates distortion (specifically, double peaking in this example). Distortion may include manipulation of the signals shape, such as physical or geometric distortion.

[0092] The ML-SFPS may recognize shared characteristics of the Group A category’, and may apply a first set of model parameters for processing incoming pressure data that matches the Group A characteristics. The ML-SFPS may also recognize shared characteristics of the Group B and / or Group C category, and may apply a first set of model parameters for processing incoming pressure data that matches the corresponding Group B and / or Group C characteristics.

[0093] Given that data is in real-time, it may be beneficial for the labeling or categorizing of the pressure data may occur early within the dataset. Clustering as described herein may allow the ML-SFPS (318. 330) to utilize a set of model parameter configurations, rather than a single model parameter configuration (with different configurations being associated with different data categories). Clustering may also assist with selecting a filtering method on the pressure data (FFT, max, average.. . ).

[0094] In some embodiments of the present disclosure, two pressure transducers may be used to provide differential noise cancelling, wherein specific noise may be identified by comparing signals at different time offsets with knowledge of a difference of relative distance. Hierarchical clustering, K-means clustering, adaptive filtering (where filters used are switched within a cycle), and / or the like may be used to address attenuation.

[0095] FIG. 6 illustrates the ML-SFPS (318, 330) and shows example inputs and output. The inputs in this example include: Raw Pressure Data; Contextual Information; and Model Parameters. The output comprises Telemetry Data. Examples of the model parameters that may be received and utilized by the ML-SFPS (318, 330) include, but are not limited to: Data frequency ; Pulse Width; Pulse Time Shift; Testing Range; Flat Height Threshold; Quantile Threshold; Peak Comparison Quantile; Rolling Trend; FFT Lower and / or Upper Cut-off Frequencies; Snip Low Pressure Data; Minimum Pressure Threshold; Time Start Buffer; Detrend Model; Prominence Flat Threshold; Automatic Model Selection; and Rolling Trend Length.

[0096] These various parameters may be set or adjusted during training of the ML- SFPS (318, 330) and / or may be selected or adjusted by the ML-SFPS during operation. In some embodiments of the present disclosure, the ML-SFPS may, in addition to adjusting parameters, combine filters and / or models, as well as creating new filters and / or models as suitable for a particular application.

[0097] During initialization, there may be a period of time, such as minute(s), wherein pumps are operating and fluid begins to circulate prior to the introduction of telemetry data. Such a period may be referred to as a quiet period. During the quiet period, a raw pressure signal without telemetry data may be observed and analyzed by the ML-SFPS. This may assist the ML-SFPS in improved recognition of the telemetry data by performing a differential analysis as compared to when signals comprising telemetry data are present.

[0098] After waiting a specified time or delay, the ML-SFPS will detect synchronization pulses and attempt to determine a pulse width of the signal. Peak detection may be used at different pulse widths provided during configuration to determine the pulse width to use. For example, the ML-SFPS may identify a number of pulses and compare them with the synchronization pulse to determine the appropriate pulse width. Once pulse width has been selected, synchronization pulses are detected and the ML-SFPS will determine the appropriate synchronization pulses to use based on evaluating the spacing therebetween.

[0099] Once pulse width and synchronization pulses are detected, the ML-SFPS may detect other pulses. Referring to FIG. 7A, to accurately detect pulses, some thresholds or settings may be used such as distance between possible peaks, required height of peaks, prominence of peaks, determining whether a peak is expected at a particular location. Referring to FIG. 7B, pulse detection threshold may be based on rolling calculation of the ML-SFPS, wherein distance may be based on pulse width, height may be based on a rolling calculation of maximum values, average values, and standard deviations of filtered data, and prominence may be based on a rolling calculation of maximum and minimum values of filtered data.

[0100] Once pulses have been detected, they may be reviewed to ensure that the detected pulses represent a proper signal, wherein certain conditions are reviewed. For example, whether the pressure of a pulse is above a minimum threshold, whether the standarddeviation of the data during a pulse is higher than normal, and whether the pulse is large enough to be a pulse when compared to other pulses. Once a pulse peak has been detected and processed, it’s center may be detected by analyzing the shape of filtered pressure data, including by analyzing the front and back side slopes when compared to other proximate pulses.

[0101] Referring to FIG. 8A, once pulses are detected, they may be converted into a TU sequence, which may involve binning pulse into TU bins. Referring to FIG. 8B, when a know n sequence is expected, the ML-SFPS may apply expectations correction where a pulse is missed, a pulse is time-shifted, a pulse is incorrectly detected, or an extra pulse is detected.

[0102] Various types of machine learning models that may be used by the ML-SFPS (318, 330) to identify signals comprising telemetry' data. For example, a convolutional neural netw ork might be used for the final training mechanism as by learning the ideal weights & biases when inputting the identified ML-SFPS parameters to identify the output model with the highest belief.

[0103] FIG. 9 illustrates an example convolutional neural network architecture, with an input layer, multiple hidden layers, and an output layer. The number of inputs, nodes, and outputs, and their arrangement, is shown only by way of example and not to limit embodiments to a particular model architecture. The model parameters (possibly including one or more of the example parameters above) may be inputs to the input layer. The model may be ML-SFPS (318, 330) may be trained as discussed herein. FIG. 10 illustrates an example raw pressure signal that may be input to the ML-SFPS (318, 330). FIG. 11 to FIG. 13 illustrate the pressure data with, respectively: an average pressure data filter applied; a max pressure data filter applied; and an FFT data filter applied. Telemetry data identified in the filtered data are represented by dots in FIG. 11 to FIG. 13.

[0104] In some embodiments of the present disclosure, the cloud computing system 302 generally has larger computational capacity and is used as much as appropriate to perform calculations including to train and retrain the ML-SFPS and running post run analysis. The edge computing devices 304 generally have limitations in terms of space and heat dissipation. As a result, the edge computing devices 304 may have limited computing capacity in certain instances. In some embodiments of the present disclosure, the edge computing devices 304may be fanless computers and may be susceptible to overheating or damage if used to much. In some instances, the system 300 may comprise one or more trailer computers which may considered an edge computing device 304, wherein the one or more trailer computers may have more computing capacity than the other edge computing devices 304. The trailer computers and the edge computing devices 304 may collectively perform functions prior to communication to the cloud computing system 302.

[0105] FIG. 14 is a flowchart of an example method according to some embodiments. At block 1202, data including at least one of the following is obtained: telemetry data indicative of first telemetry signals or data encoded therein transmitted by a first telemeter; and / or pressure measurement data. The telemeter may be positioned at a first location, such as downhole in a wellbore during a well operation.

[0106] The second data comprises pressure measurements may be taken at a second location and possibly (but not necessarily) over a time interval corresponding to the signals transmitted by the downhole telemeter. The second location may, for example, be at surface. Blocks 1202 and 1204 are not necessarily performed in the order described, and the second data may be obtained before the first data.

[0107] At block 1204, a first instance or version of an ML-SFPS is trained using at least one of the telemetry data and the pressure measurement data, thereby generating model parameters. The training may be performed by a training module in a cloud computer system, for example, where the training module includes the first instance of the ML-SFPS.

[0108] The method may optionally further comprise, at block 1206, applying the model parameters to a second instance of the ML-SFPS. The second instance of the ML-SFPS may be implemented in an edge computing system, or any other suitable computer system. The method may further comprise, after applying the model parameters, filtering and processing further pressure data using the updated ML-SFPS. Optionally, the method may comprise applying quantitative observations or key metrics to the application to improve signal identification filtering and processing.Model Optimization and Feedback Loop

[0109] As noted above, one or more sets of model parameters are provided to the ML- SFPS (318, 330). The ML-SFPS uses this information to configure how the raw pressure data is processed.[001 10] The training module 310 received various data and information from the training module 310 for use in training the ML-SFPS 318. For example, the training module 310 may receive one or more of: the raw pressure data; the record of telemetry' data and / or DM data from the telemeter; the model parameters of the ML-SFPS 318 in the edge computing system 304; and the configuration data; the well information.

[0111] When training of the ML-SFPS 330 is performed by the training module 310, the training module 310 may generate new or updated model parameters for the ML-SFPS 318 and model results. These model parameters and results may be communicated to the edge computing system 304 and the ML-SFPS 318 may thereby be updated. In some embodiments of the present disclosure, the ML-SFPS may combine filters and / or models, as well as creating new filters and / or models as suitable for a particular application.

[0112] Training the ML-SFPS in the cloud may have multiple benefits. For example, the cloud computing system 302 may be configured for network communication with multiple edge computing systems at multiple rig locations. Additionally, by having the trained ML- SFPS 318 located in the edge computing system 304. the edge computing system 304 may be operably in isolation. This may be particularly beneficial in scenarios where network connection to the cloud is not available at a rig location. The edge computing system 304 could then be updated with new model parameters when a network connection is available. In other embodiments, the training module and database could utilize components of a Local Area Network (LAN), and the ML-SFPS at the rig could be run on a computing system that connects to the LAN. Other arrangements are also possible, and embodiments are not limited to the architecture shown in FIG. 3 and FIG. 4.[001 13] A post run analysis may be conducted to evaluate performance of the model. Evaluating performance comprises assessing the ability to identify pulses and pulse widths using key performance indicators or metrics. The key performance indicators or metrics may include quantified values representing accuracy, successful detection of pulses, characteristicsof signal pulses including amplitude, width and count, and evaluating the quiet period between signal pulses and a sequence. The ML-SFPS may operate within desired thresholds for each category7and if one or more of the desired thresholds are not met, a retraining may be initiated. The post run analysis may be performed by using actual historical data including from data located in memory' of the telemeter.[001 14] The model parameters may be updated when the ML-SFPS is trained using model training software 332. Training may be performed using data stored in the database 312. The telemetry' data retrieved from the telemeter functions as “ground truth” and can be compared to pulses detected by the ML-SFPS to determine and improve performance of the ML-SFPS. Training may be performed with n-fold cross validation with sections of data. When the best model parameters are set after training, the training module 310 may' push these parameters into the database 312 to be used by cloud ML-SFPS 330 and edge ML-SFPS. In an exemplary embodiment, model parameters may be provided in a JavaScript Object Notation (JSON) format. An example set of model parameters in JSON format is shown in FIG. 15.

[0115] FIG. 16 is a flowchart illustrating a method 1400 whereby a training module may be trained and subsequently used to enable improved filtering of pressure data. In this example, a downhole tool includes a telemetry' system (such as the telemeter 100 shown in FIG. 1 ) that transmits telemetry data via pressure modulation. The tool including the telemetry system may be a MWD tool, for example.[001 16] At block 1402, raw pressure data collected during a wellbore operation (e.g., drilling operation) is input to the ML-SFPS 318 of the edge computing system 304.

[0117] At block 1404, the data filtered by the ML-SFPS 318 is input to the decoding module (e.g., decoding module 320 of FIG. 3).

[0118] At block 1406, the decoding module determines values of the transmitted telemetry data.

[0119] At block 1408, optionally, the telemeter may be withdrawn from the borehole. As noted above, the current wellbore operation may be completed or paused when thetelemeter is withdrawn. This step may include withdrawing the tool including the telemeter from the borehole and disassembling the tool.

[0120] At block 1410, a record of telemetry data (i.e., data indicating pulses actually transmitted) is retrieved from the operational memory' of the telemeter.

[0121] At block 1412, the retrieved record of telemetry is compared to the telemetry data recovered from measured pressure data at the edge computing system 304.

[0122] At block 1414, if the retrieved record of telemetry data and the recovered telemetry data sufficiently match, the method continues to block 1415. If not, the retrieved record of telemetry' data and the recovered telemetry data do not sufficiently match, the method continues to block 1416.

[0123] At block 1415, the telemeter is returned to the normal operation. If the telemeter was removed from the borehole at block 1408, the telemeter may be returned to the borehole prior to resuming normal operation. This may include re-assembling the downhole tool and placing the tool back in the borehole for service to resume normal tool operation. The method then returns to block 1402.

[0124] At block 1416, the collected pressure data and record of telemetry data from the tool memory’ is sent to the training module.

[0125] At block 1418, the training module is updated with the known telemetry' data values. In an exemplary' embodiment, this may be pulse bin data.

[0126] At block 1420, the ML-SFPS is trained by the training module.

[0127] At block 1422, the telemeter is returned to the normal operation. If the telemeter was removed from the borehole at block 1408, the telemeter may be returned to the borehole prior to resuming normal operation. This may include re-assembling the downhole tool and placing the tool back in the wellbore for normal operation. The method then returns to block 1402.

[0128] The foregoing method is provided by way of example, and embodiments are not limited to this particular method. One or more steps of the method described above may be omitted or performed in a different order. Additional steps may also be performed.

[0129] As described above, the training module may utilize historical data from a completed or halted downhole operation for training the ML-SFPS. The historical data may include a record of the data encoded and transmitted by the telemeter, or other information indicative thereof, which may be retrieved from the memory of the telemeter. The historical data may also include measured raw pressure data obtained during the time interval during which the telemetry data was sent and would be expected to be received. However, embodiments are not limited to training using historical data.

[0130] In some embodiments, the training module is configured to train the cloud-side ML-SFPS using: (1) raw pressure data from measured at surface equipment (or other equipment); and (2) telemetry data decoded by the edge-device-side ML-SFPS. This data for training the ML-SFPS may be obtained and sent to the training module in real-time. For example, if characteristics of the decoded data or raw pressure data indicate that the decoded data is sufficiently trustworthy, the decoded data may be deemed suitable for training the ML- SFPS in real-time without halting the wellbore operation to retrieve telemeter memory data, and / or without relying on historical data.

[0131] In some embodiments, the pressure at the second location (e.g., surface equipment) may be measured during a time interval when it is known or expected that telemetry data will not be received. For example, there will be a time delay between the time that the downhole telemeter begins sending signals at the first location (e.g., downhole) to the time that those signals reach the second location. In that time, pressure measurements at the second location may be taken. Since no telemetry data is included during the initial delay time interval, the pressure measurements may provide useful information about noise, attenuation or distortion in the system and / or measured pressure data. This data may be provided to the training module for use in training the ML-SFPS.

[0132] In some embodiments, the training module and / or ML-SFPS may utilize known or expected data structure of data encoded in the telemetry data for the purpose of improved filtering and / or other signal processing. For example, data frame structure, types of data fields (e.g.. number of bits, spacing of bits, etc.), flags, or other data structure data may be known or received by the training module for use in training the ML-SFPS. Such data structure information may also be conveyed to the ML-SFPS as model parameters for use in processing (e.g., decoding) the measured pressure data, in some embodiments. As anotherexample, the expected data structure may be compared to decoded data to determine whether the decoded data matches the expected data structure. The ML-SFPS may be further trained or updated based on the comparison.

[0133] According to another aspect of the disclosure, there is provided a plurality of ML-SFPSs, each associated with a respective wellbore or rig site. For example, each ML- SFPS may filter and process pressure data obtained at a different site. The training module may generate a set of model parameters for individual sites, a group of two or more sites, or globally for all sites. Different sites may have different noise and signal propagation characteristics and different environmental factors. Each rig or site (or subgroups of sites) may, essentially, have its own unique set of characteristics akin to a fingerprint and may be provided with its own unique set of model parameters for filtering and processing.

[0134] The training module may employ machine learning to develop one or more sets of model parameters based on data received from the plurality of sites. The ML-SFPSs may thereby be automatically updated from the central training module.

[0135] In some embodiments, the model parameters generated by the training module may be output on an interface or otherwise made available to a human operator for review and / or modification prior to the ML-SFPS being updated. In other embodiments, the ML- SFPS may be automatically updated when new or updated sets of model parameters are generated.

[0136] It is to be understood that a combination of more than one of the approaches described above may be implemented. Embodiments are not limited to any particular one or more of the approaches, methods or apparatuses disclosed herein. One skilled in the art will appreciate that variations, alterations of the embodiments described herein may be made in various implementations without departing from the scope of the claims.

Claims

WHAT IS CLAIMED IS:

1. A method of processing raw pressure data comprising telemetry data from a wellbore comprising: encoding the telemetry data into a telemetry’ signal at a first location: transmitting the telemetry signal from the first location; receiving the telemetry signal at a second location as the raw pressure data, the first location in the wellbore and downhole of the second location; selecting one or more filter modules using a machine learning signal filtering and processing system (ML-SFPS); adjusting parameters of the one or more filter modules using the ML-SFPS; running the one or more filter modules on the raw7pressure data to remove noise, attenuation and distortion in the raw pressure data for obtaining the telemetry data comprising telemetry waveforms from downhole equipment; and providing the telemetry data comprising telemetry' waveforms to a processing module.

2. The method of claim 1 further comprising: obtaining a record of telemetry data from telemeter memory; running a post run analysis on the record of telemetry data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters; and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS. wherein selecting one or more filter modules comprises using the selected combination of filter modules; and wherein adjusting the one or more parameters comprises using the selected set of parameters.

3. The method of claim 1 further comprising: running a real time analysis on the record of telemetry data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters; and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS,wherein selecting one or more filter modules comprises using the selected combination of filter modules; and wherein adjusting the one or more parameters comprises using the selected set of parameters.

4. The method of any one of claims 1 to 3, wherein the telemetry’ signal is received at the second location as the raw pressure data in real time.

5. The method of any one of claims 1 to 4, wherein the noise comprises at least one of mechanical noise and electrical noise.

6. The method of any one of claims 1 to 5, wherein the one or more filter modules comprise one or more of a wavelet filter, a rolling average filter, a rolling maximum filter, a rolling definite integral, a band pass filter, an envelope follow er, and a fast Fourier transform (FFT) filter.

7. The method of any one of claims 1 to 6, wherein the parameters comprise one or more of: data frequency, pulse width, pulse time shift, a testing range, a flat height threshold, a quantile threshold, a peak comparison quantile, a rolling trend, a FFT lower cut-off frequency, a FFT upper cut-off frequency, snipping low pressure data, a minimum pressure threshold, a time start buffer, a detrend model, a prominence flat threshold, an automatic model selection, and a rolling trend length.

8. The method of any one of claims 1 to 7, further comprising: identifying synchronizing pulses; and identifying pulse yvidths.

9. The method of any one of claims 1 to 8 further comprising running an error correction module to identify occurrences of one or more of missed pulses, time shifted pulses, incorrectly identified pulses, and extra pulses in the one or more filtering modules.

10. The method of any one of claims 1 to 9 further comprising providing contextual information to the one or more filter modules.

11. The method of any one of claims 1 to 10 further comprising evaluating raw pressure data during an initialization stage of a system, wherein raw pressure data does not comprise telemetry7data.

12. A system for processing raw pressure data comprising telemetry data from a wellbore, the system comprising: one or more telemeters for: encoding the telemetry’ data into a telemetry signal at a first location, and transmitting the telemetry signal from the first location; and one or more first computing devices, each first computing device comprising one or more processors for executing instructions stored in a memory' for: receiving the telemetry' signal at a second location as the raw pressure data, the first location in the wellbore and downhole of the second location, selecting one or more filter modules using a ML-SFPS; adjusting parameters of the one or more filter modules using the ML-SFPS; running the one or more filter modules to the raw pressure data to remove noise, attenuation and distortion in the raw pressure data for obtaining the telemetry data comprising telemetry waveforms from downhole equipment, and providing the telemetry data comprising telemetry waveforms to a processing module.

13. The system of claim 12, wherein the one or more first computing devices are further for: obtaining a record of telemetry data from telemeter memory: running a post run analysis on the record of telemetry data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters; and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS, wherein selecting one or more filter modules comprises using the selected combination of filter modules; andwherein adjusting the one or more parameters comprises using the selected set of parameters.

14. The system of claim 12, wherein the one or more first computing devices are further for: running a real time analysis on the record of telemetry data using the ML-SFPS to obtain an evaluation of performance of the one or more filter modules and associated parameters; and determining a selected combination of filter modules and a selected set of parameters based on the evaluation using the ML-SFPS, wherein selecting one or more filter modules comprises using the selected combination of filter modules; and wherein adjusting the one or more parameters comprises using the selected set of parameters.

15. The system of any one of claims 12 to 14, wherein the system comprises a cloud based architecture.

16. The system of any one of claims 12 to 15, wherein the one or more first computing devices are edge devices.

17. The system of any one of claims 12 to 16, wherein the telemetry signal is received by the one or more computing devices in real time.

18. The system of any one of claims 12 to 17, wherein the noise comprises at least one of mechanical noise and electrical noise.

19. The system of any one of claims 12 to 18, wherein the one or more filter modules comprise one or more of a wavelet filter, a rolling average filter, a rolling maximum filter, a rolling definite integral, a band pass filter, an envelope follower, and a fast Fourier transform filter.

20. The system of any one of claims 12 to 19. wherein the parameters comprise one or more of: data frequency, pulse width, pulse time shift, a testing range, a flat height threshold, a quantile threshold, a peak comparison quantile, a rolling trend, a FFT lower cut-off frequency, a FFT upper cut-off frequency, snipping low pressure data, a minimum pressure threshold, a time start buffer, a detrend model, a prominence flat threshold, an automatic model selection, and a rolling trend length21. The system of any one of claims 12 to 20, wherein the one or more first computing devices are further for: identifying synchronizing pulses; and identifying pulse widths.

22. The system of any one of claims 12 to 21, wherein the one or more first computing devices are further for running a first error correction module to identify occurrences of one or more of missed pulses, time shifted pulses, incorrectly identified pulses, and extra pulses in the one or more filtering modules.

23. The system of any one of claims 12 to 22 further comprising one or more second computing devices, each second computing device comprising one or more processors for executing instructions stored in the memory for running a second error correction module to identify occurrences of one or more of missed pulses, time shifted pulses, incorrectly identified pulses, and extra pulses in the one or more filtering modules.

24. The system of any one of claims 12 to 23, wherein at least one of the first computing devices are further for receiving contextual information.

25. The system of any one of claims 12 to 24, wherein at least one of the first computing devices are further for evaluating raw pressure data during an initialization stage of the system, wherein raw pressure data does not comprise telemetry data.