Asterisk - The Open Source Telephony Project GIT-master-f36a736
filter.h
Go to the documentation of this file.
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(
22 float *InOut, /* (i/o) on entrance InOut[-orderCoef] to
23 InOut[-1] contain the state of the
24 filter (delayed samples). InOut[0] to
25 InOut[lengthInOut-1] contain the filter
26 input, on en exit InOut[-orderCoef] to
27 InOut[-1] is unchanged and InOut[0] to
28 InOut[lengthInOut-1] contain filtered
29 samples */
30 float *Coef,/* (i) filter coefficients, Coef[0] is assumed
31 to be 1.0 */
32 int lengthInOut,/* (i) number of input/output samples */
33 int orderCoef /* (i) number of filter coefficients */
34 );
35
36 void AllZeroFilter(
37 float *In, /* (i) In[0] to In[lengthInOut-1] contain
38 filter input samples */
39 float *Coef,/* (i) filter coefficients (Coef[0] is assumed
40 to be 1.0) */
41 int lengthInOut,/* (i) number of input/output samples */
42 int orderCoef, /* (i) number of filter coefficients */
43 float *Out /* (i/o) on entrance Out[-orderCoef] to Out[-1]
44 contain the filter state, on exit Out[0]
45 to Out[lengthInOut-1] contain filtered
46 samples */
47 );
48
49 void ZeroPoleFilter(
50 float *In, /* (i) In[0] to In[lengthInOut-1] contain filter
51 input samples In[-orderCoef] to In[-1]
52 contain state of all-zero section */
53 float *ZeroCoef,/* (i) filter coefficients for all-zero
54 section (ZeroCoef[0] is assumed to
55 be 1.0) */
56 float *PoleCoef,/* (i) filter coefficients for all-pole section
57 (ZeroCoef[0] is assumed to be 1.0) */
58 int lengthInOut,/* (i) number of input/output samples */
59 int orderCoef, /* (i) number of filter coefficients */
60 float *Out /* (i/o) on entrance Out[-orderCoef] to Out[-1]
61 contain state of all-pole section. On
62 exit Out[0] to Out[lengthInOut-1]
63 contain filtered samples */
64 );
65
66
67
68
69
70
71 void DownSample (
72 float *In, /* (i) input samples */
73 float *Coef, /* (i) filter coefficients */
74 int lengthIn, /* (i) number of input samples */
75 float *state, /* (i) filter state */
76 float *Out /* (o) downsampled output */
77 );
78
79 #endif
void ZeroPoleFilter(float *In, float *ZeroCoef, float *PoleCoef, int lengthInOut, int orderCoef, float *Out)
Definition: filter.c:80
void AllZeroFilter(float *In, float *Coef, int lengthInOut, int orderCoef, float *Out)
Definition: filter.c:52
void DownSample(float *In, float *Coef, int lengthIn, float *state, float *Out)
Definition: filter.c:110
void AllPoleFilter(float *InOut, float *Coef, int lengthInOut, int orderCoef)
Definition: filter.c:19