pub struct BiquadFilter { /* private fields */ }Expand description
Second-order (biquad) IIR filter.
Implements the standard biquad difference equation:
y[n] = b0*x[n] + b1*x[n-1] + b2*x[n-2] - a1*y[n-1] - a2*y[n-2]Coefficients are normalized (a0 = 1).
Implementations§
Source§impl BiquadFilter
impl BiquadFilter
Sourcepub fn highpass_butterworth(cutoff_hz: f32, sample_rate: u32) -> Self
pub fn highpass_butterworth(cutoff_hz: f32, sample_rate: u32) -> Self
Sourcepub fn process_sample(&mut self, x: f64) -> f64
pub fn process_sample(&mut self, x: f64) -> f64
Process a single sample through the filter.
Sourcepub fn process_i16(&mut self, samples: &mut [i16])
pub fn process_i16(&mut self, samples: &mut [i16])
Process a buffer of i16 samples in place.
Sourcepub fn process_i16_to_vec(&mut self, samples: &[i16]) -> Vec<i16>
pub fn process_i16_to_vec(&mut self, samples: &[i16]) -> Vec<i16>
Process a buffer of i16 samples, returning a new buffer.
Trait Implementations§
Source§impl Clone for BiquadFilter
impl Clone for BiquadFilter
Source§fn clone(&self) -> BiquadFilter
fn clone(&self) -> BiquadFilter
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 moreAuto Trait Implementations§
impl Freeze for BiquadFilter
impl RefUnwindSafe for BiquadFilter
impl Send for BiquadFilter
impl Sync for BiquadFilter
impl Unpin for BiquadFilter
impl UnsafeUnpin for BiquadFilter
impl UnwindSafe for BiquadFilter
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