Home
Acoustic Echo Canceller Library
Contents
1. Arguments Table 3 2 aeclnit Arguments pAec in Handle to an instance of AEC pConfig in A pointer to a data structure containing data for initializing the AEC algorithm Description The aec nit function will initialize the AEC algorithm During the initialization all resources will be set to their initial values in preparation for AEC operation Before calling the aec nit function an AEC instance must be created The AEC instance pAec can be created either by calling the aecCreate function see Section 3 3 1 or by statically allocating memory which does not require a call to the aecCreate function The parameter pConfig points to a data structure of type aec sConfigure its fields initialize AEC operation in the following manner TailLen The tail length of AEC in number of tap lengths e g 512 taps Note that there is no check on tail length in the library for the DSP56824 35 MIPS processor the tail length should not exceed 512 taps i e 64 ms TailLen in taps is calculated as follows TailLen in taps F T 1000 F Sampling frequency in Hz T Tail length in milliseconds esFlag ES Echo Suppressor On Off flag Echo suppressor cuts off the near end speech during double talk Returns Upon successful completion a value of PASS will be returned Otherwise a value of FAIL will be returned Special Considerations None Code Example In Code Example 3 4 the application cr
2. aec_sHandle pAec UInt16 AecFilLen bool memflag true Result res Calculate AEC Filter length AecFilLen pConfig TailLen Memory allocation for Handle pAec aec sHandle memMallocEM sizeof aec sHandle if pAec NULL return NULL Filter states buffer pAec AecFilterStates Fracl6 memMallocAlignedEM AecFilLen sizeof Fracl6 memflag memflag amp memIsAligned pAec AecFilterStates pConfig TailLen De correlated filter states MOTOROLA AEC Library Interfaces 3 5 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEG Library interfaces Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 pAec gt AecZStates Fracl6 memMallocAlignedEM AecFilLen sizeof Fracl6 memflag memflag amp memIsAligned pAec AecZStates pConfig gt TailLen Pointer to an array of pointers pAec AecPtrVars Fracl6 memMalloc GI M AEC PTR VAR SIZE sizeof Fracl6 Variables used in AEC pAec AecVariables Fracl6 memMallocEM VARIABLE SIZE sizeof Fracl6 Forward filter coefficients pAec AecFgCoeff Fracl6 memMallocIM AecFilLen sizeof Fracl6 memflag memflag amp memIsIM pAec AecFgCoeff Backward filter coefficients pAec
3. _EX BIT 0 Internal Memory Partitions main application code gt text sections config c MUST be placed first 0x0040 on chip peripheral 0x0040 on chip peripheral for mem h partitions NUM IM PARTITIONS 1 iml and im2 External Memory Partition for mem h partitions NUM EM PARTITIONS 1 4 em otherwise the Interrupt Vector configInterruptVector will not be located at the correct address P 0x0000 config c text text rtlib text fp engine text user text pram main application data Define variables for C initialization code F Xdata start addr in ROM Al F StackAddr AI F StackEndAddr AI F Xdata start addr in RAM Memory layout data for SDK INCLUD FmemEXbit DDR rom SIZEOF rom 2 DDR stack DDR stack SIZEOF stack 2 1 E MEMORY mem h support 5 2 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc AEC Library ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 WRITEH EX BIT FmemNumIMpartitions WRITEH NUM IM PARTITIONS FmemNumEMpartitions WRITEH NUM EM PARTITIONS FmemIM
4. 3 10 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Function prototype void testAEC Specifications Input and output buffers Fracl6 FarSamples FRAME LEN 0x1234 Oxabcd Put FRAME LEN far end samples here Fracl6 NearSamples FRAME LEN 0x8978 Oxffll Put FRAME LEN near end samples here Buffer for storing echo cancelled samples Fracl6 OutSamples FRAME Ll Lr z void testAEC aec sHandle pAec aec sConfigure pConfig Result res Initialize Configuration structure pConfig TailLen 512 No of taps corresponding to 64 ms tail length pConfig esFlag AEC ES ON Echo suppressor is on pAec aecCreate amp pConfig Create and init instance of AEC res aecProcess pAec FarSamples NearSamples OutSamples FRA x r4 E Z 2 For details on structures used in the above example see Code Example 3 1 MOTOROLA AEC Library Interfaces 3 11 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEC Library initertaces Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCT
5. aec_eESSwitch esFlag ES On Off flag 3 2 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc Interface ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 UIntl6 AecFilLen AEC filter length UIntl6 AecFrameLen Frame length in samples Fracl6 AecFilterStates Filter states buffer dsm Fracl6 AecZStates Decorrelated filter states dsm Fracl6 AecPtrVars Temp locations for storing pointers Fracl6 AecVariables All variables used in AEC Fracl6 AecFgCoeff Foreground Filter Coeffs Fracl6 AecBgCoeff Background Filter Coeffs aec sEnergy AecEnrg Energy values used in AEC aec sHandle S EE KK K K KKK KKK KKK ke ke ke ke kc ke k k ke ke ek Function Prototypes Fe KARA A eee ee eee e k EXPORT aec sHandle aecCreate aec sConfigure pConfig EXPORT Result aecInit aec sHandle pAec aec sConfigure pConfig EXPORT Result aecProcess aec sHandle pAec Word16 pFarSamples Word16 pNearSamples Wordl6 pOutSamples UWord16 NumSamples EXPORT void aecDestroy aec sHandle pAec BRK KKK kk kk kk kk ke ke ko ko AE AK KK ke ke ke ke e defines used in AEC AAR A A A A ee A
6. 2 Table 3 3 Table 3 4 MOTOROLA Typical Values of ERLE and Convergence Time dl oo Da o rrr PD UMPIDu HI RT TTTYRATERIT TT TO LO OO E T T ETT TIT BOCPLOCESS AYEMIUEDIS Lioasebnexa at EY XERRATPCEYXRR RE EET EE RAT BEC A LLL red esed ab RO QE E REPERI CDCSE P Ene qas List of Tables For More Information On This Product Go to www freescale com Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 List of Figures Figure 1 1 Figure 2 1 Figure 2 2 Figure 2 3 Figure 4 1 Figure 4 2 Figure 4 3 MOTOROLA Acoustic Echo Cancellation Operation 00 0 cece cece eee e ees Lore DEEN E oara ers DYPOS ot DUCCIONES 2442 oh eo ehh ke eae ese ees acc Directory SICG Las eknasa bati Ad RA RRLASXREARTERIREERA ESAE Dependency Build for AEC PIOGISOEo e d bsds EA A RA ERE FE S ARES ERR ES BO POOR i was ena dee Y ded qe IG CR E ORO ERE EGRE e PROCS MEER doo cgoro Edd e udo S uos dq ides be Pared pda iam List of Figures For More Information On This Product Go to www freescale com Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 vi
7. 2005 AEC Library Interfaces Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 include port h BRK KKK k k k k koe ke k k k k ke ke ke e e ke e ke Flags FA AA A AA kA I I eA typedef enum AEC_ES_OFF 0 implies Echo suppressor OFF AEC ES ON 1 implies Echo suppressor ON jaec eESSwitch 1 BH BRK KKK KKK kk kk ko ke ko KAKA ke ke ke ke ke ke ke k ek Structure for AEC Fe KARA ko A A AAA A eH He HH f AEC Energy structure This structure should not be filled up by the user This is only for AEC internal use typedef struct long FgEnrg Foreground Fixed Filter energy long BgEnrg Background Adaptive Filter energy long FarEnrg Far end signal energy Reference long NearEnrg Near end signal energy Input long xTz Vector X Transpose Vector Z long AcRO Auto Correlation RO long ACRI Auto Correlation R1 aec sEnergy User configurable structure This structure has to be used by the user to configure AEC typedef struct UInt16 TailLen Tail length of AEC in taps integer aec eESSwitch esFlag Echo Suppressor On Off flag aec sConfigure AEC handle structure This structure is used internally by AEC for its operation The user should not setup this structure typedef struct
8. 4 3 4 2 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com Freescale Semiconductor Inc ii ding the AEC Library ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Metrowerks CodeWarrior Project B aec mcp Link Orde SET TS F sion Bold Str HIT Figure 4 3 Execute Make At this point if the build is successful the aec lib library file is created in the nos telephony aec Debug directory Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 MOTOROLA Building the AEC Library 4 3 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Building the AEC Library Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 4 4 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 5 Linking Applications with the AEC Library 5 1 AEC Library The library includes APIs which define the interface between the user application and the AEC modules To invoke AEC Acoustic Echo Canceller APIs must be called in this order aecCreate y aeclnit y aecProcess y aecDestroy y 5 1 1 Library Sections An example linker cmd f
9. F Fast Fourier Transforms FFT xi FFT xi Finite Impulse Response FIR xi FIR xi H Hold Release Logic HRL xi HRL xi I O xi IDE xi IIR xi Infinite Impulse Response IIR xi Input Output I O xi Integrated Development Environment IDE xi L Least Significant Bit LSB xi LSB xi M MAC xi MOTOROLA Million Instructions Per Second MIPS xi MIPS xi Most Significant Bit MSB xi MSB xi Multiply Accumulate MAC xi O OMR xi OnCE xi On Chip Emulation OnCE xi Operating Mode Register OMR xi P PC xi Program Counter PC xi S Scoustic Echo Canceller AEC 1 1 SDK xi Serial Peripheral Interface SPI xi Software Development Kit SDK xi Source SRC xi SP xi SPI xi SR xi SRC xi Stack Pointer SP xi Status Register SR xi T TD xi Tone Disabler TD xi Index For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Motorola reserves the right to make changes without further notice to any products herein Motorola makes no warranty representation or guarantee regarding the suitability of its products for any particular purpose nor does Motorola assume any liability arising out of the application or use of any product or circuit and specifically disclaims any and all liability including without limitation consequential or incidental dam
10. Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 List of Examples Code Example Code Example Code Example Code Example Code Example Code Example Code Example MOTOROLA 3 1 3 2 3 3 3 4 3 5 3 6 5 1 C Header Pile Sec dl 6 0 14 03 ka es dcr REFDOC PCS ACER aeei 3 1 nnm a TTC 3 5 Use of Oe RAUS Merine rio kd Sap Rl CUI ER eU Goo RC 3 7 Use or aecinit MEE uaa da RERO RO EHE SUE el 3 9 Use of aceProcess DCE oc ose RaRaaEP E RA3 C RR RR AEEAAI ES 3 10 Use or aecDestioy MEE L4 654 dYor rerkare dai Ye yn 3 12 MOERS P Rosie adio gri rae sw nien Gode dde dde tud a Qua ae 5 1 List of Examples vii For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 viii Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 About This Document This manual describes the Acoustic Echo Canceller AEC algorithm for use with Motorola s Embedded Software Development Ki
11. On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 1 Introduction Welcome to Motorola s Family of Digital Signal Processors DSPs This document describes the Acoustic Echo Canceller Library which is a part of Motorola s comprehensive Software Development Kit SDK for its DSPs In this document you will find all the information required to use and maintain the Acoustic Echo Canceller Library interface and algorithms Motorola provides these algorithms to you for use on the Motorola Digital Signal Processors to expedite your application development and reduce the time it takes to bring your own products to market Motorola s Acoustic Echo Canceller Library is licensed for your use on Motorola processors Please refer to the standard Software License Agreement in Chapter 7 for license terms and conditions please consult with your Motorola representative for premium product licensing 1 1 Quick Start Motorola Embedded SDK is targeted to a large variety of hardware platforms To take full advantage of a particular hardware platform use Quick Start from the Targeting DSP568xx Platform documentation For example the Targeting DSP56824 Platform manual provides more specific information and examples about this hardware architecture If you are developing an application for the DSP56824EVM board or any oth
12. contains useful utilities used by system components There are also optional directories that include domain specific libraries MOTOROLA Directory Structure 2 1 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 2 2 Optional Domain Specific Directories Directory Structure Figure 2 2 demonstrates how the AEC algorithm is encapsulated in the domain specific directories under the directory telephony G3 d sp55803evm G dsp56805evm E dsp56824evm Sl n 3 sr e a applications E bsp E config E include E modem E security E signal E sys telephony aes caller id E dtmf gen 9711 F 1 H Figure 2 2 DSP56824 Directories The telephony directory includes telephony specific algorithms Figure 2 3 below shows the aec sub directory structure under the telephony directory 3 telephony Som ET APIs G asm sources 3 test aec E c sources E Config caller id C dtmf gen E ati F F Figure 2 3 aec Directory Structure The aec directory includes the following sub directories e APIs contains APIs for AEC asm sources includes asm sources required for AEC fest a
13. exported re exported resold shipped or diverted directly or indirectly the Software or a direct product thereof to any country which the United States government or any agency thereof at the time of export or re export requires an export license or other government approval without first obtaining such license or approval MOTOROLA License 7 1 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 THE SOFTWARE IS PROVIDED ON AN AS IS BASIS AND WITHOUT WARRANTY OF ANY KIND INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY LIABILITY OR DAMAGES OF ANY KIND INCLUDING WITHOUT LIMITATION DIRECT OR INDIRECT OR INCIDENTAL OR CONSEQUENTIAL OR PUNITIVE DAMAGES OR LOST PROFITS OR LOSS OF USE ARISING FROM USE OF THE SOFTWARE OR THE PRODUCT REGARDLESS OF THE FORM OF ACTION OR THEORY OF LIABILITY INCLUDING WITHOUT LIMITATION ACTION IN CONTRACT NEGLIGENCE OR PRODUCT LIABILITY EVEN IF MOTOROLA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE THIS DISCLAIMER OF WARRANTY EXTENDS TO LICENSEE OR USERS OF PRODUCTS AND IS IN LIEU OF ALL WARRANTIES WHETHER EXPRESS IMPLIED OR STATUTORY INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR PARTICULAR PURPOSE License Motorola does not represent or warran
14. F7 Quotation Courier Code examples Process command for line flash Monospaced Type Italic Directory names and contains these core directories project names applications contains applications software calls functions CodeWarrior project 3des mcp is statements procedures the pConfig argument routines e arguments defined in the C header file aec h N file names T applications Z variables RE directives code snippets E in text zi Bold Reference sources efer to the Targeting DSP56F80x Platform Z paths manual Q emphasis see C Program Files Motorola Embedded SDK help tutorials LLI o Blue Text Linkable on line efer to Chapter 7 License LL Number Any number is consid 3V O ered a positive value 10 ul unless preceded by a DES minus symbol to signify LL a negative value m ALL CAPITAL defines define INCLUDE_STACK_CHECK Bl LETTERS defined constants t oo marks Returned messages the message Test Passed is displayed if unsuccessful for any reason it will return NULL Acoustic Echo Canceller Library Definitions Acronyms and Abbreviations The following list defines the acronyms and abbreviations used in this document As this template develops this list will be generated from the document As we develop more group resources these acronyms will be easily defined from a common acronym dictionary Please
15. Freescale Semiconductor Inc Q MOTOROLA Embedded SDK Software Development Kit Acoustic Echo Canceller Library SDK125 D Rev 2 07 16 2002 ale Ti MOTOROLA Toth Motorola Inc 2002 All rights reserved intelligence everywhere digital dna For More Information On This Product o to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Contents About This Document ANDE L 4234 49983 VERRE AXE HAVE RE ER da e ee ee s MOS PO rd ix CRGO SUB E E EON IG E E E e l ix Suggested Read 645 43udAnt bbsaqAdEAAAAS4EEATERERAERADTAXAS REA RR EA ix e e oh onde oe E E E oer E SA Oe ree eee a rees X Definitions Acronyms and Abbreviations 2 44240620ds2ceaserasreeaoen ds X o 0 RL PTT xi Chapter 1 Introduction 1 1 s nc AE 464 4b E E E EE E E E oh E A E E E E 1 1 12 ee ALL oosus Ses AIMER UR TA AERE RES NRW CER RR 1 1 1 2 1 BEES UI ous VE WREXPRUPTKRTA AUT TVRUS NE YR be dseus ceeds ed TP EN 1 1 122 Poule and PS oda 4 ide Ord cR Dr edis SER Qd aU Roque QU MU M RUN 1 2 Chapter 2 Directory Structure 24 Required Core Directories 12224934 4244ERXAYASATERUEEREL ESTA UPPER p 2 1 22 Optional Domain Specific Directories lt lt s4e0s
16. KA x f define AEC ALPHA SHIFT 6 define AEC_THRESH1 0x7000 0 875 define AEC_THRESH2_SHIFT 3 define AEC_THRESH3 0x7000 0 875 define AEC_FG_COUNT 1 Foreground hang over count of one instant define AEC_BG_COUNT 3 Background hang over count of three instants define AEC_DELTA_LOW Oxdc5d 0 2784001 0xdc5d define AEC_DELTA_HIGH 0x0003 0 00009989738 0x0003 define AEC_DELTA_RHO 0x0003 0 0001 define AEC_DELTA_STEP 0x0021 0 001 define FG_2_BG_COPY 0x5555 Flag value define BG 2 FG COPY Oxaaaa Flag value define NO_COPY Oxffff Flag value define VARIABLE SIZE 26 Size of AecVariables buffer define AEC PTR VAR SIZE 4 Size of AecPtrVars buffer define PTR TEMP STATES 3 fendif MOTOROLA AEC Library Interfaces 3 3 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEC Library Interfaces Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 3 3 Specifications The following pages describe the AEC library functions Function arguments for each routine are described as in out or inout An in argument means that the parameter value is an input only to the function An out argument means that the parameter value is an output only from the function An inout argument means that a parameter value is an input to the function but the same parameter is also an output from the function
17. ONDUCTOR INC 2005 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 7 License 7 1 Limited Use License Agreement LIMITED USE LICENSE AGREEMENT PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THIS SOFTWARE BY USING OR COPYING THE SOFTWARE YOU AGREE TO THE TERMS OF THIS AGREEMENT The software in either source code form Source or object code form Object cumulatively hereinafter Software is provided under a license agreement Agreement as described herein Any use of the Software including copying modifying or installing the Software so that it is usable by or accessible by a central processing unit constitutes acceptance of the terms of the Agreement by the person or persons making such use or if employed the employer thereof Licensee and if employed the person s making such use hereby warrants that they have the authority of their employer to enter this license agreement If Licensee does not agree with and accept the terms of this Agreement Licensee must return or destroy any media containing the Software or materials related thereto and destroy all copies of the Software The Software is licensed to Licensee by Motorola Incorporated Motorola for use under the terms of this Agreement Motorola retains ownership of t
18. ONDUCTOR INC 2005 Freescale Semiconductor Inc Overviow of AEC ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Table 1 1 gives typical values of ERLE and Convergence time Table 1 1 Typical Values of ERLE and Convergence Time ERLE Time to 10dB 25 dB 420 ms MOTOROLA Introduction 1 3 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Introduction Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 2 Directory Structure 2 1 Required Core Directories Figure 2 1 details required platform directories Bay sic C dspbB824evm Eg application Eg bsp Si config S include Eg oye H E tools Figure 2 1 Core Directories As shown in Figure 2 1 DSP56824EVM has no operating system nos support and contains these core directories applications contains applications software that can be exercised on this platform e bsp contains board support package specific for this platform config contains default HW SW configurations for this platform include contains SDK header files which define the Application Programming Interface Sys contains required system components e tools
19. OR INC 2005 3 3 4 aecDestroy Call s void aecDestroy aec sHandle pAec Required Header aec Arguments Table 3 4 aecDestroy Arguments pAec in Handle to an instance of AEC generated by a call to aecCreate Description The aecDestroy function destroys the instance of AEC originally created by a call to aecCreate If the user bypassed the aecCreate function to create an instance on his own the aecDestroy function should not be called Returns None Special Considerations Calling the aecDestroy function deactivates AEC and frees the memory allocated during the aecCreate function Code Example 3 6 Use of aecDesiroy Interface include aec h include mem h Note This test file describes the AEC test procedure for 160 samples only I H define FRAI EN 160 Function prototype void testAEC Input and output buffers Fracl6 FarSamples FRAME LEN 0x1234 Oxabcd Put FRAME LEN far end samples here Fracl6 NearSamples FRAME LEN 0x8978 Oxffll Put FRAME LEN near end samples here Fracl6 OutSamples FRAME LEN Buffer for storing echo cancelled samples void testAEC aec_sHandle pAec aec_sConfigure pConfig Result res Initialize Configuration structure pConfig TailLen 512 No of taps corresponding to 64 ms tail length pCon
20. SCALE SEMICONDUCTOR INC 2005 Returns Upon successful completion the aecCreate function will return a pointer to the specific instance of AEC created If aecCreate is unsuccessful for any reason it will return NULL Specifications Special Considerations e Uses both internal and external memories internal memory is used for filter coefficients e AEC application is multichannel and re entrant i e more than one instance can exist at a time Code Example In Code Example 3 3 the application creates an instance of AEC Code Example 3 3 Use of aecCreate Interface include aec h include mem h Function prototype void testAEC void testAEC aec_sHandle pAec aec_sConfigure pConfig Result res Initialize Configuration structure pConfig TailLen 512 No of taps corresponding to 64 ms tail length pConfig esFlag AEC_ES_ON Echo suppressor is on pAec aecCreate amp pConfig Create and init instance of AEC For details on structures used in the above example see Code Example 3 1 MOTOROLA AEC Library Interfaces 3 7 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEC Library Interfaces Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 3 3 2 aeclnit Call s Result aecInit aec sHandle pAec aec sConfigure pConfig Required Header aec
21. SDK directory structure There are two methods to execute a system library project build dependency build and direct build 4 1 1 Dependency Build Dependency build is the easiest approach and requires no additional work on the user s part If you add the AEC library project aec mcp to your application project as shown in Figure 4 1 the AEC library will automatically build when the application is built MOTOROLA Building the AEC Library 4 1 For More Information On This Product Go to www freescale com a Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Building the AEC Library Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 I application ia y A p ee c3 Dependencies 55K 7K e m amp C3 SDK Configuration 72 Oe EHEa SDK Projects 0 0 E bsp mep n a n a E sys mcp n a n a R3 tools mcp wa ma O wa ma SDK Libs P ode 1K MSL 3 K C Sources 700 3K e 1 files Figure 4 1 Dependency Build for AEC Project 4 1 2 Direct Build Direct build allows you to build an AEC library independently of any other build Follow these steps Step 1 Open aec mcp project as shown in Figure 4 2 Bg aec mcp Eie Ea Link Order Targets Ex JY Be f mE ASM Sources 1K Qi e mE HE APIs 727 0 z Figure 4 2 aec mcp Project Step 2 Execute the build by pressing function key F7 or by choosing the Make command from the Project menu see Figure
22. Typically inout parameters are input pointer variables in which the caller passes the address of a preallocated data structure to a function The function stores its results within that data structure The actual value of the inout pointer parameter is not changed 3 4 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 3 3 1 aecCreate Call s Specifications aec sHandle aecCreate aec sConfigure pConfig Required Header aec Arguments Table 3 1 aecCreate Arguments pConfig in Points to the configuration data for AEC Description The aecCreate function creates an instance of AEC During the aecCreate call any dynamic resources required by the AEC algorithm are allocated The memory allocation is External Memory 55 2 AecFilLen words Internal Memory 2 AecFilLen words AecFilLen Sampling freq Hz Tail length ms 1000 The pConfig argument points to the aec_sConfigure structure used to configure AEC operation for details on this structure see Section 3 3 2 Code Example The aecCreate function allocates memory dynamically using the mem library routines as shown in Code Example 3 2 Code Example 3 2 mem Library include aec h include mem h aec sHandle aecCreate aec sConfigure pConfig
23. ages Typical parameters which may be provided in Motorola data sheets and or specifications can and do vary in different applications and actual performance may vary over time All operating parameters including Typicals must be validated for each customer application by customer s technical experts Motorola does not convey any license under its patent rights nor the rights of others Motorola products are not designed intended or authorized for use as components in systems intended for surgical implant into the body or other applications intended to support or sustain life or for any other application in which the failure of the Motorola product could create a situation where personal injury or death may occur Should Buyer purchase or use Motorola products for any such unintended or unauthorized application Buyer shall indemnify and hold Motorola and its officers employees subsidiaries affiliates and distributors harmless against all claims costs damages and expenses and reasonable attorney fees arising out of directly or indirectly any claim of personal injury or death associated with such unintended or unauthorized use even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part Motorola and the Stylized M Logo are registered trademarks of Motorola Inc Motorola Inc is an Equal Opportunity Affirmative Action Employer MOTOROLA and the Stylized M Logo are registered in the US Patent amp T
24. eates an instance of AEC The instance is passed to the aecInit function with the AEC configuration structure pConfig 3 8 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc Specifications ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Code Example 3 4 Use of aecinit Interface include aec h include mem h Function prototype void testAEC void testAEC aec_sHandle pAec aec_sConfigure pConfig Result res Initialize Configuration structure pConfig Tail pConfig esF lLen 512 ag AEC_ES_ON pAec aecCreate amp pConfig No of taps corresponding to 64 ms tail length Echo suppressor is on Create and init instance of AEC For details on structures used in the above example see Code Example 3 1 MOTOROLA AEC Library Interfaces 3 9 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEC Librarydriterfac s Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 3 3 83 aecProcess Call s Result aecProcess aec sHandle pAec Wordl6 pFarSamples Wordl6 pNearSamples Wordl6 pOutSamples UWord16 NumSamples Required Header aec h Arguments Table 3 3 aecProcess Argument
25. ec includes C source files and configuration necessary for testing AEC library modules c sources contains an example test code Config contains the configuration files appconfig c appconfig h and linker cmd specific to AEC 2 2 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 3 AEC Library Interfaces 3 1 AEC Services The AEC library cancels the echo from the near end speech signal with the use of reference far end speech signal The data to be supplied must be in 16 bit word fixed point 1 15 format as shown below MSB LSB 1 information bit s sign bit 3 2 Interface The C interface for the AEC library services is defined in the C header file aec h shown in Code Example 3 1 as a reference Code Example 3 1 C Header File aec h ifndef _ AEC H define _ AFC H This include file is the master include file for the Acoustic Echo Canceller The applications using AEC should include this file xy S EE EK K K k k k k Kk KK k ke k k k k k k k k k ek Foundational Include Files Fe KKK A A AA I IK MOTOROLA AEC Library Interfaces 3 1 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC
26. er DSP56824 development system refer to the Targeting DSP56824 Platform manual for Quick Start or any other information specific to the DSP56824 1 2 Overview of AEC Acoustic echo cancellers AECs are voice operated devices which eliminate acoustic echoes and protect the communication from howling due to acoustic feedback from loudspeaker to microphone AECs are placed in audio terminals on the customer premises 1 2 1 Background Many applications such as full duplex speaker phones and mobile telephones required AECs with high performance In a speaker mic telephone system a part of the speaker output gets picked up by the microphone either directly or indirectly causing annoying echoes heard by the far end telephone user Acoustic echo cancellers circumvent these echoes MOTOROLA Introduction 1 1 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 The AECs perform echo cancellation by estimating the signal fed back to the microphone from the speaker then subtracting it from the microphone input as shown in Figure 1 1 Room impulse response must also be estimated and is approximated by a linear transversal filter The coefficients of this filter constitute the room impulse response The existing echo cancellers use Normalized Least Mean Squares NLMS algorithms for estimating the transversal fil
27. fig esFlag AEC_ES_ON Echo suppressor is on pAec aecCreate amp pConfig Create and init instance of AEC 3 12 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 res aecProcess pAec FarSamples NearSamples OutSamples FRAME LEN Specifications aecDestroy pAec For details on structures used in the above example see Code Example 3 1 MOTOROLA AEC Library Interfaces 3 13 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEC Library Interfaces Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 3 14 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 4 Building the AEC Library 4 1 Building the AEC Library The AEC library combines all of the components described in previous sections into one library aec lib To build this library a Metrowerks CodeWarrior projec aec mcp is provided This project and all the necessary components to build the AEC library are located in the nos telephony aec directory of the
28. gt AecBgCoeff Fracl6 memMallocIM AecFilLen sizeof Fracl6 memflag memflag amp memIsIM pAec AecBgCoeff Energy structure pAec AecEnrg aec_sEnergy memMallocEM sizeof aec sEnergy if memflag false pAec AecFilterStates NULL pAec AecZStates NULL pAec gt AecPtrVars NULL aecDestroy pAec return NULL else if pAec gt AecVariables NULL pAec gt AecFgCoeff NULL pAec gt AecBgCoeff NULL pAec AecEnrg NULL aecDestroy pAec return NULL res aecInit pAec pConfig return pAec For details on the aec_sHandle structure and constants used above please refer to Code Example 3 1 If the aecCreate function is called to create an instance then aecDestroy see Section 3 3 4 should be used to destroy the instance Alternatively the user can allocate memory statically which requires duplicating all statements in the aecCreate function In this case the user can call the aecInit function directly bypassing the aecCreate function If the user dynamically allocates memory without calling the aecCreate function then the user himself must destroy the memory allocated 3 6 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREE
29. he Software Motorola grants only the rights specifically granted in this Agreement and grants no other rights Title to the Software all copies thereof and all rights therein including all rights in any intellectual property including patents copyrights and trade secrets applicable thereto shall remain vested in Motorola For the Source Motorola grants Licensee a personal non exclusive non assignable revocable royalty free right to use copy and make derivatives of the Source solely in a development system environment in order to produce object code solely for operating on a Motorola semiconductor device having a central processing unit Derivative Object For the Object and Derivative Object Motorola grants Licensee a personal non exclusive non assignable revocable royalty free right to copy use and distribute the Object and the Derivative Object solely for operating on a Motorola semiconductor device having a central processing unit Licensee agrees to a not use modify or copy the Software except as expressly provided herein b not distribute disclose transfer sell assign rent lease or otherwise make available the Software any derivatives thereof or this license to a third party except as expressly provided herein c not remove obliterate or otherwise defeat any copyright trademark patent or proprietary notices related to the Software d not in any form export re export resell ship or divert or cause to be
30. ile used in the test application follows in Code Example 5 1 Code Example 5 1 inker cmd File 4 Linker cmd file for DSP56824EVM External RAM using both internal and external data memory EX 0 and using external program memory Mode 3 MEMORY pram RWX ORIGIN 0x0000 LENGTH OxFF80 external program memory avail RW ORIGIN 0x0000 LENGTH 0x0030 available cwregs RW ORIGIN 0x0030 LENGTH 0x0010 C temp registrs in CodeWarrior iml RW ORIGIN 0x0040 LENGTH 0x07CO data 1 rom R ORIGIN 0x0800 LENGTH 0x0800 internal data ROM im2 RW ORIGIN 0x1000 LENGTH 0x0600 data 2 hole R ORIGIN 0x1600 LENGTH 0x0A00 hole data RW ORIGIN 0x2000 LENGTH 0xC000 data segment em RW ORIGIN OxE000 LENGTH 0x1000 data 3 Stack RW ORIGIN OxF000 LENGTH OxOF80 stack MOTOROLA Linking Applications with the AEC Library 5 1 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Linking Applications with Freescals Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 onchipl RW ORIGIN OxFF80 LENGTH registers onchip2 RW ORIGIN OxFFCO LENGTH registers FORCE ACTIVI E FconfigInterruptVector n ECTIONS Data X Memory Layout
31. ing the design or manufacture of the Software The term of this Agreement is for as long as Licensee uses the Software for its intended purpose and is not in default of any provisions of this Agreement Motorola may terminate this Agreement if Licensee is in default of any of the terms and conditions of this Agreement This Agreement shall be governed by and construed in accordance with the laws of the State of Arizona and can only be modified in a writing signed by both parties Licensee agrees to jurisdiction and venue in the State of Arizona By using modifying installing compiling or copying the Software Licensee acknowledges that this Agreement has been read and understood and agrees to be bound by its terms and conditions Licensee agrees that this Agreement is the complete and exclusive statement of the agreement between Licensee and Motorola and supersedes any earlier proposal or prior arrangement whether oral or written and any other communications relative to the subject matter of this Agreement 7 2 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Index A Acoustic Echo Canceller AEC xi AEC xi 1 1 D Digital Signal Processor DSP xi DSP xi DSP56800 Family Manual xi DSP56824 User s Manual xi E Embedded SDK Programmer s Guide xi
32. note that while the acronyms are in solid caps terms in the definition should be initial capped ONLY IF they are trademarked names or proper nouns For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEC Acoustic Echo Canceller Cancellation DSP Digital Signal Processor or Digital Signal Processing FFT Fast Fourier Transforms FIR Finite Impulse Response HRL Hold Release Logic VO Input Output IDE Integrated Development Environment IIR Infinite Impulse Response LSB Least Significant Bit MAC Multiply Accumulate MIPS Million Instructions Per Second MSB Most Significant Bit OnCE On Chip Emulation OMR Operating Mode Register PC Program Counter SDK Software Development Kit SP Stack Pointer SPI Serial Peripheral Interface SR Status Register SRC Source TD Tone Disabler References The following sources were referenced to produce this book 1 DSP56800 Family Manual DSP56800FM AD 2 DSP56824 User s Manual DSP56824UM AD 3 Embedded SDK Programmer s Guide SDK101 D MOTOROLA Preface xi For More Information On This Product Go to www freescale com Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Xii Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Acoustic Echo Canceller Library For More Information
33. partitionList WRITEH ADDR im1 WRITEH SIZEOF iml 2 WRITEH ADDR im2 WRITEH SIZEOF im2 2 FmemEMpartitionList WRITEH ADDR em WRITEH SIZEOF em 2 data sections data fp state data rtlib data F Xdata ROMtoRAM length 0 F bss start addr _BSS_ADDR rtlib bss lo bss F bss length BSS ADDR Copy DATA data FArchIO ADDR onchip2 MOTOROLA Linking Applications with the AEC Library 5 3 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Linking Applications with Freescals Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 5 4 Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 6 AEC Applications 6 1 Test and Demo Applications To verify the AEC algorithm test and demo applications have been developed Refer to the Targeting Motorola DSP568xx Platform Manual for the DSP you are using to see if the test and demo applications are available for your target MOTOROLA AEC Applications 6 1 For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 AEC Applications Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMIC
34. rademark Office All other product or service names are the property of their respective owners Motorola Inc 2002 How to reach us USA EUROPE Locations Not Listed Motorola Literature Distribution P O Box 5405 Denver Colorado 80217 1 303 675 2140 or 1 800 441 2447 JAPAN Motorola Japan Ltd SPS Technical Information Center 3 20 1 Minami Azabu Minato ku Tokyo 106 8573 Japan 81 3 3440 3569 ASIA PACIFIC Motorola Semiconductors H K Ltd Silicon Harbour Centre 2 Dai King Street Tai Po Industrial Estate Tai Po N T Hong Kong 852 26668334 Technical Information Center 1 800 521 6274 HOME PAGE http www motorola com semiconductors MOTOROLA For More Information On This Product SDK125 D Go to www freescale com
35. s pAec in Handle to an instance of AEC pFarSamples in Pointer to the reference signal far end samples to be used by the AEC algorithm pNearSamples in Pointer to near end samples from which the echo must be cancelled used by the AEC algorithm pOutSamples out Pointer to buffer where the echo cancelled output must be stored NumSamples in The number of samples to be processed Description The aecProcess function will cancel the echo from the near end samples with pFarSamples as reference The user can call the aecProcess function any number of times as long as there are samples to be processed Returns This function always returns PASS Special Considerations e finternal memory is not allocated for the filter coefficients during a call to aecCreate function the aecInit function will fail e In place computation is allowed To get the output in the near end samples buffer itself make the pointers to near and out buffers the same e Callback is not implemented because the AEC code works on a sample by sample basis there is no blocking of samples in AEC code e Length of the pFarSamples and pNearSamples buffer should be identical The parameter NumSamples indicates the length of both input and output buffers Code Example 3 5 Use of aecProcess Interface include aec h include mem h Note This test file describes the AEC test procedure for 160 samples only define FRAME LEN 160
36. seecessedesdesvs sees 2 2 Chapter 3 AEC Library Interfaces 3 1 BL BOUM oix 9a 953 4 9 9 949 69 4 0 SAT EENE NE di c 3 1 3 2 igo FTT m 3 1 A3 UG 01 SWEDEN HENCE 3 4 3 3 1 c l Tp ey ee ee eee eee ee ee ee ee eee 3 5 33 2 Wo PRETERITO EEEE EAEE EEATT ET EET ETTET 3 8 piee Re e E EE L E E DER TERES EE ENEE A EET 3 10 3 3 4 polo o Mp 3 12 Chapter 4 Building the AEC Library 4 1 Big fhe AEC LID es ho ee 9h aded p da den 4 4 1 1 Dependency Dail 6 i244 25b55 600ss ei 44 RE ERTACOSVRELPERES ERA ES 4 1 4 1 2 hi 4o CCP T P ETE 4 2 MOTOROLA Table of Contents For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Chapter 5 Linking Applications with the AEC Library IA Pi CAN CPP SL Lu ur ODD Bo asco dod em dob 6 eque qupd eU oa eub ded o Ra lu dc dm Gc do Chapter 6 AEC Applications 6 1 Test and Domo Applications 23244594 RT EESEE AR HE ua Ed aar d Chapter 7 License T4 Limited Use Lipensp Agreement oasaexscerzedec et rr eR dE NETT e REY ii Acoustic Echo Canceller Library For More Information On This Product Go to www freescale com MOTOROLA ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 Freescale Semiconductor Inc ARCHIVED BY FREESCALE SEMICONDUCTOR INC 2005 List of Tables Table 1 1 Table 3 1 Table 3
37. t SDK Audience This document targets software developers implementing the acoustic echo cancellation function within software applications Organization This manual is arranged in the following sections e Chapter 1 Introduction provides a brief overview of this document e Chapter 2 Directory Structure provides a description of the required core directories e Chapter 3 AEC Library Interfaces describes all of the AEC Library functions e Chapter 4 Building the AEC Library tells how to execute the system library project build e Chapter 5 Linking Applications with the AEC Library describes organization of the AEC Library e Chapter 6 AEC Applications describes the use of AEC Library through test demo applications e Chapter 7 License provides the license required to use this product Suggested Reading We recommend that you have a copy of the following references e DSP56800 Family Manual DSP56800FM AD e DSP56824 User s Manual DSP56824UM AD e Inside CodeWarrior Core Tools Metrowerks Corp MOTOROLA Preface ix For More Information On This Product Go to www freescale com Freescale Semiconductor Inc ARCHIV Conventions ED BY FREESCALE SEMICONDUCTOR INC 2005 This document uses the following notational conventions Typeface Symbol or Term Meaning Examples Brackets Function keys by pressing function key
38. t that the Software is free of infringement of any third party patents copyrights trade secrets or other intellectual property rights or that Motorola has the right to grant the licenses contained herein Motorola does not represent or warrant that the Software is free of defect or that it meets any particular requirements or need of the Licensee or that it conforms to any documentation or that it meets any standards Motorola shall not be responsible to maintain the Software provide upgrades to the Software or provide any field service of the Software Motorola reserves the right to make changes to the Software without further notice to Licensee The Software is not designed intended or authorized for use as components in systems intended for surgical implant into the body or other applications intended to support or sustain life or for any other application in which the failure of the Software could create a situation where personal injury or death may occur Should Licensee purchase or use the Software for any such unintended or unauthorized application Licensee shall indemnify and hold Motorola and its officers employees subsidiaries affiliates and distributors harmless against all claims costs damages and expenses and reasonable attorney fees arising out of directly or indirectly any claim of personal injury or death associated with such unintended or unauthorized use even if such claim alleges that Motorola was negligent regard
39. ter coefficients The identification or adaptation of the transversal filter coefficients is possible only in the absence of near end speech Also when there is a near end signal present the estimation of the filter must be frozen a double talk detection algorithm provides this functionality Introduction AEC near out microphone pr Figure 1 1 Acoustic Echo Cancellation Operation Some of the parameters for evaluating the performance of the AEC are e ERLE Echo Return Loss Enhancement is the ratio of the reference input to the residual echo expressed in dBm The larger the ERLE the better the performance of the AEC Convergence of the adaptive algorithm determines the ERLE Rate of Convergence Acoustic echo is characterized by changing echo paths Rate of convergence of the adaptive algorithm determines how fast these changes can be tracked The faster the tracking the better the performance of the AEC The basic requirements for the echo cancellers are 1 Rapid convergence 2 Low echo return level during single talk 3 Low divergence during double talk 1 2 2 Features and Performance The AEC library is multichannel and re entrant For details on Memory and MIPS for a particular DSP refer to the Libraries chapter of the appropriate Targeting manual 1 2 Acoustic Echo Canceller Library MOTOROLA For More Information On This Product Go to www freescale com ARCHIVED BY FREESCALE SEMIC
Download Pdf Manuals
Related Search
Related Contents
ZA06 Reciprocator eBOS QRG UR2160 maxflex 900 Traveler 137 User Manual Operating Instructions VEGACAP 64 Olympus EYETREK FMD-150W-US User's Manual Copyright © All rights reserved.
Failed to retrieve file