BandSplitDownsample_AMRWBE

Downsamples input signal and splits it into high and low frequency components.

Syntax

IppStatus ippsBandSplitDownsample_AMRWBE_16s(const Ipp16s* pSrcSig, int lenSrc, Ipp16s* pDstSigLF, Ipp16s* pDstSigHF, int lenDst, Ipp16s* pMem, Ipp16s* pInterFracMem, Ipp32s* pCountSamp, Ipp16s resampleFactor);

Parameters

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.

Description

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+].

Dependence between Values of the parameter resampleFactor and the Internal Sampling Frequency
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

Return Values

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.

Submit feedback on this help topic

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