ToeplizMatrix_G729

Calculates elements of the Toepliz matrix for the fixed codebook search.

Syntax

IppStatus ippsToeplizMatrix_G729_16s(const Ipp16s* pSrcImpulseResponse, Ipp16s* pDstMatrix);

IppStatus ippsToeplizMatrix_G729_16s32s(const Ipp16s* pSrcImpulseResponse, Ipp32s* pDstMatrix);

IppStatus ippsToeplizMatrix_G729_32f(const Ipp32f* pSrcImpulseResponse,, Ipp32f* pDstMatrix);

IppStatus ippsToeplizMatrix_G729D_32f(const Ipp32f* pSrcImpulseResponse,, Ipp32f* pDstMatrix);

Parameters

pSrcImpulseResponse

Pointer to the impulse response vector [40], in Q12 for 16s data.

pDstMatrix

Pointer to the elements of Toepliz matrix of length 616, (of Ipp16s type in Q9 or Ipp32s type in Q25).

Description

The function ippsToeplizMatrix_G729 is declared in the ippsc.h file. This function calculates 616 elements in Toepliz matrix for the fixed-codebook search. These elements can be expressed as:

where h(i), i = 0, 1, ..., 39, is the impulse response.

The function stores the calculated 616 elements in pDstMatrix in the following order:

1. Φ(mi, mi), i = 0, 1, 2, 3), 3x8+16 = 40 elements; starting location: 0.

Φ(0, 0), Φ(5, 5),..., Φ(35, 35), Φ(1, 1), Φ(6, 6),..., Φ(36, 36),

Φ(2, 2), Φ(7, 7),..., Φ(37, 37), Φ(3, 3), Φ(8, 8),..., Φ(39, 39) .

2. Φ(m0, m1), 8x8 = 64 elements; starting location: 40.

Φ(0, 1), ...., Φ(0, 36), Φ(5, 1), ...., Φ(5, 36), Φ(10, 1), ..., Φ(35, 36).

3. Φ(m0, m2), 8x8 = 64 elements; starting location: 104.

Φ(0, 2), ...., Φ(0, 37), Φ(5, 2), ...., Φ(5, 37), Φ(10, 2), ..., Φ(35, 37).

4. Φ(m0, m3), 8x16 = 128 elements; starting location: 168.

Φ(0, 3), ...., Φ(0, 38), Φ(5, 3), ...., Φ(5, 38), Φ(10, 3), ..., Φ(35, 38).

Φ(0, 4), ...., Φ(0, 39), Φ(5, 4), ...., Φ(5, 39), Φ(10, 4), ..., Φ(35, 39).

5. Φ(m1, m3), 8x8 = 64 elements; starting location: 296.

Φ(1, 2), ...., Φ(1, 37), Φ(6, 2), ...., Φ(6, 37), Φ(11, 2), ..., Φ(36, 37).

4. Φ(m1, m3), 8x16 = 128 elements; starting location: 360.

Φ(1, 3), ...., Φ(1, 38), Φ(6, 3), ...., Φ(6, 38), Φ(11, 3), ..., Φ(36, 38).

Φ(1, 4), ...., Φ(1, 39), Φ(6, 4), ...., Φ(6, 39), Φ(11, 4), ..., Φ(36, 39).

4. Φ(m2, m3), 8x16 = 128 elements; starting location: 488.

Φ(2, 3), ...., Φ(2, 38), Φ(7, 3), ...., Φ(7, 38), Φ(12, 3), ..., Φ(37, 38).

Φ(2, 4), ...., Φ(2, 39), Φ(7, 4), ...., Φ(7, 39), Φ(12, 4), ..., Φ(37, 39).

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.