Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::HalfBandIirDesign Struct Reference

Coefficients of one elliptic polyphase half-band filter, ascending. More...

#include <halfband_iir.hpp>

Public Member Functions

bool valid () const noexcept
std::size_t path_a_count () const noexcept
std::size_t path_b_count () const noexcept
double path_a (std::size_t i) const noexcept
double path_b (std::size_t i) const noexcept
double stopband_edge () const noexcept

Public Attributes

std::array< double, kHalfBandIirMaxCoefficients > coefficients {}
std::size_t count = 0
double passband_edge = 0.0

Detailed Description

Coefficients of one elliptic polyphase half-band filter, ascending.

Path A takes the even indices and path B the odd ones, so path A is never shorter than path B. passband_edge and stopband_edge() are in cycles per sample at the filter's own (2x) rate and sum to 0.5.

Member Function Documentation

◆ path_a()

double pulp::signal::HalfBandIirDesign::path_a ( std::size_t i) const
inlinenodiscardnoexcept

◆ path_a_count()

std::size_t pulp::signal::HalfBandIirDesign::path_a_count ( ) const
inlinenodiscardnoexcept

◆ path_b()

double pulp::signal::HalfBandIirDesign::path_b ( std::size_t i) const
inlinenodiscardnoexcept

◆ path_b_count()

std::size_t pulp::signal::HalfBandIirDesign::path_b_count ( ) const
inlinenodiscardnoexcept

◆ stopband_edge()

double pulp::signal::HalfBandIirDesign::stopband_edge ( ) const
inlinenodiscardnoexcept

◆ valid()

bool pulp::signal::HalfBandIirDesign::valid ( ) const
inlinenodiscardnoexcept

Member Data Documentation

◆ coefficients

std::array<double, kHalfBandIirMaxCoefficients> pulp::signal::HalfBandIirDesign::coefficients {}

◆ count

std::size_t pulp::signal::HalfBandIirDesign::count = 0

◆ passband_edge

double pulp::signal::HalfBandIirDesign::passband_edge = 0.0

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