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>
Multiplies 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: ifselfis in real number space butfrequency_responseis in complex number space.VectorMustBeInFreqDomain: ifselfis 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>