46 #include "EST_wave_aux.h"
47 #include "EST_simplestats.h"
48 #include "EST_cutils.h"
61 " channel EST_Wave with " << b.
num_channels() <<
" channel EST_Wave\n";
65 for (i = 0; i < size; ++i)
67 diff.a(i, j) = a.
a(i, j) - b.
a(i, j);
72 void meansd(
EST_Wave &tr,
float &mean,
float &sd,
int channel)
77 for (n = 0, i = 0, mean = 0.0; i < tr.
num_samples(); ++i)
79 mean += tr.
a(i, channel);
86 var += pow(tr.
a(i, channel) - mean, float(2.0));
98 for (i = 0; i < size; ++i)
99 sum += pow(
float(a.
a(i, channel) - b.
a(i, channel)),
float(2.0));
101 sum = sqrt(sum / size);
110 for (i = 0; i < size; ++i)
113 sum += fabs(
float(a.
a(i, channel) - b.
a(i, channel)));
126 for (i = 0; i < size; ++i)
129 predict = b.
a(i, channel);
130 real = a.
a(i, channel);
133 error = predict-real;
136 xx += predict*predict;
157 wave.
a(i, j) = abs(wave.
a(i, j));
169 " channel EST_Wave with " << b.
num_channels() <<
" channel EST_Wave\n";
174 e[i] = rms_error(a, b, i);
188 " channel EST_Wave with " << b.
num_channels() <<
" channel EST_Wave\n";
193 e[i] = abs_error(a, b, i);
207 " channel EST_Wave with " << b.
num_channels() <<
" channel EST_Wave\n";
212 cor[i] = correlation(a, b, i);
227 int *r =
new int[relax*3];
233 for (k = 0, j = Gof((i - relax), 0); j < i + relax + 1; ++j, ++k)
235 if (ref.
a(i, l) > 0.5)
236 r[k] = ((j < test.
num_samples()) && (test.
a(j, l)> 0.6)) ?1
239 r[k] = ((j < test.
num_samples()) && (test.
a(j, l)< 0.4)) ?1