Struct futuresdr::blocks::IirBuilder
source · [−]pub struct IirBuilder {}
Expand description
Creates a generic IIR filter.
This filter consumes two sets of taps, a_taps
and b_taps
. a_taps
are
the feedback taps, and b_taps
are the feed-forward taps. If there are n
feed-forward taps and m
feed-back taps, the equation is:
y(k) = x[k] * b[0] + x[k-1] * b[1] + ... + x[k-n] * b[n]
+ x[k-1] * a[0] + x[k-2] * a[1] + ... + x[k-m-1] * a[m]
Uses the futuredsp
to pick the optimal IIR implementation for the given
constraints.
Note that there must be an implementation of futuredsp::TapsAccessor for the taps objects you pass in, see docs for details. Both the a_taps and the b_taps objects must be the same type.
Additionally, there must be an available core (implementation of
futuredsp::StatefulUnaryKernel) available for the specified SampleType
and TapsType
. See the futuredsp docs for available
implementations.
Inputs
in
: Input
Outputs
out
: Output
Usage
use futuresdr::blocks::IirBuilder;
use futuresdr::runtime::Flowgraph;
let mut fg = Flowgraph::new();
let iir = fg.add_block(IirBuilder::new::<f32, f32, f32, _>([1.0, 2.0, 3.0], [4.0, 5.0, 6.0]));
Implementations
sourceimpl IirBuilder
impl IirBuilder
pub fn new<InputType, OutputType, TapType, Taps>(
a_taps: Taps,
b_taps: Taps
) -> Block where
InputType: 'static + Send + Clone,
OutputType: 'static + Send + Clone,
TapType: 'static,
Taps: 'static + TapsAccessor,
IirKernel<InputType, OutputType, Taps>: StatefulUnaryKernel<InputType, OutputType>,
Auto Trait Implementations
impl RefUnwindSafe for IirBuilder
impl Send for IirBuilder
impl Sync for IirBuilder
impl Unpin for IirBuilder
impl UnwindSafe for IirBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more