SIST EN 301 712 V7.3.1:2003
(Main)Digital cellular telecommunications system (Phase 2+) (GSM); Adaptive Multi Rate (AMR) speech; ANSI-C code for the AMR speech codec (GSM 06.73 version 7.3.1 Release 1998)
- Abstract
CR @ SA#6
- Status
- Published
- Publication Date
- 30-Nov-2003
- Current Stage
- 6060 - National Implementation/Publication (Adopted Project)
- Start Date
- 01-Dec-2003
- Due Date
- 01-Dec-2003
- Completion Date
- 01-Dec-2003
- Mandate
- T-172
SIST EN 301 712 V7.3.1:2003 is the SIST adoption of the ETSI European Standard for the GSM Adaptive Multi-Rate (AMR) speech codec ANSI-C code. It provides the bit-exact C code used to implement the AMR speech transcoder, Voice Activity Detection (VAD), comfort noise, Discontinuous Transmission (DTX), and lost-frame substitution and muting functions for GSM systems.
What does SIST EN 301 712 V7.3.1:2003 specify?
SIST EN 301 712 V7.3.1:2003 specifies the ANSI-C code package for the GSM AMR speech codec and the file formats used to run and test it. The document is organized around the code structure, the homing procedure, and the encoder and decoder file formats, with an informative annex for change history.
| Part | What it covers |
|---|---|
| Clause 1 | Scope of the ANSI-C code package |
| Clause 2 | References used by the document |
| Clause 3 | Definitions and abbreviations |
| Clause 4 | C code structure, execution, coding style, hierarchy, variables, constants, and tables |
| Clause 5 | Homing procedure |
| Clause 6 | File formats for speech, mode control, and parameter bitstream files |
| Annex A | Informative change request history |
In practice, this means the standard is aimed at implementation and verification work. It ties the code to related GSM speech specifications so that different implementations can be compared against the same bit-exact reference behavior.
What are the key requirements of SIST EN 301 712 V7.3.1:2003?
SIST EN 301 712 V7.3.1:2003 is centered on a reference ANSI-C implementation and the rules needed to run it consistently. The most important points are the coding model, the fixed-point data handling, the homing procedure, and the test file formats.
C code structure and execution
Clause 4 states that the code is written in ANSI-C 9899 and was verified on Sun Microsystems, DEC Alpha, and IBM PC/AT-compatible systems with GNU gcc. For a user, that means portability was a design goal, but the reference behavior still depends on using the same code structure and data types.
Clause 4.3 describes a module style based on a state structure plus func_init(), func_reset(), func_exit(), and the processing function itself. This matters because multiple instances of the same module can be used in one program, and reset behavior is explicitly tied to the homing state.
Fixed-point data and tables
Clause 4.5 states that the implementation uses signed 2's complement Word16 and Word32 types, plus enums and Flag. In practice, this is important for fixed-point accuracy: implementers need to preserve integer width and signed behavior to keep bit-exact results.
Clause 4.5.2 lists the fixed tables used by the source files, including tables for codebook search, quantization, filtering, interpolation, inverse square root, logarithms, and phase dispersion. That gives implementers the constant data needed to reproduce the reference codec exactly.
Homing procedure
Clause 5 gives the decoder homing procedure for all AMR codec modes. The homing frames are mode-specific and are shown in Tables 9a to 9h, which lets test teams reset and validate a decoder against known parameter patterns.
File formats
Clause 6 defines the three file types used by the encoder and decoder: speech files, mode control files, and parameter bitstream files. For practical use, this tells integrators how to feed 16-bit linear PCM speech samples into the encoder, how to select a mode per frame, and how to exchange encoded parameters between encoder and decoder.
Clause 6.3 is especially important for interoperability: each parameter bitstream frame contains a frame type, bit fields, mode information, and unused words written as zero. Test labs use that format to drive conformance and verification sequences.
What terms does SIST EN 301 712 V7.3.1:2003 define?
- Adaptive Multi-Rate (AMR) - the GSM speech codec family covered by the standard, with several coding modes.
- Voice Activity Detection (VAD) - the function that detects active speech so the system can treat speech and non-speech differently.
- Discontinuous Transmission (DTX) - the method of stopping regular transmission during non-speech periods.
- ANSI-C - the C language form used for the reference codec implementation.
- I/O - input/output, used here for file and program handling.
- RAM - Random Access Memory, used in the discussion of code data and state storage.
- ROM - Read Only Memory, used in the discussion of fixed tables and stored data.
- bit-exact - producing the same encoded and decoded results as the reference implementation.
Who uses SIST EN 301 712 V7.3.1:2003?
SIST EN 301 712 V7.3.1:2003 is used by codec implementers, telecom software engineers, and validation teams working on GSM speech systems. It is relevant to people building the AMR speech transcoder, VAD, DTX, comfort noise, and lost-frame handling functions, because the standard provides the reference C code and the frame formats needed to match behavior across platforms.
It is also useful for test laboratories and quality teams that need a common reference for bit-exact verification. The file formats and homing frames support repeatable codec testing and regression checks.
What changed in SIST EN 301 712 V7.3.1:2003 from the previous edition?
The informative change history records updates covering homing procedures, gain calculation in adaptive gain control for 12.2 and 7.4 kbit/s modes, bitstream output file format, the Levinson algorithm, LSP vector initialization, encoder and decoder file format documentation, static variable listings, DTX decoder LSF history updates, synthesis filter instability protection, AMR VAD and DTX descriptions, input buffer initialization, stat_count initialization in vad1.c, algebraic code vector generation, random excitation for RX_NODATA outside DTX, vad_cnst.h, cor_h_x for 10.2 kbit/s modes, dtx_dec, cod_amr.c, gain quantization for 4.75 kbit/s modes, and the AMR decoder reset function. The published V7.3.1 version is listed as an upgrade at publication.
Which standards are used with SIST EN 301 712 V7.3.1:2003?
- GSM01.04 - gives the abbreviations and acronyms used where this document does not define them.
- GSM06.74 - provides the test sequences used for final verification.
- GSM06.90 - defines AMR speech transcoding and the principles of the homing procedure.
- GSM06.91 - covers substitution and muting of lost frames.
- GSM06.92 - covers comfort noise aspects for AMR speech traffic channels.
- GSM06.93 - covers DTX for AMR speech traffic channels.
- GSM06.94 - covers VAD for AMR speech traffic channels.
What does the SIST EN 301 712 V7.3.1:2003 document contain?
SIST EN 301 712 V7.3.1:2003 contains a structured description of the codec code base, including call graphs for encoder and decoder processing, coding conventions, static variables, and the main tables used by the implementation. It also contains detailed homing-frame parameter tables for each AMR mode and file-format descriptions for speech, mode control, and parameter bitstream exchange.
The document is practical as well as descriptive: it shows how the encoder and decoder are called, how state is stored and reset, and how the bitstream is laid out for testing. Annex A adds the documented change request history for the specification.
Get Certified
Connect with accredited certification bodies for this standard

ANCE
Mexican certification and testing association.

Intertek Slovenia
Intertek testing, inspection, and certification services in Slovenia.
LNE (Laboratoire National de Métrologie et d'Essais)
French national laboratory for metrology and testing.
Sponsored listings
Frequently Asked Questions
SIST EN 301 712 V7.3.1:2003 is a standard published by the Slovenian Institute for Standardization (SIST). Its full title is "Digital cellular telecommunications system (Phase 2+) (GSM); Adaptive Multi Rate (AMR) speech; ANSI-C code for the AMR speech codec (GSM 06.73 version 7.3.1 Release 1998)". This standard covers: CR @ SA#6
CR @ SA#6
SIST EN 301 712 V7.3.1:2003 is classified under the following ICS (International Classification for Standards) categories: 33.070.50 - Global System for Mobile Communication (GSM). The ICS classification helps identify the subject area and facilitates finding related standards.
SIST EN 301 712 V7.3.1:2003 is associated with the following European legislation: Standardization Mandates: T-172. When a standard is cited in the Official Journal of the European Union, products manufactured in conformity with it benefit from a presumption of conformity with the essential requirements of the corresponding EU directive or regulation.
SIST EN 301 712 V7.3.1:2003 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.
Standards Content (Sample)
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.Digital cellular telecommunications system (Phase 2+) (GSM); Adaptive Multi Rate (AMR) speech; ANSI-C code for the AMR speech codec (GSM 06.73 version 7.3.1 Release 1998)33.070.50Globalni sistem za mobilno telekomunikacijo (GSM)Global System for Mobile Communication (GSM)ICS:Ta slovenski standard je istoveten z:EN 301 712 Version 7.3.1SIST EN 301 712 V7.3.1:2003en01-december-2003SIST EN 301 712 V7.3.1:2003SLOVENSKI
STANDARD
ETSIEN301712V7.3.1(2000-06)EuropeanStandard(Telecommunicationsseries)Digitalcellulartelecommunicationssystem(Phase2+);AdaptiveMultiRate(AMR)speech;ANSI-CcodefortheAMRspeechcodec(GSM06.73version7.3.1Release1998)GLOBALSYSTEMFORMOBILECOMMUNICATIONSRSIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)2(GSM06.73version7.3.1Release1998)ReferenceREN/SMG-110673Q7R2KeywordsDigitalcellulartelecommunicationssystem,GlobalSystemforMobilecommunications(GSM)AMR,ANSICCodeETSI650RoutedesLuciolesF-06921SophiaAntipolisCedex-FRANCETel.:+33492944200Fax:+33493654716SiretN°34862356200017-NAF742CAssociationàbutnonlucratifenregistréeàlaSous-PréfecturedeGrasse(06)N°7803/88ImportantnoticeIndividualcopiesofthepresentdocumentcanbedownloadedfrom:http://www.etsi.orgThepresentdocumentmaybemadeavailableinmorethanoneelectronicversionorinprint.Inanycaseofexistingorperceiveddifferenceincontentsbetweensuchversions,thereferenceversionisthePortableDocumentFormat(PDF).Incaseofdispute,thereferenceshallbetheprintingonETSIprintersofthePDFversionkeptonaspecificnetworkdrivewithinETSISecretariat.Usersofthepresentdocumentshouldbeawarethatthedocumentmaybesubjecttorevisionorchangeofstatus.InformationonthecurrentstatusofthisandotherETSIdocumentsisavailableathttp://www.etsi.org/tb/status/Ifyoufinderrorsinthepresentdocument,sendyourcommentto:editor@etsi.frCopyrightNotificationNopartmaybereproducedexceptasauthorizedbywrittenpermission.Thecopyrightandtheforegoingrestrictionextendtoreproductioninallmedia.©EuropeanTelecommunicationsStandardsInstitute2000.Allrightsreserved.SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)3(GSM06.73version7.3.1Release1998)ContentsIntellectualPropertyRights.4Foreword.41Scope.52References.53Definitionsandabbreviations.63.1Definitions.63.2Abbreviations.64Ccodestructure.64.1ContentsoftheCsourcecode.64.2Programexecution.74.3Codingstyle.74.4Codehierarchy.74.5Variables,constantsandtables.114.5.1DescriptionofconstantsusedintheC-code.114.5.2DescriptionoffixedtablesusedintheC-code.114.5.3StaticvariablesusedintheC-code.135Homingprocedure.176Fileformats.236.1Speechfile(encoderinput/decoderoutput).236.2Modecontrolfile(encoderinput).236.3Parameterbitstreamfile(encoderoutput/decoderinput).23AnnexA(informative):ChangeRequestHistory.24History.25SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)4(GSM06.73version7.3.1Release1998)IntellectualPropertyRightsIPRsessentialorpotentiallyessentialtothepresentdocumentmayhavebeendeclaredtoETSI.TheinformationpertainingtotheseessentialIPRs,ifany,ispubliclyavailableforETSImembersandnon-members,andcanbefoundinETSISR000314:"IntellectualPropertyRights(IPRs);Essential,orpotentiallyEssential,IPRsnotifiedtoETSIinrespectofETSIstandards",whichisavailablefromtheETSISecretariat.LatestupdatesareavailableontheETSIWebserver(http://www.etsi.org/ipr).PursuanttotheETSIIPRPolicy,noinvestigation,includingIPRsearches,hasbeencarriedoutbyETSI.NoguaranteecanbegivenastotheexistenceofotherIPRsnotreferencedinETSISR000314(ortheupdatesontheETSIWebserver)whichare,ormaybe,ormaybecome,essentialtothepresentdocument.ForewordThisEuropeanStandard(Telecommunicationsseries)hasbeenproducedbytheSpecialMobileGroup(SMG).ThepresentdocumentprovidesthebitexactdefinitionoftheAdaptiveMultiRate(AMR)speechtrafficcodecforthedigitalcellulartelecommunicationssystem.ThepresentdocumentcontainsanelectroniccopyoftheANSI-CcodefortheGSMAdaptiveMulti-Ratecodec,givenintheassociatedfile"en_301712v070301p0.zip".TheANSI-CcodeisnecessaryforabitexactimplementationoftheAdaptiveMultiRatespeechtranscoder(GSM06.90[3]),VoiceActivityDetection(GSM06.94[7]),comfortnoise(GSM06.92[5]),DiscontinuousTransmission(GSM06.93[6])andexamplesolutionsforsubstitutingandmutingoflostframes(GSM06.91[4]).Theassociatedfile"en_301712v070301p0.zip"containsa"readme.txt"file,whichexplainstheprocedureforinstallationandusageoftheANSI-Ccodefiles.ThecontentsofthepresentdocumentissubjecttocontinuingworkwithinSMGandmaychangefollowingformalSMGapproval.ShouldSMGmodifythecontentsofthepresentdocumentitwillbere-releasedwithanidentifyingchangeofreleasedateandanincreaseinversionnumberasfollows:Version7.x.ywhere:7indicatesRelease1998ofGSMPhase2+.xtheseconddigitisincrementedforallchangesofsubstance,i.e.technicalenhancements,corrections,updates,etc.ythethirddigitisincrementedwheneditorialonlychangeshavebeenincorporatedinthespecification.NationaltranspositiondatesDateofadoptionofthisEN:19May2000DateoflatestannouncementofthisEN(doa):31August2000DateoflatestpublicationofnewNationalStandardorendorsementofthisEN(dop/e):28February2001DateofwithdrawalofanyconflictingNationalStandard(dow):28February2001SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)5(GSM06.73version7.3.1Release1998)1ScopeThepresentdocumentcontainsanelectroniccopyoftheANSI-CcodefortheGSMAdaptiveMulti-Ratecodec.TheANSI-CcodeisnecessaryforabitexactimplementationoftheAdaptiveMultiRatespeechtranscoder(GSM06.90[3]),VoiceActivityDetection(GSM06.94[7]),comfortnoise(GSM06.92[5]),DiscontinuousTransmission(GSM06.93[6])andexamplesolutionsforsubstitutingandmutingoflostframes(GSM06.91[4]).2ReferencesThefollowingdocumentscontainprovisionswhich,throughreferenceinthistext,constituteprovisionsofthepresentdocument.• Referencesareeitherspecific(identifiedbydateofpublication,editionnumber,versionnumber,etc.)ornon-specific.• Foraspecificreference,subsequentrevisionsdonotapply.• Foranon-specificreference,thelatestversionapplies.• Anon-specificreferencetoanETSshallalsobetakentorefertolaterversionspublishedasanENwiththesamenumber.• ForthisRelease1998document,referencestoGSMdocumentsareforRelease1998versions(version7.x.y).[1]GSM01.04:"Digitalcellulartelecommunicationssystem(Phase2+);Abbreviationsandacronyms".[2]GSM06.74:"Digitalcellulartelecommunicationssystem(Phase2+);TestsequencesfortheGSMAdaptiveMulti-Rate(AMR)speechcodec".[3]GSM06.90:"Digitalcellulartelecommunicationssystem(Phase2+);AdaptiveMulti-Rate(AMR)speechtranscoding".[4]GSM06.91:"Digitalcellulartelecommunicationssystem(Phase2+);SubstitutionandmutingoflostframeforAdaptiveMulti-Rate(AMR)speechtrafficchannels".[5]GSM06.92:"Digitalcellulartelecommunicationssystem(Phase2+);ComfortnoiseaspectsforAdaptiveMulti-Rate(AMR)speechtrafficchannels".[6]GSM06.93:"Digitalcellulartelecommunicationssystem(Phase2+);Discontinuoustransmission(DTX)forAdaptiveMulti-Rate(AMR)speechtrafficchannels".[7]GSM06.94:"Digitalcellulartelecommunicationssystem(Phase2+);VoiceActivityDetector(VAD)forAdaptiveMulti-Rate(AMR)speechtrafficchannels".SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)6(GSM06.73version7.3.1Release1998)3Definitionsandabbreviations3.1DefinitionsDefinitionoftermsusedinthepresentdocument,canbefoundinGSM06.90[3],GSM06.91[4],GSM06.92[5],GSM06.93[6]andGSM06.94[7].3.2AbbreviationsForthepurposesofthepresentdocument,thefollowingabbreviationsapply:ANSIAmericanNationalStandardsInstituteETSEuropeanTelecommunicationStandardGSMGlobalSystemforMobilecommunicationsI/OInput/OutputRAMRandomAccessMemoryROMReadOnlyMemoryForabbreviationsnotgiveninthissubclauseseeGSM01.04[1].4CcodestructureThisclausegivesanoverviewofthestructureofthebit-exactCcodeandprovidesanoverviewofthecontentsandorganizationoftheCcodeattachedtothepresentdocument.TheCcodehasbeenverifiedonthefollowingsystems:-SunMicrosystemsworkstationsandGNUgcccompiler;-DECAlphaworkstationsandGNUgcccompiler;-IBMPC/ATcompatiblecomputerswithLinuxoperatingsystemandGNUgcccompiler;ANSI-C9899wasselectedastheprogramminglanguagebecauseportabilitywasdesirable.4.1ContentsoftheCsourcecodeTheCcodedistributionhasallfilesintherootlevel.Thedistributedfileswithsuffix"c"containthesourcecodeandthefileswithsuffix"h"aretheheaderfiles.TheROMdataiscontainedmostlyinfileswithsuffix"tab".TheCcodedistributionalsocontainsonespeechcoderinstallationverificationdatafile,"spch_dos.inp".Thereferenceencoderoutputfileisnamed"spch_dos.cod",thereferencedecoderinputfileisnamed"spch_dos.dec"andthereferencedecoderoutputfileisnamed"spch_dos.out".ThesefourfilesareformattedsuchthattheyarecorrectforanIBMPC/ATcompatiblecomputer.Thesamefileswithreversedbyteorderofthe16bitwordsarenamed"spch_unx.inp","spch_unx.cod","spch_unx."dec"and"spch_unx.out",respectively.FinalverificationistobeperformedusingtheGSMAdaptiveMulti-RatetestsequencesdescribedinGSM06.74[2].MakefilesareprovidedfortheplatformsinwhichtheCcodehasbeenverified(listedabove).Oncethesoftwareisinstalled,thisdirectorywillhaveacompiledversionofencoderanddecoder(thebit-exactCexecutablesofthespeechcodec)andalltheobjectfiles.SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)7(GSM06.73version7.3.1Release1998)4.2ProgramexecutionTheGSMAdaptiveMulti-Ratecodecisimplementedintwoprograms:-(encoder)speechencoder;-(decoder)speechdecoder.Theprogramsshouldbecalledlike:-encoder[encoderoptions];-decoder[decoderoptions].Thespeechfilescontain16-bitlinearencodedPCMspeechsamplesandtheparameterfilescontainencodedspeechdataandsomeadditionalflags.Theencoderanddecoderoptionswillbeexplainedbyrunningtheapplicationswithoption–h.Seethefilereadme.txtformoreinformationonhowtoruntheencoderanddecoderprograms.4.3CodingstyleTheCcodeiswrittenaccordingtothefollowingstructuringconventions.Eachfunctionfunc()thatneedsstaticvariablesisconsideredamodule.Amoduleconsistsof:-a'statestructure'(struct)combiningthestaticvariablesofthemodule-threeauxiliaryfunctionsfunc_init(),func_reset(),andfunc_exit().-theprocessingfunctionfunc()itselfTheinitializationfunctionfunc_init()allocates(fromtheheap)anewstatestructure,callsthefunc_reset()function,storesthepointertothenewlyallocatedstructureinitsfirstfunctionparameter,andreturnswithavalueof0ifcompletedsuccessfuloravalueof1otherwise.Theresetfunctionfunc_reset()takesapointertothestatestructureandresetsallmembersofthestructuretoapredefinedvalue('homing').Theexitfunctionfunc_exit()performsanynecessarycleanupandfreesthestatestructurememory.Theprocessingfunctionfunc()alsotakesapointertothestatestructureaswellasallothernecessaryparametersandperformsitstaskusing(andpossiblymodifying)thevaluesinthestatestructure.Ifamodulecallsothermodules,thehigherlevelstatestructurecontainsapointertothelowerlevelstatestructures,andtheinit,reset,andexitfunctionsrecursivelycallthecorrespondinglowerlevelfunctions.Bythisconvention,thecodebecomes"instantiable"(morethanonecopyofamodulecanbeusedinthesameprogram)andthestaticdatahierarchyisclearlyvisibleinthecode.4.4CodehierarchyFigures1to4arecallgraphsthatshowthefunctionsusedinthespeechcodec,includingthefunctionsofVAD,DTX,andcomfortnoisegeneration.Eachcolumnrepresentsacalllevelandeachcellafunction.Thefunctionscontaincallstothefunctionsinrightwardsneighbouringcells.Thetimeorderinthecallgraphsisfromthetopdownwardsastheprocessingofaframeadvances.AllstandardCfunctions:printf(),fwrite(),etc.havebeenomitted.Also,nobasicoperations(add(),L_add(),mac(),etc.)ordoubleprecisionextendedoperations(e.g.L_Extract())appearinthegraphs.TheinitialisationofthestaticRAM(i.e.callingthe_initfunctions)isalsoomitted.Thebasicoperationsarenotcountedasextendingthedepth,thereforethedeepestlevelinthissoftwareislevel7.Theencodercallgraphisbrokendownintothreeseparatecallgraphs,Table1to3.SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)8(GSM06.73version7.3.1Release1998)Table1:SpeechencodercallstructureSpeech_Encode_FramePre_Processcod_amrCopyVad11filter_bankfirst_filter_stagefilter5filter3level_calculationvad_decisioncomplex_estimate_adaptcomplex_vadnoise_estimate_updateupdate_cntrlhangover_additionVad21block_normr_fftc_fftfn10Log10Log2Log2_normPow2tx_dtx_handlerlpcAutocorrLag_windowLevinsonlspAz_lspChebpsQ_plsf_5Lsp_lsfLsf_wtVq_subvecVq_subvec_sReorder_lsfLsf_lspInt_lpc_1and3_2Lsp_azGet_lsp_polInt_lpc_1and3Lsp_azGet_lsp_polQ_plsf_3Lsp_lsfLsf_wtCopyVq_subvec3Vq_subvec4Reorder_lsfLsf_lspInt_lpc_1to3_2Lsp_azGet_lsp_polInt_lpc_1to3Lsp_azGet_lsp_polCopydtx_bufferCopyLog2Log2_normdtx_encLsp_lsfReorder_lsfLsf_lspSet_zerolsp_resetCopyQ_plsf_resetcl_ltp_resetPitch_fr_resetcheck_lsppre_bigWeight_AiResiduSyn_filtol_ltpPitch_olvad_tone_detection_update2Lag_maxvad_tone_detection2Inv_sqrtcomp_corr2hp_max2vad_complex_detection_update2Pitch_ol_wghcomp_corr2Lag_max2vad_tone_detection_update2vad_tone_detection2gmed_nhp_max2vad_complex_detection_update2vad_pitch_detectionLTP_flag_update3subframePreProcWeight_AiSyn_filtResiduCopycl_ltpPitch_frgetRangeNorm_CorrConvolveInv_sqrtsearchFracInterpol_3or6Enc_lag3Enc_lag6(continued)1OptiontocalloneortheotherVADoption2SpecifictoVADoption13SpecifictoVADoption2SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)9(GSM06.73version7.3.1Release1998)Table1(concluded):SpeechencodercallstructurePred_lt_3or6ConvolveG_pitchcheck_gp_clippingq_gain_pitchcbsearchseeTable2gainQuantseeTable3update_gp_clippingCopysubframePostProcSyn_filtPred_lt_3or6ConvolvePrm2bitsInt2binTable2:cbsearchcallstructurecbsearchcode_2i40_9bitscor_h_xset_signcor_hInv_sqrtsearch_2i40build_codecode_2i40_11bitscor_h_xset_signcor_hInv_sqrtsearch_2i40build_codecode_3i40_14bitscor_h_xset_signcor_hInv_sqrtsearch_3i40build_codecode_4i40_17bitscor_h_xset_signcor_hInv_sqrtsearch_4i40build_codecode_8i40_31bitscor_h_xset_sign12k2Inv_sqrtcor_hInv_sqrtsearch_10and8i40build_codecompress_codecompress10code_10i40_35bitscor_h_xset_sign12k2Inv_sqrtcor_hInv_sqrtsearch_10and8i40build_codeq_pTable3:gainQuantcallstructuregainQuantgc_pred_copyCopygc_predLog2Log2_normLog2_normcalc_filt_energiescalc_target_energyMR475_update_unq_predgc_pred_updateMR475_gain_quantMR475_quant_store_resultsLog2Log2_normgc_pred_updategc_predLog2Log2_normLog2_normG_codeq_gain_codePow2MR795_gain_quantq_gain_pitchMR795_gain_code_quant3calc_unfilt_energiesLog2Log2_normgain_adaptgmed_nMR795_gain_code_quant_modsqrt_l_expQua_gainPow2gc_pred_updateSIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)10(GSM06.73version7.3.1Release1998)Table4:SpeechdecodercallstructureSpeech_Decode_FrameBits2prmBin2intDecoder_amrrx_dtx_handlerDecoder_amr_resetlsp_avg_resetD_plsf_resetec_gain_pitch_resetec_gain_code_resetgc_pred_resetBgn_scd_resetSet_zeroph_disp_resetdtx_dec_resetCopySet_zerodtx_decCopyLsf_lspInit_D_plsf_3CopyD_plsf_3Reorder_lsfCopyLsf_lsppseudonoiseLsp_lsfReorder_lsfLsp_AzGet_lsp_polA_ReflLog2Log2_normBuild_CN_codepseudonoiseSyn_filtLsf_lsplsp_avgCopyD_plsf_3Reorder_lsfCopyLsf_lspInt_lpc_1to3Lsp_AzGet_lsp_polD_plsf_5Reorder_lsfCopyLsf_lspInt_lpc_1and3Lsp_AzGet_lsp_polDec_lag3Pred_lt_3or6Dec_lag6decode_2i40_9bitsdecode_2i40_11bitsdecode_3i40_14bitsdecode_4i40_17bitsdecode_8i40_31bitsdecompress_codedecompress10ec_gain_pitchgmed_nd_gain_pitchec_gain_pitch_updatedecode_10i40_35bitsDec_gainLog2Log2_normgc_predLog2Log2_normLog2_normPow2gc_pred_updateec_gain_codegmed_ngc_pred_average_limetedgc_pred_updateec_gain_code_updated_gain_codegc_predLog2Log2_normLog2_normPow2gc_pred_updateInt_lsfCb_gain_averageph_disp_releaseph_disp_lockph_dispsqrt_l_expEx_ctrlgmed_nagc2Inv_sqrtSyn_filtBgn_scdgmed_ndtx_dec_activity_updateCopyLog2Log2_normlsp_avgPost_FilterCopyWeight_AiResiduSet_zeroSyn_filtPreemphasisagcenergy_oldenergy_newenergy_oldInv_sqrtPost_ProcessSIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)11(GSM06.73version7.3.1Release1998)4.5Variables,constantsandtablesThedatatypesofvariablesandtablesusedinthefixedpointimplementationaresignedintegersin2'scomplementrepresentation,definedby:-Word1616bitvariable;-Word3232bitvariable.Furthermoresomeenumtypesareused,allpossibletorepresentwithonebyte,andabooleanFlag.4.5.1DescriptionofconstantsusedintheC-codeThissectioncontainsalistingofallglobalconstantsdefinedincnst.h.Table5:GlobalconstantsConstantValueDescriptionL_TOTAL320totalsizeofspeechbuffer.L_WINDOW240windowsizeinLPanalysisL_FRAME160framesizeL_FRAME_BY280framesizedividedby2L_SUBFR40subframesizeL_CODE40codevectorlengthNB_TRACK5numberoftracksSTEP5codebookstepsizeNB_TRACK_MR1024numberoftracksmodemr102STEP_MR1024codebookstepsizemodemr102M10orderofLPfilterMP1(M+1)orderofLPfilter+1LSF_GAP205minimumdistancebetweenLSFafterquantization;50Hz=205LSP_PRED_FAC_MR12221299MR122LSPpredictionfactor(0.65Q15)AZ_SIZE44sizeofarrayofLPfiltersin4subframes(4*M+4)PIT_MIN_MR12218minimumpitchlag(MR122mode)PIT_MIN20minimumpitchlag(allothermodes)PIT_MAX143maximumpitchlagL_INTERPOL(10+1)lengthoffilterforinterpolationL_INTER_SRCH4lengthoffilterforCLLTPsearchinterpolationMU26214factorfortiltcompensationfilter0.8AGC_FAC29491factorforautomaticgaincontrol0.9L_NEXT40overheadinLPanalysisSHARPMAX13017maximumvalueofpitchsharpeningSHARPMIN0minimumvalueofpitchsharpeningMAX_PRM_SIZE57max.num.ofparamsMAX_SERIAL_SIZE244max.num.ofserialbitsGP_CLIP15565pitchgainclipping=0.95N_FRAME7oldpitchgainsinaveragecalculationEHF_MASK816bitrepresentationofallsamplesintheencoderhomingframe(leftjustification)4.5.2DescriptionoffixedtablesusedintheC-codeThissectioncontainsalistingofallfixedtablessortedbysourcefilenameandtablename.AlltabledataisdeclaredasWord16.SIST EN 301 712 V7.3.1:2003
ETSIETSIEN301712V7.3.1(2000-06)12(GSM06.73version7.3.1Release1998)Table6:FixedtablesFileTablenameLengthDescriptionc2_9pf.ctrackTable4*5tracktableforalgebraiccodebooksearch(MR475,MR515)cod_amr.cgamma110spectralexpansionfactorscod_amr.cgamma1_12k210spectralexpansionfactorscod_amr.cgamma210spectralexpansionfactorsdtx_dec.clsf_hist_mean_scale10initializationvaluesforDTXlsfparametersdtx_dec.cdtx_log_en_adjust9leveladjustmentsforechmodeec_gains.ccdown7attenuationfactorsforcodebookgainec_gains.cpdown7attenuationfactorsforadaptivecodebookgaingc_pred.cpred4algebraiccodebookgainMApredictorcoefficientsgc_pred.cpred_MR1224algebraiccodebookgainMApredictorcoefficients(MR122)pitch_fr.cmode_dep_parm72parametersdefiningtheadaptivecodebooksearchpermodepost_pro.ca3HPfiltercoefficients(denominator)inPost_Processpost_pro.cb3HPfiltercoefficients(numerator)inPost_Processpre_proc.ca3HPfiltercoefficients(denominator)inPre_Processpre_proc.cb3HPfiltercoefficients(numerator)inPre_Processpred_lt.cinter_661interpolationfiltercoefficientspstfilt.cgamma3_MR12210spectralexpansionfactorspstfilt.cgamma310spectralexpansionfactorspstfilt.cgamma4_MR12210spectralexpansionfactorspstfilt.cgamma410spectralexpansionfactorsbitno.tabprmno9numberofbitsforeachmodebitno.tabprmnofsf8numberofparametersforLPCandfirstsubframeforeachmode(usedfordecoderhomingprocedure)bitno.tabbitno9pointerstothebitno_MR.tablesbitno.tabbitno_MR47517numberofbitsperparametertotransmit(MR475)bitno.tabbitno_MR51519numberofbitsperparametertotransmit(MR515)bitno.tabbitno_MR5919numberofbitsperparametertotransmit(MR59)bitno.tabbitno_MR6719numberofbitsperparametertotransmit(MR67)bitno.tabbitno_MR7419numberofbitsperparametertotransmit(MR74)bitno.tabbitno_MR79523numberofbitsperparametertotransmit(MR795)bitno.tabbitno_MR10239numberofbitsperparametertotransmit(MR102)bitno.tabbitno_MR12257numberofbitsperparametertotransmit(MR122)bitno.tabbitno_MRDTX5numberofbitsperparametertotransmit(MRDTX)c2_11pf.tabstartPos12trackstartsearchpositionforfirstpulsec2_11pf.tabstartPos24trackstartsearchpositionforsecondpulsec2_9pf.tabstartPos16trackstartsearchpositioncorrwght.tabcorrweight251weightingofthecorrelationfunctioninopenloopLTPsearch(MR102)d_homing.tabdhf8pointerstothedhf_MR…tablesd_homing.tabdhf_MR47517parametervaluesforthedecoderhomingframe(MR475)d_homing.tabdhf_MR51519parametervalu
...



