arduino-audio-tools
Loading...
Searching...
No Matches
Public Types | Public Attributes | List of all members
EchoState< T, SampleType > Struct Template Reference

Internal echo canceller state structure. More...

#include <MDFEchoCancellation.h>

Public Types

using Mem = Word32
 
using Num = typename SampleType::float_t
 
using Word16 = typename SampleType::word16_t
 
using Word32 = typename SampleType::word32_t
 

Public Attributes

int adapted
 
Word16 beta0
 
Word16 beta_max
 
int C
 
int cancel_count
 
Word32 Davg1
 
Word32 Davg2
 
Num Dvar1
 
Num Dvar2
 
Word16e
 
Word16E
 
Word32Eh
 
void * fft_table
 
Word16foreground
 
int frame_size
 
Word16input
 
int K
 
Word16last_y
 
Word16 leak_estimate
 
int M
 
Word16memD
 
Word16memE
 
Word16memX
 
Memnotch_mem
 
Word16 notch_radius
 
Num Pey
 
Word32PHI
 
T * play_buf
 
int play_buf_pos
 
int play_buf_started
 
Word32power
 
Numpower_1
 
Word16 preemph
 
Word16prop
 
Num Pyy
 
Word32Rf
 
echo_int32_t sampling_rate
 
int saturated
 
int screwed_up
 
Word16 spec_average
 
Word32 sum_adapt
 
Word32W
 
Word16window
 
int window_size
 
Word16wtmp
 
Word16x
 
Word16X
 
Word32Xf
 
Word16y
 
Word16Y
 
Word32Yf
 
Word32Yh
 

Detailed Description

template<typename T, typename SampleType>
struct audio_tools::EchoState< T, SampleType >

Internal echo canceller state structure.

Contains all internal state variables and buffers for the MDF (Multi-Delay block Frequency adaptive filter) echo cancellation algorithm. This structure should never be accessed directly by users; use the EchoCanceller class methods instead.

Template Parameters
TThe PCM sample type (e.g. int16_t, int32_t) used for play_buf – must match MDFEchoCancellation's own
T.
SampleTypeMDFFloat (default) or MDFFixedPoint – selects the numeric type used for the arrays/state below (see either struct's doc).
Warning
Direct access to this structure is not recommended and may break encapsulation.

Member Typedef Documentation

◆ Mem

template<typename T , typename SampleType >
using Mem = Word32

◆ Num

template<typename T , typename SampleType >
using Num = typename SampleType::float_t

◆ Word16

template<typename T , typename SampleType >
using Word16 = typename SampleType::word16_t

◆ Word32

template<typename T , typename SampleType >
using Word32 = typename SampleType::word32_t

Member Data Documentation

◆ adapted

template<typename T , typename SampleType >
int adapted

◆ beta0

template<typename T , typename SampleType >
Word16 beta0

◆ beta_max

template<typename T , typename SampleType >
Word16 beta_max

◆ C

template<typename T , typename SampleType >
int C

◆ cancel_count

template<typename T , typename SampleType >
int cancel_count

◆ Davg1

template<typename T , typename SampleType >
Word32 Davg1

◆ Davg2

template<typename T , typename SampleType >
Word32 Davg2

◆ Dvar1

template<typename T , typename SampleType >
Num Dvar1

◆ Dvar2

template<typename T , typename SampleType >
Num Dvar2

◆ e

template<typename T , typename SampleType >
Word16* e

◆ E

template<typename T , typename SampleType >
Word16* E

◆ Eh

template<typename T , typename SampleType >
Word32* Eh

◆ fft_table

template<typename T , typename SampleType >
void* fft_table

◆ foreground

template<typename T , typename SampleType >
Word16* foreground

◆ frame_size

template<typename T , typename SampleType >
int frame_size

Number of samples processed each time

◆ input

template<typename T , typename SampleType >
Word16* input

◆ K

template<typename T , typename SampleType >
int K

Number of input channels (microphones)

◆ last_y

template<typename T , typename SampleType >
Word16* last_y

◆ leak_estimate

template<typename T , typename SampleType >
Word16 leak_estimate

◆ M

template<typename T , typename SampleType >
int M

◆ memD

template<typename T , typename SampleType >
Word16 * memD

◆ memE

template<typename T , typename SampleType >
Word16 * memE

◆ memX

template<typename T , typename SampleType >
Word16* memX

◆ notch_mem

template<typename T , typename SampleType >
Mem* notch_mem

◆ notch_radius

template<typename T , typename SampleType >
Word16 notch_radius

◆ Pey

template<typename T , typename SampleType >
Num Pey

◆ PHI

template<typename T , typename SampleType >
Word32* PHI

◆ play_buf

template<typename T , typename SampleType >
T* play_buf

◆ play_buf_pos

template<typename T , typename SampleType >
int play_buf_pos

◆ play_buf_started

template<typename T , typename SampleType >
int play_buf_started

◆ power

template<typename T , typename SampleType >
Word32* power

◆ power_1

template<typename T , typename SampleType >
Num* power_1

◆ preemph

template<typename T , typename SampleType >
Word16 preemph

◆ prop

template<typename T , typename SampleType >
Word16* prop

◆ Pyy

template<typename T , typename SampleType >
Num Pyy

◆ Rf

template<typename T , typename SampleType >
Word32* Rf

◆ sampling_rate

template<typename T , typename SampleType >
echo_int32_t sampling_rate

Number of output channels (loudspeakers)

◆ saturated

template<typename T , typename SampleType >
int saturated

◆ screwed_up

template<typename T , typename SampleType >
int screwed_up

◆ spec_average

template<typename T , typename SampleType >
Word16 spec_average

◆ sum_adapt

template<typename T , typename SampleType >
Word32 sum_adapt

◆ W

template<typename T , typename SampleType >
Word32* W

◆ window

template<typename T , typename SampleType >
Word16* window

◆ window_size

template<typename T , typename SampleType >
int window_size

◆ wtmp

template<typename T , typename SampleType >
Word16* wtmp

◆ x

template<typename T , typename SampleType >
Word16* x

◆ X

template<typename T , typename SampleType >
Word16* X

◆ Xf

template<typename T , typename SampleType >
Word32* Xf

◆ y

template<typename T , typename SampleType >
Word16* y

◆ Y

template<typename T , typename SampleType >
Word16* Y

◆ Yf

template<typename T , typename SampleType >
Word32* Yf

◆ Yh

template<typename T , typename SampleType >
Word32* Yh

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