diff options
author | erdgeist@erdgeist.org <erdgeist@bauklotz.fritz.box> | 2019-07-04 23:26:09 +0200 |
---|---|---|
committer | erdgeist@erdgeist.org <erdgeist@bauklotz.fritz.box> | 2019-07-04 23:26:09 +0200 |
commit | f02dfce6e6c34b3d8a7b8a0e784b506178e331fa (patch) | |
tree | 45556e6104242d4702689760433d7321ae74ec17 /lpc.h |
stripdown of version 0.9
Diffstat (limited to 'lpc.h')
-rw-r--r-- | lpc.h | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ | |||
1 | /*---------------------------------------------------------------------------*\ | ||
2 | |||
3 | FILE........: lpc.h | ||
4 | AUTHOR......: David Rowe | ||
5 | DATE CREATED: 24/8/09 | ||
6 | |||
7 | Linear Prediction functions written in C. | ||
8 | |||
9 | \*---------------------------------------------------------------------------*/ | ||
10 | |||
11 | /* | ||
12 | Copyright (C) 2009-2012 David Rowe | ||
13 | |||
14 | All rights reserved. | ||
15 | |||
16 | This program is free software; you can redistribute it and/or modify | ||
17 | it under the terms of the GNU Lesser General Public License version 2.1, as | ||
18 | published by the Free Software Foundation. This program is | ||
19 | distributed in the hope that it will be useful, but WITHOUT ANY | ||
20 | WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
21 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | ||
22 | License for more details. | ||
23 | |||
24 | You should have received a copy of the GNU Lesser General Public License | ||
25 | along with this program; if not, see <http://www.gnu.org/licenses/>. | ||
26 | */ | ||
27 | |||
28 | #ifndef __LPC__ | ||
29 | #define __LPC__ | ||
30 | |||
31 | #define LPC_MAX_ORDER 20 | ||
32 | |||
33 | void pre_emp(float Sn_pre[], float Sn[], float *mem, int Nsam); | ||
34 | void de_emp(float Sn_se[], float Sn[], float *mem, int Nsam); | ||
35 | void hanning_window(float Sn[], float Wn[], int Nsam); | ||
36 | void autocorrelate(float Sn[], float Rn[], int Nsam, int order); | ||
37 | void levinson_durbin(float R[], float lpcs[], int order); | ||
38 | void inverse_filter(float Sn[], float a[], int Nsam, float res[], int order); | ||
39 | void synthesis_filter(float res[], float a[], int Nsam, int order, float Sn_[]); | ||
40 | void find_aks(float Sn[], float a[], int Nsam, int order, float *E); | ||
41 | void weight(float ak[], float gamma, int order, float akw[]); | ||
42 | |||
43 | #endif | ||