pub enum BiquadRepr<T, C>{
Ba(Ba<T>),
Raw(Biquad<C>),
Pid(Pid<T>),
Filter(FilterRepr<T>),
}
Expand description
Representation of Biquad
miniconf::Tree
can be used like this:
use miniconf::{Tree, str_leaf};
#[derive(Tree)]
struct Foo {
#[tree(typ="&str", with=str_leaf, defer=self.repr)]
typ: (),
repr: idsp::iir::BiquadRepr<f32, f32>,
}
Variants§
Ba(Ba<T>)
Normalized SI unit coefficients
Raw(Biquad<C>)
Raw, unscaled, possibly fixed point machine unit coefficients
Pid(Pid<T>)
A PID
Filter(FilterRepr<T>)
Standard biquad filters: Notch, Lowpass, Highpass, Shelf etc
Implementations§
Source§impl<T, C> BiquadRepr<T, C>
impl<T, C> BiquadRepr<T, C>
Source§impl<T, C> BiquadRepr<T, C>
impl<T, C> BiquadRepr<T, C>
Sourcepub fn build<I>(&self, period: T, b_scale: T, y_scale: T) -> Biquad<C>
pub fn build<I>(&self, period: T, b_scale: T, y_scale: T) -> Biquad<C>
Build a biquad
§Args:
period
: The sample period in desired units (e.g. SI seconds)b_scale
: The feed forward (b
coefficient) conversion scale from desired units to machine units. An identity (gain=1
) filter ax
input in machine units will lead to ay=b_scale*x
filter output in machine units.y_scale
: The y output scale from desired units to machine units. E.g. amax
setting will lead to ay=y_scale*max
upper limit of the filter in machine units.
Trait Implementations§
Source§impl<T, C> AsRef<str> for BiquadRepr<T, C>
impl<T, C> AsRef<str> for BiquadRepr<T, C>
Source§impl<T, C> Clone for BiquadRepr<T, C>
impl<T, C> Clone for BiquadRepr<T, C>
Source§fn clone(&self) -> BiquadRepr<T, C>
fn clone(&self) -> BiquadRepr<T, C>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T, C> Debug for BiquadRepr<T, C>
impl<T, C> Debug for BiquadRepr<T, C>
Source§impl<T, C> Default for BiquadRepr<T, C>
impl<T, C> Default for BiquadRepr<T, C>
Source§impl<'_derivative_strum, T, C> From<&'_derivative_strum BiquadRepr<T, C>> for &'static str
impl<'_derivative_strum, T, C> From<&'_derivative_strum BiquadRepr<T, C>> for &'static str
Source§fn from(x: &'_derivative_strum BiquadRepr<T, C>) -> &'static str
fn from(x: &'_derivative_strum BiquadRepr<T, C>) -> &'static str
Converts to this type from the input type.
Source§impl<'_enum, T, C> From<&'_enum BiquadRepr<T, C>> for BiquadReprDiscriminants
impl<'_enum, T, C> From<&'_enum BiquadRepr<T, C>> for BiquadReprDiscriminants
Source§fn from(val: &'_enum BiquadRepr<T, C>) -> BiquadReprDiscriminants
fn from(val: &'_enum BiquadRepr<T, C>) -> BiquadReprDiscriminants
Converts to this type from the input type.
Source§impl<T, C> From<BiquadRepr<T, C>> for &'static str
impl<T, C> From<BiquadRepr<T, C>> for &'static str
Source§fn from(x: BiquadRepr<T, C>) -> &'static str
fn from(x: BiquadRepr<T, C>) -> &'static str
Converts to this type from the input type.
Source§impl<T, C> From<BiquadRepr<T, C>> for BiquadReprDiscriminants
impl<T, C> From<BiquadRepr<T, C>> for BiquadReprDiscriminants
Source§fn from(val: BiquadRepr<T, C>) -> BiquadReprDiscriminants
fn from(val: BiquadRepr<T, C>) -> BiquadReprDiscriminants
Converts to this type from the input type.
Source§impl<T, C> FromStr for BiquadRepr<T, C>
impl<T, C> FromStr for BiquadRepr<T, C>
Source§impl<T, C> IntoDiscriminant for BiquadRepr<T, C>
impl<T, C> IntoDiscriminant for BiquadRepr<T, C>
Source§type Discriminant = BiquadReprDiscriminants
type Discriminant = BiquadReprDiscriminants
Enum listing the same variants as this enum but without any data fields
fn discriminant(&self) -> Self::Discriminant
Source§impl<T, C> TreeAny for BiquadRepr<T, C>where
C: Coefficient + Any,
T: Float + FloatConst,
Ba<T>: TreeAny,
Pid<T>: TreeAny,
FilterRepr<T>: TreeAny,
impl<T, C> TreeAny for BiquadRepr<T, C>where
C: Coefficient + Any,
T: Float + FloatConst,
Ba<T>: TreeAny,
Pid<T>: TreeAny,
FilterRepr<T>: TreeAny,
Source§fn ref_any_by_key(&self, keys: impl Keys) -> Result<&dyn Any, ValueError>
fn ref_any_by_key(&self, keys: impl Keys) -> Result<&dyn Any, ValueError>
Obtain a reference to a
dyn Any
trait object for a leaf node.Source§fn mut_any_by_key(
&mut self,
keys: impl Keys,
) -> Result<&mut dyn Any, ValueError>
fn mut_any_by_key( &mut self, keys: impl Keys, ) -> Result<&mut dyn Any, ValueError>
Obtain a mutable reference to a
dyn Any
trait object for a leaf node.§fn ref_by_key<T>(&self, keys: impl IntoKeys) -> Result<&T, ValueError>where
T: Any,
fn ref_by_key<T>(&self, keys: impl IntoKeys) -> Result<&T, ValueError>where
T: Any,
Obtain a reference to a leaf of known type by key.
§fn mut_by_key<T>(&mut self, keys: impl IntoKeys) -> Result<&mut T, ValueError>where
T: Any,
fn mut_by_key<T>(&mut self, keys: impl IntoKeys) -> Result<&mut T, ValueError>where
T: Any,
Obtain a mutable reference to a leaf of known type by key.
Source§impl<'de, T, C> TreeDeserialize<'de> for BiquadRepr<T, C>where
C: Coefficient + Deserialize<'de>,
T: Float + FloatConst,
Ba<T>: TreeDeserialize<'de>,
Pid<T>: TreeDeserialize<'de>,
FilterRepr<T>: TreeDeserialize<'de>,
impl<'de, T, C> TreeDeserialize<'de> for BiquadRepr<T, C>where
C: Coefficient + Deserialize<'de>,
T: Float + FloatConst,
Ba<T>: TreeDeserialize<'de>,
Pid<T>: TreeDeserialize<'de>,
FilterRepr<T>: TreeDeserialize<'de>,
Source§fn deserialize_by_key<D: Deserializer<'de>>(
&mut self,
keys: impl Keys,
de: D,
) -> Result<(), SerdeError<D::Error>>
fn deserialize_by_key<D: Deserializer<'de>>( &mut self, keys: impl Keys, de: D, ) -> Result<(), SerdeError<D::Error>>
Deserialize a leaf node by its keys. Read more
Source§fn probe_by_key<D: Deserializer<'de>>(
keys: impl Keys,
de: D,
) -> Result<(), SerdeError<D::Error>>
fn probe_by_key<D: Deserializer<'de>>( keys: impl Keys, de: D, ) -> Result<(), SerdeError<D::Error>>
Blind deserialize a leaf node by its keys. Read more
Source§impl<T, C> TreeSchema for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeSchema,
Pid<T>: TreeSchema,
FilterRepr<T>: TreeSchema,
impl<T, C> TreeSchema for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeSchema,
Pid<T>: TreeSchema,
FilterRepr<T>: TreeSchema,
Source§impl<T, C> TreeSerialize for BiquadRepr<T, C>where
C: Coefficient + Serialize,
T: Float + FloatConst,
Ba<T>: TreeSerialize,
Pid<T>: TreeSerialize,
FilterRepr<T>: TreeSerialize,
impl<T, C> TreeSerialize for BiquadRepr<T, C>where
C: Coefficient + Serialize,
T: Float + FloatConst,
Ba<T>: TreeSerialize,
Pid<T>: TreeSerialize,
FilterRepr<T>: TreeSerialize,
Source§fn serialize_by_key<S: Serializer>(
&self,
keys: impl Keys,
ser: S,
) -> Result<S::Ok, SerdeError<S::Error>>
fn serialize_by_key<S: Serializer>( &self, keys: impl Keys, ser: S, ) -> Result<S::Ok, SerdeError<S::Error>>
Serialize a node by keys. Read more
Source§impl<T, C> TryFrom<&str> for BiquadRepr<T, C>
impl<T, C> TryFrom<&str> for BiquadRepr<T, C>
Auto Trait Implementations§
impl<T, C> Freeze for BiquadRepr<T, C>
impl<T, C> RefUnwindSafe for BiquadRepr<T, C>where
T: RefUnwindSafe,
C: RefUnwindSafe,
impl<T, C> Send for BiquadRepr<T, C>
impl<T, C> Sync for BiquadRepr<T, C>
impl<T, C> Unpin for BiquadRepr<T, C>
impl<T, C> UnwindSafe for BiquadRepr<T, C>where
T: UnwindSafe,
C: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more