I know how to implement a Butterworth filter to control db/Octave. Basically, you put a FlterChain inside of a FilterChain
using Filter = dsp::ProcessorDuplicator<dsp::IIR::Filter<float>, dsp::IIR::Coefficients<float>>;
using Gain = dsp::Gain<float>;
using CutFilter = dsp::ProcessorChain<
Filter,
Filter,
Filter,
Filter
>;
dsp::ProcessorChain<
CutFilter, //... Used for LowCut Filter
Filter, // Peak
CutFilter, //... Used for HighCut Filter
Gain> filter;
I would apply the Butterworth Coefficients to the CutFilters.
What would be the equivalent for Chebyshev? Is Db/Octave something that is done with Chebyshev coefficients. I notice that there is no “Order” variable in
static ReferenceCountedArray<IIRCoefficients> dsp::FilterDesign< FloatType >::designIIRLowpassHighOrderChebyshev1Method ( FloatType frequency,
double sampleRate,
FloatType normalisedTransitionWidth,
FloatType passbandAmplitudedB,
FloatType stopbandAmplitudedB
)
QUESTIONS:
Is db/Octave different from db/Decade?
What is the purpose of a Chebyshev filter. It seems like distortion.
Can someone point me to working code example of a ChebyShev?