Gaussian Beams and Transducer Modeling
Learning Objectives Characteristics of Gaussian Beams Propagation Laws Transmission/Reflection Laws Multi-Gaussian Beam Models for Ultrasonic Transducers MATLAB Examples
Fundamental Waves as Building Blocks z plane wave p = P exp 0 ikpz iωt P p= 0 exp ikpr iωt R spherical wave
z Gaussian beam P0 p p = exp ik z iωt exp + p ( z z0 ) izc R( z) w( z) ik beam width w 0 w( z) z w z = w ( z z0 ) + ( zc ) ( z ) 0 c z 0 z c = π w λ / 0 p beam waist confocal distance
z P0 p p = exp ik z iωt exp + p ( z z0 ) izc R( z) w( z) ik wave front curvature radius of curvature R( z) R z = ( z z0 ) + ( z c ) ( z z ) 0 z 0 beam waist z R z = z = z R z = z z >> z z 0 0, c
Gaussian profile z Gaussian beam P0 p p = exp ik z iωt exp + p ( z z0 ) izc R( z) w( z) ik wave front curvature spherical wave (paraxial approximation) z p P 0 ik p = exp ikpz exp z z can get from Gaussian beam by letting w 0 = z0 = 0
Paraxial Approximation x θ x 3 plane wave ( p θ p 3 θ ω ) p = Aexp ik x sin + ik x cos i t write as p = P( x, x3, ω) exp( ikpx3 iωt) where P( x, x, ω ) = Aexp ik x sinθ + ik x ( cosθ) 3 p p 3 quasi-plane wave traveling in the x 3 direction
Paraxial Approximation x θ x 3 (,, ω ) = exp sinθ + ( cosθ) P x x A ik x ik x 3 p p 3 P = kp p sin θ kp p θ x P ik = kp cos kpθ ( θ ) p p p x3 4 P kp p θ = kp p ( cosθ ) x 4 3 if θ <0.5 rad (about 30 o ) P P P <<,ik p x x x 3 3
Paraxial Approximation wave equation (cylindrical coordinates) with axial symmetry NOTE: here is a radius, not the density z p p p + z cp t = Let p = P(, z, ω) exp( ikpz iωt) 0 and assume then P P P << z z ik, p P P ik p 0 + z = paraxial wave equation
Paraxial Wave Equation P P ik p 0 + z = (,, ω) exp( p ω ) p = P z ik z i t Solutions P = P 0 plane wave P P 0 = exp ikp z z spherical wave P P0 p = exp + ik ( z z0 ) izc R( z) w( z) Gaussian beam
Complex form of the Gaussian beam commonly used ( 0) ik exp exp p p q( z) q p = p0 ik z q z ( 0) q z = q + z q ( 0) = z0 + iπ w λ p 0
Gaussian beam amplitudes obey the plane wave relationship p = mcpmvz density, not radius ( 0) ik exp exp p p q( z) q p = p0 ik z q z k = ω / c p p ( 0) ik exp exp p p q( z) q vz = v0 ik z q z ( 0) ik p exp ik pz exp p q cp q z q z 0 =
Reflection and Transmission at a Spherical Interface of radius R I, cp, cp R 0 pi pr p t z ik p i = % exp i p + ω 0 exp qi ( z) p P z ik z i t p r = % exp r p + ω 0 exp qr ( z ) p P z ik z i t ik p t = % exp t p + ω 0 exp qt ( z) p P z ik z i t ik z = z
Amplitudes are related through plane wave reflection and transmission coefficients c c P% P% R P% p p ( 0) = ( 0) = ( 0) r i p i cp + cp c P% P% i TpP% i c + c p ( 0) = ( 0) = ( 0) p p Phase terms are related by transmitted beam reflected beam c p cp = + qt cp R0 cp qi ( 0) ( 0) = + q R q r ( 0) ( 0) 0 i radius of interface
Transmission/reflection laws in terms of beam widths and wave front curvatures ( 0) = ( 0) = ( 0) w w w t r i c p cp = + Rt cp R0 cp Ri = + R R R r ( 0) ( 0) ( 0) ( 0) 0 i
, cp, cp Defocusing interface c > c p p (a), c p, cp Focusing interface c > c p p (b)
, cp, cp 0 Q p z ω z p ( z ω ) z,, z ( 0) q z = q + z ( ω) % ( 0) q p z P ik z ik p, = 0 exp( p ) exp q z q( z) ( ω) % ( 0) q Q q p z P T ik z ik z ik p, = 0 exp( p + p ) exp q z q Q q( z) q z = q Q + z q ( Q ) ( Q ) ( Q ) q = c q c + c R c p p p 0 p
Gaussian beam transmitted through a planar interface, cp, cp ( ω) % ( 0) z z q p z P ik z ik z ik p, = 0 exp( p + p ) exp q 0 + z% q( 0) + z% c z% = z + z p cp
Gaussian beams in multiple media, cp, cp 3, cp3 4, cp4 z z z3 z4 (, ω) = ( 0) q 0 q 0 p z P T M % M+ % m M+ m m+ qm+ zm+ m= qm zm ik M + pm + exp i kpmzm exp m= qm+ ( zm+ )
Propagation Laws ( 0) q z = q + z m m m m Transmission Laws q m+ ( Q ) m ( Qm) m( Qm) qm = c q c + c pm R0 c m pm+ pm+ pm Reflection Laws q ( Q ) m+ m = ( R ) 0 q m m q ( Q ) m m ( Q ) m +
ABCD Matrix Forms of the Laws q f = Aq Cq i i + B + D Propagation Laws Transmission Laws d d A B zm d d = C D 0 0 t t A B ( pm / pm t t = c + c ) cpm+ C D ( R0 ) c m pm Reflection Laws 0 r r A B r r = C D ( R0 ) m
Gaussian beams in multiple media ( ω) = T % ( 0) q p z P i t ik pm M, 0 exp[ ω 0] exp + + G G G G Aq 0 + B Aq( 0) + B G G C q ( 0) + D T M T mm + m= = % M + t0 = zm / c m= pm transmission or reflection coefficients G G d d t t t t d d A B AM+ BM+ AM BM A B A B... G G = d d t t t t d d C D CM+ DM+ CM DM C D C D
Gaussian beam after propagating through M+ media ( ω) = T % ( 0) q p z P i t ik pm M, 0 exp[ ω 0] exp + + G G G G Aq 0 + B Aq( 0) + B G G C q ( 0) + D Gaussian beam in single medium q ( 0) ik p p( z, ω) = P% ( 0) exp ikp z exp d d d d Aq ( 0) + B A q( 0) + B d d Cq ( 0) + D q ( 0) ik p p ( 0) ik z ( 0) = P% ( 0) exp exp q + z q + z d d A B z d d = C 0 D
Multi-Gaussian Beam Model circular piston transducer radiating into a fluid a v z v = 0 0 a otherwiase add ten Gaussians 0 z 0 n n n= ( ) v = v A exp B / a
add ten Gaussians p P ik p n exp p exp ( 0) ik z ( 0) = 0 0 % n= q + z n q + z n P% ( 0) n p 0 n q ( 0) = c v A n ik pa = B n /
function [a, b] = gauss_c % gauss_c returns the coefficients developed by Wen and Breazeale to model a % piston transducer a = zeros(0,); b = zeros(0,); a() =.48 + 0.9575*i; a() = 0.0600-0.0803*i; a(3) = -4.743-8.556*i; a(4) =.6576 +.705*i; a(5) = -5.048 + 3.488*i; a(6) =.7-0.68854*i; a(7) = -.006-0.6955*i; a(8) = -.5974 + 3.0*i; a(9) = -0.4840-0.393*i; a(0) = -0.0850-0.385*i; b() = 4.0697 + 0.76*i; b() =.53-0.933*i; b(3) = 4.4608 + 5.68*i; b(4) = 4.35 +4.997*i; b(5) = 4.5443 + 0.003*i; b(6) = 3.8478 + 0.078*i; b(7) =.580-0.30*i; b(8) = 3.397-4.8008*i; b(9) =.900-5.80*i; b(0) =.6340 + 5.009*i;
Multi-Gaussian beam model of a piston transducer in multiple media, cp, cp 3, cp3 4, cp4 ( ω) T z z z3 z4 ( 0) q p z P i t 0 n ik pm+ M+, = % n 0 exp[ ω 0] exp G G G G n= A q 0 B A q( 0) B + + n n G G C q ( 0) + D n
multi-gaussian beam model for a spherically focused circular transducer add ten Gaussians a F 0 z 0 n n n= 0 n= ( ) ( ) v = v A exp B / a exp ik / F ( n ) = v0 Anexp B% / a B% n = B + n ika F
a MATLAB multi- Gaussian Beam Model F R0, c z, c z p p ( x ) = ( x ) p, ω / p p, ω / cp v x 0 0 The time delay factor exp ik pz+ ik pz is not included in this model z % MGB_script % This script calculates the normalized % pressure, p/p0, due to a planar piston transducer radiating at normal % incidence through a spherically curved interface. % This is a multi-gaussian beam model that uses the 0 coefficients % of Wen and Breazeale to calculate the wave field. clear
MATLAB multi- Gaussian Beam Model % get input parameters f = 5; %frequency (MHz) a = 6.35; % transducer radius (mm) Fl = inf; % transducer focal length (mm) z = 0; % path length in medium (mm) z = linspace(6, 5, 00); % path length in medium (mm) r =0.0; % distance from ray axis (mm) R0 = inf; % interface radius of curvature (mm) d =.0; % density, medium (gm/cm^3) d =.0; % density, medium (gm/cm^3) c = 480.; % wave speed, medium (m/sec) c = 480.; % wave speed, medium (m/sec) These parameters are for a ½ inch diameter, 5 MHz planar piston transducer radiating into water (no interface). The on-axis pressure values from 6 to 5 mm are being sought.
MATLAB multi- Gaussian Beam Model % get Wen and Breazeale coefficients (0) [A, B] = gauss_c; % transmission coefficient (base on pressure ratio) T = (*c*d)/(c*d+c*d); h = /R0; % interface curvature zr = eps*(f == 0) + 000*pi*(a^)*f./c; % "Rayleigh" distance, ka^/ k = *pi*000*f./c; % wave number in medium
%initialize pressure to zero p = 0; MATLAB multi- Gaussian Beam Model %multi-gaussian beam model for j = :0 % form up multi-gaussian beam model with % 0 Wen and Breazeale coefficients b =B(j) + i*zr./fl; % modify coefficients for focused probe q = z - i*zr./b; K = q.*( -(c/c)); M = ( +K.*h); ZR = q./m; m =./(ZR +(c/c).*z); t = A(j)./( + (i.*b./zr).*z); t = t.*t.*zr.*m; p = p + t.*exp(i.*(k./).*m.*(r.^)); end
%plot magnitude of on-axis pressure plot(z, abs(p)) xlabel('z-axis') ylabel(' p / po ') >> MGB_script.5.5 p / po 0.5 0 0 0 40 60 80 00 0 40 z-axis
Cross-axis plot at z = 30 mm (near last maximum) % get input parameters f = 5; a = 6.35; Fl = inf; z = 0; z = 30; r =linspace(-0, 0, 00); R0 = inf; d =.0; d =.0; c = 480.; c = 480.; %frequency (MHz) % transducer radius (mm) % transducer focal length (mm) % path length in medium (mm) % path length in medium (mm) % distance from ray axis (mm) % interface radius of curvature (mm) % density, medium (gm/cm^3) % density, medium (gm/cm^3) % wave speed, medium (m/sec) % wave speed, medium (m/sec)
%plot magnitude of on-axis pressure plot(r, abs(p)) xlabel('r-axis') ylabel(' p / po ') >> MGB_script.8.6.4. p / po 0.8 0.6 0.4 0. 0-0 -8-6 -4-0 4 6 8 0 r-axis
Cross-axis plot at z = 65 mm (near last on-axis null) % get input parameters f = 5; %frequency (MHz) a = 6.35; % transducer radius (mm) Fl = inf; % transducer focal length (mm) z = 0; % path length in medium (mm) z = 65; % path length in medium (mm) r =linspace(-0, 0, 00); % distance from ray axis (mm) R0 = inf; % interface radius of curvature (mm) d =.0; % density, medium (gm/cm^3) d =.0; % density, medium (gm/cm^3) c = 480.; % wave speed, medium (m/sec) c = 480.; % wave speed, medium (m/sec)
>> MGB_script.4. p / po 0.8 0.6 0.4 0. 0-0 -8-6 -4-0 4 6 8 0 r-axis
Now, generate an image of the entire beam % get input parameters f = 5; %frequency (MHz) a = 6.35; % transducer radius (mm) Fl = inf; % transducer focal length (mm) z = 0; % path length in medium (mm) zt = linspace(0,00,500); rt =linspace(-0, 0, 00); [z, r]=meshgrid(zt, rt); R0 = inf; % interface radius of curvature (mm) d =.0; % density, medium (gm/cm^3) d =.0; % density, medium (gm/cm^3) c = 480.; % wave speed, medium (m/sec) c = 480.; % wave speed, medium (m/sec)
%plot magnitude of on-axis pressure image(zt, rt, abs(p)*50) xlabel('z-axis') ylabel('r-axis') Note: unequal scales >> MGB_script -0-5 -0-5 r-axis 0 5 0 5 0 0 0 40 60 80 00 0 40 60 80 00 z-axis
We can also examine a 0 MHz, 76. mm focal length focused transducer % get input parameters f = 0; %frequency (MHz) a = 6.35; % transducer radius (mm) Fl = 76.; % transducer focal length (mm) z = 0; % path length in medium (mm) z = linspace(0,00,500); % path length in medium (mm) r=0; % distance from ray axis (mm) R0 = inf; % interface radius of curvature (mm) d =.0; % density, medium (gm/cm^3) d =.0; % density, medium (gm/cm^3) c = 480.; % wave speed, medium (m/sec) c = 480.; % wave speed, medium (m/sec)
%plot magnitude of on-axis pressure plot(z, abs(p)) xlabel('z-axis') ylabel(' p/po ') >> MGB_script 0 8 p/po 6 4 0 0 0 40 60 80 00 0 40 60 80 00 z-axis
Now, plot an image of this focused transducer wave field % get input parameters f = 0; a = 6.35; Fl = 76.; z = 0; zt = linspace(0,300,500); rt=linspace(-0,0,00); [z, r]=meshgrid(zt, rt); R0 = inf; d =.0; d =.0; c = 480.; c = 480.; %frequency (MHz) % transducer radius (mm) % transducer focal length (mm) % path length in medium (mm) % interface radius of curvature (mm) % density, medium (gm/cm^3) % density, medium (gm/cm^3) % wave speed, medium (m/sec) % wave speed, medium (m/sec)
%plot magnitude of on-axis pressure image(zt, rt, abs(p)*5) xlabel('z-axis') ylabel('r-axis') Note: unequal scales >> MGB_script -0-5 -0-5 r-axis 0 5 0 5 0 0 50 00 50 00 50 300 z-axis