www.pudn.com > SMV_Code.rar > lib_evad.h


/*=========================================================================*/ 
/* Each of the companies; Ericsson, Lucent, Mindspeed, Motorola, Nokia,    */ 
/* Nortel Networks, and Qualcomm (hereinafter referred to individually as  */ 
/* “Source” or collectively as “Sources”) do hereby state:                 */ 
/*                                                                         */ 
/* To the extent to which the Source(s) may legally and freely do so,      */ 
/* the Source(s), upon submission of a Contribution, grant(s) a free,      */ 
/* irrevocable, non-exclusive, license to the Third Generation Partnership */ 
/* Project 2 (3GPP2) and its Organizational Partners: ARIB, CCSA, TIA,     */ 
/* TTA, and TTC, under the Source’s copyright or copyright license rights  */ 
/* in the Contribution, to, in whole or in part, copy, make derivative     */ 
/* works, perform, display and distribute the Contribution and derivative  */ 
/* works thereof consistent with 3GPP2’s and each Organizational Partner’s */ 
/* policies and procedures, with the right to (i) sublicense the foregoing */ 
/* rights consistent with 3GPP2’s and each Organizational Partner’s        */ 
/* policies and procedures and (ii) copyright and sell, if applicable) in  */ 
/* 3GPP2's name or each Organizational Partner’s name any 3GPP2 or         */ 
/* transposed Publication even though this Publication may contain the     */ 
/* Contribution or a derivative work thereof.  The Contribution shall      */ 
/* disclose any known limitations on the Source’s rights to license as     */ 
/* herein provided.                                                        */ 
/*                                                                         */ 
/* When a Contribution is submitted by the Source(s) to assist the         */ 
/* formulating groups of 3GPP2 or any of its Organizational Partners,      */ 
/* it is proposed to the Committee as a basis for discussion and is not    */ 
/* to be construed as a binding proposal on the Source(s).  The Source(s)  */ 
/* specifically reserve(s) the right to amend or modify the material       */ 
/* contained in the Contribution. Nothing contained in the Contribution    */ 
/* shall, except as herein expressly provided, be construed as conferring  */ 
/* by implication, estoppel or otherwise, any license or right under       */ 
/* (i) any existing or later issuing patent, whether or not the use of     */ 
/* information in the document necessarily employs an invention of any     */ 
/* existing or later issued patent, (ii) any copyright, (iii) any          */ 
/* trademark, or (iv) any other intellectual property right.               */ 
/*                                                                         */ 
/* With respect to the Software necessary for the practice of any or all   */ 
/* Normative portions of the Selectable Mode Vocoder (SMV) as it exists on */ 
/* the date of submittal of this form, should the SMV be approved as a     */ 
/* Specification or Report by 3GPP2, or as a transposed Standard by any of */ 
/* the 3GPP2’s Organizational Partners, the Source(s) state(s) that a      */ 
/* worldwide license to reproduce, use and distribute the Software, the    */ 
/* license rights to which are held by the Source(s), will be made         */ 
/* available to applicants under terms and conditions that are reasonable  */ 
/* and non-discriminatory, which may include monetary compensation,        */ 
/* and only to the extent necessary for the practice of any or all of the  */ 
/* Normative portions of the SMV or the field of use of practice of the    */ 
/* SMV Specification, Report, or Standard.  The statement contained above  */ 
/* is irrevocable and shall be binding upon the Source(s).  In the event   */ 
/* the rights of the Source(s) in and to copyright or copyright license    */ 
/* rights subject to such commitment are assigned or transferred,          */ 
/* the Source(s) shall notify the assignee or transferee of the existence  */ 
/* of such commitments.                                                    */ 
/*=========================================================================*/ 
/*                                                                   */ 
/*-------------------------------------------------------------------*/ 
/*===================================================================*/ 
/* PROTOYPE FILE: lib_evad.h                                         */ 
/*-------------------------------------------------------------------*/ 
/* PURPOSE : Library of Voice Activity Detection based on EVAD VAD.  */ 
/*===================================================================*/ 
 
#ifndef _RDA_H_ 
#define _RDA_H_ 
 
#include  
 
 
#define FILTERORDER           17 
#define FREQBANDS              2 
 
 
#define FULLRATE_VOICED        4 
#define HALFRATE_VOICED        3 
#define EIGHTH                 1 
 
#define PITCH_NUM 2 
#define INC_FACTOR 1.06     /* changed from 1.03 on 13-Dec-00 to update faster, khaled */ 
#define SNR_MAP_THRESHOLD 1 /* changed from 3 on 13-Dec-00, khaled */ 
#define IS96_INC  1.00547     /* changed from 1.0065 on 20-Jan-95 */ 
                           /*changed from 1.00547 on 13-Dec-00 to update faster, khaled */ 
/*changed from 1.02 on 2-Jan-01, khaled */ 
 
#define VOICE_INITIAL 65+12 /* for EVRC increasing dynamic range */ 
#define VOICE_INITIAL_HI 55+12 /* for EVRC increasing dynamic range */ 
 
#define STATVOICED 5 
#define SCALE_DOWN_ENERGY 0.97 /* changed from 0.96 on 20-Jan-95 */ 
 
#define TLEVELS 8 
 
#define SMSNR  0.6  /* leaky integration constant used smooth snr estimate */ 
                    /* changed on 8-Dec-94 per Sharath's recommendation */ 
#define ADP 4       /* changed from 8 on 13-Dec-00 to update faster, khaled */ 
 
#define NACF_ADAP_BGN_THR  0.4  /* changed from 0.3 on 13-Dec-00 to update faster, khaled */ 
                               /* threshold signifying frame does           */ 
                               /* not have any voiced speech in it           */ 
                               /* so we might start to adapt thresholds      */ 
#define NACF_SOLID_VOICED  0.5 /* threshold above which we are pretty sure  */ 
                               /* speech is present and thus SNRs can be     */ 
                               /* adjusted accordingly                       */ 
 
#define HIGH_THRESH_LIM  5059644*16 
 
#define FULL_THRESH 1   /* the number of full rates in a row before */ 
                        /* a hangover can occur                     */ 
 
typedef struct { 
	FLOAT32  band_noise_sm[FREQBANDS]; 
	INT32    last_rate;           /* rate decisision after 2nd stage select_mode2() */ 
	INT32    last_rate_1st_stage; /* rate decision after 1st stage */ 
	INT32    last_rate_2nd_stage; /* rate decision after 2nd stage */ 
	INT32    num_full_frames; 
	INT32    hangover, hangover_in_progress; 
	INT32    band_rate[FREQBANDS]; 
	FLOAT32  band_power[4]; 
	FLOAT32  signal_energy[FREQBANDS]; 
	FLOAT32  frame_energy_sm[FREQBANDS]; 
	INT32    adaptcount; 
	INT32    pitchrun; 
	FLOAT32  band_power_last[FREQBANDS]; 
	INT32    snr_stat_once; 
	INT32    snr_map[FREQBANDS]; 
	FLOAT32  snr[FREQBANDS]; 
	FLOAT32  r_filt[FREQBANDS][FILTERORDER]; 
	INT32    frame_num; 
} ENCODER_MEM; 
 
INT16  EVAD_voice_detection ( 
	INT16 smv_mode, 
	FLOAT64*  R_interp, 
	INT16   max_rate, 
	INT16   min_rate, 
	FLOAT64   beta, 
	ENCODER_MEM *e_mem 
	); 
 
#endif