vbeam core#
Interfaces and kernel function for the core of the beamforming algorithm.
vbeam is built around a small functional core found in this package. It is built
around the signal_for_point() kernel [1] which depend on a
set of interfaces to calculate the delayed, interpolated, and weighted signal for a
given point.
A generalized delay-and-sum beamformer can be expressed as in equation (1):
where \(a\), \(m\), and \(p\) represent a given transmit,
receiver, and point, respectively. Note that this equation is for a
full delay-and-sum (DAS) beamformer while the
signal_for_point() function is only the inner part of the
loop, i.e.: it computes the delayed signal for a single transmit, receiver, and point.
For building up a full DAS beamformer from
signal_for_point(), see vbeam.beamformers.
In equation (1):
\(w(a, m, p)\) weights the delayed and interpolated signal and is represented by the
Apodizationclass in vbeam.\(s_{a, m}(t)\) is the delayed and interpolated signal for the transmit and receiver at time \(t\) seconds (defined below). Interpolation is represented by the
InterpolationSpace1Dclass.\(e^{i2\pi f_{mod}t}\) is the modulation frequency correction, which should be applied if the signal is a demodulated IQ signal. \(f_{mod}\) is the modulation frequency, represented as a number, and given as an argument to
signal_for_point().\(d(a, m, p)\) is the distance the wave has travelled from the sender to the point, and back to the receiver. This is represented by the
ReflectedWavefrontandTransmittedWavefrontclasses.\(t := \frac{d(a, m, p)}{c}\) is the delay in seconds, computed by dividing the distance by the speed of sound. The speed of sound may be just a number, or in more advanced cases, an instance of the
SpeedOfSoundclass.
Again, it is important to keep in mind that
signal_for_point() runs for just a single point, a
single receiving element, a single
transmitted wave, etc. In general, it returns a scalar value.
Footnotes
Modules#
Function ( |
|
Wavefront models that return the distance that a wave has traveled. |
|
Point-based apodization for weighting the delayed signal. |
|
A datastructure for representing a transducer element (or the full array), including the position, orientation, etc. |
|
A datastructure for data related to a transmitted wave. |
|
Interface for sampling the speed of sound on a line, typically the line between a sender and a point, and a point and a receiver. |
|
Interface for interpolating the signal given a delay. |
|