Mercurial > hg > audiostuff
comparison intercom/ilbc/filter.h @ 2:13be24d74cd2
import intercom-0.4.1
author | Peter Meerwald <pmeerw@cosy.sbg.ac.at> |
---|---|
date | Fri, 25 Jun 2010 09:57:52 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1:9cadc470e3da | 2:13be24d74cd2 |
---|---|
1 | |
2 /****************************************************************** | |
3 | |
4 iLBC Speech Coder ANSI-C Source Code | |
5 | |
6 filter.h | |
7 | |
8 Copyright (C) The Internet Society (2004). | |
9 All Rights Reserved. | |
10 | |
11 ******************************************************************/ | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 #ifndef __iLBC_FILTER_H | |
19 #define __iLBC_FILTER_H | |
20 | |
21 void AllPoleFilter(float *InOut, /* (i/o) on entrance InOut[-orderCoef] to | |
22 InOut[-1] contain the state of the | |
23 filter (delayed samples). InOut[0] to | |
24 InOut[lengthInOut-1] contain the filter | |
25 input, on en exit InOut[-orderCoef] to | |
26 InOut[-1] is unchanged and InOut[0] to | |
27 InOut[lengthInOut-1] contain filtered | |
28 samples */ | |
29 float *Coef, /* (i) filter coefficients, Coef[0] is assumed | |
30 to be 1.0 */ | |
31 int lengthInOut, /* (i) number of input/output samples */ | |
32 int orderCoef /* (i) number of filter coefficients */ | |
33 ); | |
34 | |
35 void AllZeroFilter(float *In, /* (i) In[0] to In[lengthInOut-1] contain | |
36 filter input samples */ | |
37 float *Coef, /* (i) filter coefficients (Coef[0] is assumed | |
38 to be 1.0) */ | |
39 int lengthInOut, /* (i) number of input/output samples */ | |
40 int orderCoef, /* (i) number of filter coefficients */ | |
41 float *Out /* (i/o) on entrance Out[-orderCoef] to Out[-1] | |
42 contain the filter state, on exit Out[0] | |
43 to Out[lengthInOut-1] contain filtered | |
44 samples */ | |
45 ); | |
46 | |
47 void ZeroPoleFilter(float *In, /* (i) In[0] to In[lengthInOut-1] contain filter | |
48 input samples In[-orderCoef] to In[-1] | |
49 contain state of all-zero section */ | |
50 float *ZeroCoef, /* (i) filter coefficients for all-zero | |
51 section (ZeroCoef[0] is assumed to | |
52 be 1.0) */ | |
53 float *PoleCoef, /* (i) filter coefficients for all-pole section | |
54 (ZeroCoef[0] is assumed to be 1.0) */ | |
55 int lengthInOut, /* (i) number of input/output samples */ | |
56 int orderCoef, /* (i) number of filter coefficients */ | |
57 float *Out /* (i/o) on entrance Out[-orderCoef] to Out[-1] | |
58 contain state of all-pole section. On | |
59 exit Out[0] to Out[lengthInOut-1] | |
60 contain filtered samples */ | |
61 ); | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 void DownSample(float *In, /* (i) input samples */ | |
69 float *Coef, /* (i) filter coefficients */ | |
70 int lengthIn, /* (i) number of input samples */ | |
71 float *state, /* (i) filter state */ | |
72 float *Out /* (o) downsampled output */ | |
73 ); | |
74 | |
75 #endif |