Calculates elements of the Toepliz matrix for the fixed codebook search.
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);
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). |
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).
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.