AN2261 Freescale Semiconductor / Motorola, AN2261 Datasheet

no-image

AN2261

Manufacturer Part Number
AN2261
Description
ITU-T G.729AB Implementation on the StarCore SC140 Core
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
Application Note
AN2261/D
Rev. 1, 3/2002
ITU-T G.729AB
Implementation on the
StarCore SC140 Core
by Corneliu Margina,
Bogdan Costinescu,
and Costel Ilas
CONTENTS
1 G.729AB Background.... 2
2 Implementation Process 2
2.1 Differences Between
2.2 Project-Level
2.3 Function-Level
3 Results ......................... 10
4 References ................... 11
ITU-T G.729A and
ITU-T G.729AB........... 3
Optimizations .............. 7
Optimizations .............. 8
This application note describes a methodology for porting and optimizing the ITU-T G.729
Recommendation with Annex A and Annex B (G.729AB) on the StarCore™ SC140 core.
recommendation proposes three algorithms for reducing the transmission rate during periods of silence:
• Voice Activity Detection (VAD)
• Discontinuous Transmission (DTX)
• Comfort Noise Generator (CNG)
The methodology integrates an optimized ITU-T G.729A implementation with the ITU-T G.729/Annex
B Recommendation and considers an interface to the G.729AB library. The integration phase is a
challenge because some optimizations from G.729A ( Levinson() , for example) must be re-optimized
according to the modifications introduced by Annex B. Of the new functions in Annex B, only six
functions are optimized in C, and one is optimized using assembly language. The StarCore compiler also
reduces the effort required in the optimization phase. The tests to verify the bit exactness use all available
ITU test vectors, as well as an extended set of internal Motorola test vectors.
The ITU-T G.729AB implementation yields high performance on the SC140 core—61 channels on a 300
MHz SC140 core using only 202 KB of memory. These results demonstrate the power of the SC140 core
for wireless infrastructure products.
1
The project was implemented accordingly to the methodology for implementing ITU-T
G.729A on the SC140 core [5]. The ITU-T G.729/Annex B Recommendation [3] was added
to the optimized ITU-T G.729A implementation to maintain bit-exactness.
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
1
This

Related parts for AN2261

AN2261 Summary of contents

Page 1

... Freescale Semiconductor, Inc. Application Note AN2261/D Rev. 1, 3/2002 ITU-T G.729AB Implementation on the StarCore SC140 Core by Corneliu Margina, This application note describes a methodology for porting and optimizing the ITU-T G.729 Bogdan Costinescu, Recommendation with Annex A and Annex B (G.729AB) on the StarCore™ SC140 core. ...

Page 2

G.729AB Background 1 G.729AB Background G.729AB is an 8kbit/s Conjugate-Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP) speech codec employed in simultaneous voice and data applications. The Annex B of the ITU-T G.729 Recommendation proposes a silence compression scheme for terminals to be used ...

Page 3

Freescale Semiconductor, Inc. Implementation Phase Function-level C optimizations Function-level assembly implementations and optimizations The following sections describe these implementation phases, indicating the performance results. Table 2 summarizes the requirements of the ITU-T G.729AB implementation. Table 2. ITU-T G.729AB Implementation Requirements ...

Page 4

Implementation Process Porting Annex B to the SC140 core required use of the following elements: • Defined data types (for example, Word16, Word32) as defined in ITU-T G.729A to comply with the SC140 architecture. • Intrinsic functions defined by the ...

Page 5

Freescale Semiconductor, Inc. Table 5. Differences Between ITU-T G.729A and ITU-T G.729AB Functions Encoder Functions Function Name Difference Autocorr few diff. Levinson few diff. Calc_pastfilt new Calc_RCoeff new Calc_sum_acf new Cmp_filt new Cod_cng new Get_freq_prev new Init_Cod_cng new lsfq_noise new ...

Page 6

Implementation Process 2.1.2 Modifying the Channel Data The modified channel data consists of global data used by both the encoder and decoder of the speech codec to perform the following tasks: • Decode the SID information • Make the DTX ...

Page 7

Freescale Semiconductor, Inc. 2.1.5 Making the Library Interface ABI-Compliant The G.729AB library must comply with the Application Binary Interface as specified in [4] and [5]. Example 1 presents the ABI-compliant C functions of the vocoder external interface. void MDCR_G729AB_encode_initialize(MDCR_G729AB_ENCODER_CHANNEL_INFO_T *enc_info); ...

Page 8

Implementation Process The following assembly functions were integrated from the ITU-T G.729A optimized implementation, thus improving speed and program size: • Get_lsp_pol() • Pred_lt_3() • Residu() • Syn_filt() • Post_Process() • Autocorr() • Az_lsp() • Chebps() • Cor_h() • D4i40_17_fast() ...

Page 9

Freescale Semiconductor, Inc. The C optimization techniques are as follows: • Multisampling • Loop merging • Loop unrolling • Loop splitting • Split summation These techniques were applied to the following functions: • Calc_exc_rand() • Gauss() • Random() • New_ml_search_1() ...

Page 10

Results Table 10. Performance Results for New_ml_search1() and New_ml_search2() Function Name New_ml_search_1() New_ml_search_2() 3 Results Table 11 summarizes the performance results of the ITU-T G.729AB optimized implementation on the StarCore SC140 core. A profiling session after a small number of ...

Page 11

Freescale Semiconductor, Inc. 10 SC140 Porting and Integrating with ITU-T G.729A Project Requirements 0.5 Figure 1. Processing Load Versus Implementation Effort 4 References [1] ITU-T Recommendation G.729—Coding of Speech at 8 kbit/s Using ...

Page 12

... StarCore, and EOnCE are trademarks of Motorola, Inc. Metrowerks and CodeWarrior are registered trademarks of Metrowerks Corp. in the U.S. and/or other countries. All other product or service names are the property of their respective owners. Motorola, Inc Equal Opportunity/Affirmative Action Employer. © Motorola, Inc. 2002 AN2261/D For More Information On This Product, Go to: www.freescale.com ...

Related keywords