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

Stateful bank of SOS cascades, one per channel. More...

#include <fft.H>

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

Public Member Functions

 SOSFilterBank (const size_t num_channels, const Array< BiquadSection > &sections)
 
template<typename SectionsContainer >
requires Is_Biquad_Container<SectionsContainer>
 SOSFilterBank (const size_t num_channels, const SectionsContainer &sections)
 
size_t num_channels () const noexcept
 
SOSFilterchannel (const size_t index)
 
const SOSFilterchannel (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< SOSFilterfilters_
 

Detailed Description

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

Stateful bank of SOS cascades, one per channel.

Definition at line 11837 of file fft.H.

Constructor & Destructor Documentation

◆ SOSFilterBank() [1/2]

template<std::floating_point Real = double>
Aleph::FFT< Real >::SOSFilterBank::SOSFilterBank ( const size_t  num_channels,
const Array< BiquadSection > &  sections 
)
inlineexplicit

◆ SOSFilterBank() [2/2]

template<std::floating_point Real = double>
Aleph::FFT< Real >::SOSFilterBank::SOSFilterBank ( const size_t  num_channels,
const SectionsContainer sections 
)
inlineexplicit

Definition at line 11863 of file fft.H.

Member Function Documentation

◆ channel() [1/2]

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

◆ channel() [2/2]

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

◆ filter()

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

◆ filter_channel() [1/2]

template<std::floating_point Real = double>
Array< Real > Aleph::FFT< Real >::SOSFilterBank::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 >::SOSFilterBank::filter_channel ( const size_t  index,
const Container signal 
)
inline

◆ num_channels()

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

◆ pfilter()

template<std::floating_point Real = double>
Array< Array< Real > > Aleph::FFT< Real >::SOSFilterBank::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 >::SOSFilterBank::reset ( )
inline

Definition at line 11891 of file fft.H.

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

◆ validate_channel_count()

template<std::floating_point Real = double>
void Aleph::FFT< Real >::SOSFilterBank::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: