ГОСТ Р 56047—2014
int
critbandgroup(double *ffte. int rate, int hann. double *pe)
{
double fres:
int i. k;
fres = (doubfe)rate.tiann;
for(i=0;i<bark;i++){
pe[i]=0:
for(k=0;k<hana’2;k++) {
if(((double)(k-0.5)*fres) >= fL[iJ
&& ((doubteKk+0.5)’fres <= fUfi]))
pe[ij += p(ffte[k], 2.0):
else
if(((doubteKk-0.5)*fres) < fL[i)
&& <(double)(k+0.5)*fres > RJ[iD)
pe[i] += p(ffte[k], 2.0)‘(fU[il-fL[i])l,fres;
else
if(((doubteKk-0.5)“fres) < fL[i)
&& {(double)(k+0.5)*fres > fL(i]))
pe(i] += p(ffte[k], 2.0)*(double)((k+0.5)
•fres-fl-Oiytres;
else
if(((doubteXk-0.5)*fres) < fU[i]
&& ((double)(k+0.5)*fres > fU[i]>)
pe(i] += p(ffte[kl. 2.0)*(fU(iHdoubleXk-0.5)
*fres)ffres;
}
if(pe[i]<p(10.0.-12.0))
peW = p(10.0. -12.0):
}
return 0:
}
int
AddlntNoise(double *pe)
{
int k:
double Pthres;
for(k=0:k<bark;k++) {
Pthres = p(10.0. 0.4*0.364‘p(fC[ky1000.0. -0.8));
pe{k) += Pthres:
}
return 0:
}
Файл: detprob.h
Г Function prototypes 7
double detprob(double *. double ’. double *. double *. double \
double *, double int *, int):
Г Prototypes end */
Файл: detprob.c
«include <stdlib.h>
«include <math.h>
«include <common.h>
«include <detprob.h>
extern int bark:
68