Module rustradio::fft_filter
source · Expand description
FFT filter. Like a FIR filter, but more efficient when there are many taps.
use rustradio::{Complex, Float};
use rustradio::graph::Graph;
use rustradio::fir::low_pass_complex;
use rustradio::blocks::{ConstantSource, FftFilter, NullSink};
let mut graph = Graph::new();
// Create taps for a 100kHz low pass filter with 1kHz transition
// width.
let samp_rate: Float = 1_000_000.0;
let taps = low_pass_complex(samp_rate, 100_000.0, 1000.0, &rustradio::window::WindowType::Hamming);
// Set up dummy source and sink.
let src = Box::new(ConstantSource::new(Complex::new(0.0,0.0)));
// Create and connect fft.
let fft = Box::new(FftFilter::new(src.out(), &taps));
// Set up dummy sink.
let sink = Box::new(NullSink::new(fft.out()));
§Further reading:
Structs§
- FFT filter. Like a FIR filter, but more efficient when there are many taps.
- FFT filter for float values.