11#include <memory_resource>
12#include <nk/value/value.hpp>
56std::tuple<Value, Value>
62 std::pmr::memory_resource * mr =
nullptr);
77std::tuple<Value, Value>
83 std::pmr::memory_resource * mr =
nullptr);
98std::tuple<Value, Value>
103 std::pmr::memory_resource * mr =
nullptr);
113std::tuple<Value, Value>
118 std::pmr::memory_resource * mr =
nullptr);
133std::tuple<Value, Value>
140 std::pmr::memory_resource * mr =
nullptr);
167std::tuple<int, Value>
173 std::pmr::memory_resource * mr =
nullptr);
183std::tuple<int, Value>
186 std::pmr::memory_resource *mr =
nullptr);
196std::tuple<int, Value>
199 std::pmr::memory_resource *mr =
nullptr);
211std::tuple<int, Value>
214 std::pmr::memory_resource *mr =
nullptr);
234std::tuple<int, Value, Value, Value>
239 std::pmr::memory_resource * mr =
nullptr);
255std::tuple<int, Value, double, std::string>
260 std::pmr::memory_resource * mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
std::tuple< int, Value > cheb1ord(const Value &Wp, const Value &Ws, double Rp, double Rs, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Chebyshev type-I order estimator ([N, Wn] = cheb1ord(Wp, Ws, Rp, Rs, analog)).
std::tuple< Value, Value > cheby1(int N, double Rp, const Value &Wn, FilterType ftype=FilterType::Lowpass, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Chebyshev type-I IIR filter design.
std::tuple< Value, Value > cheby2(int N, double Rs, const Value &Wn, FilterType ftype=FilterType::Lowpass, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Chebyshev type-II (inverse Chebyshev) IIR filter design.
FilterType
Filter response type for IIR designs.
std::tuple< int, Value, double, std::string > kaiserord(const Value &F, const Value &A, const Value &dev, double fs=2.0, std::pmr::memory_resource *mr=nullptr)
Kaiser-window FIR order estimator.
std::tuple< int, Value, Value, Value > firpmord(const Value &F, const Value &A, const Value &dev, double fs=2.0, std::pmr::memory_resource *mr=nullptr)
Parks-McClellan FIR order estimator.
std::tuple< int, Value > buttord(const Value &Wp, const Value &Ws, double Rp, double Rs, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Butterworth filter order estimator.
std::tuple< int, Value > cheb2ord(const Value &Wp, const Value &Ws, double Rp, double Rs, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Chebyshev type-II order estimator ([N, Wn] = cheb2ord(Wp, Ws, Rp, Rs, analog)).
std::tuple< Value, Value > besself(int N, const Value &Wn, FilterType ftype=FilterType::Lowpass, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Bessel-Thompson IIR filter design.
std::tuple< Value, Value > ellip(int N, double Rp, double Rs, const Value &Wn, FilterType ftype=FilterType::Lowpass, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Elliptic (Cauer) IIR filter design.
std::tuple< Value, Value > butter(int N, double Wn, const std::string &type="low", std::pmr::memory_resource *mr=nullptr)
Butterworth IIR lowpass / highpass filter design.
std::tuple< int, Value > ellipord(const Value &Wp, const Value &Ws, double Rp, double Rs, bool analog=false, std::pmr::memory_resource *mr=nullptr)
Elliptic (Cauer) order estimator ([N, Wn] = ellipord(Wp, Ws, Rp, Rs, analog)).
@ Highpass
Pass above the cutoff, stop below.
@ Bandpass
Pass between two cutoffs.
@ Bandstop
Stop between two cutoffs, pass elsewhere.
@ Lowpass
Pass below the cutoff, stop above.