Adaptive differential microphone, working for speech frequency range.
More...
|
| ADM (F fs, F dist, unsigned lp_order, const F *lp_alphas, unsigned decomb_order, const F *decomb_alphas, F tau_beta=F(50e-3), F mu_beta=F(1e-4)) |
| Create Adaptive Differential Microphone. More...
|
|
F | process (const F &front, const F &back, const F &external_beta=F(-1), bool update_beta=true) |
| ADM processes one frame. More...
|
|
F | beta () const |
|
template<class F>
class ADM::ADM< F >
Adaptive differential microphone, working for speech frequency range.
◆ ADM()
template<class F >
ADM::ADM< F >::ADM |
( |
F |
fs, |
|
|
F |
dist, |
|
|
unsigned |
lp_order, |
|
|
const F * |
lp_alphas, |
|
|
unsigned |
decomb_order, |
|
|
const F * |
decomb_alphas, |
|
|
F |
tau_beta = F(50e-3) , |
|
|
F |
mu_beta = F(1e-4) |
|
) |
| |
Create Adaptive Differential Microphone.
- Parameters
-
fs | Sampling rate / Hz |
dist | Distance between physical microphones / m |
lp_order | Filter order of FIR lowpass filter used for adaptation |
lp_alphas | Pointer to array of alpha coefficients for the lowpass filter used for adaptation. Since this class uses linear phase FIR filters only, only the first half (order/2 + 1) of the coefficients will be read (coefficients for linear-phase FIR filters are symmetric). |
decomb_order | Filter order of FIR compensation filter (compensates for comb filter characteristic). decomb_order <= 1 deactivates filter. |
decomb_alphas | Pointer to array of alpha coefficients for the compensation filter used to compensate for the comb filter characteristic. Since this class uses linear phase FIR filters only, only the first half (order/2 + 1)of the coefficients will be read (coefficients for linear-phase FIR filters are symmetric). |
tau_beta | Time constant of the lowpass filter used for averaging the power of the output signal |
mu_beta | adaptation speed |
◆ process()
template<class F >
F ADM::ADM< F >::process |
( |
const F & |
front, |
|
|
const F & |
back, |
|
|
const F & |
external_beta = F(-1) , |
|
|
bool |
update_beta = true |
|
) |
| |
|
inline |
ADM processes one frame.
- Parameters
-
front | The current front input signal sample |
back | The current rear input signal sample |
external_beta | If >= 0, this is used as the "beta" parameter for direction to filter out. Else, the beta parameter is adapted to filtered out a direction so that best reduction of signal intensity from the back hemisphere is achieved. |
update_beta | Perform the beta adaptation step? |
- Returns
- The computed output sample
◆ beta()
◆ m_delay_front
◆ m_delay_back
◆ m_lp_bf
◆ m_lp_result
◆ m_decomb
◆ m_beta
◆ m_mu_beta
◆ m_powerfilter_coeff
◆ m_powerfilter_norm
◆ m_powerfilter_state
The documentation for this class was generated from the following file: