create_concentric_ring_array()
Description: Creates an array of concentric ring transducers.
Usage
transducer = create_concentric_ring_array(ring_count, ring_width, kerf);
transducer = create_concentric_ring_array(ring_count, inner_radii, outer_radii);
Arguments
- ring_count The number of rings in the array.
- ring_width The with of all rings in meters.
- kerf The edge-to-edge spacing of the rings in meters.
- inner_radii A vector of values specifying the inner radius (in meters) of each element in the array, starting with the center element and ending with the outer element.
- outer_radii A vector of values specifying the outer radius (in meters) of each element in the array, starting with the center element and ending with the outer element.
Output Parameters
- transducer An array of transducer structs.
Notes
Ring transducer arrays always use one-dimensional indexing starting with the innermost element.
Example
radius = 3.7e-3;
inner_area = pi * radius^2;
kerf = 3e-4;
% create the transducer object
el_count = 7;
inner_radii = zeros(1,el_count);
outer_radii = zeros(1,el_count);
for i = 1:el_count
if i == 1
inner_radii(i) = 0;
else
inner_radii(i) = outer_radii(i-1) + kerf;
end
outer_radii(i) = sqrt((inner_area + pi*inner_radii(i)^2)/pi); % Define outer radius so that elements have constant area
end
d = 2*outer_radii(el_count); % Array aperture
array = create_concentric_ring_array(el_count,inner_radii,outer_radii);
draw_array(array);


