Filter improvement: LP and HP filters, added test function

The -3 dB level at cut-off frequency is now maintained for multiple
iterations.
This commit is contained in:
Andreas Eversberg
2017-01-15 11:08:42 +01:00
parent 799b96c801
commit ac0da3f76e
10 changed files with 186 additions and 32 deletions

View File

@@ -48,7 +48,7 @@ void scrambler_init(void)
void scrambler_setup(scrambler_t *scrambler, int samplerate)
{
filter_lowpass_init(&scrambler->lp, CARRIER_HZ - FILTER_BELOW, samplerate);
filter_lowpass_init(&scrambler->lp, CARRIER_HZ - FILTER_BELOW, samplerate, FILTER_TURNS);
scrambler->carrier_phaseshift256 = 256.0 / ((double)samplerate / CARRIER_HZ);
}
@@ -77,7 +77,7 @@ void scrambler(scrambler_t *scrambler, int16_t *samples, int length)
scrambler->carrier_phase256 = phase;
/* cut off carrier frequency and modulation above carrier frequency */
filter_lowpass_process(&scrambler->lp, spl, length, FILTER_TURNS);
filter_process(&scrambler->lp, spl, length);
for (i = 0; i < length; i++) {
/* store result */