Line data Source code
1 : #pragma once 2 : 3 : /// @addtogroup Filters 4 : /// @{ 5 : 6 : #include <AH/Containers/Array.hpp> 7 : 8 : /** 9 : * @brief Class for transfer function coefficients. 10 : * 11 : * @f[ 12 : * H(z) = \frac{b_0 + b_1 z^{-1} + \ldots + b_{N_b} z ^{-N_b}} 13 : * {a_0 + a_1 z^{-1} + \ldots + a_{N_b} z ^{-N_a}} 14 : * @f] 15 : */ 16 : template <size_t NB, size_t NA = NB, class T = float> 17 : struct TransferFunction { 18 30 : TransferFunction() = default; 19 : 20 : /// Construct a new Transfer Function object. 21 85 : TransferFunction(const AH::Array<T, NB> &b, const AH::Array<T, NA> &a) 22 85 : : b(b), a(a) {} 23 : 24 : AH::Array<T, NB> b = {{}}; 25 : AH::Array<T, NA> a = {{}}; 26 : }; 27 : 28 : /// @}