Struct sdr::cic::CIC [] [src]

pub struct CIC<T: SampleType> {
    // some fields omitted
}

Qth order CIC filter with decimate-by-R (and D=R).

Methods

impl<T: SampleType> CIC<T>
[src]

fn new(q: usize, r: usize, bw: usize) -> CIC<T>

Create a new CIC filter of order q and downsampling ratio r.

Bitwidth is the number of bits actually used by your input data, so must be equal to or less than the size of the data type.

Note that bitwidth + ceil(Q log2 R) must <= 32.

fn process(&mut self, x: &Vec<T>) -> Vec<T>

Run the CIC filter over a block x, returning the filtered and decimated output.