enum FilterType
Source: filters.joule:14
enum FilterTypeSource: filters.joule:14
struct FirFilterSource: filters.joule:31
fn new(coeffs: Vec<f64>) -> SelfCreate FIR filter from coefficients
Source: filters.joule:38
fn design(Source: filters.joule:44
fn differentiator(order: usize, window_type: WindowType) -> SelfSource: filters.joule:112
fn hilbert(order: usize, window_type: WindowType) -> SelfSource: filters.joule:137
fn filter(&self, signal: &Signal) -> SignalSource: filters.joule:162
fn filtfilt(&self, signal: &Signal) -> SignalSource: filters.joule:169
fn order(&self) -> usizeGet filter order
Source: filters.joule:186
fn frequency_response(&self, num_points: usize) -> Vec<(f64, f64)>Source: filters.joule:192
struct IirFilterSource: filters.joule:220
fn new(b: Vec<f64>, a: Vec<f64>) -> SelfCreate IIR filter from transfer function coefficients
Source: filters.joule:229
fn butterworth(filter_type: FilterType, cutoff: f64, cutoff2: Option<f64>, order: usize) -> SelfSource: filters.joule:239
fn chebyshev1(filter_type: FilterType, cutoff: f64, order: usize, ripple_db: f64) -> SelfSource: filters.joule:271
fn first_order_lowpass(cutoff: f64) -> SelfDesign first-order lowpass filter
Source: filters.joule:297
fn first_order_highpass(cutoff: f64) -> SelfDesign first-order highpass filter
Source: filters.joule:308
fn biquad(Design biquad (second-order section) filter
Source: filters.joule:319
fn notch(center_freq: f64, bandwidth: f64) -> SelfDesign notch filter
Source: filters.joule:372
fn peaking_eq(center_freq: f64, bandwidth: f64, gain_db: f64) -> SelfDesign peak/dip (parametric EQ) filter
Source: filters.joule:381
fn low_shelf(cutoff: f64, gain_db: f64, q: f64) -> SelfDesign low shelf filter
Source: filters.joule:398
fn high_shelf(cutoff: f64, gain_db: f64, q: f64) -> SelfDesign high shelf filter
Source: filters.joule:414
fn filter(&self, signal: &Signal) -> SignalSource: filters.joule:431
fn filtfilt(&self, signal: &Signal) -> SignalSource: filters.joule:454
fn is_stable(&self) -> boolCheck if filter is stable
Source: filters.joule:463
fn frequency_response(&self, num_points: usize) -> Vec<(f64, f64)>Source: filters.joule:479
fn butterworth_lowpass_digital(poles: &[(f64, f64)], wc: f64) -> IirFilterSource: filters.joule:516
fn butterworth_highpass_digital(poles: &[(f64, f64)], wc: f64) -> IirFilterSource: filters.joule:556
fn butterworth_bandpass_digital(poles: &[(f64, f64)], wc1: f64, wc2: f64) -> IirFilterSource: filters.joule:567
fn butterworth_bandstop_digital(poles: &[(f64, f64)], wc1: f64, wc2: f64) -> IirFilterSource: filters.joule:580
fn chebyshev_lowpass_digital(poles: &[(f64, f64)], wc: f64, eps: f64) -> IirFilterSource: filters.joule:586
fn convolve_poly(a: &[f64], b: &[f64]) -> Vec<f64>Source: filters.joule:591
fn moving_average(signal: &Signal, window_size: usize) -> SignalSource: filters.joule:613
fn exponential_moving_average(signal: &Signal, alpha: f64) -> SignalSource: filters.joule:643
fn median_filter(signal: &Signal, window_size: usize) -> SignalSource: filters.joule:661
fn test_fir_lowpass()Source: filters.joule:687
fn test_iir_butterworth()Source: filters.joule:698
fn test_filter_signal()Source: filters.joule:704
fn test_moving_average()Source: filters.joule:713