36#ifndef IIR1_CHEBYSHEVI_H
37#define IIR1_CHEBYSHEVI_H
41#include "PoleFilter.h"
60 void design (
const int numPoles,
65 double m_rippleDb = 0.0;
76 void design (
int numPoles,
82 double m_rippleDb = 0.0;
83 double m_gainDb = 0.0;
90 void setup (
int order,
91 double cutoffFrequency,
97 void setup (
int order,
98 double cutoffFrequency,
104 void setup (
int order,
105 double centerFrequency,
106 double widthFrequency,
112 void setup (
int order,
113 double centerFrequency,
114 double widthFrequency,
120 void setup (
int order,
121 double cutoffFrequency,
128 void setup (
int order,
129 double cutoffFrequency,
136 void setup (
int order,
137 double centerFrequency,
138 double widthFrequency,
154template <
int FilterOrder = DEFAULT_FILTER_ORDER,
class StateType = DEFAULT_STATE>
164 double cutoffFrequency,
166 LowPassBase::setup (FilterOrder,
167 cutoffFrequency / sampleRate,
180 double cutoffFrequency,
182 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
183 LowPassBase::setup (reqOrder,
184 cutoffFrequency / sampleRate,
197 LowPassBase::setup (FilterOrder,
209 double cutoffFrequency,
211 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
212 LowPassBase::setup (reqOrder,
223template <
int FilterOrder = DEFAULT_FILTER_ORDER,
class StateType = DEFAULT_STATE>
233 double cutoffFrequency,
235 HighPassBase::setup (FilterOrder,
236 cutoffFrequency / sampleRate,
249 double cutoffFrequency,
251 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
252 HighPassBase::setup (reqOrder,
253 cutoffFrequency / sampleRate,
266 HighPassBase::setup (FilterOrder,
278 double cutoffFrequency,
280 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
281 HighPassBase::setup (reqOrder,
292template <
int FilterOrder = DEFAULT_FILTER_ORDER,
class StateType = DEFAULT_STATE>
303 double centerFrequency,
304 double widthFrequency,
306 BandPassBase::setup (FilterOrder,
307 centerFrequency / sampleRate,
308 widthFrequency / sampleRate,
322 double centerFrequency,
323 double widthFrequency,
325 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
326 BandPassBase::setup (reqOrder,
327 centerFrequency / sampleRate,
328 widthFrequency / sampleRate,
341 double widthFrequency,
343 BandPassBase::setup (FilterOrder,
357 double centerFrequency,
358 double widthFrequency,
360 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
361 BandPassBase::setup (reqOrder,
373template <
int FilterOrder = DEFAULT_FILTER_ORDER,
class StateType = DEFAULT_STATE>
384 double centerFrequency,
385 double widthFrequency,
387 BandStopBase::setup (FilterOrder,
388 centerFrequency / sampleRate,
389 widthFrequency / sampleRate,
403 double centerFrequency,
404 double widthFrequency,
406 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
407 BandStopBase::setup (reqOrder,
408 centerFrequency / sampleRate,
409 widthFrequency / sampleRate,
422 double widthFrequency,
424 BandStopBase::setup (FilterOrder,
438 double centerFrequency,
439 double widthFrequency,
441 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
442 BandStopBase::setup (reqOrder,
455template <
int FilterOrder = DEFAULT_FILTER_ORDER,
class StateType = DEFAULT_STATE>
466 double cutoffFrequency,
469 LowShelfBase::setup (FilterOrder,
470 cutoffFrequency / sampleRate,
485 double cutoffFrequency,
488 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
489 LowShelfBase::setup (reqOrder,
490 cutoffFrequency / sampleRate,
506 LowShelfBase::setup (FilterOrder,
520 double cutoffFrequency,
523 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
524 LowShelfBase::setup (reqOrder,
536template <
int FilterOrder = DEFAULT_FILTER_ORDER,
class StateType = DEFAULT_STATE>
547 double cutoffFrequency,
550 HighShelfBase::setup (FilterOrder,
551 cutoffFrequency / sampleRate,
566 double cutoffFrequency,
569 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
570 HighShelfBase::setup (reqOrder,
571 cutoffFrequency / sampleRate,
588 HighShelfBase::setup (FilterOrder,
602 double cutoffFrequency,
605 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
606 HighShelfBase::setup (reqOrder,
619template <
int FilterOrder = DEFAULT_FILTER_ORDER,
class StateType = DEFAULT_STATE>
631 double centerFrequency,
632 double widthFrequency,
635 BandShelfBase::setup (FilterOrder,
636 centerFrequency / sampleRate,
637 widthFrequency / sampleRate,
654 double centerFrequency,
655 double widthFrequency,
658 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
659 BandShelfBase::setup (reqOrder,
660 centerFrequency / sampleRate,
661 widthFrequency / sampleRate,
678 double widthFrequency,
681 BandShelfBase::setup (FilterOrder,
698 double centerFrequency,
699 double widthFrequency,
702 if (reqOrder > FilterOrder) throw_invalid_argument(orderTooHigh);
703 BandShelfBase::setup (reqOrder,
Definition ChebyshevI.h:56
Definition ChebyshevI.h:72
Definition PoleFilter.h:90
Definition ChebyshevI.h:103
Definition ChebyshevI.h:294
void setupN(int reqOrder, double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:356
void setupN(double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:340
void setup(double sampleRate, double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:302
void setup(int reqOrder, double sampleRate, double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:320
Definition ChebyshevI.h:135
Definition ChebyshevI.h:621
void setupN(int reqOrder, double centerFrequency, double widthFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:697
void setup(double sampleRate, double centerFrequency, double widthFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:630
void setup(int reqOrder, double sampleRate, double centerFrequency, double widthFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:652
void setupN(double centerFrequency, double widthFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:677
Definition ChebyshevI.h:111
Definition ChebyshevI.h:375
void setupN(double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:421
void setup(int reqOrder, double sampleRate, double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:401
void setupN(int reqOrder, double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:437
void setup(double sampleRate, double centerFrequency, double widthFrequency, double rippleDb)
Definition ChebyshevI.h:383
Definition ChebyshevI.h:96
Definition ChebyshevI.h:225
void setup(double sampleRate, double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:232
void setup(int reqOrder, double sampleRate, double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:247
void setupN(int reqOrder, double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:277
void setupN(double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:264
Definition ChebyshevI.h:127
Definition ChebyshevI.h:538
void setup(int reqOrder, double sampleRate, double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:564
void setup(double sampleRate, double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:546
void setupN(double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:585
void setupN(int reqOrder, double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:601
Definition ChebyshevI.h:89
Definition ChebyshevI.h:156
void setupN(int reqOrder, double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:208
void setupN(double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:195
void setup(int reqOrder, double sampleRate, double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:178
void setup(double sampleRate, double cutoffFrequency, double rippleDb)
Definition ChebyshevI.h:163
Definition ChebyshevI.h:119
Definition ChebyshevI.h:457
void setup(double sampleRate, double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:465
void setupN(double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:503
void setupN(int reqOrder, double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:519
void setup(int reqOrder, double sampleRate, double cutoffFrequency, double gainDb, double rippleDb)
Definition ChebyshevI.h:483
Definition PoleFilter.h:114