Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::chardelay::detail Namespace Reference

Typedefs

using LossSearchVector = std::array<double, kLossSearchDimension>

Functions

template<std::size_t Poles, std::size_t Shelves, typename Target>
LossShape< Poles, Shelves > fit_loss_shape (Target &&target)
 Generic fit of Poles one-poles and Shelves first-order shelves to a dimensionless target, minimizing the WORST error in dB over log-spaced points.

Typedef Documentation

◆ LossSearchVector

Function Documentation

◆ fit_loss_shape()

template<std::size_t Poles, std::size_t Shelves, typename Target>
LossShape< Poles, Shelves > pulp::signal::chardelay::detail::fit_loss_shape ( Target && target)
inline

Generic fit of Poles one-poles and Shelves first-order shelves to a dimensionless target, minimizing the WORST error in dB over log-spaced points.

Minimax rather than least squares because the acceptance criterion is a bound on the worst error at any frequency, and an L2 fit happily trades one large error for many small ones — exactly the wrong bargain. (A tiny L2 term breaks ties between parameter sets sharing a worst point.)