Acoular 24.03 documentation

SpatialInterpolator

«  ChannelMixer   ::   tprocess   ::   SpatialInterpolatorRotation  »

SpatialInterpolator

class acoular.tprocess.SpatialInterpolator

Bases: TimeInOut

Base class for spatial interpolation of microphone data. Gets samples from source and generates output via the generator result()

mics = Instance(MicGeom(), 

MicGeom object that provides the real microphone locations.

mics_virtual = Property(

MicGeom object that provides the virtual microphone locations.

source = Instance(SamplesGenerator)

Data source; SamplesGenerator or derived object.

method = Trait('linear', 'spline', 'rbf-multiquadric', 'rbf-cubic','IDW',\

Interpolation method in spacial domain, defaults to linear linear uses numpy linear interpolation spline uses scipy CloughTocher algorithm rbf is scipy radial basis function with multiquadric, cubic and sinc functions idw refers to the inverse distance weighting algorithm

array_dimension = Trait('1D', '2D',\

spacial dimensionality of the array geometry

sample_freq = Delegate('source', 'sample_freq')

Sampling frequency of output signal, as given by source.

numchannels = Property()

Number of channels in output.

numsamples = Delegate('source', 'numsamples')

Number of samples in output, as given by source.

interp_at_zero = Bool(False)

Interpolate a point at the origin of the Array geometry

Q = CArray(dtype=float64, shape=(3, 3), value=identity(3))

The rotation must be around the z-axis, which means from x to y axis. If the coordinates are not build like that, than this 3x3 orthogonal transformation matrix Q can be used to modify the coordinates. It is assumed that with the modified coordinates the rotation is around the z-axis. The transformation is done via [x,y,z]_mod = Q * [x,y,z]. (default is Identity).

digest = Property(depends_on=['mics.digest', 'mics_virtual.digest', 'source.digest',\

internal identifier

sinc_mic(r)

Modified Sinc function for Radial Basis function approximation

«  ChannelMixer   ::   tprocess   ::   SpatialInterpolatorRotation  »