Estimates the auto-correlation of a vector.
IppStatus ippsAutoCorr_G729B(const Ipp16s* pSrcSpch, Ipp16s* pResultAutoCorrExp, Ipp32s* pDstAutoCorr);
pSrcSpch |
Pointer to the input speech signal vector [240]. |
pResultAutoCorrExp |
Pointer to the exponent of autocorrelation coefficients. |
pDstAutoCorr |
Pointer to the autocorrelation coefficients vector [13]. |
The function ippsAutoCorr_G729 is declared in the ippsc.h file. This function calculates a set of 11 autocorrelation coefficients and their exponent for the input speech signal. The function is applied to the vector of 240 speech samples, which include 120 samples from past speech frames, 80 samples from the present speech frame, and 40 samples from the future frame. The functionality is as follows.
1. First, apply to speech samples the asymmetric windows given by:
2. Next, calculate autocorrelations of the windowed speech samples s(i), i = 0, 1, ..., 239, using the formula:
3. Finally, the autocorrelation coefficients are scaled according to the first autocorrelation coefficient (energy) value. Specifically, autocorrelation coefficients are multiplied by the factor 2norm, where norm ≤ 0 is calculated so as to make the first coefficient normalized. The corresponding scaling factor, norm, is returned via pResultAutoCorrExp.
The function ippsAutoCorr_G729B is actually a combination of ippsMul_NR and ippsAutoCorr_NormE functions. The following code details the correspondence:
{ short sig_win[240]; ippsMul_NR_16s_Sfs(pSrcSpch,window,sig_win,240,15); ippsAutoCorr_NormE_16s32s(sig_win,240,pDstAutoCorr,11, &pResultAutoCorrExp); }
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.