Trait basic_dsp::VectorConvolution
[−]
[src]
pub trait VectorConvolution<T>: DataVector<T> where T: RealNumber { fn convolve_vector(self, impulse_response: &Self) -> VecResult<Self>; }
Provides a convolution operation for data vectors with data vectors.
Required Methods
fn convolve_vector(self, impulse_response: &Self) -> VecResult<Self>
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
VecResult may report the following ErrorReason
members:
VectorMustBeInTimeDomain
: ifself
is in frequency domain.VectorMetaDataMustAgree
: in caseself
andimpulse_response
are not in the same number space and same domain.InvalidArgumentLength
: ifself.points() < impulse_response.points()
.
Implementors
impl VectorConvolution<f32> for GenericDataVector<f32>
impl VectorConvolution<f64> for GenericDataVector<f64>
impl VectorConvolution<f32> for RealTimeVector<f32>
impl VectorConvolution<f64> for RealTimeVector<f64>
impl VectorConvolution<f32> for ComplexTimeVector<f32>
impl VectorConvolution<f64> for ComplexTimeVector<f64>
impl VectorConvolution<f32> for RealFreqVector<f32>
impl VectorConvolution<f64> for RealFreqVector<f64>
impl VectorConvolution<f32> for ComplexFreqVector<f32>
impl VectorConvolution<f64> for ComplexFreqVector<f64>