Conventional Beamformer

Also refererd to as Delay and Sum Beamformer.

class ConventionalBeamformer(operator=None)

Conventional delay and sum beamforming.

The Bartlett1 beamformer, also known as conventional or delay and sum beamformer, maximizes the power transmitted or received towards a single direction of interest $$(\theta, \phi)$$, where $$\theta$$ is the zenith and $$\phi$$ is the azimuth angle of interest in spherical coordinates, respectively.

Let $$\mathbf{X} \in \mathbb{C}^{N \times T}$$ be the the matrix of $$T$$ time-discrete samples acquired by an antenna arrary featuring $$N$$ antennas. The antenna array’s response towards a source within its far field emitting a signal of small relative bandwidth is $$\mathbf{a}(\theta, \phi) \in \mathbb{C}^{N}$$. Then

$\hat{P}_{\mathrm{Capon}}(\theta, \phi) = \mathbf{a}^\mathsf{H}(\theta, \phi) \mathbf{X} \mathbf{X}^\mathsf{H} \mathbf{a}(\theta, \phi)$

is the Conventional beamformer’s power estimate with

$\mathbf{w}(\theta, \phi) = \mathbf{a}(\theta, \phi)$

being the beamforming weights to steer the sensor array’s receive characteristics towards direction $$(\theta, \phi)$$, so that

$\mathcal{B}\lbrace \mathbf{X} \rbrace = \mathbf{w}^\mathsf{H}(\theta, \phi) \mathbf{X}$

is the implemented beamforming equation.

yaml_tag: Optional[str] = 'ConventionalBeamformer'

YAML serialization tag.

Number of required receive focus angles.

Return type

int

Returns

Number of focus angles $$F$$.

Number of input streams required by this beamformer.

Dimension $$N$$ of the input sample matrix $$\mathbf{X} \in \mathbb{C}^{N \times T}$$.

Return type

int

Returns

Number of input streams $$N$$.

Number of output streams generated by this beamformer.

Dimension $$M$$ of the output sample matrix $$\mathbf{Y} \in \mathbb{C}^{M \times T}$$.

Return type

int

Returns

Number of output streams $$M$$.

property num_transmit_focus_angles: int

Number of required transmit focus angles.

Return type

int

Returns

Number of focus angles.

property num_transmit_output_streams: int

Number of output streams generated by this beamformer.

Return type

int

Returns

Number of output streams.

property num_transmit_input_streams: int

Number of input streams required by this beamformer.

Return type

int

Returns

Number of input streams.

_encode(samples, carrier_frequency, focus_angles)

Encode signal streams for transmit beamforming.

Parameters
• samples (np.ndarray) – Signal samples, first dimension being the number of transmit antennas, second the number of samples.

• carrier_frequency (float) – The assumed carrier central frequency of the samples.

• focus_angles (np.ndarray) – Focused angles of departure in radians. Two-dimensional numpy array with the first dimension representing the number of focus points and the second dimension of magnitude two being the azimuth and elevation angles, respectively.

• azimuth (float) – Azimuth angle of departure in Radians.

• zenith (float) – Zenith angle of departure in Radians.

Return type

ndarray

_decode(samples, carrier_frequency, angles)

Decode signal streams for receive beamforming.

This method is called as a subroutine during receive() and probe().

Parameters
• samples (np.ndarray) – Signal samples, first dimension being the number of signal streams $$N$$, second the number of samples $$T$$.

• carrier_frequency (float) – The assumed carrier central frequency of the samples $$f_\mathrm{c}$$.

• angles (ndarray) – (np.ndarray): Spherical coordinate system angles of arrival in radians. A three-dimensional numpy array with the first dimension representing the number of angles, the second dimension of magnitude number of focus points $$F$$, and the third dimension containing the azimuth and zenith angle in radians, respectively.

Return type

ndarray

Returns

Stream samples of the focused signal towards all focus points. A three-dimensional numpy array with the first dimension representing the number of focus points, the second dimension the number of returned streams and the third dimension the amount of samples.

1

M. S. Bartlett. Periodogram analysis and continuous spectra. Biometrika, 37(1/2):1–16, 1950. URL: http://www.jstor.org/stable/2332141 (visited on 2022-06-28).