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

📄 dcovlpc.c

📁 speech signal process tools
💻 C
字号:
/* Copyright (c) 1995 Entropic Research Laboratory, Inc. *//*	Copyright (c) 1987 AT&T	*//*	  All Rights Reserved	*//*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*//*	The copyright notice above does not evidence any	*//*	actual or intended publication of such source code.	*/static char *sccs_id = "@(#)dcovlpc.c	1.2	9/26/95	ATT/ERL";#include <stdio.h>static double *pp,*ppl,*pa;dcovlpc(p,s,a,n,c)double *p,*s,*a,*c;int *n;/*	solve p*a=s using stabilized covariance method	p - cov nxn matrix	s - corrvec	a lpc coef *a = 1.	c - ref coefs				*/{	double ee;	double sqrt(),ps,ps1,thres,d;	int m,n1;	m = dchlsky(p,n,c,&d);	dlwrtrn(p,n,c,s);	thres = 1.0e-31;	n1 = *n + 1;	ps = *(a + *n);	ps1 = 1.e-8*ps;	ppl = p + *n * m;	m = 0;	for(pp=p;pp<ppl;pp+=n1){		if(*pp<thres)break;		m++;	}	ee = ps;	ppl = c + m; pa = a;	for(pp=c;pp<ppl;pp++){		ee = ee - *pp * *pp;		if(ee<thres)break;		if(ee<ps1)fprintf(stderr,"*w* covlpc is losing accuracy\n");		*(pa++) = sqrt(ee);	}	m = pa - a;	*c = - *c/sqrt(ps);	ppl = c + m; pa = a;	for(pp=c+1;pp<ppl;pp++)		*pp = - *pp / *(pa++);	dreflpc(c,a,&m);	ppl = a + *n;	for(pp=a+m+1;pp<=ppl;pp++)*pp=0.;	return(m);}

⌨️ 快捷键说明

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