616_1.pdf

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