Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::FFT< Real >::LFilterBank Class Reference

Stateful bank of direct-form II transposed IIR filters. More...

#include <fft.H>

Collaboration diagram for Aleph::FFT< Real >::LFilterBank:
[legend]

Public Member Functions

 LFilterBank (const size_t num_channels, const Array< Real > &numerator, const Array< Real > &denominator)
 
 LFilterBank (const size_t num_channels, const IIRCoefficients &coeffs)
 
 LFilterBank (const size_t num_channels, const BiquadSection &section)
 
template<typename NumContainer , typename DenContainer >
requires Is_Real_Container<NumContainer>
and Is_Real_Container< DenContainerLFilterBank (const size_t num_channels, const NumContainer &numerator, const DenContainer &denominator)
 
size_t num_channels () const noexcept
 
LFilterchannel (const size_t index)
 
const LFilterchannel (const size_t index) const
 
void reset ()
 
Array< Realfilter_channel (const size_t index, const Array< Real > &signal)
 
template<typename Container >
requires Is_Real_Container<Container>
Array< Realfilter_channel (const size_t index, const Container &signal)
 
Array< Array< Real > > filter (const Array< Array< Real > > &signals)
 
Array< Array< Real > > pfilter (ThreadPool &pool, const Array< Array< Real > > &signals, const size_t chunk_size=0)
 

Private Member Functions

void validate_channel_count (const size_t count, const char *ctx) const
 Rationale: Internal safety guard.
 

Private Attributes

Array< LFilterfilters_
 

Detailed Description

template<std::floating_point Real = double>
class Aleph::FFT< Real >::LFilterBank

Stateful bank of direct-form II transposed IIR filters.

Definition at line 11717 of file fft.H.

Constructor & Destructor Documentation

◆ LFilterBank() [1/4]

template<std::floating_point Real = double>
Aleph::FFT< Real >::LFilterBank::LFilterBank ( const size_t  num_channels,
const Array< Real > &  numerator,
const Array< Real > &  denominator 
)
inlineexplicit

◆ LFilterBank() [2/4]

template<std::floating_point Real = double>
Aleph::FFT< Real >::LFilterBank::LFilterBank ( const size_t  num_channels,
const IIRCoefficients coeffs 
)
inlineexplicit

Definition at line 11742 of file fft.H.

◆ LFilterBank() [3/4]

template<std::floating_point Real = double>
Aleph::FFT< Real >::LFilterBank::LFilterBank ( const size_t  num_channels,
const BiquadSection section 
)
inlineexplicit

Definition at line 11747 of file fft.H.

◆ LFilterBank() [4/4]

template<std::floating_point Real = double>
and Is_Real_Container< DenContainer > Aleph::FFT< Real >::LFilterBank::LFilterBank ( const size_t  num_channels,
const NumContainer numerator,
const DenContainer denominator 
)
inlineexplicit

Definition at line 11754 of file fft.H.

Member Function Documentation

◆ channel() [1/2]

template<std::floating_point Real = double>
LFilter & Aleph::FFT< Real >::LFilterBank::channel ( const size_t  index)
inline

◆ channel() [2/2]

template<std::floating_point Real = double>
const LFilter & Aleph::FFT< Real >::LFilterBank::channel ( const size_t  index) const
inline

Definition at line 11777 of file fft.H.

References ah_out_of_range_error_if, and Aleph::FFT< Real >::LFilterBank::filters_.

◆ filter()

template<std::floating_point Real = double>
Array< Array< Real > > Aleph::FFT< Real >::LFilterBank::filter ( const Array< Array< Real > > &  signals)
inline

◆ filter_channel() [1/2]

template<std::floating_point Real = double>
Array< Real > Aleph::FFT< Real >::LFilterBank::filter_channel ( const size_t  index,
const Array< Real > &  signal 
)
inline

◆ filter_channel() [2/2]

template<std::floating_point Real = double>
Array< Real > Aleph::FFT< Real >::LFilterBank::filter_channel ( const size_t  index,
const Container signal 
)
inline

◆ num_channels()

template<std::floating_point Real = double>
size_t Aleph::FFT< Real >::LFilterBank::num_channels ( ) const
inlinenoexcept

◆ pfilter()

template<std::floating_point Real = double>
Array< Array< Real > > Aleph::FFT< Real >::LFilterBank::pfilter ( ThreadPool pool,
const Array< Array< Real > > &  signals,
const size_t  chunk_size = 0 
)
inline

◆ reset()

template<std::floating_point Real = double>
void Aleph::FFT< Real >::LFilterBank::reset ( )
inline

Definition at line 11785 of file fft.H.

References Aleph::FFT< Real >::LFilterBank::filters_.

◆ validate_channel_count()

template<std::floating_point Real = double>
void Aleph::FFT< Real >::LFilterBank::validate_channel_count ( const size_t  count,
const char ctx 
) const
inlineprivate

Member Data Documentation

◆ filters_


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