find_single_focus_phase()
Description: Calculates phase shifts to focus a transducer array at a given point.
Usage
transducer = find_single_focus_phase(transducer, x, y, z, medium, f0);
transducer = find_single_focus_phase(transducer, x, y, z, medium, f0, ndiv);
transducer = find_single_focus_phase(transducer, x, y, z, medium, f0, ndiv, linear_array);
Arguments
- transducer A FOCUS transducer array.
- x The x coordinate of the focus.
- y The y coordinate of the focus.
- z The z coordinate of the focus.
- meduim A FOCUS medium struct.
- f0 Center frequency of the array in Hz.
- ndiv Number of abscissas used for calculations. The default value is 200.
- linear_array set to 1 if the array is linear in x and each group of elements along the x-axis should have the same phase. If this parameter is not specified, the function will generate a warning and attempt to determine the geometry of the array.
Output Parameters
- transducer Transducer array with complex weights set to focus it at the given point.
Notes
This function alters the transducer struct, the output transducer
should be the same as the input transducer. The logic is that if all elements have a complex_weight of 0 at the target point, the intensity at the point is the highest.