#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::levinson (const Value &r, int n=-1, std::pmr::memory_resource *mr=nullptr) |
| Levinson-Durbin recursion: solve a Hermitian Toeplitz system. | |
| std::tuple< Value, Value > | nk::signal::rlevinson (const Value &a, double efinal, std::pmr::memory_resource *mr=nullptr) |
| Inverse Levinson recursion: recover autocorrelation from AR poly. | |
| std::tuple< Value, Value, Value > | nk::signal::aryule (const Value &x, int p, std::pmr::memory_resource *mr=nullptr) |
| Yule-Walker AR(p) parameter estimation. | |
| std::tuple< Value, Value, Value > | nk::signal::arburg (const Value &x, int p, std::pmr::memory_resource *mr=nullptr) |
| Burg's AR(p) parameter estimation. | |
| std::tuple< Value, Value > | nk::signal::lpc (const Value &x, int p, std::pmr::memory_resource *mr=nullptr) |
| Linear-prediction coefficients (aryule alias + sqrt-error gain). | |
| std::tuple< Value, Value > | nk::signal::ac2poly (const Value &R, std::pmr::memory_resource *mr=nullptr) |
| Autocorrelation → AR poly (composes levinson). | |
| Value | nk::signal::poly2ac (const Value &a, double e, std::pmr::memory_resource *mr=nullptr) |
| AR poly + prediction error → autocorrelation. | |
| std::tuple< Value, Value > | nk::signal::ac2rc (const Value &R, std::pmr::memory_resource *mr=nullptr) |
| Autocorrelation → reflection coefficients. | |
| Value | nk::signal::schurrc (const Value &R, std::pmr::memory_resource *mr=nullptr) |
| Schur reflection coefficients from autocorrelation. | |
| Value | nk::signal::rc2ac (const Value &k, double r0, std::pmr::memory_resource *mr=nullptr) |
| Reflection coefficients + r[0] → autocorrelation. | |
| std::tuple< Value, Value > | nk::signal::poly2rc (const Value &a, double efinal=0.0, std::pmr::memory_resource *mr=nullptr) |
| AR poly → reflection coefficients (step-down recursion). | |
| std::tuple< Value, Value > | nk::signal::rc2poly (const Value &k, double r0=1.0, std::pmr::memory_resource *mr=nullptr) |
| Reflection coefficients → AR poly (step-up recursion). | |
| Value | nk::signal::is2rc (const Value &is, std::pmr::memory_resource *mr=nullptr) |
| Inverse-sine parameterisation → reflection coefficients. | |
| Value | nk::signal::rc2is (const Value &k, std::pmr::memory_resource *mr=nullptr) |
| Reflection coefficients → inverse-sine parameterisation. | |
| Value | nk::signal::lar2rc (const Value &g, std::pmr::memory_resource *mr=nullptr) |
| Log-area-ratio → reflection coefficients. | |
| Value | nk::signal::rc2lar (const Value &k, std::pmr::memory_resource *mr=nullptr) |
| Reflection coefficients → log-area-ratio. | |
| std::tuple< Value, Value > | nk::signal::arcov (const Value &x, int p, std::pmr::memory_resource *mr=nullptr) |
| Covariance method AR estimation. | |
| std::tuple< Value, Value > | nk::signal::armcov (const Value &x, int p, std::pmr::memory_resource *mr=nullptr) |
| Modified-covariance AR estimation. | |
| std::tuple< Value, Value > | nk::signal::prony (const Value &h, int nb, int na, std::pmr::memory_resource *mr=nullptr) |
| Prony IIR identification from impulse response. | |
| std::tuple< Value, Value > | nk::signal::stmcb (const Value &h, int nb, int na, int niter=5, std::pmr::memory_resource *mr=nullptr) |
| Steiglitz–McBride IIR identification ([b, a] = stmcb(h, nb, na, niter)). | |
| Value | nk::signal::corrmtx (const Value &x, int m, std::pmr::memory_resource *mr=nullptr) |
| Generate the autocorrelation data matrix. | |
| std::tuple< Value, Value > | nk::signal::pmusic (const Value &x, int p, int nfft=256, double fs=2.0 *3.14159265358979323846, std::pmr::memory_resource *mr=nullptr) |
| MUSIC pseudospectrum ([P, F] = pmusic(x, p, nfft, fs)). | |
| std::tuple< Value, Value > | nk::signal::peig (const Value &x, int p, int nfft=256, double fs=2.0 *3.14159265358979323846, std::pmr::memory_resource *mr=nullptr) |
| Eigenvector pseudospectrum ([P, F] = peig(x, p, nfft, fs)). | |
| Value | nk::signal::poly2lsf (const Value &a, std::pmr::memory_resource *mr=nullptr) |
| AR poly → line-spectral frequencies (radians). | |
| Value | nk::signal::lsf2poly (const Value &lsf, std::pmr::memory_resource *mr=nullptr) |
| Line-spectral frequencies → AR poly. | |
| std::tuple< Value, Value > | nk::signal::invfreqs (const Value &H, const Value &w, int nb, int na, std::pmr::memory_resource *mr=nullptr) |
| Fit analog filter to a frequency response (Levi equation-error LSQ). | |
| std::tuple< Value, Value > | nk::signal::invfreqz (const Value &H, const Value &w, int nb, int na, std::pmr::memory_resource *mr=nullptr) |
| Digital counterpart of invfreqs. | |