Hi

What is the best way to model the directivity of a linear transducer array using k-Wave? We are trying to simulate a 128 element, 7MHz transducer. The goal is to mimic directivity as close as possible to the measured one. As per k-Wave examples, there are two ways (i) using spatial averaging and (ii) by modifying sensor.directivity_angle.

We are performing 2D simulations and to be more realistic, we considered the second option of assigning directivity angle to each sensor point. How should we assign the sensor.directivity_angle matrix? We thought of the following implementations and we would like to know how to make it more realistic?

(i) Assume that there are 5 sensor points in a transducer element. Should we assign [-θ2 -θ1 0 θ1 θ2], corresponding to 5 sensor points of an element and repeat it for all 128 elements to obtain sensor.directivity_angle? θi are equispaced angles within the opening angle of the single element.

(ii) Consider the whole transducer array and assigning equispaced angles as in the k-Wave example.

dir_angles = (-1:1/15:1).' * pi/2;

sensor.directivity_angle = zeros(Nx, Ny);

sensor.directivity_angle(sensor.mask == 1) = dir_angles;

In this case, how to change it to the directivity of the transducer, considering each element has an opening angle and transducer has the combined effect?

(iii) Simply make all sensor element forward-looking (sensor.directivity_angle(sensor.mask == 1) = 0) and spatial averaging of sensor points within an element. Is this an option?

Is there a better way to implement the same?

Thank you,

Francis