commit ece430fc99f2ca33e1a7dcae7e1585094ee590e4
parent e3bd1cd1ff309bbb1dae38aba80778549933f758
Author: Matt Demanett <matt@demanett.net>
Date: Mon, 7 Sep 2020 22:02:02 -0400
Filters: add cutoff limit at 49% of sample rate, to support low sample rates. #140
Diffstat:
1 file changed, 1 insertion(+), 0 deletions(-)
diff --git a/src/dsp/filters/multimode.cpp b/src/dsp/filters/multimode.cpp
@@ -199,6 +199,7 @@ template<int N> void MultimodeDesigner<N>::setParams(
assert(poles % modPoles == 0);
assert(frequency >= minFrequency - 0.00001f && frequency <= maxFrequency);
frequency = std::max(frequency, effectiveMinimumFrequency());
+ frequency = std::min(frequency, 0.49f * sampleRate);
assert(qbw >= minQbw && qbw <= maxQbw);
bool repole = _type != type || _mode != mode || _nPoles != poles || (type == CHEBYSHEV_TYPE && (mode == LOWPASS_MODE || mode == HIGHPASS_MODE) && _qbw != qbw);