www.pudn.com > CryptoPhone-src-031122.zip > lp_syn.c


/* Copyright 2001,2002,2003 NAH6 
 * All Rights Reserved 
 * 
 * Parts Copyright DoD, Parts Copyright Starium 
 * 
 */ 
 
#include "celpfilt.h" 
#include "lp_syn.h" 
#include "lsftopc.h" 
#include "movarray.h" 
 
/************************************************************************** 
*                                                                         * 
* ROUTINE 
*		LP_Synthesis 
* 
* FUNCTION 
*		LP Filter input excitation with input LSFs 
* SYNOPSIS 
*		LP_Synthesis(excitation, lsf, frame_num, speech) 
* 
*   formal 
* 
*                       data    I/O 
*       name            type    type    function 
*       ------------------------------------------------------------------- 
*	excitation	int	 i	excitation vector 
*	lsf		int	 i	line spectral frequencies 
*	frame_num	int	 i	frame number of speech 
*	speech		float	 o	output speech 
* 
**************************************************************************/ 
FILTER 	LP_Filt; 
 
void LP_Synthesis( 
float	excitation[SF_LEN], 
float	lsf[ORDER], 
int	frame_num, 
float	speech[SF_LEN]) 
{ 
float	pc[ORDER+1]; 
 
/*  Convert input LSFs to PCs */ 
	LSFtoPC(lsf, pc, frame_num); 
 
/*  Perform LP synthesis on excitation to produce speech */ 
	MoveArray(SF_LEN, excitation, speech); 
	do_pfilt_dynamic(&LP_Filt, pc, speech); 
 
}