6#include <memory_resource>
7#include <nk/value/value.hpp>
28std::tuple<Value, Value>
31 const std::string & type =
"low",
32 std::pmr::memory_resource * mr =
nullptr);
43 const std::string & type =
"low",
44 std::pmr::memory_resource * mr =
nullptr);
65 std::pmr::memory_resource * mr =
nullptr);
71std::tuple<Value, Value>
73 std::pmr::memory_resource * mr =
nullptr);
115 std::pmr::memory_resource * mr =
nullptr);
147std::tuple<Value, double>
152 const std::string & ftype =
"",
153 std::pmr::memory_resource * mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
static const Value Empty
MATLAB-style empty matrix sentinel — a 0×0 DOUBLE value.
Value fir1(int N, double Wn, const std::string &type="low", std::pmr::memory_resource *mr=nullptr)
FIR filter design via windowed-sinc (Hamming window).
std::tuple< Value, Value > cell2sos(const Value &C, std::pmr::memory_resource *mr=nullptr)
cell2sos(C) — convert cell array of {Bi, Ai} pairs to L×6 SOS matrix.
Value fir2(int n, const Value &f, const Value &m, const Fir2Options &opts={}, std::pmr::memory_resource *mr=nullptr)
Frequency-sampling FIR filter design (b = fir2(n, f, m [, npt] [, lap] [, window])).
std::tuple< Value, double > firpm(int N, const Value &F, const Value &A, const Value &W=Value::Empty, const std::string &ftype="", std::pmr::memory_resource *mr=nullptr)
firpm(N, F, A [, W] [, ftype]) — Parks-McClellan optimal equiripple FIR (Remez exchange).
Value firls(int N, const Value &F, const Value &A, std::pmr::memory_resource *mr=nullptr)
Least-squares FIR filter design (Type-I linear-phase only).
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.
Optional arguments for fir2.
int lap
Width, in grid points, of the smoothing region applied at a duplicated break frequency (lap).
Value window
Output window, a length-(N+1) vector.
int npt
Number of frequency-grid points (npt).