// see if we might have hit an overtone (set a limit of 10dB)
for (unsigned i = 6; i >= 1; --i) {
if (best_bin != best_bin / i &&
- 20.0 * log10(in[best_bin] / in[best_bin / i]) < 10.0f) {
+ 20.0 * log10(in[best_bin] / in[best_bin / i]) < 10.0f &&
+ best_bin / i >= 5) {
#if 0
printf("Overtone of degree %u!\n", i);
#endif
double c = y0;
double xmax = (ym1 - y1) / (2.0 * (y1 + ym1 - 2.0 * y0));
- double ymax = 20.0 * (a * xmax * xmax + b * xmax + c) - 80.0;
+ double ymax = 20.0 * (a * xmax * xmax + b * xmax + c) - 70.0;
return std::make_pair(xmax, ymax);
}