jamulus/src/resamplefilter.h
2009-02-14 11:15:53 +00:00

150 lines
3.8 KiB
C

/* Automatically generated file with MATLAB */
/* File name: "ResampleFilter.m" */
/* Filter taps in time-domain */
#ifndef _RESAMPLEFILTER_H_
#define _RESAMPLEFILTER_H_
#define NUM_TAPS_PER_PHASE2 4
#define NUM_TAPS_PER_PHASE3_2 4
#define NUM_TAPS_PER_PHASE12_7 4
#define NUM_TAPS_PER_PHASE1 4
#define INTERP_I_2 2
#define DECIM_D_2 1
#define INTERP_I_3_2 3
#define DECIM_D_3_2 2
#define INTERP_I_12_7 12
#define DECIM_D_12_7 7
#define INTERP_DECIM_I_D1 10
// Filter for ratio 2
static float fResTaps2[INTERP_I_2 * DECIM_D_2 * NUM_TAPS_PER_PHASE2] = {
-0.00543278438387929850f,
-0.04267524016158903000f,
0.20891570602538878000f,
0.83952404734744124000f,
0.83952404734744124000f,
0.20891570602538878000f,
-0.04267524016158903000f,
-0.00543278438387929850f
};
// Filter for ratio 3 / 2
static float fResTaps3_2[INTERP_I_3_2 * DECIM_D_3_2 * NUM_TAPS_PER_PHASE3_2] = {
-0.00408852062433148060f,
-0.03403350863992425000f,
-0.04022975217253792900f,
0.13329249686943762000f,
0.53708476977179720000f,
0.91181435690712065000f,
0.91181435690712065000f,
0.53708476977179720000f,
0.13329249686943762000f,
-0.04022975217253792900f,
-0.03403350863992425000f,
-0.00408852062433148060f
};
// Filter for ratio 12 / 7
static float fResTaps12_7[INTERP_I_12_7 * DECIM_D_12_7 * NUM_TAPS_PER_PHASE12_7] = {
-0.00185134160992586720f,
-0.00535053051492332800f,
-0.01104625703005996000f,
-0.01899767406878452600f,
-0.02882121807019974400f,
-0.03958235672293213700f,
-0.04974153780519474000f,
-0.05717451684296728800f,
-0.05927956058301216100f,
-0.05317329279983799100f,
-0.03596445360838258800f,
-0.00508228090027591780f,
0.04137452990390712300f,
0.10430949713686680000f,
0.18336405182544557000f,
0.27675710732757719000f,
0.38125907488903715000f,
0.49231678134249329000f,
0.60432839502202396000f,
0.71104906219027497000f,
0.80609094024529682000f,
0.88346804514451582000f,
0.93812874014341641000f,
0.96641799077360369000f,
0.96641799077360369000f,
0.93812874014341641000f,
0.88346804514451582000f,
0.80609094024529682000f,
0.71104906219027497000f,
0.60432839502202396000f,
0.49231678134249329000f,
0.38125907488903715000f,
0.27675710732757719000f,
0.18336405182544557000f,
0.10430949713686680000f,
0.04137452990390712300f,
-0.00508228090027591780f,
-0.03596445360838258800f,
-0.05317329279983799100f,
-0.05927956058301216100f,
-0.05717451684296728800f,
-0.04974153780519474000f,
-0.03958235672293213700f,
-0.02882121807019974400f,
-0.01899767406878452600f,
-0.01104625703005996000f,
-0.00535053051492332800f,
-0.00185134160992586720f
};
// Filter for ratios close to 1
static float fResTaps1[INTERP_DECIM_I_D1 * NUM_TAPS_PER_PHASE1] = {
-0.00200330615661920140f,
-0.00657158284969252320f,
-0.01434325067267541500f,
-0.02515649349164660000f,
-0.03781954301370460400f,
-0.04991380271447259900f,
-0.05780029046175797600f,
-0.05688089663877354800f,
-0.04212153837626786400f,
-0.00879070792017156400f,
0.04668529656863164300f,
0.12588850452342773000f,
0.22775132810044491000f,
0.34821676223650200000f,
0.48031735951868820000f,
0.61470848494637820000f,
0.74061377477860824000f,
0.84706508415438742000f,
0.92426036786924715000f,
0.96483311873999922000f,
0.96483311873999922000f,
0.92426036786924715000f,
0.84706508415438742000f,
0.74061377477860824000f,
0.61470848494637820000f,
0.48031735951868820000f,
0.34821676223650200000f,
0.22775132810044491000f,
0.12588850452342773000f,
0.04668529656863164300f,
-0.00879070792017156400f,
-0.04212153837626786400f,
-0.05688089663877354800f,
-0.05780029046175797600f,
-0.04991380271447259900f,
-0.03781954301370460400f,
-0.02515649349164660000f,
-0.01434325067267541500f,
-0.00657158284969252320f,
-0.00200330615661920140f
};
#endif /* _RESAMPLEFILTER_H_ */