NlmsPrivate() : m_nbChannel(1), m_sampleRate(48000), m_format(audio::format_float), m_filter(), m_feedBack(), m_mu(0.03f) { setFilterSize(256); }
void init(int8_t _nbChannel, float _sampleRate, enum audio::format _format) { m_nbChannel = _nbChannel; m_sampleRate = _sampleRate; m_format = _format; setFilterSize(m_filter.size()); switch (m_format) { case audio::format_int16: case audio::format_float: break; default: AA_RIVER_ERROR("Can not INIT LMS with unsupported format : " << m_format); break; } }
void audio::algo::aec::Lms::setFilterSize(size_t _sampleRate, std11::chrono::microseconds _time) { setFilterSize((_sampleRate*_time.count())/1000000LL); }
void audio::algo::aec::Lms::reset(void) { // simply reset filters. setFilterSize(m_filter.size()); }
audio::algo::aec::Lms::Lms(void) : m_filter(), m_feedBack(), m_mu(0.03f) { setFilterSize(256); }
void reset(void) { // simply reset filters. setFilterSize(m_filter.size()); }
void setFilterTime(std::chrono::microseconds _time) { setFilterSize((m_sampleRate*_time.count())/1000000LL); }