1、 ETSI TS 146 006 V14.0.0 (2017-04) Digital cellular telecommunications system (Phase 2+) (GSM); Half rate speech; ANSI-C code for the GSM half rate speech codec (3GPP TS 46.006 version 14.0.0 Release 14) floppy3TECHNICAL SPECIFICATION GLOBAL SYSTEM FOR MOBILE COMMUNICATIONSRETSI ETSI TS 146 006 V14.
2、0.0 (2017-04)13GPP TS 46.006 version 14.0.0 Release 14Reference RTS/TSGS-0446006ve00 Keywords GSM ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lucratif enregistre la Sous-P
3、rfecture de Grasse (06) N 7803/88 Important notice The present document can be downloaded from: http:/www.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not
4、 be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secret
5、ariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at https:/portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors in the present document, p
6、lease send your comment to one of the following services: https:/portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written p
7、ermission of ETSI. The content of the PDF version shall not be modified without the written authorization of ETSI. The copyright and the foregoing restriction extend to reproduction in all media. European Telecommunications Standards Institute 2017. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMan
8、d the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members. 3GPPTM and LTE are Trade Marks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. GSM and the GSM logo are Trade Marks registered and owned by the GSM Association. ETSI ETSI TS
9、146 006 V14.0.0 (2017-04)23GPP TS 46.006 version 14.0.0 Release 14Intellectual Property Rights IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-me
10、mbers, and can be found in ETSI SR 000 314: “Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards“, which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web server (https:/ipr.etsi.org/). Pursua
11、nt to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become, essential to the present docum
12、ent. Foreword This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP). The present document may refer to technical specifications or reports using their 3GPP identities, UMTS identities or GSM identities. These should be interpreted as being references t
13、o the corresponding ETSI deliverables. The cross reference between GSM, UMTS, 3GPP and ETSI identities can be found under http:/webapp.etsi.org/key/queryform.asp. Modal verbs terminology In the present document “shall“, “shall not“, “should“, “should not“, “may“, “need not“, “will“, “will not“, “can
14、“ and “cannot“ are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of provisions). “must“ and “must not“ are NOT allowed in ETSI deliverables except when used in direct citation. ETSI ETSI TS 146 006 V14.0.0 (2017-04)33GPP TS 46.006 version 14
15、.0.0 Release 14Contents Intellectual Property Rights 2g3Foreword . 2g3Modal verbs terminology 2g3Foreword . 4g31 Scope 5g32 References 5g33 Definitions and abbreviations . 5g33.1 Definitions 5g33.2 Abbreviations . 6g34 C code structure 6g34.1 Directory structure 6g34.2 Program execution 7g34.3 Code
16、hierarchy . 7g35 ANSI-C code for the GSM half rate speech codec . 12g3Annex A (informative): Change History 13g3History 14g3ETSI ETSI TS 146 006 V14.0.0 (2017-04)43GPP TS 46.006 version 14.0.0 Release 14Foreword This Technical Specification has been produced by the 3rdGeneration Partnership Project
17、(3GPP). The contents of the present document are subject to continuing work within the TSG and may change following formal TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an identifying change of release date and an increase in version
18、 number as follows: Version x.y.z where: x the first digit: 1 presented to TSG for information; 2 presented to TSG for approval; 3 or greater indicates TSG approved document under change control. y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections
19、, updates, etc. z the third digit is incremented when editorial only changes have been incorporated in the document. The present document specifies the half rate speech traffic channels for the digital cellular telecommunications system. The present document is part of a series covering the half rat
20、e speech traffic channels as described below: GSM 06.02 “Digital cellular telecommunications system (Phase 2+); Half rate speech; Half rate speech processing functions“. GSM 06.06 “Digital cellular telecommunications system (Phase 2+); Half rate speech; ANSI-C code for the GSM half rate speech codec
21、“. GSM 06.07 “Digital cellular telecommunications system (Phase 2+); Half rate speech; Test sequences for the GSM half rate speech codec“. GSM 06.20 “Digital cellular telecommunications system (Phase 2+); Half rate speech; Half rate speech transcoding“. GSM 06.21 “Digital cellular telecommunications
22、 system (Phase 2+); Half rate speech; Substitution and muting of lost frames for half rate speech traffic channels“. GSM 06.22 “Digital cellular telecommunications system (Phase 2+); Half rate speech; Comfort noise aspects for half rate speech traffic channels“. GSM 06.41 “Digital cellular telecommu
23、nications system (Phase 2+); Half rate speech; Discontinuous Transmission (DTX) for half rate speech traffic channels“. GSM 06.42 “Digital cellular telecommunications system (Phase 2+); Half rate speech; Voice Activity Detector (VAD) for half rate speech traffic channels“. ETSI ETSI TS 146 006 V14.0
24、.0 (2017-04)53GPP TS 46.006 version 14.0.0 Release 141 Scope The present document contains an electronic copy of the ANSI-C code for the GSM half rate codec. The ANSI-C code is necessary for a bit exact implementation of the half rate speech transcoder (GSM 06.20 2), Voice Activity Detector (GSM 06.
25、42 6), comfort noise (GSM 06.22 4), Discontinuous Transmission (GSM 06.41 5) and example solutions for substituting and muting of lost frames (GSM 06.21 3). 2 References The following documents contain provisions which, through reference in this text, constitute provisions of the present document. R
26、eferences are either specific (identified by date of publication, edition number, version number, etc.) or non-specific. For a specific reference, subsequent revisions do not apply. For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a G
27、SM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document. 1 GSM 01.04: “Digital cellular telecommunication system (Phase 2+); Abbreviations and acronyms“. 2 GSM 06.20: “Digital cellular telecommunications system (Phas
28、e 2+); Half rate speech; Half rate speech transcoding“. 3 GSM 06.21: “Digital cellular telecommunications system (Phase 2+); Half rate speech; Substitution and muting of lost frame for half rate speech traffic channels“. 4 GSM 06.22: “Digital cellular telecommunications system (Phase 2+); Half rate
29、speech; Comfort noise aspects for half rate speech traffic channels“. 5 GSM 06.41: “Digital cellular telecommunications system (Phase 2+); Half rate speech; Discontinuous Transmission (DTX) for half rate speech traffic channels“. 6 GSM 06.42: “Digital cellular telecommunications system (Phase 2+); H
30、alf rate speech; Voice Activity Detector (VAD) for half rate speech traffic channels“. 7 GSM 06.07: “Digital cellular telecommunications system (Phase 2+); Half rate speech; Test sequences for the GSM half rate speech codec“. 8 American National Standards Institute ANSI 9899 (1990): “Programming Lan
31、guage - C (ISO)“. 3 Definitions and abbreviations 3.1 Definitions Definition of terms used in the present document can be found in GSM 06.20 2, GSM 06.21 3, GSM 06.22 4, GSM 06.41 5 and GSM 06.42 6. ETSI ETSI TS 146 006 V14.0.0 (2017-04)63GPP TS 46.006 version 14.0.0 Release 143.2 Abbreviations For
32、the purposes of the present document, the following abbreviations apply: ANSI American National Standards Institute DS-HD Double Sided High Density ETS European Telecommunication Standard GSM Global System for Mobile communications I/O Input/OutputROM Read Only Memory For abbreviations not given in
33、this clause, see GSM 01.04 1. 4 C code structure This clause gives an overview of the structure of the bit-exact C code and provides an overview of the contents and organization of the electronic attachment accompanying the present document. The C code has been verified on the following systems: - S
34、un Microsystems 1)workstations and Sun Microsystems acc; - IBM 2)PC/AT compatible computers and Borlands Turbo-C 3)compiler; - VAX 4)and Digital Equipment Corporations CC. ANSI-C 9899 8 was selected as the programming language because portability was desirable. The code representation is contained i
35、n a MS-DOS 5)file (called Disk and contained in archive en_300967v080001p0.ZIP which accompanies the present document. 4.1 Directory structure A listing of the directories is given in table 1. Table 1: Directory structure listing Directory name Contents Size (bytes) c C files and headers 1 215 563 d
36、 example binary data input and output files 72 400 exec executables and makefiles 5 509 utils utility programs and the “reid“ program 49 531 readme.txt usage description of files 9 116 The C code file (called Disk and contained in archive en_300967v080001p0.ZIP) which accompanies the present documen
37、t has one main directory and four subdirectories. The top directory has in it the file readme.txt which explains the installation procedure, along with some miscellaneous descriptive information regarding the code. 1) Registered trade mark of Sun Microsystems 2) Registered trade mark of Internationa
38、l Business Machines 3) Registered trade mark of Borland 4) Registered trade mark of Digital Equipment Corporation 5) Registered trade mark of Microsoft ETSI ETSI TS 146 006 V14.0.0 (2017-04)73GPP TS 46.006 version 14.0.0 Release 14Below this directory, are the four subdirectories. The “c“ subdirecto
39、ry contains all the source code and header files. This directory alone is essential, the others aid in the building, or testing of the code. All ROM data is in this source directory. After installation, this directory can be made read only. The “d“ subdirectory contains all the speech coder installa
40、tion verification data files. All of the data files are written/read as 16 bit words, so these may require byte swapping on the target platform. All data and text files are formatted such that they are correct for an IBM PC/AT compatible. Final verification is to be performed using the GSM half rate
41、 test sequences described in GSM 06.07 7. The “utils“ subdirectory contains miscellaneous utilities which may be useful in the installation of the software. Two programs are provided to transform text files: topcwild and tosnwild. The program topcwild takes UNIX text files and converts them to pc te
42、xt files. tosnwild does the opposite. The program swapbin is also in this directory. This performs byte swapping on a binary data file. A fourth program, reid, is also contained in this sub directory. This is the residual error insertion program which also provides the format conversion between the
43、encoder output file format and the decoder input file format. The “exec“ subdirectory contains the makefiles for the various platforms. Once the software is installed, this directory will have a compiled version of gsm_hr (the bit-exact C executable), programs from the “utils“ directory, and all the
44、 object files. The program gsm_hr is the name of the GSM half rate codec executable file. 4.2 Program execution The GSM half rate speech codec is implemented as two separate programs: - (gsm_hr) speech codec; - (reid) encoder/decoder interface. The gsm_hr program operates in one of two modes: - (0)
45、encoding only; - (1) decoding only. For encoding, the input is a binary speech file (*.inp) and the output is a binary encoded parameter file (*.cod). For decoding, the input is a binary parameter files (*.dec) and the output is a binary synthesized speech file (*.out). Note that the format for the
46、parameter input file required for decoding (*.dec) is not the same as the format of the parameter output file generated by encoding (*.cod). The reid program will translate an *.cod file into an *.dec file (select error-free mode, EP0). See the file readme.txt for more information on how to run the
47、gsm_hr and reid programs. 4.3 Code hierarchy Figures 1 to 7 are call graphs that show the functions used in the speech codec. The encode call graph is broken down into six separate call graphs. Those clauses, which are large, are separated from the primary encode call tree and given their own call t
48、ree. Each vertical column represents a call level. For example, main() is at level 0, encode() at level 1, speechEncoder() at level 2, openLoopLagSearch() at level 3, getCCThreshold() at level 4, etc. The basic operations are not counted as extending the depth, therefore the deepest level is this so
49、ftware is level 6. Some items have been omitted from this call graph. All standard C functions: printf(), fwrite(), etc. have been omitted. Also, no basic operations (add(), L_add(), mac(), etc.) or double precision extended operations (e.g. L_mpy_ls() appear in the graphs. ETSI ETSI TS 146 006 V14.0.0 (2017-04)83GPP TS 46.006 version 14.0.0 Release 14.decodespeechDecoderHostInterfacespeechDecoderreadDecfilelevel_estimatorspectralPostFiltersignal_conceal_subpitchPreFiltscaleExciters_rrNsrs_rrv_conb_confp_exlagDecoder0Bas