pub enum BiquadRepr<T, C>{
Ba(Ba<T>),
Raw(Leaf<Biquad<C>>),
Pid(Pid<T>),
Filter(FilterRepr<T>),
}
Expand description
Representation of Biquad
Variants§
Ba(Ba<T>)
Normalized SI unit coefficients
Raw(Leaf<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>
Sourcepub fn build<I>(&self, period: T, b_scale: T, y_scale: T) -> Biquad<C>where
T: AsPrimitive<I>,
I: Float + 'static + AsPrimitive<C>,
C: AsPrimitive<I>,
f32: AsPrimitive<T>,
pub fn build<I>(&self, period: T, b_scale: T, y_scale: T) -> Biquad<C>where
T: AsPrimitive<I>,
I: Float + 'static + AsPrimitive<C>,
C: AsPrimitive<I>,
f32: AsPrimitive<T>,
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 copy 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<T, C> FromStr for BiquadRepr<T, C>
impl<T, C> FromStr for BiquadRepr<T, C>
Source§impl<T, C> TreeAny for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeAny,
Leaf<Biquad<C>>: TreeAny,
Pid<T>: TreeAny,
FilterRepr<T>: TreeAny,
impl<T, C> TreeAny for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeAny,
Leaf<Biquad<C>>: TreeAny,
Pid<T>: TreeAny,
FilterRepr<T>: TreeAny,
Source§fn ref_any_by_key<K>(&self, keys: K) -> Result<&dyn Any, Traversal>where
K: Keys,
fn ref_any_by_key<K>(&self, keys: K) -> Result<&dyn Any, Traversal>where
K: Keys,
Obtain a reference to a
dyn Any
trait object for a leaf node.Source§fn mut_any_by_key<K>(&mut self, keys: K) -> Result<&mut dyn Any, Traversal>where
K: Keys,
fn mut_any_by_key<K>(&mut self, keys: K) -> Result<&mut dyn Any, Traversal>where
K: Keys,
Obtain a mutable reference to a
dyn Any
trait object for a leaf node.§fn ref_by_key<T, K>(&self, keys: K) -> Result<&T, Traversal>where
T: Any,
K: IntoKeys,
fn ref_by_key<T, K>(&self, keys: K) -> Result<&T, Traversal>where
T: Any,
K: IntoKeys,
Obtain a reference to a leaf of known type by key.
§fn mut_by_key<T, K>(&mut self, keys: K) -> Result<&mut T, Traversal>where
T: Any,
K: IntoKeys,
fn mut_by_key<T, K>(&mut self, keys: K) -> Result<&mut T, Traversal>where
T: Any,
K: IntoKeys,
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,
T: Float + FloatConst,
Ba<T>: TreeDeserialize<'de>,
Leaf<Biquad<C>>: TreeDeserialize<'de>,
Pid<T>: TreeDeserialize<'de>,
FilterRepr<T>: TreeDeserialize<'de>,
impl<'de, T, C> TreeDeserialize<'de> for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeDeserialize<'de>,
Leaf<Biquad<C>>: TreeDeserialize<'de>,
Pid<T>: TreeDeserialize<'de>,
FilterRepr<T>: TreeDeserialize<'de>,
Source§fn deserialize_by_key<K, D>(
&mut self,
keys: K,
de: D,
) -> Result<usize, Error<D::Error>>where
K: Keys,
D: Deserializer<'de>,
fn deserialize_by_key<K, D>(
&mut self,
keys: K,
de: D,
) -> Result<usize, Error<D::Error>>where
K: Keys,
D: Deserializer<'de>,
Deserialize a leaf node by its keys. Read more
Source§impl<T, C> TreeKey for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeKey,
Leaf<Biquad<C>>: TreeKey,
Pid<T>: TreeKey,
FilterRepr<T>: TreeKey,
impl<T, C> TreeKey for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeKey,
Leaf<Biquad<C>>: TreeKey,
Pid<T>: TreeKey,
FilterRepr<T>: TreeKey,
Source§fn traverse_all<W: Walk>() -> Result<W, W::Error>
fn traverse_all<W: Walk>() -> Result<W, W::Error>
Walk metadata about all paths. Read more
Source§fn traverse_by_key<K, F, E>(keys: K, func: F) -> Result<usize, Error<E>>
fn traverse_by_key<K, F, E>(keys: K, func: F) -> Result<usize, Error<E>>
Traverse from the root to a leaf and call a function for each node. Read more
Source§impl<T, C> TreeSerialize for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeSerialize,
Leaf<Biquad<C>>: TreeSerialize,
Pid<T>: TreeSerialize,
FilterRepr<T>: TreeSerialize,
impl<T, C> TreeSerialize for BiquadRepr<T, C>where
C: Coefficient,
T: Float + FloatConst,
Ba<T>: TreeSerialize,
Leaf<Biquad<C>>: TreeSerialize,
Pid<T>: TreeSerialize,
FilterRepr<T>: TreeSerialize,
Source§fn serialize_by_key<K, S>(
&self,
keys: K,
ser: S,
) -> Result<usize, Error<S::Error>>where
K: Keys,
S: Serializer,
fn serialize_by_key<K, S>(
&self,
keys: K,
ser: S,
) -> Result<usize, Error<S::Error>>where
K: Keys,
S: Serializer,
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