Trait basic_dsp::FrequencyMultiplication
[−]
[src]
pub trait FrequencyMultiplication<T, C>: DataVector<T> where T: RealNumber { fn multiply_frequency_response(self, frequency_response: C, ratio: T) -> VecResult<Self>; }
Provides a frequency response multiplication operation for data vectors.
Required Methods
fn multiply_frequency_response(self, frequency_response: C, ratio: T) -> VecResult<Self>
Mutiplies self
with the frequency response function frequency_response
.
In order to multiply a vector with another vector in frequency response use multiply_vector
.
Assumptions
The operation assumes that the vector contains a full spectrum centered at 0 Hz. If half a spectrum or a fft shifted spectrum is provided the operation will come back with invalid results.
Failures
VecResult may report the following ErrorReason
members:
VectorMustBeComplex
: ifself
is in real number space butfrequency_response
is in complex number space.VectorMustBeInFreqDomain
: ifself
is in time domain.
Implementors
impl<'a> FrequencyMultiplication<f32, &'a ComplexFrequencyResponse<f32>> for GenericDataVector<f32>
impl<'a> FrequencyMultiplication<f32, &'a RealFrequencyResponse<f32>> for GenericDataVector<f32>
impl<'a> FrequencyMultiplication<f64, &'a ComplexFrequencyResponse<f64>> for GenericDataVector<f64>
impl<'a> FrequencyMultiplication<f64, &'a RealFrequencyResponse<f64>> for GenericDataVector<f64>
impl<'a> FrequencyMultiplication<f32, &'a ComplexFrequencyResponse<f32>> for ComplexFreqVector<f32>
impl<'a> FrequencyMultiplication<f32, &'a RealFrequencyResponse<f32>> for RealFreqVector<f32>
impl<'a> FrequencyMultiplication<f32, &'a RealFrequencyResponse<f32>> for ComplexFreqVector<f32>
impl<'a> FrequencyMultiplication<f64, &'a ComplexFrequencyResponse<f64>> for ComplexFreqVector<f64>
impl<'a> FrequencyMultiplication<f64, &'a RealFrequencyResponse<f64>> for RealFreqVector<f64>
impl<'a> FrequencyMultiplication<f64, &'a RealFrequencyResponse<f64>> for ComplexFreqVector<f64>