Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::WaveguideReflectionFilterT< SampleType > Class Template Reference

A passive boundary filter with H(z) = g (1 - a) / (1 - a z^-1). More...

#include <waveguide_reflection_filter.hpp>

Public Member Functions

void set_reflection_gain (SampleType gain) noexcept
void set_loss_pole (SampleType pole) noexcept
SampleType reflection_gain () const noexcept
SampleType loss_pole () const noexcept
SampleType process (SampleType input) noexcept
void reset () noexcept

Static Public Attributes

static constexpr double minimum_reflection_gain = -0.999
static constexpr double maximum_reflection_gain = 0.999
static constexpr double default_reflection_gain = -0.995
static constexpr double minimum_loss_pole = 0.0
static constexpr double maximum_loss_pole = 0.9999
static constexpr double default_loss_pole = 0.20

Detailed Description

template<typename SampleType = float>
class pulp::signal::WaveguideReflectionFilterT< SampleType >

A passive boundary filter with H(z) = g (1 - a) / (1 - a z^-1).

The sign of g selects open-end (negative) or rigid-end (positive) reflection. For the legal ranges, |H| <= |g| < 1 at every frequency. Every operation is bounded, lock-free, and allocation-free.

Member Function Documentation

◆ loss_pole()

template<typename SampleType = float>
SampleType pulp::signal::WaveguideReflectionFilterT< SampleType >::loss_pole ( ) const
inlinenodiscardnoexcept

◆ process()

template<typename SampleType = float>
SampleType pulp::signal::WaveguideReflectionFilterT< SampleType >::process ( SampleType input)
inlinenodiscardnoexcept

◆ reflection_gain()

template<typename SampleType = float>
SampleType pulp::signal::WaveguideReflectionFilterT< SampleType >::reflection_gain ( ) const
inlinenodiscardnoexcept

◆ reset()

template<typename SampleType = float>
void pulp::signal::WaveguideReflectionFilterT< SampleType >::reset ( )
inlinenoexcept

◆ set_loss_pole()

template<typename SampleType = float>
void pulp::signal::WaveguideReflectionFilterT< SampleType >::set_loss_pole ( SampleType pole)
inlinenoexcept

◆ set_reflection_gain()

template<typename SampleType = float>
void pulp::signal::WaveguideReflectionFilterT< SampleType >::set_reflection_gain ( SampleType gain)
inlinenoexcept

Member Data Documentation

◆ default_loss_pole

template<typename SampleType = float>
double pulp::signal::WaveguideReflectionFilterT< SampleType >::default_loss_pole = 0.20
staticconstexpr

◆ default_reflection_gain

template<typename SampleType = float>
double pulp::signal::WaveguideReflectionFilterT< SampleType >::default_reflection_gain = -0.995
staticconstexpr

◆ maximum_loss_pole

template<typename SampleType = float>
double pulp::signal::WaveguideReflectionFilterT< SampleType >::maximum_loss_pole = 0.9999
staticconstexpr

◆ maximum_reflection_gain

template<typename SampleType = float>
double pulp::signal::WaveguideReflectionFilterT< SampleType >::maximum_reflection_gain = 0.999
staticconstexpr

◆ minimum_loss_pole

template<typename SampleType = float>
double pulp::signal::WaveguideReflectionFilterT< SampleType >::minimum_loss_pole = 0.0
staticconstexpr

◆ minimum_reflection_gain

template<typename SampleType = float>
double pulp::signal::WaveguideReflectionFilterT< SampleType >::minimum_reflection_gain = -0.999
staticconstexpr

The documentation for this class was generated from the following file: