add doc to biquad and filter
authorPaul Brossier <piem@altern.org>
Wed, 17 May 2006 19:43:27 +0000 (19:43 +0000)
committerPaul Brossier <piem@altern.org>
Wed, 17 May 2006 19:43:27 +0000 (19:43 +0000)
add doc to biquad and filter

src/biquad.h
src/filter.h

index ffe6ac3534b1a5ff5503117752870f861119d228..84b0bfbd450e417ee25edd80c1dfeb85edb83ffb 100644 (file)
 #define BIQUAD_H
 
 /** \file 
- * biquad filter
- *
- * \f$ y[n] = b_1 x[n] + b_2 x[n-1] + b_3 x[n-2] -
- *      a_2 y[n-1] - a_3 y[n-2] \f$
- */
+
+  Second order Infinite Impulse Response filter
+
+  This file implements a normalised biquad filter (second order IIR):
+  \f$ y[n] = b_1 x[n] + b_2 x[n-1] + b_3 x[n-2] - a_2 y[n-1] - a_3 y[n-2] \f$
+
+  The filtfilt version runs the filter twice, forward and backward, to
+  compensate the phase shifting of the forward operation.
+
+*/
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/** biquad filter object */
 typedef struct _aubio_biquad_t aubio_biquad_t;
 
+/** filter input vector
+
+  \param b biquad object as returned by new_aubio_biquad
+  \param in input vector to filter
+
+*/
 void aubio_biquad_do(aubio_biquad_t * b, fvec_t * in);
+/** filter input vector forward and backward
+
+  \param b biquad object as returned by new_aubio_biquad
+  \param in input vector to filter
+  \param tmp memory space to use for computation
+
+*/
 void aubio_biquad_do_filtfilt(aubio_biquad_t * b, fvec_t * in, fvec_t * tmp);
+/** create new biquad filter
+
+  \param b1 forward filter coefficient
+  \param b2 forward filter coefficient
+  \param b3 forward filter coefficient
+  \param a2 feedback filter coefficient
+  \param a3 feedback filter coefficient
+
+*/
 aubio_biquad_t * new_aubio_biquad(lsmp_t b1, lsmp_t b2, lsmp_t b3, lsmp_t a2, lsmp_t a3);
 
 #ifdef __cplusplus
index 5ee2ac20c4f40beb34dbc16ad483656d95787c13..c6aaad0c745729b8d5f5433853710ca98fec951e 100644 (file)
 #define FILTER_H
 
 /** \file 
- * filter
- *
- * \f$ y[n] = b_1 x[n] + ... + b_{order} x[n-order] -
- *      a_2 y[n-1] - ... - a_{order} y[n-order]\f$
- */
+
+  Infinite Impulse Response filter
+
+  This file implements IIR filters of any order:
+  \f$ y[n] = b_1 x[n] + ... + b_{order} x[n-order] -
+       a_2 y[n-1] - ... - a_{order} y[n-order]\f$
+
+  The filtfilt version runs the filter twice, forward and backward, to
+  compensate the phase shifting of the forward operation.
+
+*/
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/** IIR filter object */
 typedef struct _aubio_filter_t aubio_filter_t;
+
+/** filter input vector (in-place)
+
+  \param b biquad object as returned by new_aubio_biquad
+  \param in input vector to filter
+
+*/
 void aubio_filter_do(aubio_filter_t * b, fvec_t * in);
+/** filter input vector (out-of-place)
+
+  \param b biquad object as returned by new_aubio_biquad
+  \param in input vector to filter
+  \param out output vector to store filtered input
+
+*/
 void aubio_filter_do_outplace(aubio_filter_t * b, fvec_t * in, fvec_t * out);
+/** filter input vector forward and backward
+
+  \param b biquad object as returned by new_aubio_biquad
+  \param in input vector to filter
+  \param tmp memory space to use for computation
+
+*/
 void aubio_filter_do_filtfilt(aubio_filter_t * b, fvec_t * in, fvec_t * tmp);
+/** create new IIR filter
+
+  \param b vector of forward coefficients 
+  \param a vector of feedback coefficients
+  \param order order of the filter (number of coefficients)
+
+*/
 aubio_filter_t * new_aubio_filter(uint_t samplerate, uint_t order);
+/** create a new A-design filter 
+
+  \param samplerate sampling-rate of the signal to filter 
+
+*/
 aubio_filter_t * new_aubio_adsgn_filter(uint_t samplerate);
+/** create a new C-design filter 
+
+  \param samplerate sampling-rate of the signal to filter 
+
+*/
 aubio_filter_t * new_aubio_cdsgn_filter(uint_t samplerate);
 
 #ifdef __cplusplus