Abstract

CR @ TSG#7

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

Buy Documents

Standard

SIST EN 301 712 V7.4.1:2003

English language (25 pages)
Preview
Preview
e-Library read for
×1 day

SIST EN 301 712 V7.4.1:2003 is the Slovene adoption of the ETSI standard for the GSM Adaptive Multi Rate (AMR) speech codec ANSI-C code. It specifies the bit-exact C code used for the AMR speech codec and supports engineers, integrators, test labs, and quality teams who need a reference implementation for GSM Phase 2+ speech processing.

What does SIST EN 301 712 V7.4.1:2003 specify?

SIST EN 301 712 V7.4.1:2003 specifies an electronic copy of the ANSI-C code for the GSM AMR speech codec. In practice, it is the reference code package for bit-exact AMR speech processing, not a general description of the codec algorithm.

The document is organized into these main parts:

  • Clause 1 - scope
  • Clause 2 - references
  • Clause 3 - definitions and abbreviations
  • Clause 4 - C code structure
  • Clause 5 - homing procedure
  • Clause 6 - file formats
  • Annex A - informative change request history

Annex A records the standard’s change history. The foreword also points readers to the associated code package and its readme file for installation and use.

What are the key requirements of SIST EN 301 712 V7.4.1:2003?

SIST EN 301 712 V7.4.1:2003 centers on how the AMR codec code is structured, run, verified, and exchanged through files. For implementers, the important point is that the standard is written to support bit-exact behavior and repeatable test results.

Bit-exact AMR codec code

The standard provides the ANSI-C code needed for a bit-exact implementation of the AMR speech transcoder, Voice Activity Detection (VAD), comfort noise, Discontinuous Transmission (DTX), and lost-frame substitution and muting. This matters because products are expected to match the reference behavior, not just sound similar.

Module structure and state handling

Clause 4.3 describes a module pattern built around a state structure plus init, reset, exit, and processing functions. This means software should keep its static data in explicit state objects, which makes multiple instances possible and keeps the processing chain clear.

Encoder and decoder programs

Clause 4.2 presents the code as two programs: an encoder and a decoder. The encoder takes speech input and a parameter file, while the decoder takes a parameter file and produces speech output. That is the operational model used for integration and regression testing.

File formats for speech and bitstreams

Clause 6 defines the speech file, mode control file, and parameter bitstream file. For readers, this is the practical interchange rule set: how input speech is sampled, how optional frame-by-frame mode selection is supplied, and how encoded parameters are written for decoder use.

Frame-based processing and mode control

The encoder and decoder process complete speech frames only, and the encoder can optionally read a text mode control file with one AMR mode per frame. This is important when building test scripts or external controllers that need to force a specific mode on each frame.

Verification and test sequences

Clause 4.1 points to GSM Adaptive Multi-Rate test sequences from GSM06.74 for final verification. In practice, this gives testers a reference path for checking that an implementation matches the expected encoder and decoder behavior.

Homing procedure

Clause 5 gives detailed decoder homing frames for each AMR mode. This is used to verify reset and homing behavior, so implementers can check that decoder state returns to the expected condition.

What terms does SIST EN 301 712 V7.4.1:2003 define?

  • Adaptive Multi Rate (AMR) - The GSM speech codec family covered by this standard, used for variable-rate speech coding.
  • Voice Activity Detection (VAD) - The function that detects whether speech is present, which supports efficient transmission behavior.
  • Discontinuous Transmission (DTX) - The mechanism that reduces transmission during non-speech periods, which matters for radio resource use.
  • Input/Output (I/O) - The data paths used by the encoder and decoder to read and write speech and parameter files.
  • Random Access Memory (RAM) - Working memory used by the C code’s state structures and buffers.
  • Read Only Memory (ROM) - Data storage used for fixed tables and constants in the implementation.
  • Global System for Mobile communications (GSM) - The cellular system family that the AMR codec supports.

Who uses SIST EN 301 712 V7.4.1:2003?

This standard is used by software engineers implementing GSM AMR codecs, especially in embedded or telecom systems. It is also used by test engineers and validation labs that need a reference bitstream, reference output, or homing behavior to compare against.

Quality managers and buyers use it to check whether a supplier is delivering an AMR implementation that follows the expected GSM reference behavior. It is relevant wherever speech transcoding, VAD, DTX, comfort noise, or lost-frame handling must match a defined codec reference.

What changed in SIST EN 301 712 V7.4.1:2003 from the previous edition?

The document history shows the progression to version 7.4.1 for publication. The recorded change requests include code homing procedures, gain calculation corrections in adaptive gain control, bitstream output file format corrections, Levinson algorithm corrections, LSP initialization corrections, encoder and decoder file-format documentation, decoder static variable corrections, DTX decoder LSF history updates, synthesis filter instability protection, AMR VAD/DTX descriptions, input buffer initialization, algebraic code vector generation, random excitation handling for RX_NODATA, and other bit-exact implementation corrections.

Which standards are used with SIST EN 301 712 V7.4.1:2003?

The standard cites these companion documents:

  • GSM01.04 - abbreviations and acronyms used when terms are not defined here
  • GSM06.74 - test sequences for AMR speech codec verification
  • GSM06.90 - AMR speech transcoding, which the code supports
  • GSM06.91 - substitution and muting of lost frames
  • GSM06.92 - comfort noise aspects
  • GSM06.93 - DTX for AMR speech traffic channels
  • GSM06.94 - VAD for AMR speech traffic channels

What does the SIST EN 301 712 V7.4.1:2003 document contain?

SIST EN 301 712 V7.4.1:2003 contains the code structure overview, call graphs for encoder and decoder processing, and tables of constants, fixed tables, and static variables. It also contains detailed decoder homing frame parameter tables for the AMR modes, which are used to check reset and homing behavior.

The file format clause describes the speech file, mode control file, and parameter bitstream layout used by the encoder and decoder. Annex A contains the change request history, which is useful for understanding how the bit-exact implementation evolved.

Buy Documents

Standard

SIST EN 301 712 V7.4.1:2003

English language (25 pages)
Preview
Preview
e-Library read for
×1 day

Get Certified

Connect with accredited certification bodies for this standard

ANCE

Mexican certification and testing association.

EMA Mexico Verified

Intertek Slovenia

Intertek testing, inspection, and certification services in Slovenia.

UKAS Slovenia Verified

LNE (Laboratoire National de Métrologie et d'Essais)

French national laboratory for metrology and testing.

COFRAC France Verified

Sponsored listings

Frequently Asked Questions

SIST EN 301 712 V7.4.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.4.1 Release 1998)". This standard covers: CR @ TSG#7

CR @ TSG#7

SIST EN 301 712 V7.4.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.4.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.4.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.4.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.4.1SIST EN 301 712 V7.4.1:2003en01-december-2003SIST EN 301 712 V7.4.1:2003SLOVENSKI
STANDARD
ETSIEN301712V7.4.1(2000-09)EuropeanStandard(Telecommunicationsseries)Digitalcellulartelecommunicationssystem(Phase2+);AdaptiveMultiRate(AMR)speech;ANSI-CcodefortheAMRspeechcodec(GSM06.73version7.4.1Release1998)GLOBALSYSTEMFORMOBILECOMMUNICATIONSRSIST EN 301 712 V7.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)2(GSM06.73version7.4.1Release1998)ReferenceREN/TSGS-040673Q7R3KeywordsDigitalcellulartelecommunicationssystem,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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)3(GSM06.73version7.4.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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)4(GSM06.73version7.4.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)hasbeenproducedbyETSITechnicalCommitteeSpecialMobileGroup(SMG).ThepresentdocumentprovidesthebitexactdefinitionoftheAdaptiveMultiRate(AMR)speechtrafficcodecforthedigitalcellulartelecommunicationssystem.ThepresentdocumentcontainsanelectroniccopyoftheANSI-CcodefortheGSMAdaptiveMulti-Ratecodec,givenintheassociatedfile"en_301712v070401o0.zip".TheANSI-CcodeisnecessaryforabitexactimplementationoftheAdaptiveMultiRatespeechtranscoder(GSM06.90[3]),VoiceActivityDetection(GSM06.94[7]),comfortnoise(GSM06.92[5]),DiscontinuousTransmission(GSM06.93[6])andexamplesolutionsforsubstitutingandmutingoflostframes(GSM06.91[4]).Theassociatedfile"en_301712v070401o0.zip"containsa"readme.txt"file,whichexplainstheprocedureforinstallationandusageoftheANSI-Ccodefiles.ThecontentsofthepresentdocumentissubjecttocontinuingworkwithinSMGandmaychangefollowingformalSMGapproval.ShouldSMGmodifythecontentsofthepresentdocumentitwillbere-releasedwithanidentifyingchangeofreleasedateandanincreaseinversionnumberasfollows:Version7.x.ywhere:7indicatesRelease1998ofGSMPhase2+.xtheseconddigitisincrementedforallchangesofsubstance,i.e.technicalenhancements,corrections,updates,etc.ythethirddigitisincrementedwheneditorialonlychangeshavebeenincorporatedinthespecification.NationaltranspositiondatesDateofadoptionofthepresentdocument:25August2000Dateoflatestannouncementofthepresentdocument(doa):30November2000DateoflatestpublicationofnewNationalStandardorendorsementofthepresentdocument(dop/e):31May2001DateofwithdrawalofanyconflictingNationalStandard(dow):31May2001SIST EN 301 712 V7.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)5(GSM06.73version7.4.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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)6(GSM06.73version7.4.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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)7(GSM06.73version7.4.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()itself.Theinitializationfunctionfunc_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,tables1to3.SIST EN 301 712 V7.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)8(GSM06.73version7.4.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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)9(GSM06.73version7.4.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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)10(GSM06.73version7.4.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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)11(GSM06.73version7.4.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.4.1:2003

ETSIETSIEN301712V7.4.1(2000-09)12(GSM06.73version7.4.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_MR51519parametervaluesforthedecoderhomingframe(MR515)d_homing.tabdhf_MR5919parame
...