From 95d1cd8cb8d064ba08f0553423b391000db8ac53 Mon Sep 17 00:00:00 2001 From: Fiete Winter Date: Fri, 12 May 2017 13:25:30 +0200 Subject: [PATCH] add reference_circle driving function for focused source --- .../driving_function_mono_wfs_fs.m | 24 +++++++++++++++++++ .../driving_function_imp_wfs_fs.m | 24 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/SFS_monochromatic/driving_functions_mono/driving_function_mono_wfs_fs.m b/SFS_monochromatic/driving_functions_mono/driving_function_mono_wfs_fs.m index 39f38dc5..442ff053 100644 --- a/SFS_monochromatic/driving_functions_mono/driving_function_mono_wfs_fs.m +++ b/SFS_monochromatic/driving_functions_mono/driving_function_mono_wfs_fs.m @@ -234,6 +234,30 @@ .* vector_product(xs-x0,nx0,2) ./ r.^(3./2) ... .* exp(+1i.*omega./c.*r); % + case {'reference_circle'} + % Driving function with two stationary phase approximations, + % reference to circle around the focused source with radius |xref-xs| + % + % r = |x0-xs| + r = vector_norm(x0-xs,2); + % + % 2.5D correction factor + % _____________ + % | r + % g0 = _ |1 + --------- + % \| |xref-xs| + % + g0 = sqrt( 1 + r./vector_norm(xref-xs,2) ); + % ___ ___ + % | 1 |-iw (xs-x0) nx0 + % D_2.5D(x0,w) = g0 _ |--- _ |--- ------------- e^(i w/c |x0-xs|) + % \|2pi \| c |x0-xs|^(3/2) + % + % Driving signal + D = 1./sqrt(2.*pi) .* sqrt(-1i.*omega./c) .* g0 ... + .* vector_product(xs-x0,nx0,2) ./ r.^(3./2) ... + .* exp(+1i.*omega./c.*r); + % case 'legacy' % --- Old SFS Toolbox default ------------------------------------ % 2.5D correction factor diff --git a/SFS_time_domain/driving_functions_imp/driving_function_imp_wfs_fs.m b/SFS_time_domain/driving_functions_imp/driving_function_imp_wfs_fs.m index 6ec9fd9a..3b6fc112 100644 --- a/SFS_time_domain/driving_functions_imp/driving_function_imp_wfs_fs.m +++ b/SFS_time_domain/driving_functions_imp/driving_function_imp_wfs_fs.m @@ -203,6 +203,30 @@ delay = -1./c .* r; weight = g0 ./ sqrt(2.*pi) .* vector_product(xs-x0,nx0,2) ./ r.^(3./2); % + case {'reference_circle'} + % Driving function with two stationary phase approximations, + % reference to circle around the focused source with radius |xref-xs| + % + % r = |x0-xs| + r = vector_norm(x0-xs,2); + % + % 2.5D correction factor + % _____________ + % | r + % g0 = _ |1 + --------- + % \| |xref-xs| + % + g0 = sqrt( 1 + r./vector_norm(xref-xs,2) ); + % ___ + % | 1 (xs-x0) nx0 + % d_2.5D(x0,t) = h_pre(-t) * g0 _ |--- ------------- delta(t+|x0-xs|/c) + % \|2pi |x0-xs|^(3/2) + % + % + % Delay and amplitude weight + delay = -1./c .* r; + weight = g0 ./ sqrt(2.*pi) .* vector_product(xs-x0,nx0,2) ./ r.^(3./2); + % case 'legacy' % --- SFS Toolbox ------------------------------------------------ % 2.5D correction factor