Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
UPTEC F10 017
Examensarbete 30 hpFebruari 2010
3D Synthetic Aperture Technique for Ultrasonic Imaging
Annea Barkefors
Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student
Abstract
3D Synthetic Aperture Technique for UltrasonicImaging
Annea Barkefors
The group for non-destructive testing at Uppsala University has recently implementedthe phase shift migration method, which is a method to focus images acquiredunfocused using ultrasound. However, their work has been limited to 2D data, whilefor many applications the gathered data is 3D. This project has extended the oldimplementation to 3D data. The new implementation has been done in two differentways, giving one algorithm that works fast but needs much RAM, and one algorithmthat takes long time but works on smaller computers, not demanding as muchmemory. The fast algorithm works faster than the time it takes to acquire the rawdata, which makes real-time use realistic. To test the performance of the twoalgorithms with respect to image improvement, both against each other and againstthe previous 2D implementation, a number of experiments were carried out, whichshowed that, apart from processing time, the two new algorithms were equal inperformance. The experiments also showed that the obtained resolution in both x-and y-directions matched the theoretical discussion.
Sponsor: JernkontoretISSN: 1401-5757, UPTEC F10017Examinator: Tomas NybergÄmnesgranskare: Tadeusz StepinskiHandledare: Tomas Olofsson
Contents
Contents i
1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Ultrasonic Imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Project description . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Theory 7
2.1 2D Time Domain SAFT . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Frequency Domain SAFT: Phase Shift Migration . . . . . . . . . . 9
2.2.1 3D Phase Shift Migration . . . . . . . . . . . . . . . . . . . 92.2.2 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 152.2.4 Computational complexity . . . . . . . . . . . . . . . . . . . 19
2.3 Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Experiments 21
3.1 Needle target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 Contact testing of a copper block with side drilled holes . . . . . . 293.3 Immersion testing of a copper block with side drilled holes . . . . . 343.4 Immersion testing of an aluminium block with flat bottom holes . 383.5 Immersion testing of a copper block with flat bottom holes . . . . 413.6 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.7 Computational complexity . . . . . . . . . . . . . . . . . . . . . . . 48
4 Discussion and conclusions 51
Bibliography 55
A Matched filter 59
i
ii CONTENTS
B Envelope 63
C Nearfield/Farfield 65
List of Symbols and Abbreviations 67
List of Figures 68
List of Tables 71
Chapter 1
Introduction
1.1 Background
In the field of ultrasonic nondestructive testing (NDT), the objective is to allow
an object to be examined internally without damaging or putting any stress on the
material, which can be highly useful e.g. when searching for cracks in welds. One
approach to the problem is to transmit ultrasonic signals into the object and record
the echoes that comes back from discontinuities inside. A picture of the object is
then built by scanning an area and placing the recorded echoes from each position
in that area in a matrix. Doing this with an unfocused beam will give a picture with
poor resolution, difficult to interpret, and one way of improving the resolution could
be to use a focused beam. However, if using a focused beam, focus can only be
achieved in one depth at the same time, blurring the rest of the image. Therefore
other techniques need to be used.
One possible option is synthetic aperture imaging (SAI), a technique based on
coherent summation of ultrasonic signals received by a transducer in different loca-
tions in order to mimic a physical lens. There are many areas in which SAI, first
developed in the 1950s in radar systems, is useful, e.g. medical diagnostics, seismic
exploration and nondestructive testing.
In the field of NDT, SAI was first investigated in the 1970s and 80s, and showed
possibility to improve NDT applications. The technique was an implementation of
the synthetic aperture principle succesfully used in radar and sonar.
The simplest version of synthetic aperture imaging is known in NDT as SAFT
- Synthetic Aperture Focusing Technique - which uses delay-and-sum techniques to
mimic a physical lens. One of the advantages of SAFT is that it can achieve focusing
in all points simultaneously.
Even though SAFT theory has been known for a number of years in NDT, and
has been applied since the late 80s, it is still interesting, for as the modern comput-
1
2 CHAPTER 1. INTRODUCTION
Figure 1.1: The ultrasonic transducers used in the project. The left is an immer-sion transducer, and the right is a contact transducer.
ers grow more powerful, so does the practical use of real-time SAI implementations.
There are still problems within SAFT that can be developed with further research,
such as dealing with a layered structure in the object under examination. This has
traditionally been done in the time domain, but interest has recently turned to meth-
ods of solving the problem in the frequency domain instead, which is what this project
is adressing.
Section 1.2 will give a brief description of the transducer used for transmitting
and receiving ultrasonic pulses, as well as different ways of presenting ultrasonic data.
Further on in section 1.3, the project will be presented, with the goals set up. Chapter
2 will give a review on the theory for time-domain SAFT and frequency-domain
SAFT, known as phase shift migration. In chapter 3, a series of experiments will be
presented, and finally in chapter 4, the conclusions are summarized and discussed.
1.2 Ultrasonic Imaging
To be able to transmit and receive the ultrasonic pulses, an ultrasonic transducer can
be used. The transducer transforms electrical signals into ultrasound waves during
transmission, and during reception it does the opposite, and transforms ultrasound
waves to electrical signals that can be handled in a computer. In this project, two
different types of ultrasonic transducers have been used; the immersion transducer,
and the contact transducer, see figure 1.1.
In the so called monostatic case of ultrasound imaging, a single transducer is used
to scan an area of interest. There are different ways of representing the gathered
data, as seen in figure 1.3. At each point in the scanning area, the transducer sends
out an ultrasonic wave pulse, and receives the echoes from scatterers and reflectors
1.3. PROJECT DESCRIPTION 3
Figure 1.2: Setup for the immersed transducer.
within the region of interest (ROI) below the transducer, figure 1.2 shows the setup
for the immersed transducer. For every such measurement the received amplitude
can be plotted against time resulting in what is called an A-scan1, an example of
which is shown in figure 1.3(a). Figure 1.3(b) shows the envelope of the same A-
scan2. When scanning the transducer horizontally along the x- or y-axis and putting
the A-scan from each transducer position in a matrix, with the amplitude coded as
intensity, a B-scan image is obtained (figure 1.3(c)), and if instead using envelope
A-scans, an envelope B-scan is obtained, see figure 1.3(d). Envelope B-scans were
used to present the results in this project, since it can be more difficult for a user to
visually interpret the B-scan in figure 1.3(c) than the one in figure 1.3(d). Finally,
figure 1.3(e) shows a C-scan which is created by scanning in both x- and y-direction
and taking the maximum value of the received, enveloped, A-scans in a time-frame
[5].
1.3 Project description
In NDT, SAFT algorithms are commonly implemented in the time domain. How-
ever, when investigating objects immersed in water, or objects that have a layered
structure, refraction of the ultrasound signals impose problems when calculating prop-
agation delays necessary in the processing, that are difficult to solve. There are time-
domain techniques that adress and solve this problem, but recently there has been
an increased interest for techniques that implement SAFT in the frequency domain
instead. If implemented in the frequency domain with the use of a technique called
phase shift migration, the problem with inhomogeneities can be handled in a straight-
1The A is short for Amplitude2For a more detailed discussion on envelope, see Appendix B.
4 CHAPTER 1. INTRODUCTION
(a) A-scan (b) envelope A-scan
(c) B-scan (d) envelope B-scan
(e) C-scan
Figure 1.3: Different ways of presenting data in ultrasonic imaging.
forward way. The phase shift migation method has recently been implemented, but
limited to 2D data, and this project aimed at extending the implementation to 3D
data. The implementations were evalutated both in terms of imaging performance
and computational efficiency. The experimental data was collected from metal sam-
ples using contact tests as well as using an immersion setup.
Also, a time-domain SAFT algorithm was implemented with the intention of
running time-domain SAFT on the 2D frequency-domain processed data to obtain
(quasi) 3D processed data, and compare with the results from 3D frequency-domain
1.3. PROJECT DESCRIPTION 5
SAFT processing. That idea was abandoned in an early stage, due to issues with the
time-domain implementation.
1.3.1 Goals
In summary, the goals of this project were to:
1. Implement an algorithm for time-domain SAFT with the intention to run it on
data already processed with 2D frequency-domain SAFT in order to get quasi
3D processed data.
2. Extend 2D phase shift migration to 3D, and implement 3D phase shift migra-
tion. Two ways of doing this were considered:
a) one brute force implementation for fast processing on powerful computers,
and
b) one slower but more memory efficient implementation that works on com-
monly available computers.
3. Compare the performance of the different implementations with respect to
image quality and computational efficiency.
Chapter 2
Theory
This chapter will give a derivation of the theory for basic 2D time domain SAFT,
that cannot handle any changes in the speed of sound, thus restricting us to tests on
homogeneous isotropic objects. Then a derivation for 3D frequency domain SAFT, a
method called Phase Shift Migration, is given. This method allows for different speeds
of sound, as long as the boundary between two regions with different speed of sound
is in the same plane as the transducer. The problem of spatial aliasing that comes
with the Fourier transforms is adressed, and the two algorithms for implementing the
frequency domain theory that has been developed is presented. Finally, a discussion
is given of the resolution that can be expected in the final results.
2.1 2D Time Domain SAFT
Figure 2.1 illustrates the formation of a B-scan in the case of a single point scatterer.
The transducer is scanned in the x-direction, and because of the width of its main
lobe, it will receive echoes from the scatterer at other positions than directly above
it. The point scatterer will give rise to a hyperbolic pattern in the B-scan, due to the
difference in time the pulse echoe has to travel to reach the transducer’s different
positions during the scan, and the fact that, in the B-scan, all echoes appears as if
they are coming from directly beneath the transducer. The deeper the scatterer is
below the transducer, the wider the hyperbolic pattern. The width of the pattern will
also be dependent on the main lobe width of the transducer. The SAFT algorithm
take these hyperbolic patterns into account when reconstructing an image. Basically
what it does is that it goes through all the pixels in a B-scan image and calculates
how the hyperbolic pattern would look if the pixel were to contain a scatterer. Then
that pattern can be compared to the corresponding surrounding pixels, to determine
if there is actually a scatterer there.
7
8 CHAPTER 2. THEORY
Figure 2.1: When a transducer scans over a point scatterer, the scatterer will besmeared out into a hyperbola in the B-scan, due to the difference in travelingtimes for the transmitted pulses at different locations.
This discussion of time-domain SAFT will be confined to the xz-plane, shown in
figure 2.2, and under the assumption that the size of the transducer is infinitesimal [7],
the wavefronts will be circular. First, we consider the case when the ROI contains one
point scatterer, located at spatial coordinates ~xp = (xp, zp). When the transducer
transmits a pulse at position ~xn = (xn, 0), the transmitted pulse will reach the point
scatterer and be backscattered, the echo reaching the transducer after a time
tp(~xn) =2c|~xp − ~xn| =
2c
√z2p + (xn − xp)2, (2.1)
Figure 2.2: Geometry of the synthetic aperture
2.2. FREQUENCY DOMAIN SAFT: PHASE SHIFT MIGRATION 9
where c is the speed of sound. If the transmitted pulse is g(t), and assuming that
the scattered wave is nothing more than a scaled and delayed copy of the original
pulse, then the received echoed signal is
r(t, xn) = σpg(t− tp(~xn)
)= σpg
(t− 2
c
√z2p + (xn − xp)2
), (2.2)
where σp is the backscattering coefficient. Now, by neglecting all secondary and
higher order scattering, the received signal at transducer position ~xn, when the ROI
contains a collection of point scatterers, becomes
r(t, xn) =∑p
σpg
(t− 2
c
√z2p + (xn − xp)2
)(2.3)
The reconstructed image that is focused at all points in the region of interest is
calculated as a sum over all the points n in the synthetic aperture:
fm(zp, xp) =∑n
rm (tp(xn), xn) =∑n
rm
(2c
√z2p + (xp − xn)2, xn
), (2.4)
where rm(t, xn) is r(t, xn) matched filtered, in order to compensate for the phase shift
introduced to the signal from the transducer, both at transmission and reception1.
In order to reduce the sidelobes, apodization weights wn can be used [5], which gives
the reconstructed image as
fm(zp, xp) =∑n
wnrm
(2c
√z2p + (xp − xn)2, xn
). (2.5)
A limitation to this implementation of time-domain SAFT is that it can only
handle scans taken over a volume of constant speed of sound. This means that the
data gathering is confined to contact inspection of homogeneous isotropic objects.
2.2 Frequency Domain SAFT: Phase Shift Migration
This section will start with a description of frequency domain SAFT in 3D, called
phase shift migration (PSM) [2], and then present two algorithms for implementa-
tion in the frequency domain. Frequency domain SAFT in 2D is a straightforward
simplification of the theory for 3D.
2.2.1 3D Phase Shift Migration
To start off, we consider the case when the scatterer is exchanged to a source of ul-
trasonic waves, exploding at time t = 0, and then adapt the results to the monostatic
case when a pulse is sent out by a transducer and reflected back by a scatterer.
1For a more detailed discussion on the matched filter, see Appendix A
10 CHAPTER 2. THEORY
If p(x, y, z, t) denotes the field propagating in the xyz-space, the wave will satisfy
the 3D scalar wave equation:[∂2
∂x2+
∂2
∂y2+
∂2
∂z2− 1c2
∂2
∂t2
]p(x, y, z, t) = 0, (2.6)
where c is the speed of sound in the medium in which the wave propagates.
By taking the Fourier transform of the wave equation over x, y, z and t, we get(−k2
x − k2y − k2
z +ω2
c2
)P (kx, ky, kz, ω) = 0, (2.7)
where kx, ky and kz are components of the wave number vector2, and ω is the
angular frequency.
A non-trivial solution to (2.7) satisfies
k2x + k2
y + k2z =
ω2
c2, (2.8)
which gives kz as
kz = ±√ω2
c2− k2
x − k2y. (2.9)
If now instead of taking the Fourier transform over all the variables, it is only
taken over x, y and t, leaving z, we get[−k2
x − k2y +
∂2
∂z2+ω2
c2
]P (kx, ky, z, ω) = 0. (2.10)
Combining equations (2.9) and (2.10), gives the ordinary differential equation[∂2
∂z2+ k2
z
]P (kx, ky, z, ω) = 0, (2.11)
which has the non-trivial solution
P (kx, ky, z, ω) = Ae±jkzz. (2.12)
Boundary conditions at z = 0, gives A = P (kx, ky, z = 0, ω).
Only upgoing waves traveling toward the receiving element are interesting, which
corresponds to only considering negative ω. This together with apropriate choices of
signs in (2.9) and (2.12), gives the solution
P (kx, ky, z, ω) =
P (kx, ky, z = 0, ω) exp{j√
ω2
c2− k2
x − k2yz} for ω < 0
0 otherwise,
(2.13)2The wave number vector k is defined as the vector with magnitude |k| = k = 2π
λ=√
k2x + k2
y + k2z [ rad
m] and orientation in the direction of the wave propagation.
2.2. FREQUENCY DOMAIN SAFT: PHASE SHIFT MIGRATION 11
which relates the field measured at the plane z = 0 to the field that would have been
measured at a depth z 6= 0, had the sensor been placed there. Here the reason for the
name phase shift migration can be found, as equation (2.13) introduces a phase shift
to the signals. The field p(x, y, z, t) can be recovered by taking the inverse Fourier
transform with respect to kx, ky and ω. If there is a source exploding at t = 0 at a
particular depth z, the field from the source will be maximally concentrated in space
at time t = 0. Therefore, reading the field for every point in depth z at time t = 0,
will give an image with optimal lateral resolution.
The 3D inverse Fourier transform of (2.13) is taken to obtain
p(x, y, z, t = 0) =∫∫∫
P (kx, ky, z, ω)ejkxxejkyydkxdkydω
=∫∫ [∫
P (kx, ky, z, ω)dω]ejkxxejkyydkxdky, (2.14)
where it is used that ejωt = 1 for t = 0. Note that the 3D inverse transformation
can be done by integrating P (kx, ky, z, ω) over ω, and then taking the 2D inverse
Fourier transform with respect to kx and ky.
So far the discussion has been limited to a homogeneous medium, with the speed
of sound being constant. However, if the inspected region has a layered structure
with the speed of sound only depending on z,
c(z) =
c0 for z ∈ [0, z0]
c1 for z ∈ (z0, z1]...
cL for x ∈ (xL−1, zL],
(2.15)
the solution at a layer interface can be taken as a boundary condition for the next
layer. This gives, for z belonging to the l:th layer, the general solution
P (kx, ky, z, ω) = P (kx, ky, z = 0, ω)exp
{j
((l−1∑m=0
√ω2
c2m
− k2x − k2
y∆m
)+
+
√ω2
c2l
− k2x − k2
y(z − zm−1)
)}, (2.16)
where cm is the speed of sound in the m:th layer, and ∆m is the thickness of that
layer.
It is also worth noting that,due to z being present only in the exponent of (2.13),
the solution for P (kx, ky, z, ω) can be calculated recursively. If P (kx, ky, z, ω) is
known, P (kx, ky, z + ∆z, ω) can be calculated as
P (kx, ky, z + ∆z, ω) = P (kx, ky, z, ω) exp
{j
√ω2
c2l
− k2x − k2
y∆z
}. (2.17)
12 CHAPTER 2. THEORY
If ∆z is kept constant, the exponents will be the same for each step within a
layer of constant speed of sound. Therefore, they can be calculated in advance and
stored to make calculations faster.
As was said at the top of this section, the assumption behind the previous discus-
sion is that the scatterer is an exploding source. In this project, that is not the case,
and the equations need to be adapted to the monostatic case. There are two major
differences that need to be compensated for. One is that in the monostatic case, the
sound travels twice the distance, which can be seen as if it travels the same distance,
but with half the speed. Therefore, the changes that need to be made is that the
speed of sound c is changed to c/2 in all the equations. As an example, making this
change to eq. (2.17) yields
P (kx, ky, z + ∆z, ω) = P (kx, ky, z, ω) exp
{j
√4ω2
c2− k2
x − k2y∆z
}. (2.18)
The other difference is that the electro-acoustical properties of the transducer
influence the signal, both at transmission and reception. This introduces a phase
shift in the signal, along with a band-pass filtering. A way to compensate for the
phase shift is to use a matched filter on the measured signal before the algorithm is
applied3. The impulse response of the matched filter should describe the combined
effect of the transducer from transmission and reception, and can be measured as
the response from a reflector in the far field. In the frequency domain the matched
filtering is done for each aquired signal s(xn, yn, z = 0, t), as
PMF (xn, yn, z = 0, ω) = S(xn, yn, z = 0, ω)H(ω), (2.19)
where S(xn, yn, z = 0, ω) is the Fourier transform of s(xn, yn, z = 0, t) with respect
to t and H(ω) is the frequency response of the matched filter.
2.2.2 Aliasing
In the derivation of the algorithm for phase shift migration, the data is assumed to
be measured continuously, but in an implementation, one has to work with discrete
data, both in time and space. This means that all the Fourier transforms used in the
algorithm are exchanged to discrete Fourier transforms (DFT), implemented using the
computationally more efficient Fast Fourier Transform (FFT). However, when dealing
with transforms of discrete data, one always has to consider the aliasing problem. In
this project, the temporal sampling frequency is well above the Nyquist criterion so
that no temporal aliasing will occur, but there might be spatial aliasing, which, if not
taken care of, will degrade the results.
If Nx is the number of samples taken during one scan in the x-direction, and ∆xis the spatial sampling length, then the area under the transducer that is ”seen”, or
3For a more detailed discussion on the matched filter, see Appendix A
2.2. FREQUENCY DOMAIN SAFT: PHASE SHIFT MIGRATION 13
Figure 2.3: Geometry of the insonified area below the transducer and ROI forone scan in the x-direction.
insonified, during one scan is shown approximated as the fan-shaped shaded area in
figure 2.34. Also shown in figure 2.3 is the ROI, and the angle θ between the x-axis
and the boundary of the insonified area; in this analysis it is assumed that the speed
of sound is the same everywhere in the insonified area, since the angle θ depends on
the speed of sound.
When calculating the DFT, followed by the inverse DFT, of a discrete signal x[n]of length N , the result is [8]:
x[n] =inf∑
r=− inf
x[n− rN ], (2.20)
that is, a periodic signal built up by replicas of the original signal with a period N .
Figure 2.4 shows the synthetic aperture and insonified area from figure 2.3, replicated
with a period Nx∆x, which is the length of the synthetic aperture. Aliasing will occur
where the fan-shaped areas overlap due to this periodicity. If, as in the figure, the
ROI is placed where the fan-shaped areas overlap, there will be spatial aliasing in the
reconstructed image. In order to avoid the aliasing, zero-padding can be used, to
such extent that the aliasing areas from figure 2.4 do not overlap with the ROI, as is
demonstrated in figure 2.5.
The minimum number of appended zeros in the x-direction required for avoiding
aliasing is, according to [4]
Nx,min =
⌈Wx2 + zmax
tan(θ) + Nx∆x2
∆x
⌉, (2.21)
where Wx is the width of the ROI in the x-direction, zmax is the maximum z-value
of the ROI, and d·e is the ceiling operator.4In reality, the shape of the illuminated area depends on the beampattern of the transducer
14 CHAPTER 2. THEORY
Figure 2.4: Aliasing occurs due to the periodicity imposed by the DFT andinverse DFT.
For a circular source with diameter D (which is what has been used in this
project), θ is calculated as (see chapter 4 in [3])
θ =π
2− arcsin
(1.22
λ
D
), (2.22)
where λ is the pulse wave length.
When doing zero-padding to avoid aliasing, one should have in mind that the FFT
is optimized for transforming sequences with lengths that are powers of 2. Therefore
the number of appended zeros should be rounded up from Nx,min in eq. (2.21) to
make Nx,zp a power of 2 (Nx,zp is the number of points in the x-direction after zero
padding).
Figure 2.5: With zero-padding, aliasing is avoided in the ROI.
2.2. FREQUENCY DOMAIN SAFT: PHASE SHIFT MIGRATION 15
2.2.3 Implementation
In this project, 3D phase shift migration has been implemented with two different
algorithms, the first algorithm requiring much memory but working faster, making
it suitable for powerful computers with much RAM. The second algorithm is slower,
but requires less memory, allowing it to work on smaller computers. Here both these
algorithms will be presented.
Both algorithms take advantage of the nulling out of positive frequencies, as
well as of knowing that the transmitted pulses are bandlimited, which means that
the received echoes after matched filtering will also be bandlimited. By examining
the amplitude spectra of the echoes, the frequency range where there are non-zero
frequencies can be found, and the summation over frequencies needs not be done
outside this range, which is referred to below as the frequency interval of interest.
We let s[xm, yn, z = 0, ti] denote the discrete signal aquired at transducer position
(xm, yn), for 0 ≤ i ≤ Nt − 1, where Nt are the numbers of time samples in each
aquired signal (A-scan), each separated by the sampling time ∆t. Each A-scan is put
in a three dimensional array of size Nx ·Ny ·Nt, where Nx and Ny is the number of
points in the x− and y− directions, separated by the spatial sampling distance ∆xand ∆y, respectively. After the reconstruction the new block is of size Nx ·Ny ·Nz,
where Nz can be chosen arbitrarily as the number of z-values, separated by the
difference ∆z, which is also chosen by the user. Together, Nz and ∆z determine the
height of the ROI.
Regardless of which algorithm is chosen, zero-padding should be made to avoid
aliasing, as well as matched filtering to compensate for the effects introduced to
the signals by the transducer, see appendix A. The matched filtering is conveniently
combined with the nulling out of positive frequencies, see section 2.2.1. This is done
in the following two steps:
1. To avoid aliasing, zero-pad the data in all three dimensions:
szp[xm, yn, z = 0, ti] =
s[xm, yn, z = 0, ti] for
m ∈ [0, Nx − 1]
n ∈ [0, Ny − 1]
i ∈ [0, Nt − 1]
0 for
Nx ≤ m ≤ Nx,zp
Ny ≤ n ≤ Ny,zp
Nt ≤ i ≤ Nt,zp,
(2.23)where Nx,zp, Ny,zp and Nt,zp are the numbers of points in the x-, y- and z-
directions after zero padding. For a discussion on the aliasing effects and how
to choose the number of appended zeros, see Section 2.2.2.
2. For m = 0 . . . Nx,zp − 1 and n = 0 . . . Ny,zp − 1; that is, for each A-scan in
the data cube, apply a matched filter and at the same time null out positive ω,
16 CHAPTER 2. THEORY
corresponding to waves traveling downwards. This is done by first calculating
the discrete Fourier transform (preferably by using the FFT) for s[xm, yn, z =0, ti] with respect to t
S[xm, yn, z = 0, ωs] =Nt−1∑i=0
s[xm, yn, z = 0, ti]e−jωsti , (2.24)
followed by the matched filtering combined with nulling out the positive side
P [xm, yn, z = 0, ωs] =
{S[xm, yn, z = 0, ωs]H[ωs] if ωs < 0
0 otherwise,(2.25)
where H[ωs] is the transfer function of the matched filter. Due to the period-
icity of the Fourier transform, taking ωs < 0 is equivalent to taking the upper
half of the spectrum.
Finally the inverse Fourier transform
p[xm, yn, z = 0, ti] =Nt−1∑ωs=0
P [xm, yn, z = 0, ωs]ejωsti (2.26)
is taken to obtain the matched filtered A-scan. Now the data is ready to be
migrated.
Note, though, that if there is a time delay between when the transmission and
when the measurements starts, this has to be dealt with in some way in order
to be able to implement the theory. One way is to zero-pad the data in the
z-direction with as many zeros as samples that have been ignored due to the
time delay, so that each A-scan would be
A-scanzp =
0...
0A-scan
. (2.27)
Another, and better, way of compensating for the time delay is to make a
phase shift to each A-scan in the frequency domain, corresponding to the time
delay5. This can be combined with the matched filtering, and equation (2.25)
then becomes
P [xm, yn, z = 0, ωs] =
=
{S[xm, yn, z = 0, ωs]H[ωs] exp(−jωs · τ · Fs) if ωs < 0
0 otherwise.(2.28)
where τ is the introduced time delay, and Fs is the temporal sampling frequency.
With one of these modifications to the A-scans, the algorithms below can be
followed as if there were no time delay.
5This approach is preferable as long as there is no need for zero-padding in time.
2.2. FREQUENCY DOMAIN SAFT: PHASE SHIFT MIGRATION 17
Algorithm 1
1. Perform a 3-dimensional FFT on the data cube:
P [kx, ky, z = 0, ωs] =∑m
∑n
∑i
p[xm, yn, z = 0, ti]e−jkxxme−jkyyne−jωsti
(2.29)
2. If the first z-value in the ROI is z0 6= 0, use eq. (2.18) to migrate the data so
that when the iteration over zp starts, the initial z-value is z0. The calculation
should be done for all kx ∈ [− π∆x ,
π∆x) in steps of 2π
Nx,zp∆x , ky ∈ [− π∆y ,
π∆y ) in
steps of 2πNy,zp∆y and for all frequencies ωs in the frequency interval of interest:
P [kx, ky, z = z0, ωs] = P [kx, ky, z = 0, ωs]·
· exp
{j
√4ω2
s
c2− k2
x − k2yz0
}. (2.30)
3. Set z0 to the first z-value of the ROI, and do the following for all p = 1 . . . Nz−1:
a) Use eq. (2.18) to calculate, for the same values of kx, ky and s as in item
2,
P [kx, ky, zp+1, ωs] = P [kx, ky, zp, ωs] exp
{j
√4ω2
s
c2− k2
x − k2y∆z
},
(2.31)where zp+1 = zp + ∆z.
b) Calculate the field p(x, y, zk+1, t = 0) by an integration over ω followed
by a 2D inverse Fourier transform:
p[xm, yn, zp+1, t = 0] =∑kx
∑ky
(∑s
P [kx, ky, zp+1, ωs]
)ejkxxmejkyyn ,
(2.32)and assign p[x, y, zp+1, t = 0] to the (p+ 1):th image plane.
Algorithm 2
In this algorithm, the frequencies are processed one by one, instead of processing the
entire data cube at the same time. This makes the 3-dimensional Fourier transform in
Algorithm 1 unnecessary, and the 3-dimensional data cube is broken down into many
2-dimensional matrixes which needs not nearly as much memory to be processed, but
in turn it takes more time.
The algorithm goes as follows:
18 CHAPTER 2. THEORY
1. For each A-scan, do a Fourier transform
S[xm, yn, z = 0, ωs] =∑i
s[xm, yn, z = 0, ti]e−jωsti . (2.33)
Note that this step can be combined with the second item of the preparations
above.
2. Allocate a three-dimensional array with zeros of size Nx,zp · Ny,zp · Nz,zp for
the reconstructed data cube:
Res = zeros(Nx,zp, Ny,zp, Nz,zp) (2.34)
3. For each frequency ωs in the frequency interval of interest, extract the two-
dimensional matrix of size Nx,zp ·Ny,zp that contains the x− and y−values for
that frequency, and do the following:
a) Perform a 2-dimensional Fourier transform of the matrix:
P [kx, ky, z = 0, ωs] =∑nx
∑ny
p[xm, yn, z = 0, ωs]e−jkxxme−jkyyn
(2.35)
b) If the first z-value in the ROI is z0 6= 0, use eq. (2.18) to migrate the data
so that when the iteration over zp starts, the initial z-value is z0. The
calculation should be done for all kx ∈ [− π∆x ,
π∆x) in steps of 2π
Nx,zp∆x ,
ky ∈ [− π∆y ,
π∆y ) in steps of 2π
Ny,zp∆y :
P [kx, ky, z = z0, ωs] = P [kx, ky, z = 0, ωs]·
· exp
{j
√4ω2
s
c2− k2
x − k2yz0
}. (2.36)
c) Set z0 to the first z-value of the ROI, and do for all p = 1 . . . Nz:
i. Use eq. (2.18) to calculate, for the same values of kx, ky and s as
in item 3b
P [kx, ky, zp+1, ωs] = P [kx, ky, zp, ωs] exp
{j
√4ω2
s
c2− k2
x − k2y∆z
}(2.37)
ii. Calculate the contribution to the field from the particular frequency
ωs by a 2D inverse Fourier transform
ps[xm, yn, zp+1, t = 0] =∑kx
∑ky
P [kx, ky, zp+1, ωs]ejkxxmejkyyn ,
(2.38)where ps(·) denotes the contribution to the field from the s:th fre-
quency, and add it to the (p+ 1):th image plane in Res:
Res(:, :, p+ 1) = Res(:, :, p+ 1) + ps[xm, yn, zp+1, t = 0] (2.39)
2.3. RESOLUTION 19
2.2.4 Computational complexity
When implementing the two algorithms described in section 2.2.3 in Matlab, there
are a few bottlenecks where most of the computation time is spent. In Algorithm
1, the most time consuming part is the phase shift in item 3a, where around 60 %
of the computation time is spent, and evaluating the time it takes can give a good
approximation for the time the whole algorithm takes. This part of the algorithm is
in a for-loop, with the number of iterations growing linearly with Nz, and the time
for every iteration being O(NxNyNz), making the whole algorithm O(NxNyN2z ). In
Algorithm 2, the most time consuming part is the Fourier transform and the adding
of contributions to the field in item 3(c)ii. These two operations are in a nested
for-loop, making the total number of iterations grow with N2z . Every iteration takes
approximately Nx log2(Nx) +Ny log2(Ny) +NxNy complex operations, causing the
time for each iteration to be O(NxNy) for large Nx and Ny. All in all, this means that
the time for Algorithm 2 is also O(NxNyN2z ), although the proportionality constant
is much higher for the second algorithm than the first, resulting in calculation times
for the two algorithms that differ more with respect to each other as Nx and Ny
grow.
2.3 Resolution
In this section, expressions for the resolution will be given, both in z-direction and
x- and y-direction. However, these expressions should be taken somewhat lightly,
since they are not always directly applicable for the experimental setup used in this
project. There are two major differences between the theoretical assumptions and
the experimental setup. First, there is an assumption that the speed of sound, c,
is constant, which is only true if there is a homogeneous isotropic medium. In
many of the experiments in this project, the measurements have been taken using
an immersion setup, with the speed of sound being dependent on depth. Second,
there is an assumption that a single frequency is used in transmission, whereas in the
experiment fairly wideband pulses have been used, with the bandwidth of the pulses
being greater than their center frequency. The resolution in depth (z-direction) is
proportional to the wavelength λ of the pulses
λ =c
f, (2.40)
where c is the speed of sound and f is the center frequency of the pulse. However,
since we are only interested in the monostatic case, the effective wavelength is
λeff =c
2f, (2.41)
since halving the speed of sound corresponds to the waves travelling the double
path (see section 2.2.1). The resolving capacity in depth is then half the effective
20 CHAPTER 2. THEORY
Table 2.1: Resolving power in depth in different materials.
Material Speed of sound Resolving power[ms−1] [m]
Water 1500 1.67 · 10−4
Copper 4690 5.21 · 10−4
Aluminium 6330 7.03 · 10−4
wavelength, giving the final expression [1]
δz =c
4f. (2.42)
The pulses used in this project all had a center frequency of around 2.25 MHz, and
inserting that in equation (2.42) together with the speed of sound for the different
materials used, give the resolution power in table 2.1. There is no benefit of choosing
∆z in equations (2.31) and (2.37) smaller than the resolving power in depth.
The resolution in x- and y-direction in the monostatic case is derived from the
resolution of a physical array the same size as the synthetic aperture. The synthetic
aperture has two times finer resolution than the physical array, again because of
halving the speed of sound, which gives the effective halfpower beamwidth of the
synthetic aperture with length Leff as[10]
δx,y =Rλ
2Leff, (2.43)
where λ is the wavelength and R is the distance of the scatterer from the synthetic
aperture. For a circular transducer, the length of the synthetic aperture at a distance
R is
Leff =Rλ
d, (2.44)
where d is the diameter of the transducer. Combining the two equations give the
resolution as
δx,y =d
2. (2.45)
Worth noting about the resolution is that both δz and δx,y are independent of
depth6.
6Although δz is only independent of depth for media without attenuation.
Chapter 3
Experiments
A number of experiments were carried out to test the performance of the different
implementations with regard to resolution and computational efficiency. Also the
effects of spatial aliasing was investigated.
There were four immersion experiments, carried out in a water tank using a
circular transducer with 10 mm diameter and center frequency 2.25 MHz, and one
contact scan, also using a circular transducer with center frequency 2.25 MHz but
with a diameter of 15 mm, and water as contact agent1. The bandwidth of the
ultrasonic pulses sent through the transducers was approximately 3.1 MHz. The
measurements were taken with a sampling frequency of 25 MHz, and the spatial
sampling lengths ∆x and ∆y were 1 mm. When processing the data, ∆z from
section 2.2 was set to 10−4 m.
In the immersion experiments, the 10 mm transducer gives a theoretical resolution
in the xy-plane of δx,y = 5 mm, using equation (2.45). In the contact experiment,
the same equation gives δx,y = 7.5 mm for the 15 mm transducer used. Note,
though, that these measures of resolution are theoretically correct for the case of
a single frequency pulse and constant speed of sound, see section 2.3, and none
1The contact scan was also performed in the water tank, with the water level just above thescanned object.
Table 3.1: Speed of sound in different materials.
Material Speed of sound[ms−1]
Water 1500Copper 4690Aluminium 6330
21
22 CHAPTER 3. EXPERIMENTS
of these assumptions are met in the immersion experiments. When calculating the
experimental resolution, linear interpolation has been used when necessary.
Table 3.1 shows the materials used in the experiments, and the speed of sound
for those materials.
The first experiment, which was a scan of a needle immersed in water, is presented
in section 3.1. The acquired data was processed with 2D time domain SAFT, 2D PSM
and both algorithms for 3D PSM. The acquired data from the following experiments
was processed with 2D PSM and 3D PSM with Algorithm 1 from section 2.2.3.
Section 3.2 presents results of a contact scan of a copper block with side drilled holes,
and the same copper block was scanned one more time, but with an immersion setup,
in section 3.3. Section 3.4 presents results of an immersion scan of an aluminium
block with flat bottom holes, and the last experiment was an immersion scan of a
copper block with flat bottom holes, which is presented in section 3.5. Moving on, in
section 3.6 the theory from section 2.2.2 of spatial aliasing is tested on data from the
contact scan of a copper block with side drilled holes. Finally, section 3.7 looks at
the computational complexity of Algorithm 1 and Algorithm 2 from section 2.2.3
by comparing computation times with data of different sizes.
3.1. NEEDLE TARGET 23
Figure 3.1: Experiment setup for a needle target immersed in water. The needleis placed horizontally, in the xy-plane.
3.1 Needle target
To test the performance of the implementations of time-domain SAFT and phase shift
migration (both in 2D and 3D), a simple experiment was set up with a needle target,
0.3 mm in diameter, immersed in water. The needle was placed horizontally 107 mm
below the transducer, which was also immersed in the water, and measurements were
acquired over an area that covered 20 mm of the length of the needle and 10 mm
of empty water in the y-direction, and 30 mm in the x-direction crossing the needle;
figure 3.1 shows the setup of the experiment (note that the scaling is not accurate).
The B-scan at y = 15 mm was selected (figure 3.2), and used for processing
with time-domain SAFT, and 2D phase shift migration. The whole datacube was
24 CHAPTER 3. EXPERIMENTS
Figure 3.2: Original envelope B-scan of a needle target immersed in water.
processed with 3D phase shift migration, both with Algorithm 1 and Algorithm 2
(see section 2.2), with the frequency interval for Algorithm 2 set to 2.1 Mhz - 2.5MHz. The reconstruction results are shown in figures 3.3, 3.4, 3.5 and 3.6.
For ease of comparison, a profile plot was made of the results from the different
algorithms, by projecting the maximum amplitudes in the Bscan on the x-axis, which
can be seen in figure 3.7. Also, the halfpower resolution in x-direction for the different
results was calculated, and put in table 3.2. It is obvious from figure 3.7, as well
as from table 3.2, that the implementation of time domain SAFT is not performing
nearly as well as the implementations in frequency domain. Therefore it is not used
in further experiments. The reason for the poor performance of the implementation
could be that it is very simple, with the approximated hyperbolic patterns only one
pixel thick. A better approach could be to use interpolation of neighbouring pixels
when comparing the calculated pattern to the pixels in the B-scan image.
It can also be seen in figure 3.7 that the maximum is shifted in the profiles of
the frequency-domain processed data compared to the original data. This is because
the transducer was not completely horizontal during the scan, and therefore the
hyperbolic pattern in the original B-scans are slightly skewed, see figure 3.2, leading
to the illusion that the needle target is located more to the left than what is really the
case. The PSM algorithms will compensate for this effect, so that after processing,
the scatterer is moved to its true location. The time-domain SAFT algorithm should
also do this compensation, but it has not moved the top as far as the frequency-
3.1. NEEDLE TARGET 25
Figure 3.3: Result from time-domain SAFT processing of data aquired from anexperiment with a needle target immersed in water.
Figure 3.4: Result from 2D phase shift migration of data aquired from an exper-iment with a needle target immersed in water.
26 CHAPTER 3. EXPERIMENTS
Figure 3.5: Result from 3D phase shift migration, with Algorithm 1, of dataaquired from an experiment with a needle target immersed in water.
Figure 3.6: Results from 3D phase shift migration, with Algorithm 2, of dataaquired from an experiment with a needle target immersed in water.
3.1. NEEDLE TARGET 27
Figure 3.7: Profile plot of the needle target from the original data, the time-domain SAFT processed data, and the frequency-domain SAFT processed data,both from the 2D algorithm and the 3D Algorithm 1.
domain PSM algorithms did, probably because of its poor performance, as mentioned
earlier.
The results from the two algorithms for 3D migration should be approximately
the same, apart from round-off errors and possible errors due to the frequency range
having been chosen too small for Algorithm 2, since they are implementing the
exact same theory, only in different ways. To compare the results from those two
processings, another profile plot was made, only showing those results, see figure 3.8.
As expected, there is no difference between the profile for the results from Algorithm
1 and the profile for the results from Algorithm 2.
It can be seen from table 3.2 that the resolution after the frequency domain im-
plementations are slightly better than the theoretical resolution δx = 5mm, which
could be related to the problems with violation of the assumption behind the the-
oretical resolution of a single frequency pulse, as discussed in section 2.3. It might
also be related to the fact that the particle velocity at the transducer surface was not
uniform, thus giving the transducer a smaller effective diameter, which would give
a smaller resolution since there is a direct relationship between the diameter of the
transducer and the resolution.
28 CHAPTER 3. EXPERIMENTS
Figure 3.8: Comparison of the profile plots of the needle target made from theresults after processing the data with 3D phase shift migration using Algorithm1 and Algorithm 2. The two curves completely overlap, as expected.
Table 3.2: Halfpower resolution in x-direction for a needle, 0.3 mm in diameter,in the original data, the data processed with time domain SAFT, and the dataprocessed with 2D and 3D phase shift migration. The theoretical resolution is 5mm.
Original data After td SAFT After 2D PSM After 3D PSMδx[mm] δx[mm] δx[mm] δx[mm]
7.2 6.5 4.1 4.0
3.2. CONTACT TESTING OF A COPPER BLOCK WITH SIDE DRILLED HOLES29
Figure 3.9: Experiment setup for contact testing of a copper block.
3.2 Contact testing of a copper block with side drilled
holes
The case with an immersed needle is very simple, and the echoes that are reflected
back to the transducer are strong and quite noise free, as can be seen in figure 3.2.
In order to test the algorithms on a more difficult object, a contact test with water as
contact agent was made of a 74 mm thick copper block with 15 side drilled holes at
descending depths, each 1 mm in diameter, 4 mm apart in height and 15 mm apart
in width. The holes were drilled 27 to 31 mm into the copper block. The transducer
scanned an area of 230 mm in the x-direction, and 20 mm in the y-direction, where
12 mm were over the holes (see figure 3.9), and 14 of the 15 holes were fully covered
in the measurements. The front- and backwall echoes from the copper block were
removed from the acquired A-scans in order to avoid any problems with saturation,
since those echoes are far stronger than echoes from the holes within the block.
30 CHAPTER 3. EXPERIMENTS
Figure 3.10: Original envelope B-scan of a copper block with 15 side drilled holes,of which 14 are fully captured by the transducer.
The envelope B-scan extracted from the data cube at y = 7 mm in figure 3.10
shows that the strength of the echoes decreases with the depth of the holes in the
copper block. There is a horizontal line in the B-scan at t = 6.4 µs; this is an echo
that comes from the front surface of the copper block to the surface of the water
that was used during the scan as contact agent, and then back to the transducer.
The gathered data was processed with 3D phase shift migration using Algorithm
1 (see section 2.2.1), and the result for y = 7 mm is shown in figure 3.11, from which
can be seen that the holes closest to the front surface of the copper block are not
resolved as good as the holes deeper into the block. This could be associated with
the holes with poorer resolution being within the nearfield2 of the transducer. For
a transducer with a diameter of 15 mm, sending into copper, the nearfield/farfield
limit is 27 mm.
Profile plots were made from both original and migrated data for the same y-
value, and are shown overlaid in figure 3.12, and the resolution of the holes were
calculated both before and after processing, and put in table 3.3. In the profile plot,
there are two anomalies, that could both be associated with bad coupling between
the copper sample and the transducer. First, the amplitudes of the profiles are not
strictly decreasing with depth, as they should be, and second, in the original data,
the deepest holes are not smooth as the shallower ones, but ragged.
2For the definition of nearfield, see appendix C.
3.2. CONTACT TESTING OF A COPPER BLOCK WITH SIDE DRILLED HOLES31
Figure 3.11: One cross-section of the results from 3D phase shift migration usingAlgoritm 1 of the data collected from a contact scan of a copper block with sidedrilled holes.
From table 3.3, it can be seen that the experimental resolution is actually slightly
better than the theoretical resolution of 7.5 mm. This could be related to the
problems with violation of the assumption of a single frequency pulse behind the
theoretical resolution, as discussed in section 2.3. It could also be that the transducer
had a smaller effective diameter, giving a smaller resolution.
Finally, C-scans were made of both sets of data, and are presented in figures 3.13
and 3.14.
32 CHAPTER 3. EXPERIMENTS
Figure 3.12: Profile plots for the original data in figure 3.10 and the processeddata in figure 3.11
Figure 3.13: Original C-scan of a copper block with side drilled holes.
3.2. CONTACT TESTING OF A COPPER BLOCK WITH SIDE DRILLED HOLES33
Figure 3.14: C-scan of a copper block with side drilled holes after 3D PSM withAlgorithm 1.
Table 3.3: Halfpower resolution in x-direction for side drilled holes in a copperblock, each 4 mm in diameter, in the original data, and after processing with 3Dphase shift migration. The theoretical resolution is 7.5 mm.
Hole number Original data After 3D PSMδx[mm] δx[mm]
1 7.6 8.52 6.9 7.43 6.8 7.94 6.3 6.65 6.9 6.16 7.2 6.27 7.2 6.38 8.5 6.19 9.7 610 9.3 5.911 8.8 5.912 11.2 5.713 9.7 6.314 14.3 5.3
34 CHAPTER 3. EXPERIMENTS
Figure 3.15: Setup for immersion testing of a copper block with 15 side drilledholes, of which 14 are fully captured by the transducer.
3.3 Immersion testing of a copper block with side drilled
holes
While the theory for basic time domain SAFT from section 2.1 only allows one speed
of sound in the examined material, phase shift migration should work also in the case
when the speed of sound changes in the material. To test that part of the theory,
another test was done on the copper block from section 3.2, but this time with an
immersion setup, as shown in figure 3.15. Figure 3.16 shows the original envelope
B-scan at y=7 mm.
The gathered data was processed with 3D phase shift migration, using Algorithm
1 from section 2.2.1, and the result for y=7 mm is shown in figure 3.17. In order
to more easily be able to compare the results of this section to those of section
3.2, profile plots were made of both the original and the processed data, and are
shown overlaid in figure 3.18. From the profile plots, the resolution in x-direction
were calculated and are presented in table 3.4, from which can be seen that the
experimental resolution is actually smaller than the theoretical resolution of 5 mm,
which could be related to the problems with violation of the assumption of a single
frequency pulse behind the theoretical resolution, as discussed in section 2.3. It
could also be that the transducer had a smaller effective diameter, giving a smaller
resolution.
It can be seen in figure 3.18, that in this experiment, the amplitude of the profiles
3.3. IMMERSION TESTING OF A COPPER BLOCK WITH SIDE DRILLEDHOLES 35
Figure 3.16: Original envelope B-scan from an immersion testing of a copperblock with side drilled holes.
is decreasing with depth, in contrast to the experiment in section 3.2, where a contact
scan was performed on the same sample. The reason for the difference in the profile
amplitudes is probably because in the immersion experiment, there is no problem
with non-uniform coupling between the transducer and the water.
36 CHAPTER 3. EXPERIMENTS
Figure 3.17: One cross-section of the results from 3D migration of the datacollected in the experiment with an immersed copper block with side drilledholes.
Figure 3.18: Profile plots for the original data in figure 3.16 and the processeddata in figure 3.17
3.3. IMMERSION TESTING OF A COPPER BLOCK WITH SIDE DRILLEDHOLES 37
Table 3.4: Halfpower resolution in x-direction for side drilled holes in an immersedcopper block, each 4 mm in diameter, in the original data, and after processingwith 3D phase shift migration. The theoretical resolution is 5 mm.
Hole number Original data After 3D PSMδx[mm] δx[mm]
1 7.1 4.12 8.0 4.23 8.1 4.24 8.3 3.75 9.4 4.16 11.3 4.27 12.4 4.28 12.9 4.49 13.5 4.410 15.2 4.311 16.1 4.312 17.9 4.113 16.3 4.214 21.2 4.3
38 CHAPTER 3. EXPERIMENTS
Figure 3.19: Experiment setup for immersion testing of an aluminium block withflat bottom holes.
3.4 Immersion testing of an aluminium block with flat
bottom holes
To see how resolution was affected, both in the x- and y-direction, when extending
the frequency domain method from 2D to 3D, a test was made on a 41 mm thick
aluminium block immersed in water, see figure 3.19. There were three holes drilled
into the aluminium block from the bottom, one 2.6 mm into the block, one 4.5 mm
and one 8.3 mm. The holes all had a diameter of 4.8 mm.
Figure 3.20 shows a C-scan of the original data aquired from the experiment. The
data was processed with 2D phase shift migration by processing the B-scans one by
one along the x-axis, and the resulting C-scan is shown in figure 3.21. Figure 3.22
3.4. IMMERSION TESTING OF AN ALUMINIUM BLOCK WITH FLAT BOTTOMHOLES 39
Figure 3.20: C-scan of the original data aquired from scanning an immersedaluminium block with flat bottom holes.
Figure 3.21: C-scan after 2d migration along the x-axis of the data in figure 3.20.
show the results after 3D phase shift migration with Algorithm 1 from section 2.2.1.
The resolution before and after the respective processings were calculated and are
presented in table 3.5, from which can be seen that the resolution in y-direction after
processing with the 3D algorithm is, as expected, much better than after processing
with the 2D algorithm. In x-direction, the resolution after processing 2D data and
3D data is approximately the same. It can also be seen in the table that the hole
named A has worse resolution than the other holes, which could be due to that hole
not being fully covered by the scan, which can be seen in figure 3.20. It could also
be because that hole is the shallowest of the three holes.
40 CHAPTER 3. EXPERIMENTS
Figure 3.22: C-scan after 3d migration of the data in figure 3.20.
Table 3.5: Halfpower resolution in x- and y-direction for flat bottom holes inan aluminium block, each 4.8 mm in diameter, in the original data, and afterprocessing with 2D and 3D PSM. The theoretical resolution is 5 mm.
Hole Original data After 2D PSM After 3D PSMδx [mm] δy [mm] δx [mm] δy [mm] δx [mm] δy [mm]
A 8.3 8.5 6.1 10 5.9 7.3B 8.9 9.2 5.4 10.9 5.4 5.4C 7.8 8.7 5.3 9.9 5.4 5.4
3.5. IMMERSION TESTING OF A COPPER BLOCK WITH FLAT BOTTOMHOLES 41
Figure 3.23: Experiment setup for immersion testing of a copper block with flatbottom holes.
3.5 Immersion testing of a copper block with flat bottom
holes
The aluminium block from the last section was fairly noise free, with the flat bottom
holes clearly visible in the original data. To examine how the algorithm handles more
noisy data, an immersion test was done on a copper block with a coarse grained
structure. The block was 60 mm thick, had four flat bottom holes, each drilled 4
mm into the block, but with different diameters, 1, 2, 3 and 4 mm, see figure 3.23.
A C-scan was made of the original data aquired in the experiment, and is shown
42 CHAPTER 3. EXPERIMENTS
Figure 3.24: C-scan of the original data acquired from scanning an immersedcopper block with flat bottom holes.
in figure 3.24. In the C-scan, the 4 mm hole is strongly visible, and the 2 mm hole is
discernable, though both are well spread out. The 1 mm hole is cannot be detected
at all, and where the 3 mm hole is, there is a strong but misplaced echoe, which
probably isn’t the 3 mm hole, but the bottom of the copper block. Since none of
the holes is well defined in the C-scan, it was difficult to determine the resolution
in the image. The resolution for the 1 mm and the 3 mm holes could not at all be
determined, and the resolution for the 2 mm and the 4 mm holes were approximated,
and are presented in table 3.6.
The data aquired from the experiment was processed, both with 2D and 3D phase
shift migration. For the 3D processing, Algorithm 1 from section 2.2.1 was used.
The resulting C-scans after the respective procesings are shown in figures 3.25 and
3.26. It is obvious from the figures that the resolution in y-direction is much improved
in the results after 3D migration compared to the results after 2D migration. The
resolution, both in x- and y-direction was calculated for both results, see table 3.6.
It is worth noting that the strong and misplaced bottom echo in the original
C-scan, see figure 3.24, is much weaker in the result after 2D processing, and even
weaker still in the result after 3D processing. Although difficult to find in the original
data, the 3 mm hole is clearly visible both in figure 3.25 and figure 3.26.
In order to more easily see how the noise level changes with processing of the
data, profile plots were made of the original data, as well as of the 2D- and 3D
3.5. IMMERSION TESTING OF A COPPER BLOCK WITH FLAT BOTTOMHOLES 43
Figure 3.25: C-scan after 2d migration of data from an experiment with animmersed copper block with flat bottom holes.
Figure 3.26: C-scan after 3d migration of data from an experiment with animmersed copper block with flat bottom holes.
44 CHAPTER 3. EXPERIMENTS
Table 3.6: Halfpower resolution in x- and y-direction for flat bottom holes in acopper block, in the original data, and after processing with 2D and 3D PSM.The theoretical resolution is 5 mm in x-direction for both 2D and 3D PSM, and5 mm in the y-direction for 3D PSM.
Hole Original data After 2D PSM After 3D PSMδx [mm] δy [mm] δx [mm] δy [mm] δx [mm] δy [mm]
A: 3 mm - - 5.8 10 5.2 5.4B: 2 mm ∼ 15 ∼ 14 8.0 14.1 7 5.7C: 1 mm - - - - - -D: 4 mm ∼17 ∼17 6.9 15.9 6.6 6.1
(a) The original data. (b) The 2D processed data. (c) The 3D processed data.
Figure 3.27: Profile plots of the 4 mm hole in the original data acquired from ascan of a copper block with flat bottom holes, the 2D processed data, and the3D processed data.
processed data by taking the maximum of the y-values covering the 4 mm hole for
all x-values. The resulting plots are shown in figure 3.27. It can be seen from the
figure that the noise level drops from the original data to the 2D processed data, and
drops further from the 2D processed data to the 3D processed data.
3.6. ALIASING 45
Figure 3.28: Result after processing a copper block with side drilled holes withoutany zero padding, Nx,zp = Nx = 230, Ny,zp = Ny = 20. Aliasing is visible asshaded replicas of the holes.
3.6 Aliasing
In the previous sections the results have been obtained using enough zero-padding
that no aliasing has occured. In this section, it will be shown how much zero-padding
is needed to avoid spatial aliasing. Figure 3.28 show the B-scan at y = 1 mm from
the experiment in section 3.2 with a contact scan of a copper block with side drilled
holes, with 230 samples taken in the x-direction and 20 samples taken in the y-
direction. The data from the experiment has been processed with 3D phase shift
migration without any zero-padding, and aliasing is clearly present in the B-scan as
shadows of the holes. Also note that the shallowest hole, at z = 8 mm, which is not
fully covered by the transducer, has spilled over to the upper right corner.
The same data was processed again, but this time with zero-padding in both
x- and y-directions. In the x-direction, 26 zeros were appended so that the total
number of samples after zero-padding was 256, and in the y-direction 12 zeros were
appended, giving a total of 32 samples. The result of the second processing is shown
in figure 3.29, where some aliasing can still be detected.
Since there still is some aliasing in the B-scan, even more zero-padding was done.
This time the processing was done using the next power of two for the total number
of samples, giving 512 samples in the x-direction, of which 282 were appended zeros,
and 64 samples in the y-direction, of which 44 were appended zeros. This is the
46 CHAPTER 3. EXPERIMENTS
Figure 3.29: Result after zero padding with Nx,zp = 256, Ny,zp = 32. Aliasing isstill visible as shaded replicas of the holes, despite the zero padding.
number of zeros that should be appended according to the theory from section 2.2.2.
The result can be seen in figure 3.30, and show no sign of aliasing.
To see wether more zero-padding would further improve the B-scan image, one
last migration was made of the data from the experiment, this time with the to-
tal number of samples after zero-padding being 1024 in x-direction and 128 in y-
direction. Figure 3.31 show the result, and there is no visual difference between this
result, and the result that is shown in figure 3.30.
3.6. ALIASING 47
Figure 3.30: Result after zero padding with Nx,zp = 512, Ny,zp = 64. No aliasingis visible.
Figure 3.31: Result after zero padding with Nx,zp = 1024, Ny,zp = 128. Noaliasing is visible.
48 CHAPTER 3. EXPERIMENTS
Figure 3.32: Theoretical and experimental plots of the calculation times for Al-gorithm 1 (the lower curve) and Algorithm 2 (the upper curve), as a functionof Nx,zp and Ny,zp when Nt = 700.
3.7 Computational complexity
So far, all the processing was done on ’Ultracalc’, a server for extensive calculations.
However, it cannot be used when evaluating how the size of the data affects computa-
tion time, since other activity on the server makes it impossible to compare the times
from two different processings. Due to this, the evaluation of computation time for
the two 3D algorithms was made on a personal computer, with clock frequency 998
MHz, and 2.0 GB RAM. The computer was too weak to be able to run Algorithm
1 with other than very small sets of data, which is not very interesting. Therefore,
the code was stripped down to only contain a for-loop with the most time-consuming
part of the code3, namely the phase shift in item 3a, as well as the summation over
frequencies in item 3b, which could be run with larger sets of data. The same thing
was done with the code for Algorithm 2, from which the nested for-loop was kept,
with the code lines corresponding to item 3c. The two stripped versions of the al-
gorithms were run with dummy data, and a made up scenario that correspond to a
setup that takes measurements with a sampling frequency of 25 MHz, and an initial
delay of 25 µs between transmission and the start of measurements. The speed of
sound was set to 4690 ms−1, that of copper, and the bandwidth of the pulses was
3See section 2.2.4 for a discussion on computation times.
3.7. COMPUTATIONAL COMPLEXITY 49
set to 3.5 MHz. In the calculations, ∆z was set to 2 · 10−4m.
The stripped down version of Algorithm 1 has a calculation time that is around 60
% of the calculation time for the whole algorithm for the same size of the data, but the
stripped down version of Algorithm 2 has calculation times that are approximatley
the same as those for the whole algorithm. Therefore, in order to be able to compare
calculation times for the two algorithms, those from the stripped version of Algorithm
1 was multiplied with 1.7.
Figure 3.32 shows the calculation times as a function of the number of samples
after zero-padding, Nx,zp and Ny,zp, that were set equal for ease of presentation, for
a data set with the number of time samples set to 700. The theoretical curves based
on the discussion in section 2.2.4 are also plotted in the figure. The graph clearly
shows that Algorithm 1 outperforms Algorithm 2 when it comes to calculation
time, and that there is a considerable difference in speed that grows fast with Nx,zp
and Ny,zp. Remember, though, that Algorithm 1 requires much more memory.
Chapter 4
Discussion and conclusions
The goal of this project was divided into three tasks, of which two were success-
fully filled. The first, and unsuccessful, task was to implement an algorithm for
time-domain SAFT, and to use it on data already processed with the existing imple-
mentation for 2D phase shift migration, thus obtaining quasi 3D processed data. As
is shown in section 3.1 the produced implementation of time-domain SAFT is not
performing nearly as well as the frequency-domain implementations. Therefore, the
idea was abandoned in an early stage, but even if the implementation had worked as
was intended, it would still only have been able to handle contact scans of homoge-
neous isotropic objects, since it cannot adapt to changes in the speed of sound. The
frequency-domain algorithm does not have that limitation, and would therefore still
be the better choise.
Even though the first task failed to work out, the other two tasks were successfully
completed. The extension of phase shift migration from 2D to 3D was straightfor-
ward, and finally resulted in two implementations that work as they were intended
to, Algorithm 1 requiring much memory, but working much faster than Algorithm
2, which in turn works on smaller computers, demanding not nearly as much mem-
ory. There is no difference in the theory behind the two algorithms, and they give
the same result, which is shown in section 3.1. In this section, a needle target is
scanned, and it can be seen from the profile plots (figure 3.7) that both the 2D and
the 3D phase shift migration algorithms move the location of the needle sligthly in
the x-direction. This is because the transducer was not completely horizontal during
the scan, which leads to the hyperbolic pattern being slightly skewed, though it is
difficult to see in the original envelope B-scan in figure 3.2. Although the hyperbolic
pattern is skewed, it still follows the same pattern as it had if the transducer had
been perfectly horizontal. This means that both time-domain SAFT and PSM will
still be able to find the true position of the scatterer, and the maximum in the profile
plot will thus be moved to that position.
51
52 CHAPTER 4. DISCUSSION AND CONCLUSIONS
The 3D algorithms work as good as the already existing 2D algorithm when
considering resolution in x-direction, and achieve a resolution in y-direction that is
comparable to that in the x-direction, see section 3.4, which is to be expected from
a proper 3D algorithm. In many experiments carried out in this project, the achieved
resolution was better than the theoretical, which could be due to the theoretical res-
olution being based on assumptions that were not met in the experiments; a single
frequency pulse, and constant speed of sound. It might also be related to the fact
that the particle velocity at the transducer surface was not uniform, thus giving the
transducer a smaller effective diameter, which would give a smaller resolution since
there is a direct relationship between the diameter of the transducer and the resolu-
tion. Yet another possible reason is that the effective aperture in the experiments was
actually longer than what was assumed when calculating the theoretical resolution.
In the experiment in section 3.2, with a contact scan of a copper block with
side drilled holes at descending depths, the resolution of the holes closest to the
transducer were not improved, but rather worsened by the phase shift migration, while
the resolution of the holes deeper into the copper block came out better than the
theoretical, as discussed in the previous paragraph. This problem with the resolution
was not found when the same copper block was scanned again in section 3.3, but
this time immersed in water, which leads to the suspicion that the reason for the
resolution being poor in the shallowest holes in the contact scan is that those holes
were within the nearfield of the transducer, which is not taken into account by the
algorithm. Looking at table 3.3 gives that the first three holes1 are poorly resolved,
and even the fourth isn’t as well resolved as the rest. The fourth hole is 24 mm
deep into the copper block, and the fifth hole is 28.5 mm deep into the block. Using
the equation for the nearfield/farfield limit given in appendix C, the nearfield/farfield
limit for the 15 mm, 2.25 MHz transducer transmitting into copper is 27 mm.
When it comes to image improvement, spatial resolution is only one aspect. It
is also interesting how the algorithms suppress noise. In the experiment in section
3.5 the scanned copper block had a coarse grained structure, and only two of the
four holes could be detected correctly from the original data. After 2D processing,
three of the four holes were clearly visible, and the noise level in the C-scan was
far lower than in the original data. After 3D processing, the noise level was even
further suppressed, and the three visible holes were well defined. There was a strong
misplaced echoe in the original data that both algorithms succesfully removed.
The computation time of Algorithm 1 is down to the order of a few minutes
even for large data sets, which is substantially shorter than the scan time, making real
time implementations realistic. However, there is still room for further increases in
speed. One of the narrowest computational bottlenecks is the calculation of point-by-
point multiplications, see sections 2.2.4 and 3.7. While the current implementation
is made for a standard sequential computer, it could easily be parallelized, giving
1Not counting the hole not fully captured by the transducer.
53
an even faster implementation. An example of how the code could be changed for
multiple processors is shown in [6]. Another approach to parallelize the code could
be to use the potential in a Graphical Processing Unit, GPU for parallel computing
[9], for which this problem seems well suited.
Bibliography
[1] Jon F. Claerbout. Imaging the Earth’s Interior. Blackwell Scientific Publications, 1985.
[cited at p. 20]
[2] Jeno Gazdag. Wave equation migration with the phase-shift method. Geophysics, 43(7),
1978. [cited at p. 9]
[3] J.Krautkramer and H.Krautkramer. Ultrasonic Testing of Materials. Springer-Verlag,
4th edition, 1990. [cited at p. 14, 65]
[4] G. Wang K. Gu and J. Li. Migration based sar imaging for ground penetrating radar
systems. IEEE Proc.-Radar Sonar Navig., 151(5), 2004. [cited at p. 13]
[5] Fredrik Lingvall. Time-Domain Reconstruction Methods for Ultrasonic Array Imaging -
A Statistical Approach. PhD thesis, Uppsala University, 2004. [cited at p. 3, 9]
[6] Vijay K. Madisetti. Seismic migration algorithms on parallel computers. IEEE Trans.
Signal Processing, 39(7), July 1991. [cited at p. 53]
[7] Svetoslav Ivanov Nikolov. Synthetic aperture tissue and flow ultrasound imaging. PhD
thesis, Technical University of Denmark, 2001. [cited at p. 8]
[8] Alan V. Oppenheim and Ronald W. Schafer. Discrete-Time Signal Processing. Prentice-
Hall Inc., 1999. [cited at p. 13, 64]
[9] J.D. Owens, D. Luebke, Naga Govindaraju, M. Harris, J. Kruger, A.E. Lefohn, and T.J.
Purcell. A survey of general-purpose computation on graphics hardware. Computer
Graphics Forum, 26(1), Mars 2007. [cited at p. 53]
[10] Tadeusz Stepinski. An implementation of synthetic aperture focusing technique in fre-
quency domain. IEEE Trans. Ultrason., Ferroelect., Freq. Contr., 54(7), July 2007.
[cited at p. 20]
55
Appendices
57
Appendix A
Matched filter
In the ideal case, the pulse g(t) sent out by the transducer is a Dirac pulse
g(t) = δ(t), (A.1)
and the received echoe from a pointlike scatterer below the transducer is the same
Dirac pulse with a time delay corresponding to the time it takes the pulse to travel
from the transducer, to the scatterer and back again to the transducer:
r(t) = g(t) ∗ δ(t− 2zc
) = δ(t− 2zc
). (A.2)
However, there is no way of physically creating an ideal Dirac pulse, and so the
signal sent out through the transducer must be bandlimited, in this project with a
bandwidth of around 3.5 Mhz. In addition, the electro-acoustical properties of the
transducer impose a bandpass filter along with a phase shift to the signal, both at
transmission and at reception. The signal g(t) that leaves the transducer is therefore
g(t) = hf (t) ∗ g0(t), (A.3)
where hf (t) is the forward impulse response of the transducer, and g0(t) is the signal
sent to the transducer. The received signal becomes
r(t) = hb(t) ∗ g(t) ∗ δ(t− 2zc
) = hb(t) ∗ hf (t) ∗ g0(t) ∗ δ(t− 2zc
), (A.4)
where hb(t) is the backward impulse response of the transducer. All these effects can
be combined into one impulse response, htot(t), for the entire system, giving
r(t) = htot(t) ∗ δ(t−2zc
) = htot(t−2zc
). (A.5)
Equation (A.5) shows that we cannot use the received signal directly to calculate
the distance to the scatterer, due to the phase shift of the impulse response. This
59
60 APPENDIX A. MATCHED FILTER
(a) Ideally, a dirac pulse is sent outfrom the transducer at time t = 0 s.
(b) In the ideal case, the dirac pulseechoes off a scatterer, and returns tothe transducer, here after 80 µs. If themedia the pulse travels in is water, thiscorresponds to a scatterer 6 cm belowthe transducer.
(c) In reality, an ideal dirac pulse can-not be sent by the transducer, and alsothe transducer will impose band passfiltering. Therefore the received pulsewill be delayed in time, and the scat-terer appears to be further away fromthe transducer than it really is.
(d) Performing matched filtering tothe received signal with the impulseresponse h(t) from equation A.6, de-scribing the effects from the trans-ducer, gives the maximum at t = 80µs, giving a correct location of thescatterer.
Figure A.1: Illustration of the matched filter.
needs to be compensated for, which can be done by matched filtering, with the
impulse response
h(t) = htot(−t), (A.6)
giving the matched filtered signal rm(t) as:
rm(t) = h(t)r(t) = h∗tot(−t) ∗ htot(t) ∗ δ(t−2zc
), (A.7)
which now has its maximum1 at t = 2zc . The impulse response htot(t) for the system
1If implementing the matched filter in the time domain, the impulse response needs to bedelayed in time so that it is causal. Then that time delay has to be compensated for when
61
can be measured by sending out a pulse and measure the echoe from a flat surface
in the far field of the transducer.
Figure A.1 illustrates how the sent out and received pulses would look in the
ideal case, where it would be possible to send out a Dirac pulse, and where the
transducer would not influence the signal in any way (figure A.1(a) and A.1(b)).
Figure A.1(c) show how the received echoe has been distorted by the transducer, and
further delayed, giving a false location of the scatterer. This is helped with a matched
filter, which gives the maximum output at the correct time, see figure A.1(d).
looking for the maximum. However, if implementing the filter in the frequency domain, it canbe done non-causally.
Appendix B
Envelope
After performing matched filtering to an A-scan containing an echoe from a scatterer,
the position of the scatterer can be found by looking for the time with maximum
amplitude in the A-scan. However, it can be difficult to find visually, as well as
computationally, exactly where that maximum is, and it can be easier to find the
maximum of the envelope function of the A-scan. Figure B.1 shows an A-scan with
Figure B.1: An A-scan containing a scatterer. The dashed line is the envelope ofthe A-scan.
63
64 APPENDIX B. ENVELOPE
an echo of a scatterer, and overlaid the envelope of the A-scan.
The envelope e(t) of a signal s(t) can be calculated as
e(t) = abs (sr(t) + jsi(t)) , (B.1)
where sr(t) is the signal s(t), and si(t) is the Hilbert transform of the signal s(t),
which is achieved by filtering the signal with the frequency response [8]
H(ω) =
{−j, 0 < ω < π
j, −π < ω < 0.(B.2)
Appendix C
Nearfield/Farfield
The pressure field directly in front of the circular transcducer is quite chaotic, due
to diffraction effects, with many dips and maxima in the field, which is called the
nearfield, on the axis of the transducer. After a certain distance from the transducer,
there is one last maximum on the axis, after which the pressure field, now called
the farfield, decreases with growing distance, in the way that is assumed when the
theory for SAFT is derived. Therefore, scatterers that are closer to the transducer
than the last pressure maximum of the sound field might not be handled as good by
the algorithms as scatterers further away, and it is wise to make sure that the ROI is
further from the transducer than this nearfield/farfield limit.
The distance of the last pressure maximum on the axis of a circular transducer
with diameter D and center frequency f is [3]
z =D2 − (c/f)2
4c/f, (C.1)
where c is the speed of sound. However, mostly the diameter of the transducer is
much larger than its wavelength, and equation C.1 can be simplified as
z ≈ D2f
4c. (C.2)
65
List of Symbols
and Abbreviations
Abbreviation Description Definition
SAI Synthetic aperture imaging page 1NDT Nondestructive testing page 1SAFT Synthetic aperture focusing technique page 1ROI Region of Interest page 3PSM Phase Shift Migration page 9DFT Discrete Fourier Transform page 12FFT Fast Fourier Transform page 12GPU Graphical Processing Unit page 53
67
List of Figures
1.1 The ultrasonic transducers used in the project. The left is an immer-sion transducer, and the right is a contact transducer. . . . . . . . . . 2
1.2 Setup for the immersed transducer. . . . . . . . . . . . . . . . . . . . . 31.3 Different ways of presenting data in ultrasonic imaging. . . . . . . . . 4
2.1 When a transducer scans over a point scatterer, the scatterer will besmeared out into a hyperbola in the B-scan, due to the difference intraveling times for the transmitted pulses at different locations. . . . . 8
2.2 Geometry of the synthetic aperture . . . . . . . . . . . . . . . . . . . . 82.3 Geometry of the insonified area below the transducer and ROI for one
scan in the x-direction. . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4 Aliasing occurs due to the periodicity imposed by the DFT and inverse
DFT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.5 With zero-padding, aliasing is avoided in the ROI. . . . . . . . . . . . 14
3.1 Experiment setup for a needle target immersed in water. The needleis placed horizontally, in the xy-plane. . . . . . . . . . . . . . . . . . . 23
3.2 Original envelope B-scan of a needle target immersed in water. . . . . 243.3 Result from time-domain SAFT processing of data aquired from an
experiment with a needle target immersed in water. . . . . . . . . . . 253.4 Result from 2D phase shift migration of data aquired from an exper-
iment with a needle target immersed in water. . . . . . . . . . . . . . 253.5 Result from 3D phase shift migration, with Algorithm 1, of data
aquired from an experiment with a needle target immersed in water. . 263.6 Results from 3D phase shift migration, with Algorithm 2, of data
aquired from an experiment with a needle target immersed in water. . 263.7 Profile plot of the needle target from the original data, the time-
domain SAFT processed data, and the frequency-domain SAFT pro-cessed data, both from the 2D algorithm and the 3D Algorithm 1. . 27
68
LIST OF FIGURES 69
3.8 Comparison of the profile plots of the needle target made from theresults after processing the data with 3D phase shift migration usingAlgorithm 1 and Algorithm 2. The two curves completely overlap,as expected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.9 Experiment setup for contact testing of a copper block. . . . . . . . . 293.10 Original envelope B-scan of a copper block with 15 side drilled holes,
of which 14 are fully captured by the transducer. . . . . . . . . . . . . 303.11 One cross-section of the results from 3D phase shift migration using
Algoritm 1 of the data collected from a contact scan of a copperblock with side drilled holes. . . . . . . . . . . . . . . . . . . . . . . . 31
3.12 Profile plots for the original data in figure 3.10 and the processed datain figure 3.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.13 Original C-scan of a copper block with side drilled holes. . . . . . . . . 323.14 C-scan of a copper block with side drilled holes after 3D PSM with
Algorithm 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.15 Setup for immersion testing of a copper block with 15 side drilled
holes, of which 14 are fully captured by the transducer. . . . . . . . . 343.16 Original envelope B-scan from an immersion testing of a copper block
with side drilled holes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.17 One cross-section of the results from 3D migration of the data collected
in the experiment with an immersed copper block with side drilled holes. 363.18 Profile plots for the original data in figure 3.16 and the processed data
in figure 3.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.19 Experiment setup for immersion testing of an aluminium block with
flat bottom holes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.20 C-scan of the original data aquired from scanning an immersed alu-
minium block with flat bottom holes. . . . . . . . . . . . . . . . . . . . 393.21 C-scan after 2d migration along the x-axis of the data in figure 3.20. . 393.22 C-scan after 3d migration of the data in figure 3.20. . . . . . . . . . . 403.23 Experiment setup for immersion testing of a copper block with flat
bottom holes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.24 C-scan of the original data acquired from scanning an immersed cop-
per block with flat bottom holes. . . . . . . . . . . . . . . . . . . . . . 423.25 C-scan after 2d migration of data from an experiment with an im-
mersed copper block with flat bottom holes. . . . . . . . . . . . . . . . 433.26 C-scan after 3d migration of data from an experiment with an im-
mersed copper block with flat bottom holes. . . . . . . . . . . . . . . . 433.27 Profile plots of the 4 mm hole in the original data acquired from a
scan of a copper block with flat bottom holes, the 2D processed data,and the 3D processed data. . . . . . . . . . . . . . . . . . . . . . . . . 44
70 LIST OF FIGURES
3.28 Result after processing a copper block with side drilled holes withoutany zero padding, Nx,zp = Nx = 230, Ny,zp = Ny = 20. Aliasing isvisible as shaded replicas of the holes. . . . . . . . . . . . . . . . . . . 45
3.29 Result after zero padding with Nx,zp = 256, Ny,zp = 32. Aliasing isstill visible as shaded replicas of the holes, despite the zero padding. . 46
3.30 Result after zero padding with Nx,zp = 512, Ny,zp = 64. No aliasingis visible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.31 Result after zero padding with Nx,zp = 1024, Ny,zp = 128. No aliasingis visible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.32 Theoretical and experimental plots of the calculation times for Algo-rithm 1 (the lower curve) and Algorithm 2 (the upper curve), as afunction of Nx,zp and Ny,zp when Nt = 700. . . . . . . . . . . . . . . . 48
A.1 Illustration of the matched filter. . . . . . . . . . . . . . . . . . . . . . 60
B.1 An A-scan containing a scatterer. The dashed line is the envelope ofthe A-scan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
List of Tables
2.1 Resolving power in depth in different materials. . . . . . . . . . . . . . 20
3.1 Speed of sound in different materials. . . . . . . . . . . . . . . . . . . . 213.2 Halfpower resolution in x-direction for a needle, 0.3 mm in diameter,
in the original data, the data processed with time domain SAFT,and the data processed with 2D and 3D phase shift migration. Thetheoretical resolution is 5 mm. . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Halfpower resolution in x-direction for side drilled holes in a copperblock, each 4 mm in diameter, in the original data, and after processingwith 3D phase shift migration. The theoretical resolution is 7.5 mm. . 33
3.4 Halfpower resolution in x-direction for side drilled holes in an im-mersed copper block, each 4 mm in diameter, in the original data,and after processing with 3D phase shift migration. The theoreticalresolution is 5 mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5 Halfpower resolution in x- and y-direction for flat bottom holes in analuminium block, each 4.8 mm in diameter, in the original data, andafter processing with 2D and 3D PSM. The theoretical resolution is 5mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.6 Halfpower resolution in x- and y-direction for flat bottom holes in acopper block, in the original data, and after processing with 2D and3D PSM. The theoretical resolution is 5 mm in x-direction for both2D and 3D PSM, and 5 mm in the y-direction for 3D PSM. . . . . . . 44
71