iir1
Loading...
Searching...
No Matches
Custom.h
1
35
36#ifndef IIR1_CUSTOM_H
37#define IIR1_CUSTOM_H
38
39#include "Biquad.h"
40#include "Cascade.h"
41#include "State.h"
42
43namespace Iir
44{
45
50
51namespace Custom
52{
53
60struct OnePole : public Biquad
61{
62 void setup (double scale, double pole, double zero);
63};
64
72struct TwoPole : public Biquad
73{
74 void setup (double scale, double poleRho, double poleTheta, double zeroRho,
75 double zeroTheta);
76};
77
83template <std::size_t NSOS, class StateType = DEFAULT_STATE>
84struct SOSCascade : CascadeStages<NSOS, StateType>
85{
90 SOSCascade () = default;
91
102 SOSCascade (const double (&sosCoefficients)[NSOS][6])
103 {
105 }
106
117 SOSCascade (const std::array<std::array<double, 6>, NSOS> sosCoefficients)
118 {
120 }
121
132 void setup (const double (&sosCoefficients)[NSOS][6])
133 {
135 }
136
147 void setup (const std::array<std::array<double, 6>, NSOS> sosCoefficients)
148 {
150 }
151};
152
153}
154
155}
156
157#endif
void setup(const double(&sosCoefficients)[MaxStages][6])
Definition Cascade.h:138
Definition Custom.cpp:40
Definition Biquad.cpp:40
Definition Custom.h:61
SOSCascade(const std::array< std::array< double, 6 >, NSOS > sosCoefficients)
Definition Custom.h:117
SOSCascade(const double(&sosCoefficients)[NSOS][6])
Definition Custom.h:102
void setup(const std::array< std::array< double, 6 >, NSOS > sosCoefficients)
Definition Custom.h:147
void setup(const double(&sosCoefficients)[NSOS][6])
Definition Custom.h:132
Definition Custom.h:73