k-Wave Toolbox

## Modelling Sensor Directivity in 2D Example

### Overview

This example demonstrates how the sensitivity of a large single element detector varies with the angular position of a point-like source. It builds on Monopole Point Source In A Homogeneous Propagation Medium and Focussed Detector in 2D examples.

### Defining a large element detector

The sensor is defined as a binary sensor mask in the shape of a line.

```% define a large area detector
```

### Defining a collection of point sources

Equi-spaced point sources are then defined at a fixed distance from the centre of the detector face. To do this, the Cartesian coordinates of the source points are calculated using `makeCartCircle`. A binary source mask corresponding to these Cartesian points is then calculated using `cart2grid`. The indices of the matrix elements for which the binary mask is equal to 1 (the source points) are found using `find`.

```% define equally spaced point sources lying on a circle centred at the
% centre of the detector face
circle = makeCartCircle(30*dx, 11, [0, 0], pi);

% find the binary sensor mask most closely corresponding to the cartesian
% points coordinates from makeCartCircle
circle = cart2grid(kgrid,circle);

% find the indices of the sources in the binary source mask
source_positions = find(circle == 1);
```

A time varying pressure source is defined to drive the point sources.

```% define a time varying sinusoidal source
source_freq = 0.25e6;
source_mag = 1;
source.p = source_mag*sin(2*pi*source_freq*kgrid.t_array);

% filter the source to remove high frequencies not supported by the grid
source.p = filterTimeSeries(kgrid, medium, source.p);
```

### Running simulations for each point source

For each point source, a new binary source mask is defined, and the simulation is run. When each simulation has finished, the returned sensor data is summed together to mimic a single large detector.

```for source_loop = 1:length(source_positions)

% select a point source

% create a display mask to display the transducer

% run the simulation