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

📄 mexcite.c

📁 4.8k/s速率FS1016标准语音压缩源码
💻 C
字号:
          /*LINTLIBRARY*/          /*PROTOLIB1*/#include <math.h>#include "main.h"#include "mexcite.h"/**************************************************************************** ROUTINE*		ModifiedExcitation** FUNCTION*		Modify the stochastic code book excitation gain** SYNOPSIS*		ModifiedExcitation(LPC_res, Adapt_res, scale)**   formal **                       data    I/O*       name            type    type    function*       -------------------------------------------------------------------*	LPC_res		float	 i	LPC residual*	Adapt_res	float	 i	Adaptive analysis residual*	scale		float	 o	Stochastice codebook gain scale**==========================================================================*	* DESCRIPTION**	Depending on the current system state, the stochastic code book*	excitation is reduced to a level that is low enough to produce*	positive perceptual effects, yet is high enough so as not to upset*	the dynamics of the system.  The main effect of the method is that*	during sustained voiced sounds, the excitation level is attenuated.*	In unvoiced and transition regions the level is amplified to a*	level slightly more than that of standard CELP.**	The relative adaptive code book excitation component is*	increased in voiced regions by decreasing the stochastic code book*	excitation component.  The amount of decrease in the stochastic*	component depends on the efficiency of the adaptive component.*	More reconstruction burden is placed on the adaptive component as*	its efficiency increases.  The efficiency is measured by the*	closeness (in the squareroot crosscorrelation sense) of the residual*	signals before and after pitch prediction.  When the efficiency is *       high (e.g., > 0.9), the stochastic component is amplified slightly*	(e.g., one quantizer level).**	The procedure for modifying the stochastic gain outside the*	search loop is:*	1)  Measure the efficiency of the adaptive component (ccor)*	2)  Search the stochastic code book for the optimum codeword*	3)  Modify the stochastic code book gain**	This method is compatible with Federal Standard 1016.**	This code represents the modified excitation work done by R556 which*	was inspired by the constrained excitation work done by Yair Shoham. ***==========================================================================** CALLED BY**	Analysis**==========================================================================** REFERENCES**	Shoham, Yair, "Constrained-Stochastic Excitation Coding of Speech*	at 4.8 kbps," in Advances in Speech Coding, ed. B. Atal, V.*	Cuperman, and A. Gersho, submitted to Kluwer Academic Publishers.**	Shoham, Yair, "Constrained-Stochastic Excitation Coding of Speech," *	Abstracts of the IEEE Workshop on Speech Coding for*	Telecommunications, 1989, p. 65.****************************************************************************/void ModifiedExcitation(float	LPC_res[RES_LEN],float	Adapt_res[RES_LEN],float	*scale){float	ccor, e1;int	i;/*  Calculate the Euclidean norm of the LPC residual */	e1 = .000001;	for(i=0; i<RES_LEN; i++)	{	  e1 += LPC_res[i] * LPC_res[i];	}/*  Calculate the cross correlation of the LPC residual and the Adaptive analysis residual */	ccor = .000001;	for(i=0; i<RES_LEN; i++)	{	  ccor += Adapt_res[i] * LPC_res[i];	}/*  Normalize the cross correlation */	ccor /= e1;/*  Square root cross correlation scaling */	*scale = sqrt(fabs((double)(ccor)));/*  Modify scale */	if (*scale < 0.2)	  *scale = 0.2;	else	  if(*scale > 0.9)	    *scale *= 1.4;}

⌨️ 快捷键说明

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