ГОСТ Р 56047—2014
double hannwindow[HANN];
double Etesttmpch1[BARK), Etesttmpch2[BARKj. Ereftmpch1[BARK].
Ereftmpch2[BARK]. Cffttmpch1[HANN/2], Cffttmpc*i2[HANNf2];
int delaytimel. delaytime2:
int count = 0;
int harmsamples = 1;
fftw_plan plan. plan2:
Г Bark Tables */
double *fL, *fC. *fU;
int bark:
struct levpatadaplin levinchl. Ievinch2;
struct modulationin modintestchl. modintestch2. modinrefchl. modinrefch2:
struct moddiffin moddiffinchl. moddiffinch2:
struct bandwidthout bandwidthchl. bandwidthch2:
struct outframes processed:
int
main(int argc. char ’argv[])
{
signed int ch1ref[HANN]:
signed int ch2ref[HANN];
signed int ch1test|HANN]:
signed int ch2test[HANNl;
int opt_line = 0:
int rateref, numchref. bitsampleref. Ipref:
int ratetest. numchtest. bitsamptetest, Iptest:
int boundflag. totalframes = 0;
FILE ’fpref. ’fptest;
struct boundaryfiag boundbe = {0. 0};
struct out oveRet;
/* Parse command line ’/
if (argc < 3)
usage(argv{01);
{
int c = 0;
while ((c = getopt(argc, argv. "r:th")) != EOF)
switch (c) {
case *h’:
usage(argv[0J);
break:
case Y:
optjine |= OPT_REF:
fileref = optarg;
break:
case T:
optjine |= OPT_TEST;
filetest = optarg;
break:
}
}
/* Input control V
if (!(opt_line & OPT_REF) || ’’fileref)
fatalen ("err: -r/-reference <arg> required"):
if (!(optJine & OPT_TEST) || I’frfetest)
fatalen ferr: -L’-test <arg> required*);
52