source: src/temporal/biquad.h @ c85da04

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since c85da04 was 2d1d5ce, checked in by Paul Brossier <piem@piem.org>, 15 years ago

src/temporal: improve documentation

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*
2         Copyright (C) 2003 Paul Brossier
3
4         This program is free software; you can redistribute it and/or modify
5         it under the terms of the GNU General Public License as published by
6         the Free Software Foundation; either version 2 of the License, or
7         (at your option) any later version.
8
9         This program is distributed in the hope that it will be useful,
10         but WITHOUT ANY WARRANTY; without even the implied warranty of
11         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12         GNU General Public License for more details.
13
14         You should have received a copy of the GNU General Public License
15         along with this program; if not, write to the Free Software
16         Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18*/
19
20#ifndef BIQUAD_H
21#define BIQUAD_H
22
23/** \file
24
25  Second order Infinite Impulse Response filter
26
27  This file implements a normalised biquad filter (second order IIR):
28 
29  \f$ y[n] = b_0 x[n] + b_1 x[n-1] + b_2 x[n-2] - a_1 y[n-1] - a_2 y[n-2] \f$
30
31  The filtfilt version runs the filter twice, forward and backward, to
32  compensate the phase shifting of the forward operation.
33
34  See also <a href="http://en.wikipedia.org/wiki/Digital_biquad_filter">Digital
35  biquad filter</a> on wikipedia.
36
37*/
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43/** set coefficients of a biquad filter
44
45  \param f filter object as returned by new_aubio_filter()
46  \param b0 forward filter coefficient
47  \param b1 forward filter coefficient
48  \param b2 forward filter coefficient
49  \param a1 feedback filter coefficient
50  \param a2 feedback filter coefficient
51
52*/
53uint_t
54aubio_filter_set_biquad (aubio_filter_t * f, lsmp_t b0, lsmp_t b1, lsmp_t b2,
55    lsmp_t a1, lsmp_t a2);
56
57/** create new biquad filter
58
59  \param b0 forward filter coefficient
60  \param b1 forward filter coefficient
61  \param b2 forward filter coefficient
62  \param a1 feedback filter coefficient
63  \param a2 feedback filter coefficient
64  \param channels number of channels to allocate
65
66*/
67aubio_filter_t *
68new_aubio_filter_biquad (lsmp_t b0, lsmp_t b1, lsmp_t b2, lsmp_t a1, lsmp_t a2,
69    uint_t channels);
70
71#ifdef __cplusplus
72}
73#endif
74
75#endif /*BIQUAD_H*/
Note: See TracBrowser for help on using the repository browser.