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);
}