Downsamples input signal and splits it into high and low frequency components.
IppStatus ippsBandSplitDownsample_AMRWBE_16s(const Ipp16s* pSrcSig, int lenSrc, Ipp16s* pDstSigLF, Ipp16s* pDstSigHF, int lenDst, Ipp16s* pMem, Ipp16s* pInterFracMem, Ipp32s* pCountSamp, Ipp16s resampleFactor);
pSrcSig |
Pointer to the source signal. |
lenSrc |
Length of the source signal, [7680] for 48 kHz signal, or [7056] for 44.1 kHz signal. |
pDstSigLF |
Pointer to the destination low frequency component. |
pDstSigHF |
Pointer to the destination high frequency component. |
lenDst |
Length of destination vectors. |
pMem |
Pointer to the memory, [1608] elements. |
pInterFracMem |
Pointer to the memory for the length of interpolating fraction. |
pCountSamp Number of decimated samples. | |
resampleFactor |
Resampling frequency scale factor. |
The function ippsBandSplitDownsample_AMRWBE is declared in ippsc.h file. This function downsamples input signal to the desired internal sampling frequency f of the encoder and splits it into high and low frequency components. Firstly the input signal pSrcSig is upsampled by the factor resampleFactor, filtered by a low pass filter, and then downsampled by the factor 180. The value of the resampleFactor factor depends on the desired internal sampling frequency f (see the table below). The low frequency component is obtained by low-pass filtering downsampled signal to f/4 kHz, and critically downsampling result to f/2 kHz. The high frequency component is obtained by band-pass filtering to frequencies above f/4 kHz, and critically downsampling result to f/2 kHz.
See also 3GPP TS 26.290: “Extended AMR Wideband Speech Codec; Transcoding functions", clauses 5.1 [AMRWB+].
Internal sampling frequency f, Hz | Factor for the internal frequency | Value of the parameter resampleFactor |
---|---|---|
12800 | 1/2 | 48 |
14400 | 9/16 | 54 |
16000 | 5/8 | 60 |
17067 | 2/3 | 64 |
19200 | 3/4 | 72 |
21333 | 5/6 | 80 |
24000 | 15/16 | 90 |
25600 | 1 | 96 |
28800 | 9/8 | 108 |
32000 | 5/4 | 120 |
34133 | 4/3 | 128 |
26000 | 45/32 | 135 |
38400 | 3/2 | 144 |
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointer is NULL. |
ippStsSizeErr |
Indicates an error when lenSrc or lenDst is less than or equal to zero. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.