NEW MODULAR ULTRASONIC SIGNAL PROCESSING BUILDING BLOCKS FOR REAL-TIME DATA ACQUISITION AND POST PROCESSING Walter H. Weber1, H. Douglas Mair2, and Dion Jansen2 ^TEX Scientific Instruments Inc., Mississauga, ON L5L 1A3, Canada Focal Point NDE Technologies, Mississauga, ON L5L 1A3, Canada 2 ABSTRACT. A suite of basic signal processors has been developed. These basic building blocks can be cascaded together to form more complex processors without the need for programming. The data structures between each of the processors are handled automatically. This allows a processor built for one purpose to be applied to any type of data such as images, waveform arrays and single values. The processors are part of Winspect Data Acquisition software. The new processors are fast enough to work on A-scan signals live while scanning. Their primary use is to extract features, reduce noise or to calculate material properties. The cascaded processors work equally well on live A-scan displays, live gated data or as a post-processing engine on saved data. Researchers are able to call their own MATLAB or C-code from anywhere within the processor structure. A built-in formula node processor that uses a simple algebraic editor may make external user programs unnecessary. This paper also discusses the problems associated with ad hoc software development and how graphical programming languages can tie up researchers writing software rather than designing experiments. CRISIS IN SOFTWARE DEVELOPMENT These days, development of commercial grade software has become a complex task that requires a software professional. Ad hoc software development, which usually doesn't produce commercial grade software, occurs when a casual programmer such as a researcher develops software to solve a specific job-related problem. There are many problems with ad hoc software development that can adversely affect the productivity of a research organization. Software written by academics is often considered to be disposable. Also, programs that are written using "easy to use" graphical languages such as Lab VIEW or MATLAB require major programming effort if they are to be made maintainable enough for commercial use. Eventually, software written using these graphical platforms also becomes disposable. The ever-widening gap between modern software development practices and those who are able to apply them has created a crisis in software development. Disposable Software Disposable software is often produced when a graduate student writes software to solve a specific problem and then moves on. Because the software is seldom written in a way that it can be reused, the next graduate student on the job makes no attempt to understand the previously written software and ignores it. Quite often, the new student recreates the work in another language or programming style. The greatest harm is done to CP657, Review of Quantitative Nondestructive Evaluation Vol. 22, ed. by D. O. Thompson and D. E. Chimenti © 2003 American Institute of Physics 0-7354-0117-9/03/S20.00 616 the research organization when time spent programming displaces time spent in the laboratory performing true academic research. The solution doesn't lie in creating better quality software but in not writing software in the first place. Researchers should only create what doesn't already exist. The new processing tools in Winspect were created so those researchers are able to concentrate all efforts on the development of reusable algorithms without the need for programming. It's important to spend time working on the algorithms that contain the intellectual property of the research group rather than interfacing to hardware or writing signal processing routines from scratch. An important benefit of using commercial grade software in this process is that technology transfer to industry is made that much easier. Graphical Languages The problem with graphical languages is that they make it so easy to create very poor software. In a relatively short period of time, a user interface can be created and then built upon. The more effort that goes into the project the more difficult it becomes to make structural changes. Algorithms and data structures remain locked in the source code rather than available for modification in the user interface where they belong. Simple tasks such as adding terms to equations or rearranging models forces the end-user to recompile the program. This limitation isn't acceptable in industry and therefore technology transfer of the intellectual property becomes a much bigger undertaking, as the technology transfer partner must rewrite everything. The solution lies in not attempting to create the whole system from too low a starting point. Graphical programming languages such as LabVIEW and MATLAB are tempting yet dangerous places to start. Early results always look promising, yet in the end, ever-increasing amounts of time are invested in the software. Eventually, the original authors of the software become the only people who can maintain it. The software often becomes disposable once the pain becomes too high. Researchers should create novel computational functions, not entire systems. RECENT ADVANCES The last decade has seen many improvements in PC operating systems, software development tools and computer hardware. These improvements give us an opportunity to change how we conceive of and build data acquisition and on-line analysis systems. Computer processors are now fast enough to handle much of the DSP load that at one time could only be handled by dedicated DSP hardware. New high-bandwidth interfaces allow instruments to move from the computer bus to devices distributed on Ethernet, USB, FireWire and Fiber Channel. These advances in bandwidth and processing power allow the analysis of raw data to be moved into a single processing space on the PC. For instance, stock signal processing routines can be used to increase the signal to noise ratio of raw ultrasonic data before more elaborate processors further analyze the data. Solved Problems These days, there isn't a need to reinvent basic functions that already exist such as motion control, data acquisition, basic waveform processing, instrumentation control, data manipulation and image presentation. In addition, there is now a generic processing engine that can nest any number of 617 basic processors together to form more complex processors without the need for programming. A built-in algebraic formula node processor that runs in real-time may make external user programs completely unnecessary. Basic Processors The processors shown in Figure 1 will operate on virtually any type of data. Output from one processor becomes the input to any processor that follows it in a simple listing of steps. This cascading process can include any number of basic processors and results in something we call a User Defined Processor. User defined processors in turn can be reused as a processing step in another user defined processor. The user does not need to be concerned about interfacing issues since the data structures are handled automatically. glGate 0A-Scanlnt Trig Gate 0 Ascan Amplitude 0FW Rectify 0 Envelope 0Butterworth Filter 0MatLab ID Processor 0Time to Distance rop Region 0 Magnitude 0Peak Width 0Peak Position 0S ingle Point 0Peak Center Position 0 Level Crossing Forward 0Level Crossing Backward 0C-Scan cross-section @ peak 0Spot Width Ratio 0 Percent Peak Width 0Rectangular crop 0Elliptical crop 0 Polygon crop 0C-Scan Polar Conversion 0C-Scan Spherical Polar Conversion 03D Polar Conversion 0dB Converter 0Remove Centering Offset 0Remove Undefined Points 0 Linearize 0Rescale 0 Rotate 01D Averaging Filter 02D Averaging Filter BSReference Subtraction 0TOFD 0 Average (1D) 0 Imaginary [3FIR Upsampler 01D Median Filter 02D Median Filter 01D FIR Filter 02D FIR Filter 0Chirp Filter 0Wall Thickness 0 Chirp Filter 0Wall Thickness ^Maximum (2D) @Minimum (2D) EJRange (2D) @Average(2D) ElMedian (2D) 0 S tandard D e viation (2D) , 0RMS (2D) 0Area (2D) 0Area above Threshold (2D) 0 Volume (2D) FIGURE 1. A listing of basic processors that can be nested to form more complex processors. 618 I My Cepstrum 1BW limits, FFL gate out DC, inverse FFL calc dist Gate A-ScanlntTrigGate Ascan Amplitude FW Rectify Envelope Butterworth Filter MatLabID Processor Time to Distance FFT Peak Width Peak Position Single Point Peak Center Position Butterworth Filter FFT Gate FFT Time to Distance FIGURE FIGURE2.2.User Userinterface interfaceshowing showinghow howa acomplex complexprocessor processorisiscreated createdusing usingbasic basicprocessors. processors. Complex ComplexProcessors Processors Figure22shows showshow howaauser-defined user-defined processor processor isis created. created. Each Each basic basic processor processor has has Figure propertiesthat thatmay maybebeedited editedby bythe theuser. user. For Forinstance, instance, the the Butterworth Butterworth filter’s filter's properties properties properties are: filter filtertype type(high (highpass passvs. vs.low low pass) pass) and and cutoff cutoff frequency. frequency. Data Data flows flows automatically automatically are: fromone oneprocessing processingstep steptotothe thenext. next. This This complex complex processor processor will will work work equally equally well well on on from liveA-scans A-scansdisplays, displays,gated gateddata, data,saved savedA-scans, A-scans,B-scans B-scans and and C-scans C-scans containing containing saved saved RF RF live data. data. TECHNOLOGYTRANSFER TRANSFERISSUES ISSUES TECHNOLOGY Hereare aresome someimportant importantsuggestions suggestionsififyou youare areplanning planning to to transfer transfer your your research research to to Here industry one day. industry one day. Determinewhere whereyour yourintellectual intellectualproperty propertyprovides provides value value and and concentrate concentrate only only on on Determine perfectingthat thatwork. work. Many Manysimple simpleideas ideasthat thattook tookyears yearsof of“research” "research"to to demonstrate demonstrate using using perfecting homemadesystem systemcan canbebeduplicated duplicatedusing using Winspect Winspect inin aa matter matter of of days. days. Time Time spent spent a ahomemade codingwhat whatoff-the-shelf off-the-shelfsoftware softwarecan candodobetter betterdetracts detractsfrom fromresearch researchresults. results. coding Vertically integrate integrate your your technology technology from from aa higher higher starting starting point point than than just just aa Vertically graphical programming language. There are data acquisition products available that can graphical programming language. There are data acquisition products available that can easily move new ideas from the laboratory to the factory floor in just weeks. easily move new ideas from the laboratory to the factory floor in just weeks. CONCLUSION CONCLUSION Thispaper paperhas hasdiscussed discussed how how researchers researchers can can impair impair their their research research results results by by This spending too much time duplicating the functionality of off-the-shelf software. We have spending too much time duplicating the functionality of off-the-shelf software. We have alsoshown shownhow howeven eventhe themost mostadvanced advancedsignal signalprocessing processing tools tools needed needed by by researchers researchers can can also be obtained without the need to write or maintain software. be obtained without the need to write or maintain software. 619
© Copyright 2025 Paperzz