Reconstructs frame from a complex subband representation.
IppStatus ippsSubbandSynthesis_32fc32f(const Ipp32fc* pSubbands, Ipp32f* pSignal, IppsSubbandProcessState_32f* pState, Ipp8u* pBuf);
IppStatus ippsSubbandSynthesis_32sc16s_Sfs(const Ipp32sc* pSubbands, Ipp16s* pSignal, IppsSubbandProcessState_16s* pState, int scaleFactor, Ipp8u* pBuf);
pState |
Pointer to the subband process state structure. |
pSubbands |
Pointer to the resulting subband vector. Vector length is equal to the number of subbands calculated as 2order - 1 + 1, where order is specified in the function ippsSubbandProcessInit. |
pSignal |
Pointer to the destination signal vector. Vector length is equal to frame size which was used to initialize the subband process algorithm by the functionippsSubbandProcessInit. |
pBuf |
Pointer to the work buffer of size computed by the function ippsSubbandProcessGetSize (returned via pBufSize parameter). |
The functions ippsSubbandSynthesis are declared in the ippsc.h file. These functions perform subband synthesis using the oversampled DFT filter bank.
Computation steps are as follows:
1) Calculates IX as the inverse Fast Fourier Transform of the input subband sample X. Transform length is fftLen = 2order.
2) Shifts internal buffer by frameSize and sets to zero the undefined buffer values.
3) Updates buffer values as
x(j):= x(j) + window( j) * IX(j % fftLen),
for j = 0, ..., windowLen - 1
4) Returns most recent frameSize samples from the buffer.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.