nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
analog_filters.hpp File Reference
#include <memory_resource>
#include <nk/value/value.hpp>
#include <tuple>

Go to the source code of this file.

Functions

std::tuple< Value, Value, Value > nk::signal::buttap (int N, std::pmr::memory_resource *mr=nullptr)
 Butterworth analog lowpass prototype.
std::tuple< Value, Value, Value > nk::signal::cheb1ap (int N, double Rp, std::pmr::memory_resource *mr=nullptr)
 Chebyshev type-I analog lowpass prototype.
std::tuple< Value, Value, Value > nk::signal::cheb2ap (int N, double Rs, std::pmr::memory_resource *mr=nullptr)
 Chebyshev type-II analog lowpass prototype.
std::tuple< Value, Value, Value > nk::signal::besselap (int N, std::pmr::memory_resource *mr=nullptr)
 Bessel-Thompson analog lowpass prototype.
std::tuple< Value, Value, Value > nk::signal::ellipap (int N, double Rp, double Rs, std::pmr::memory_resource *mr=nullptr)
 Elliptic (Cauer) analog lowpass prototype.
std::tuple< Value, Value, Value > nk::signal::lp2lp (const Value &z, const Value &p, double k, double Wo, std::pmr::memory_resource *mr=nullptr)
 Scale an analog lowpass prototype to cutoff Wo.
std::tuple< Value, Value, Value > nk::signal::lp2hp (const Value &z, const Value &p, double k, double Wo, std::pmr::memory_resource *mr=nullptr)
 Lowpass → highpass frequency transformation.
std::tuple< Value, Value, Value > nk::signal::lp2bp (const Value &z, const Value &p, double k, double Wo, double Bw, std::pmr::memory_resource *mr=nullptr)
 Lowpass → bandpass frequency transformation.
std::tuple< Value, Value, Value > nk::signal::lp2bs (const Value &z, const Value &p, double k, double Wo, double Bw, std::pmr::memory_resource *mr=nullptr)
 Lowpass → bandstop frequency transformation ([z', p', k'] = lp2bs(z, p, k, Wo, Bw)).
std::tuple< Value, Value > nk::signal::bilinear (const Value &b, const Value &a, double fs, double fp=0.0, std::pmr::memory_resource *mr=nullptr)
 Bilinear (Tustin) transform of an analog filter (b, a) to digital.
std::tuple< Value, Value > nk::signal::impinvar (const Value &b, const Value &a, double fs, double tol=1e-3, std::pmr::memory_resource *mr=nullptr)
 Impulse-invariance design: digital filter with the same impulse-response samples as the analog filter sampled at rate fs.
Value nk::signal::freqs (const Value &b, const Value &a, const Value &w, std::pmr::memory_resource *mr=nullptr)
 Frequency response of an analog filter b(s)/a(s).