The main fullband controller function which updates filter coefficients and returns output gain coefficients.
IppStatus ippsFullbandController_EC_32f(const Ipp32f* pAdaptiveFilterErr, const Ipp32f* pFixedFilterErr, Ipp32f* pAdaptiveCoefs, Ipp32f* pFixedCoefs, Ipp32f* pSGain, IppsFullbandControllerState_EC_32f* pState);
IppStatus ippsFullbandController_EC_16s(const Ipp16s* pAdaptiveFilterErr, const Ipp16s* pFixedFilterErr, Ipp16s* pAdaptiveCoefs, Ipp16s* pFixedCoefs, Ipp32s* pSGain, IppsFullbandControllerState_EC_16s* pState);
pState |
Pointer to the fullband controller state structure. |
pAdaptiveFilterErr |
Pointer to the vector of adaptive filter output. Vector length is equal to frameSize, specified in the function ippsFullbandControllerInit_EC. |
pFixedFilterErr |
Pointer to the vector of fixed filter output. Vector length is equal to frameSize, specified in the function ippsFullbandControllerInit_EC. |
pAdaptiveCoefs |
Pointer to the adaptive filter coefficients vectors. Vector length is equal to tapLen, specified in the function ippsFullbandControllerInit_EC. |
pFixedCoefs |
Pointer to the fixed filter coefficients vectors. Vector length is equal to tapLen, specified in the function ippsFullbandControllerInit_EC. |
pSGain |
Pointer to the send gain coefficient. |
The functions ippsFullbandController_EC are declared in the ippsc.h file.
These functions compare powers of adaptive filter error and fixed filter error and track changes of adaptive filter coefficients power.
If the adaptive filter has a significantly smaller error and is stable (which is indicated by coefficients power changing slowly), its coefficients are copied to the fixed filter. This case corresponds to “no double-talk” mode.
If the fixed filter has a significantly smaller error, its coefficients are copied to the adaptive filter. This case corresponds to the double-talk mode.
Send gain coefficient calculation (non-linear processor technology) is based on presence of the double-talk mode and changes of receive-in and send-in signal powers.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.