Trait basic_dsp_vector::ConvolutionOps
source · [−]pub trait ConvolutionOps<A, S, T, N, D>where
S: ToSliceMut<T>,
T: RealNumber,
N: NumberSpace,
D: Domain,{
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A
) -> VoidResult
where
B: for<'a> Buffer<'a, S, T>;
}Expand description
Provides a convolution operation for types which at some point are slice based.
Required Methods
sourcefn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A
) -> VoidResultwhere
B: for<'a> Buffer<'a, S, T>,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A
) -> VoidResultwhere
B: for<'a> Buffer<'a, S, T>,
Convolves self with the convolution function impulse_response.
For performance it’s recommended
to use multiply both vectors in frequency domain instead of this operation.
Failures
TransRes may report the following ErrorReason members:
VectorMustBeInTimeDomain: ifselfis in frequency domain.VectorMetaDataMustAgree: in caseselfandimpulse_responseare not in the same number space and same domain.InvalidArgumentLength: ifself.points() < impulse_response.points().