Как найти амплитуду синусоиды в сигнале?
==========================================

 Вычисляю амплитуду полезной синусоиды из записанных аппаратно данных (в записи присутствуют шумы, нелинейные эффекты, ошибки дискретизации и т.д всего понемногу). После оконной функции и БПФ нормирую данные и нахожу максимум в спектре. Для вычисления амплитуды синусоиды необходимо посчитать сумму гармоник вокруг основной.  

Так вот вопрос: сколько гармоник суммировать или каким образом вычислять ширину "области суммирования"? Пробовал фиксированное количество гармоник, "пока гармоника не ниже порога", суммировать между локальными минимумами и еще несколько вариантов. Во всех случаях проблема выражается в том, что для целого и нецелого кол-ва волн в записанном семпле результат получается разный (погрешность десятки процентов), видимо спектр "растекается" по-разному. Как сделать правильно? Какую оконную функцию лучше всего применить?  

Спасибо. 

 для нахождения амплитуды лучшим окошком считается  

[https://en.wikipedia.org/wiki/Window\_function#Flat...](https://en.wikipedia.org/wiki/Window_function#Flat_top_window)