Finite Impulse Response Filter (``firfilt``) ============================================ Finite impulse response (FIR) filters are implemented in liquid with the ``firfilt`` family of objects. Interface --------- Listed below is the full interface to the ``firfilt`` family of objects. ``create()`` ~~~~~~~~~~~~ Create a finite impulse response filter (firfilt) object by directly specifying the filter coefficients in an array. .. tab:: ``firfilt_rrrf`` .. code-block:: c firfilt_rrrf firfilt_rrrf_create(float * _h, unsigned int _n); * :c:`float * _h`: filter coefficients, shape: ``(_n, 1)`` * :c:`unsigned int _n`: number of coefficients, :math:`0 < n` * returns new ``firfilt_rrrf`` object .. tab:: ``firfilt_crcf`` .. code-block:: c firfilt_crcf firfilt_crcf_create(float * _h, unsigned int _n); * :c:`float * _h`: filter coefficients, shape: ``(_n, 1)`` * :c:`unsigned int _n`: number of coefficients, :math:`0 < n` * returns new ``firfilt_crcf`` object .. tab:: ``firfilt_cccf`` .. code-block:: c firfilt_cccf firfilt_cccf_create(float complex * _h, unsigned int _n); * :c:`float complex * _h`: filter coefficients, shape: ``(_n, 1)`` * :c:`unsigned int _n`: number of coefficients, :math:`0 < n` * returns new ``firfilt_cccf`` object ``destroy()`` ~~~~~~~~~~~~~ Destroys a `firfilt` object, freeing all internally-allocated memory. .. tab:: ``firfilt_rrrf`` .. code-block:: c int firfilt_rrrf_destroy(firfilt_rrrf _q); * :c:`firfilt_rrrf _q`: filter object * returns common error code .. tab:: ``firfilt_crcf`` .. code-block:: c int firfilt_crcf_destroy(firfilt_crcf _q); * :c:`firfilt_crcf _q`: filter object * returns common error code .. tab:: ``firfilt_cccf`` .. code-block:: c int firfilt_cccf_destroy(firfilt_cccf _q); * :c:`firfilt_cccf _q`: filter object * returns common error code