Вычисляю амплитуду полезной синусоиды из записанных аппаратно данных (в записи присутствуют шумы, нелинейные эффекты, ошибки дискретизации и т.д всего понемногу). После оконной функции и БПФ нормирую данные и нахожу максимум в спектре. Для вычисления амплитуды синусоиды необходимо посчитать сумму гармоник вокруг основной.
Так вот вопрос: сколько гармоник суммировать или каким образом вычислять ширину "области суммирования"? Пробовал фиксированное количество гармоник, "пока гармоника не ниже порога", суммировать между локальными минимумами и еще несколько вариантов. Во всех случаях проблема выражается в том, что для целого и нецелого кол-ва волн в записанном семпле результат получается разный (погрешность десятки процентов), видимо спектр "растекается" по-разному. Как сделать правильно? Какую оконную функцию лучше всего применить?
Спасибо.
А по ширине для интегрирования что подскажете? И еще смущает, что: "Окно с плоской вершиной по сравнению с другими окнами обеспечивает самую высокую точность оценки амплитуды спектральной составляющей ..., для выборок сигналов, соответствующих целому числу периодов.", а у меня количество периодов может быть произвольным, а применение БПФ ограничивает в длине буфера (2^n, т.е. буфер нельзя подогнать так, чтобы входило целое число периодов).