Trait basic_dsp_vector::conv_types::RealImpulseResponse [−][src]
pub trait RealImpulseResponse<T>: Sync where
T: RealNumber, { fn is_symmetric(&self) -> bool; fn calc(&self, x: T) -> T; }
A convolution function in time domain and real number space
Required Methods
fn is_symmetric(&self) -> bool
Indicates whether this function is symmetric around 0 or not.
Symmetry is defined as self.calc(x) == self.calc(-x)
.
fn calc(&self, x: T) -> T
Calculates the convolution for a data point
Trait Implementations
impl<'a, S, T, N, D> Convolution<'a, S, T, &'a RealImpulseResponse<T>> for DspVec<S, T, N, D> where
S: ToSliceMut<T>,
T: RealNumber,
N: NumberSpace,
D: TimeDomain,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T> + Clone + ConvolutionOps<DspVec<InlineVector<T>, T, N, D>, S, T, N, D>,
[src]
impl<'a, S, T, N, D> Convolution<'a, S, T, &'a RealImpulseResponse<T>> for DspVec<S, T, N, D> where
S: ToSliceMut<T>,
T: RealNumber,
N: NumberSpace,
D: TimeDomain,
DspVec<S, T, N, D>: TimeToFrequencyDomainOperations<S, T> + Clone + ConvolutionOps<DspVec<InlineVector<T>, T, N, D>, S, T, N, D>,
fn convolve<B>(
&mut self,
buffer: &mut B,
function: &RealImpulseResponse<T>,
ratio: T,
len: usize
) where
B: for<'b> Buffer<'b, S, T>,
[src]
fn convolve<B>(
&mut self,
buffer: &mut B,
function: &RealImpulseResponse<T>,
ratio: T,
len: usize
) where
B: for<'b> Buffer<'b, S, T>,
Convolves self
with the convolution function impulse_response
. For performance consider to to use FrequencyMultiplication
instead of this operation depending on len
. Read more
Implementors
impl RealImpulseResponse<f32> for RealTimeLinearTableLookup<f32>
impl RealImpulseResponse<f64> for RealTimeLinearTableLookup<f64>
impl<T> RealImpulseResponse<T> for RaisedCosineFunction<T> where
T: RealNumber,impl<T> RealImpulseResponse<T> for SincFunction<T> where
T: RealNumber,