|
| bool | pulp::signal::source_filter_fft_size_valid (int fft_size) noexcept |
| template<typename SampleType> |
| AutocorrelationResultT< SampleType > | pulp::signal::scaled_autocorrelation (std::span< const SampleType > samples, int order, std::span< SampleType > autocorrelation) noexcept |
| | Biased autocorrelation of a safely normalized signal.
|
| template<typename SampleType> |
| LevinsonDurbinResultT< SampleType > | pulp::signal::levinson_durbin (std::span< const SampleType > autocorrelation, std::span< SampleType > coefficients, std::span< SampleType > reflection_coefficients, std::span< SampleType > workspace, SampleType rank_tolerance=std::numeric_limits< SampleType >::epsilon() *SampleType{64}) noexcept |
| | Solves A(z) = 1 + sum(a[k] z^-(k+1)).
|
| template<typename SampleType> |
| SourceFilterAnalysisStatus | pulp::signal::lpc_stability (std::span< const SampleType > coefficients, std::span< SampleType > workspace, SampleType stability_margin=std::numeric_limits< SampleType >::epsilon() *SampleType{64}) noexcept |
| | Explicit Schur step-down stability test for the A(z) coefficient convention used above.
|
| template<typename SampleType> |
| SourceFilterAnalysisStatus | pulp::signal::all_pole_magnitude_response (std::span< const SampleType > coefficients, SampleType gain, SampleType sample_rate, int fft_size, std::span< SampleType > magnitude, std::span< SampleType > stability_workspace, SampleType stability_margin=std::numeric_limits< SampleType >::epsilon() *SampleType{64}, SampleType denominator_floor=std::numeric_limits< SampleType >::epsilon() *SampleType{64}) noexcept |
| | Evaluates gain / |A(e^jw)| at fft_size / 2 + 1 bins from DC through Nyquist.
|
Prepared, allocation-free spectral-envelope and linear-prediction analysis.
These analyzers are mutable single-owner objects intended for control-thread or offline work. prepare() allocates; analysis calls retain no borrowed spans and allocate nothing. They are not safe for concurrent use.