⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gaec_miket.h

📁 TI公司DSP/tms320c55x/tms320c54x系列的声学回声消除代码
💻 H
字号:
/*------------------------------------------------------------------------*
*                                                                         *
*   THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY   *
*   INFORMATION.  IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES:    *
*      "COPYRIGHT 2001 MIKET DSP SOLUTIONS, ALL RIGHTS RESERVED"          *
*                                                                         *
*-------------------------------------------------------------------------*/
#ifndef GAEC_MIKET_
#define GAEC_MIKET_

#include <std.h>                 
#include <igaec.h>

/* !!!! GAECI.H55 echo tail length in 10s of ms. GAECI.H55 !!!! */
#define GAEC_MIKET_ETL10MS	(25)

/* statistics for internal parameters, averaged (over mid bands) values */
typedef struct GAEC_MIKET_tStts {

    Int sRcvNoise;
    Int sSndNoise;
    Int sRcvAtt; 
    Int sSndAtt; 
    Int sErl;
    Int sErle;
	Int sMaxCoef;
	Int sWorstErl;

} GAEC_MIKET_tStts;


/* for 150 ms echo tail:        1372/2, 644/2, 2400/2, 2460/2 */
/* for each 10 ms increment, add: 24/2,     0,  160/2,  160/2 */
#if defined (__TMS320C55X__)
#define GAEC_MIKET_DB_LSZ	((1372+24*GAEC_MIKET_ETL10MS)/2)
#else
#define GAEC_MIKET_DB_LSZ	((1374+24*GAEC_MIKET_ETL10MS)/2)
#endif
#define GAEC_MIKET_SC_LSZ	(646/2)
#define GAEC_MIKET_ADF_LSZ	((160*GAEC_MIKET_ETL10MS)/2)
#define GAEC_MIKET_RCV_LSZ	((60+160*GAEC_MIKET_ETL10MS)/2)

/*--------------------- public vars ---------------------------------------*/
#if defined (__cplusplus)
extern "C" {
#endif

extern const IALG_Fxns GAEC_MIKET_IALG; 

extern const IGAEC_Fxns GAEC_MIKET_IGAEC; 

extern const IGAEC_tCfg IGAEC_MIKET_DefaultCfg;

/*--------------------- local vars ----------------------------------------*/
/*--------------------- local functions -----------------------------------*/
/*--------------------- public  functions ---------------------------------*/

/*
 *  Required module finalization function : THIS FUNCTION IS EMPTY
 */
extern Void GAEC_MIKET_exit(Void);

/*
 *  Required module initialization function: THIS FUNCTION IS EMPTY
 */
extern Void GAEC_MIKET_init(Void);

/* ---- Native API ----- */


/*  Initialises database. (mem[1]) */
extern void GAEC_MIKET_init_db (
	void *pDb, /* GAEC_MIKET_DB_LSZ long words */
	IGAEC_tCfg *pCfg, /* see igaec.h */
	Int *pHst, /* GAEC_MIKET_RCV_LSZ long words */
	Int *pAdf, /* GAEC_MIKET_ADF_LSZ long words */
	Int *pAdfM /* GAEC_MIKET_ADF_LSZ long words */
	);

/*  
    If RESET is not or-ed with OFF, the application starts running.
    It is not recommened to apply OFF without RESET due to
    the obvious consequences of calling _control(pDb, 0); afterwards. 
    Asynchronous calling _control() and _process() from different tasks
    is not recommended. */
extern void GAEC_MIKET_control (
	void *pDb, 
	IALG_Cmd Cmd, 
	IGAEC_Status *pStatus );

extern void GAEC_MIKET_process (
	void *pDb, 
	void *pSc, /* GAEC_MIKET_SC_LSZ long words */
	Int *pRcv, /* IGAEC_FR_SZ words of signal, ls aligned */
	Int *pSnd  /* IGAEC_FR_SZ words of signal, ls aligned */
	);
	
/* returns ptr to current statistics */	
extern GAEC_MIKET_tStts *GAEC_MIKET_stts (
	void *pDb
	);

#if defined (__cplusplus)
}
#endif

#endif  /* GAEC_MIKET_ */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -