Updates filter coefficients and returns output gain coefficients.
IppStatus ippsSubbandControllerDT_EC_16s(const Ipp32sc* pSrcAdaptiveFilterErr, const Ipp32sc* pSrcFixedFilterErr, Ipp32sc** ppDstAdaptiveCoefs, Ipp32sc** ppDstFixedCoefs, Ipp64s* pSrcDstFilterPwr, int* pDstStsAdapt, Ipp64s pwrDelta, int filterUpdateEnabled, int adaptationEnabled, int startSubband, IppsSubbandControllerDTState_EC_16s* pState);
pState |
Pointer to state structure of the subband DT controller. |
pSrcAdaptiveFilterErr |
Pointer to the input adaptive filter error vector. Vector length is equal to numSubbands, specified in the function ippsSubbandControllerDTInit_EC. |
pSrcFixedFilterErr |
Pointer to the input fixed filter error vector. Vector length is equal to numSubbands. |
ppDstAdaptiveCoefs |
Pointer to an array of pointers to the adaptive filter coefficients vectors. Size of the array is equal to numSegments specified in iippsSubbandControllerDTInit_EC. |
ppDstFixedCoefs |
Pointer to an array of pointers to the fixed filter coefficients vectors. Size of the array is equal to numSegments specified in ippsSubbandControllerDTInit_EC. |
pSrcDstFilterPwr |
Pointer to an input/output power of adaptive filter coefficient. |
pDstStsAdapt |
Pointer to output flag which shows the state of the controller. |
pDstStsAdapt = -1 - coefficients of the adaptive filter have been copied to the fixed filter; | |
pDstStsAdapt = 0 - coefficients of the adaptive and fixed filters are not changed; | |
pDstStsAdapt = 1 - coefficients of the fixed filter have been copied to the fixed filter. | |
pwrDelta |
Difference between the power of the adaptive filter coefficients of the current frame and the power of the adaptive filter coefficients of the previous frame. |
filterUpdateEnabled |
Difference between the power of the adaptive filter coefficients of the current frame and the power of the adaptive filter coefficients of the previous frame. |
adaptationEnabled |
Indicates if an adaptation is enabled or not. |
startSubband |
Indicates the number of subband the filtering starts from (0 ≤ startSubband < numSubbands). |
The function ippsSubbandControllerDT_EC is declared in the ippsc.h file.
This function compares powers of the adaptive filter error and fixed filter error, and tracks changes of the 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. If the fixed filter has a significantly smaller error or adaptive filter is not stable (which is indicated by coefficients power changing rapidly), its coefficients are copied to the adaptive filter. Output flag pDstStsAdapt shows if there were conservations or restorations of the adaptive filter coefficients.
The subband DT controller state structure pState must be initialized by the function iippsSubbandControllerDTInit_EC beforehand.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsBadArgErr |
Indicates an error when startSubband is less than 0 or greater than or equal to the numSubbands. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.