Интересно насколько он законен.
Код: Выделить всё
f50 = 50 / sr;
f[0] = 0;
for (int i = 1; i <= N; i++) {
f[i] = - 0.5 * (1 + cos (i * pi / N))
* cos (i * 2 * pi * f50);
}
Фильтр представляет собой разность дельта-функции с центральным нулевым отсчетом, и произведения оконной функции Ханна и косинусоиды с частотой 50 Гц.