www.pudn.com > CryptoPhone-src-031122.zip > filter.h


/* Copyright 2001,2002,2003 NAH6 
 * All Rights Reserved 
 * 
 * Parts Copyright DoD, Parts Copyright Starium 
 * 
 */ 
          /*LINTLIBRARY*/ 
          /*PROTOLIB1*/ 
/************************************************************************** 
*                                                                         * 
* INCLUDE FILE 
*		FILTER.h 
* 
* FUNCTION 
*		FILTER structure 
* 
*************************************************************************** 
* 
* 
* 
* 
**************************************************************************/ 
 
#define MAXORDER	16		/* maximum filter order		 */ 
 
typedef struct 
{	int order, data_length; 
	float memory[MAXORDER+1], coef[MAXORDER+1]; 
} FILTER; 
 
FILTER	makefilt(), makefilt_dynamic(); 
 
/*  Function prototypes */ 
 
/* -------------- do_pfilt.c -------------- */ 
void do_pfilt( 
FILTER *flt, 
float data[]); 
 
void do_pfilt_dynamic( 
FILTER 	*flt, 
float	coef[], 
float 	data[]); 
 
/* -------------- do_zfilt.c -------------- */ 
void do_zfilt( 
FILTER *flt, 
float data[]); 
 
void do_zfilt_dynamic( 
FILTER 	*flt, 
float	coef[], 
float 	data[]); 
 
/* -------------- filters.c -------------- */ 
void HPF_InSpeech( 
float	speech[F_LEN]); 
 
void HPF_OutSpeech( 
float	speech_in[SF_LEN], 
float	speech_out[SF_LEN]); 
 
void FilterImpulseResponse( 
float	h[SF_LEN], 
float	coef[ORDER+1]); 
 
/* -------------- makefilt.c -------------- */ 
FILTER makefilt( 
float 	coef[], 
int 	f_order,  
int	data_length); 
 
FILTER makefilt_dynamic( 
int 	f_order,  
int	data_length);