AN2094 Freescale Semiconductor / Motorola, AN2094 Datasheet - Page 5

no-image

AN2094

Manufacturer Part Number
AN2094
Description
ITU-T G.729 Implementation on StarCore SC140
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
The LSP coefficients are interpolated and converted to LP filter coefficients for each subframe. Then, for each 5 ms
subframe, the excitation is constructed by adding the adaptive and fixed codebook vectors scaled by their gains.
The speech is reconstructed by filtering the excitation through the LP synthesis filter, and the reconstructed speech
signal is passed through an adaptive postfilter to enhance speech quality.
2
The purpose of this section is to provide a description of the software development process used in implementing
ITU G.729 Reference code on StarCore SC140. The main steps performed during this implementation process are
illustrated in Table 2 in the order that they are to be carried out. Following this process in the order given achieves
high-performance code for StarCore. Additionally, this section provides the typical problems encountered and their
possible solutions. Finally, programming techniques are provided to optimize the code for speed.
2.1 Test Vectors and Development Tools
All test vectors provided by the ITU-T were used to determine if the results from the ported code were the same as
those obtained from the original G.729 code. These test vectors are summarized in Table 3.
The development tools included the StarCore SC140 Enterprise C compiler and Metrowerks® CodeWarrior® for
StarCore.
Freescale Semiconductor
Porting to SC140
Project-Level Optimizations
Algorithm Changes
Function-Level C Optimization
Function Implementation in Assembly
Optimization Process
Development Stage
algthm.in
fixed.in
lsp.in
pitch.in
speech.in
tame.in
ITU-T G.729 Implementation on the StarCore™ SC140/SC1400 Cores, Rev. 1
Encoder Inputs
Table 2. Main Stages of the Software Development Process
Data type definitions, introduction of intrinsic functions, multichannel
transformations.
Inlining, data alignment, StarCore adaptations.
Platform-independent and platform-dependent changes in algorithms.
C optimization techniques (multisample, loop unrolling, split summation),
better use of intrinsic functions.
Implementation of selected functions in assembly for best optimization.
Table 3. ITU-T Test Vectors
algthm.bit
erasure.bit
fixed.bit
lsp.bit
overflow.bit
parity.bit
pitch.bit
speech.bit
tame.bit
Encoder Outputs and
Decoder Inputs
Description
algthm.pst
erasure.pst
fixed.pst
lsp.pst
overflow.pst
parity.pst
pitch.pst
speech.pst
tame.pst
Decoder Outputs
Optimization Process
5

Related parts for AN2094