SubbandSynthesis

Reconstructs frame from a complex subband representation.

Syntax

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);

Parameters

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).

Description

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.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when one of the specified pointers is NULL.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.