aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/samplerate.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2017-01-15 11:08:42 +0100
committerAndreas Eversberg <jolly@eversberg.eu>2017-02-18 21:01:04 +0100
commitac0da3f76ee3f31599b0c572ed296b251e94378b (patch)
treea1e3bfe7bedd349db38c11487023a57e5da1dfe0 /src/common/samplerate.c
parent799b96c801567c1cd0c6a1281511bca90eeac1db (diff)
Filter improvement: LP and HP filters, added test function
The -3 dB level at cut-off frequency is now maintained for multiple iterations.
Diffstat (limited to 'src/common/samplerate.c')
-rw-r--r--src/common/samplerate.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/common/samplerate.c b/src/common/samplerate.c
index 8113055..f554cf0 100644
--- a/src/common/samplerate.c
+++ b/src/common/samplerate.c
@@ -37,8 +37,8 @@ int init_samplerate(samplerate_t *state, double samplerate)
memset(state, 0, sizeof(*state));
state->factor = samplerate / 8000.0;
- filter_lowpass_init(&state->up.lp, 4000.0, samplerate);
- filter_lowpass_init(&state->down.lp, 4000.0, samplerate);
+ filter_lowpass_init(&state->up.lp, 4000.0, samplerate, 1);
+ filter_lowpass_init(&state->down.lp, 4000.0, samplerate, 1);
return 0;
}
@@ -56,7 +56,7 @@ int samplerate_downsample(samplerate_t *state, int16_t *input, int input_num, in
spl[i] = *input++ / 32768.0;
/* filter down */
- filter_lowpass_process(&state->down.lp, spl, input_num, 1);
+ filter_process(&state->down.lp, spl, input_num);
/* resample filtered result */
in_index = state->down.in_index;
@@ -125,7 +125,7 @@ int samplerate_upsample(samplerate_t *state, int16_t *input, int input_num, int1
state->up.in_index = in_index;
/* filter up */
- filter_lowpass_process(&state->up.lp, spl, output_num, 1);
+ filter_process(&state->up.lp, spl, output_num);
/* convert double to samples */
for (i = 0; i < output_num; i++) {