Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
MainPage RelatedPages Modules DataStructures
Files Profiling
AcousticECSoftwareLibrary
ProfilinghasbeendoneinordertoevaluatetheresourceconsumptionintermsofMIPS.RAMandFLASHfiguresmaychangedependingonspecificusecaseoptimizations.ThefollowingfigureshowstheprofilingresultsforacousticechocancellationusingaSTM32F446MCUbasedonanARMM4corewithfloatingpointunitrunningat168MHz(210DMIPSavailable)andtheIARembeddedworkbenchtoolchain,version7.70.OptimizationhasbeensetonHigh,speed.
Memoryfootprintdependsonthelengthofthefiltertail.Datahasbeencollectedusingafiltertaillengthequalto128and512.
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files Profiling
AcousticECSoftwareLibrary
Modules
Hereisalistofallmodules:[detaillevel 1 2 3 4 ]
▼MIDDLEWARES ▼ACOUSTIC_EC ▼AcousticECExportedConstants Acoustic_EC_errors Echocancellationerrors Acoustic_EC_preprocessor Echocancellation
preprocessor AcousticECExportedTypes AcousticBFExportedFunctions
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingModules
AcousticECSoftwareLibrary
MIDDLEWARES
Modules ACOUSTIC_EC
MainPage RelatedPages Modules DataStructures
Files ProfilingModules
AcousticECSoftwareLibrary
ACOUSTIC_ECMIDDLEWARES
Modules AcousticECExportedConstants AcousticECExportedTypes AcousticBFExportedFunctions
MainPage RelatedPages Modules DataStructures
Files ProfilingModules
AcousticECSoftwareLibrary
AcousticECExportedConstantsMIDDLEWARES»ACOUSTIC_EC
Modules Acoustic_EC_errors Echocancellationerrors. Acoustic_EC_preprocessor Echocancellationpreprocessor.
MainPage RelatedPages Modules DataStructures
Files ProfilingMacros
AcousticECSoftwareLibrary
Acoustic_EC_errorsMIDDLEWARES»ACOUSTIC_EC»AcousticECExportedConstants
Echocancellationerrors.More...
Macros#define ACOUSTIC_EC_TAIL_LENGTH_ERROR((uint32_t)0x00000001)#define ACOUSTIC_EC_AEC_LEVEL_ERROR((uint32_t)0x00000002)#define ACOUSTIC_EC_PTR_CHANNELS_ERROR((uint32_t)0x00000004)#define ACOUSTIC_EC_PREPROCESS_ERROR((uint32_t)0x00000010)#define ACOUSTIC_LOCK_ERROR((uint32_t)0x10000000)
MainPage RelatedPages Modules DataStructures
Files ProfilingMacros
AcousticECSoftwareLibrary
Acoustic_EC_preprocessorMIDDLEWARES»ACOUSTIC_EC»AcousticECExportedConstants
Echocancellationpreprocessor.More...
Macros#define ACOUSTIC_EC_PREPROCESS_ENABLE((uint32_t)0x00000001)#define ACOUSTIC_EC_PREPROCESS_DISABLE((uint32_t)0x00000000)
DetailedDescription
Echocancellationpreprocessor.
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingDataStructures
AcousticECSoftwareLibrary
AcousticECExportedTypesMIDDLEWARES»ACOUSTIC_EC
DataStructuresstruct AcousticEC_Handler_t Libraryhandler.Itkeepstrackofthestaticparametersandit
handlestheinternalstateofthealgorithm.More...struct AcousticEC_Config_t Librarydynamicconfigurationhandler.Itcontainsdynamic
parameters.More...
MainPage RelatedPages Modules DataStructures
Files ProfilingDataStructures DataStructureIndex DataFields
DataFields
AcousticECSoftwareLibrary
AcousticEC_Handler_tStructReferenceMIDDLEWARES»ACOUSTIC_EC»AcousticECExportedTypes
Libraryhandler.Itkeepstrackofthestaticparametersandithandlestheinternalstateofthealgorithm.More...
#include<acoustic_ec.h>
DataFieldsuint16_t tail_length
uint32_t preprocess_init
uint16_t ptr_primary_channels
uint16_t ptr_reference_channels
uint16_t ptr_output_channels
uint32_t internal_memory_size
uint32_t* pInternalMemory
DetailedDescription
Libraryhandler.Itkeepstrackofthestaticparametersandithandlestheinternalstateofthealgorithm.
FieldDocumentation
uint32_tinternal_memory_size
Keepstrackoftheamountofmemoryrequiredforthecurrentsetup.It'sfilledbythelibSpeexAEC_getMemorySize()functionandmustbeusedtoallocatetherightamountofRAM
uint32_t*pInternalMemory
Pointertothememoryallocatedbytheuser
uint32_tpreprocess_init
Specifiestheoptionforthepreprocessoruinitialization.ThisparametercanbeavalueofAcoustic_EC_preprocessor.
uint16_tptr_output_channels
SpecifiesthenumberofchannelintheOutputStream.DefaultValueis1.
uint16_tptr_primary_channels
SpecifiesthenumberofchannelinthePrimaryStream.DefaultValueis1.
uint16_tptr_reference_channels
SpecifiesthenumberofchannelintheReferenceStream.DefaultValueis1.
uint16_ttail_length
Specifiesthelengthofthefiltertail.DefaultValueis512.
Thedocumentationforthisstructwasgeneratedfromthefollowingfile:
D:/Documents/Repositories/DMIC/Private/Fw/OSX_Libraries/EchoCancellation/trunk/export/
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingDataStructures DataStructureIndex DataFields
DataFields
AcousticECSoftwareLibrary
AcousticEC_Config_tStructReferenceMIDDLEWARES»ACOUSTIC_EC»AcousticECExportedTypes
Librarydynamicconfigurationhandler.Itcontainsdynamicparameters.More...
#include<acoustic_ec.h>
DataFieldsuint32_t preprocess_stateuint32_t AGC_valueuint32_t residual_echo_removeint32_t noise_suppress_default
int32_t echo_suppress_default
int32_t echo_suppress_active
DetailedDescription
Librarydynamicconfigurationhandler.Itcontainsdynamicparameters.
FieldDocumentation
uint32_tAGC_value
SpecifiesthethresholdfortheAGC,ifactivated
int32_techo_suppress_active
Specifiestheechosuppressactiveparameterofthepreprocessor
int32_techo_suppress_default
Specifiestheechosuppressdefaultparameterofthepreprocessor
int32_tnoise_suppress_default
Specifiesthenoisesuppressdefaultparameterofthepreprocessor
uint32_tpreprocess_state
Enableordisablepre-processfunction
uint32_tresidual_echo_remove
Activateresidualechoremoval
Thedocumentationforthisstructwasgeneratedfromthefollowingfile:
D:/Documents/Repositories/DMIC/Private/Fw/OSX_Libraries/EchoCancellation/trunk/export/
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingFunctions
AcousticECSoftwareLibrary
AcousticBFExportedFunctionsMIDDLEWARES»ACOUSTIC_EC
Functions
uint32_t AcousticEC_getMemorySize(AcousticEC_Handler_t*pHandler)
Fillsthe"internal_memory_size"ofthepHandlerparameterpassedasargumentwithavaluerepresentingtherightamountofmemoryneededbythelibrary,dependingonthespecificstaticparametersadopted.More...
uint32_t AcousticEC_Init(AcousticEC_Handler_t*pHandler) Libraryinitialization.More...
uint32_tAcousticEC_Data_Input(void*ptrPrimary,void*ptrReference,void*ptrBufferOut,AcousticEC_Handler_t*pHandler)
Librarydatainputandoutputfunction.More...uint32_t AcousticEC_Process(AcousticEC_Handler_t*pHandler) Libraryrunfunction,performsaudioanalysiswhenall
requireddatahasbeencollected.More...
uint32_t AcousticEC_setConfig(AcousticEC_Handler_t*pHandler,AcousticEC_Config_t*pConfig)
Librarysetupfunction,itsetsthevaluesfordynamicparameters.Itcanbecalledatruntimetochangedynamicparameters.More...
uint32_t AcousticEC_getConfig(AcousticEC_Handler_t*pHandler,AcousticEC_Config_t*pConfig) FillsthepConfigstructurewiththeactualdynamic
parametersastheyareusedinsidethelibrary.More...uint32_t AcousticEC_GetLibVersion(char*version) Tobeusedtoretrieveversioninformation.More...
DetailedDescription
FunctionDocumentation
uint32_tAcousticEC_Data_Input ( void* ptrPrimary,
void* ptrReference,void* ptrBufferOut,AcousticEC_Handler_t* pHandler)
Librarydatainputandoutputfunction.
ParametersptrPrimary pointertoanarraythatcontainsPCMsamples
(16bitsignedint)oftheprimarysignal(1ms=16samplesat16KHZ).
ptrReference pointertoanarraythatcontainsPCMsamples(16bitsignedint)ofthereference(echo)signal(1ms=16samplesat16KHZ).
ptrBufferOut pointertoanarraythatwillcontainoutputPCMsamples(1msforprocessedchannel=16samplesat16KHZ).
pHandler pointertothehandlerofthecurrentSpeexAECinstancerunning.
Returnvalues1 ifdatacollectionisfinishedandlibSpeexAEC_Processmustbecalled,0otherwise.
NoteInput/outputfunctionreadsandwritesamplesskippingthe
requirednumberofvaluesdependingontheptr_Mx_channelsconfiguration
uint32_tAcousticEC_getConfig ( AcousticEC_Handler_t* pHandler,
AcousticEC_Config_t* pConfig)
FillsthepConfigstructurewiththeactualdynamicparametersastheyareusedinsidethelibrary.
ParameterspHandler AcousticEC_Handler_tfilledwithdesired
parameters.pConfig pointertothedynamicparametershandlerthatwill
befilledwiththecurrentlibraryconfiguration.
Returnvalues0 ifeverythingisok,1otherwise.
uint32_tAcousticEC_GetLibVersion ( char* version )
Tobeusedtoretrieveversioninformation.
Parametersnone
ReturnvaluesVersion Number.
uint32_tAcousticEC_getMemorySize ( AcousticEC_Handler_t* pHandler )
Fillsthe"internal_memory_size"ofthepHandlerparameterpassedasargumentwithavaluerepresentingtherightamountofmemory
neededbythelibrary,dependingonthespecificstaticparametersadopted.
ParameterspHandler AcousticEC_Handler_tfilledwithdesired
parameters.
Returnvalues0 ifeverythingisfine.
uint32_tAcousticEC_Init ( AcousticEC_Handler_t* pHandler )
Libraryinitialization.
ParameterspHandler AcousticEC_Handler_tfilledwithdesired
parameters.
Returnvalues0 ifeverythingisfine.differentfrom0iferroneousparametershavebeenpassedtotheInitfunctionandthedefaultvaluehasbeenused.Thespecificerrorcanberecognizedbycheckingtherelativebitinthereturnedword.
uint32_tAcousticEC_Process ( AcousticEC_Handler_t* pHandler )
Libraryrunfunction,performsaudioanalysiswhenallrequireddatahasbeencollected.
ParameterspHandler pointertothehandlerofthecurrentSpeexAEC
instancerunning
Returnvalues0 ifeverythingisok,1otherwise.
uint32_tAcousticEC_setConfig ( AcousticEC_Handler_t* pHandler,
AcousticEC_Config_t* pConfig)
Librarysetupfunction,itsetsthevaluesfordynamicparameters.Itcanbecalledatruntimetochangedynamicparameters.
ParameterspHandler AcousticEC_Handler_tfilledwithdesired
parameters.pConfig pointertothedynamicparametershandlerthatwill
befilledwiththecurrentlibraryconfiguration.
Returnvalues0 ifeverythingisok,1otherwise.
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingDataStructures DataStructureIndex DataFields
AcousticECSoftwareLibrary
DataStructures
Herearethedatastructureswithbriefdescriptions:
C AcousticEC_Config_t Librarydynamicconfigurationhandler.Itcontainsdynamicparameters
C AcousticEC_Handler_t Libraryhandler.Itkeepstrackofthestaticparametersandithandlestheinternalstateofthealgorithm
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingDataStructures DataStructureIndex DataFields
AcousticECSoftwareLibrary
DataStructureIndex
A
A AcousticEC_Handler_t
AcousticEC_Config_t
A
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingDataStructures DataStructureIndex DataFields
All Variables
AcousticECSoftwareLibrary
Hereisalistofalldocumentedstructandunionfieldswithlinkstothestruct/uniondocumentationforeachfield:
AGC_value:AcousticEC_Config_techo_suppress_active:AcousticEC_Config_techo_suppress_default:AcousticEC_Config_tinternal_memory_size:AcousticEC_Handler_tnoise_suppress_default:AcousticEC_Config_tpInternalMemory:AcousticEC_Handler_tpreprocess_init:AcousticEC_Handler_tpreprocess_state:AcousticEC_Config_tptr_output_channels:AcousticEC_Handler_tptr_primary_channels:AcousticEC_Handler_tptr_reference_channels:AcousticEC_Handler_tresidual_echo_remove:AcousticEC_Config_ttail_length:AcousticEC_Handler_t
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingDataStructures DataStructureIndex DataFields
All Variables
AcousticECSoftwareLibrary
AGC_value:AcousticEC_Config_techo_suppress_active:AcousticEC_Config_techo_suppress_default:AcousticEC_Config_tinternal_memory_size:AcousticEC_Handler_tnoise_suppress_default:AcousticEC_Config_tpInternalMemory:AcousticEC_Handler_tpreprocess_init:AcousticEC_Handler_tpreprocess_state:AcousticEC_Config_tptr_output_channels:AcousticEC_Handler_tptr_primary_channels:AcousticEC_Handler_tptr_reference_channels:AcousticEC_Handler_tresidual_echo_remove:AcousticEC_Config_ttail_length:AcousticEC_Handler_t
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingFileList
AcousticECSoftwareLibrary
FileList
Hereisalistofalldocumentedfileswithbriefdescriptions:[detaillevel 1 2 3 4 ]
▼ EchoCancellation ▼ trunk ▼ export acoustic_ec.h
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files ProfilingFileList
EchoCancellation
AcousticECSoftwareLibrary
EchoCancellationDirectoryReference
MainPage RelatedPages Modules DataStructures
Files ProfilingFileList
EchoCancellation trunk
AcousticECSoftwareLibrary
trunkDirectoryReference
MainPage RelatedPages Modules DataStructures
Files ProfilingFileList
EchoCancellation trunk export
AcousticECSoftwareLibrary
exportDirectoryReference
MainPage RelatedPages Modules DataStructures
Files ProfilingFileList
EchoCancellation trunk export
AcousticECSoftwareLibrary
acoustic_ec.h
1
55 /*Definetopreventrecursiveinclusion---
----------------------------------*/
56 #ifndef__ACOUSTIC_EC_H
57 #define__ACOUSTIC_EC_H
58
59 /*Includes--------------------------------
----------------------------------*/
60 #include"stdint.h"
61 /*Exportedconstants----------------------
----------------------------------*/
62 /*Exportedmacro--------------------------
----------------------------------*/
63 /*Exporteddefine-------------------------
----------------------------------*/
64 /*Exportedfunctions----------------------
---------------------------------*/
65 /*Exportedtypes--------------------------
----------------------------------*/
66
83 #defineACOUSTIC_EC_TAIL_LENGTH_ERROR
((uint32_t)0x00000001)
84 #defineACOUSTIC_EC_AEC_LEVEL_ERROR
((uint32_t)0x00000002)
85 #defineACOUSTIC_EC_PTR_CHANNELS_ERROR
((uint32_t)0x00000004)
86 #defineACOUSTIC_EC_PREPROCESS_ERROR
((uint32_t)0x00000010)
87
88 #ifndefACOUSTIC_LOCK_ERROR
89 #defineACOUSTIC_LOCK_ERROR
((uint32_t)0x10000000)
90 #endif
91
99 #defineACOUSTIC_EC_PREPROCESS_ENABLE
((uint32_t)0x00000001)
100 #defineACOUSTIC_EC_PREPROCESS_DISABLE
((uint32_t)0x00000000)
101
117 typedefstruct
118 {
119 uint16_ttail_length;
120 uint32_tpreprocess_init;
121 uint16_tptr_primary_channels;
122 uint16_tptr_reference_channels;
123 uint16_tptr_output_channels;
124 uint32_tinternal_memory_size;
127 uint32_t*pInternalMemory;
129 }
130 AcousticEC_Handler_t;
131
135 typedefstruct
136 {
137 uint32_tpreprocess_state;
138 uint32_tAGC_value;
139 uint32_tresidual_echo_remove;
140 int32_tnoise_suppress_default;
141 int32_techo_suppress_default;
142 int32_techo_suppress_active;
143 }
144 AcousticEC_Config_t;
145
160 uint32_t
AcousticEC_getMemorySize(AcousticEC_Handler_t
*pHandler);
161
169 uint32_t
AcousticEC_Init(AcousticEC_Handler_t*
pHandler);
170
184 uint32_tAcousticEC_Data_Input(void
*ptrPrimary,void*ptrReference,void
*ptrBufferOut,AcousticEC_Handler_t*
pHandler);
185
191 uint32_t
AcousticEC_Process(AcousticEC_Handler_t*
pHandler);
192
200 uint32_t
AcousticEC_setConfig(AcousticEC_Handler_t*
pHandler,AcousticEC_Config_t*pConfig);
201
208 uint32_t
AcousticEC_getConfig(AcousticEC_Handler_t*
pHandler,AcousticEC_Config_t*pConfig);
209
215 uint32_tAcousticEC_GetLibVersion(char
*version);
216
217
218
230 #endif/*__ACOUSTIC_EC_H*/
231
232 /*******************(C)COPYRIGHT2015
STMicroelectronics*****ENDOFFILE****/
Generatedby 1.8.11
MainPage RelatedPages Modules DataStructures
Files Profiling
AcousticECSoftwareLibrary
RelatedPages
Hereisalistofallrelateddocumentationpages:
profiling
Generatedby 1.8.11