“Using MATLAB and MATLAB Compiler, I can develop an application at least 100 times faster than I could with Visual Basic or C. The time we saved on the very first application that we wrote in MATLAB more than paid for the software.”Roger Schultz, Halliburton Energy Services
Halliburton Energy Services supplies products, services, and solutions for oil and gas exploration and production worldwide—from the initial evaluation of potential sites to drilling and well maintenance.
Oil well construction begins with the drilling of a well bore. Steel casing is then inserted into the bore hole and cemented in place. To allow the oil into the bore the steel casing, the cement, and the surrounding oil-bearing formation are perforated by means of explosive charges from a perforating gun.
For safety reasons, it is vital to know whether all the explosives have detonated before the detonation apparatus is brought back to the surface and removed from the well. Halliburton research engineer Roger Schultz set out to ensure well-site safety by improving the ability to monitor the explosions that perforate the bore.
The signals that indicate successful detonation of explosive charges are often difficult to hear because of the depth of the well bore, which can be two or three miles. In an effort to strengthen the detonation signal, Schultz designed a system in which accelerometers (sensors) attached to the well head capture and amplify the acoustic stress waves that travel up the pipe when the perforating guns go off.
He found, however, that the sensitive accelerometers also captured signals from pumps, generators, and other equipment around the well head. Schultz needed to develop a filter that would separate the accelerometer signal from contamination caused by these ambient sounds. This filter needed to be incorporated into a standalone application that could easily be used in the field.
The noise from the machinery is often repetitious, while the signals generated by the explosives tend to be impulsive in nature.Working in MATLAB®, Schultz developed an adaptive, predictive nonlinear neural network filter that cleanses the signals of the contaminating repetitive noises, leaving only the impulsive components—which include the signal generated by the subsurface explosion.
A MATLAB user for the past eight years, Schultz knew that MATLAB was the best tool for this project: “The real beauty of MATLAB is that you can do really fast matrix manipulation. Neural networks are formulated in terms of matrices, so it’s a perfect fit. Not only that, but almost any math tool that you want to use is right there. It’s a really wonderful instrument.”
He based his neural network code on models included in Neural Network Toolbox™. To develop the filtering algorithm, he took data files, digitized them, and used MATLAB to perfect the structure for the neural network.The interactive MATLAB environment made this fine-tuning easy. He was then able to create a standalone application that could be used on a PC at the well site.
Schultz relied on MATLAB Compiler™ to quickly compile and execute the application on the desktop. Before he used MATLAB Compiler, he recalls, “getting the algorithm working was only the first step. In order to create an application, I would then have to retrace the functions I’d used, start a Visual Basic® program, type in code, and install debugging software. With MATLAB and MATLAB Compiler, I can devote more of my time to fine-tuning the algorithm.”
He adds, “It’s really significant that I can take the math functions that are available in MATLAB and compile those into a complete graphical program that includes user interfaces and plots as well as math functions. In fact now I don’t worry about writing programs in Visual Basic or C. I haven’t written a C program in months!”
Once he had an executable program, Schultz was able to use the sound functions in MATLAB to play the filtered signal over the sound system on his computer at the well site. He explains, “I record the data in the noisy environment, bring it back to my office and filter it with my filtering program, then listen to it using the sound function in MATLAB.” This capability has proved particularly useful when—as is often the case—he wants to hear something in a noisy environment.
Following successful trial tests, the adaptive neural network filter is being used as the basis for other projects using adaptive neural networks, and Halliburton has initiated patent protection for the technology.
Authentic simulation on the desktop. MATLAB allowed Schultz to write a script that pulls in the data and then to filter the signal and play it out—all with one program. “That’s pretty hard to beat!” he comments.
An accurate, production-standard algorithm. Schultz was able to develop a standalone application confident that it would function exactly as it had in MATLAB. “MATLAB really lets you get to the heart of the problem without worrying about the details,” he says.
Dramatic time savings. “Using MATLAB and MATLAB Compiler, I can develop an application at least 100 times faster than I could with Visual Basic or C,” says Schultz, adding “The time we saved on the very first application that we wrote in MATLAB more than paid for the software.”