Skip to content

Commit 9227f71

Browse files
Fiete Winterhagenw
authored andcommitted
add reference_circle driving function for focused source
1 parent 4e87dd3 commit 9227f71

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

SFS_monochromatic/driving_functions_mono/driving_function_mono_wfs_fs.m

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,30 @@
234234
.* vector_product(xs-x0,nx0,2) ./ r.^(3./2) ...
235235
.* exp(+1i.*omega./c.*r);
236236
%
237+
case {'reference_circle'}
238+
% Driving function with two stationary phase approximations,
239+
% reference to circle around the focused source with radius |xref-xs|
240+
%
241+
% r = |x0-xs|
242+
r = vector_norm(x0-xs,2);
243+
%
244+
% 2.5D correction factor
245+
% _____________
246+
% | r
247+
% g0 = _ |1 + ---------
248+
% \| |xref-xs|
249+
%
250+
g0 = sqrt( 1 + r./vector_norm(xref-xs,2) );
251+
% ___ ___
252+
% | 1 |-iw (xs-x0) nx0
253+
% D_2.5D(x0,w) = g0 _ |--- _ |--- ------------- e^(i w/c |x0-xs|)
254+
% \|2pi \| c |x0-xs|^(3/2)
255+
%
256+
% Driving signal
257+
D = 1./sqrt(2.*pi) .* sqrt(-1i.*omega./c) .* g0 ...
258+
.* vector_product(xs-x0,nx0,2) ./ r.^(3./2) ...
259+
.* exp(+1i.*omega./c.*r);
260+
%
237261
case 'legacy'
238262
% --- Old SFS Toolbox default ------------------------------------
239263
% 2.5D correction factor

SFS_time_domain/driving_functions_imp/driving_function_imp_wfs_fs.m

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,30 @@
203203
delay = -1./c .* r;
204204
weight = g0 ./ sqrt(2.*pi) .* vector_product(xs-x0,nx0,2) ./ r.^(3./2);
205205
%
206+
case {'reference_circle'}
207+
% Driving function with two stationary phase approximations,
208+
% reference to circle around the focused source with radius |xref-xs|
209+
%
210+
% r = |x0-xs|
211+
r = vector_norm(x0-xs,2);
212+
%
213+
% 2.5D correction factor
214+
% _____________
215+
% | r
216+
% g0 = _ |1 + ---------
217+
% \| |xref-xs|
218+
%
219+
g0 = sqrt( 1 + r./vector_norm(xref-xs,2) );
220+
% ___
221+
% | 1 (xs-x0) nx0
222+
% d_2.5D(x0,t) = h_pre(-t) * g0 _ |--- ------------- delta(t+|x0-xs|/c)
223+
% \|2pi |x0-xs|^(3/2)
224+
%
225+
%
226+
% Delay and amplitude weight
227+
delay = -1./c .* r;
228+
weight = g0 ./ sqrt(2.*pi) .* vector_product(xs-x0,nx0,2) ./ r.^(3./2);
229+
%
206230
case 'legacy'
207231
% --- SFS Toolbox ------------------------------------------------
208232
% 2.5D correction factor

0 commit comments

Comments
 (0)