QUOTE (ivan219 @ Sep 20 2010, 11:02)

Ну почемуже знаем? Можноже простым подбором. Вот скажем шагаем мы по 1Гц и вдруг вылес бин которого не должно быть значит мы перешагнули шаг назад и уже по 0.1Гц и.т.д. я думаю времени займт не так уж и много. Учитывая что можно посчитамть всего 3-5 бинов вместо целого FFT и по ним уже ориентироватся в идеале должен быть только один центральный бин соответствовать середине частоты, остальные на уровне шума. После чего нехитрая матиматика и частота готова

Перебор в широком диапазоне с большой точностью никогда не есть гуд. Существует более перспективный подход, когда определяется максимальный бин DFT, и два скалярных произведения с комплексными экспонентами (Герцелями, если так больше нравится называть) отстоящими от частоты центрального бина на четверть ширины бина. Дальше снова проводится квадратичная интерполяция спектра мощности по 3-м точкам. В англоязычной литературе такой способ называют часто для убедительности "maxlikelihood extension", поскольку вблизи максимума любую функцию можно приблизить параболой. В принципе этот метод ничем не отличается от квадратичной интерполяции с добавлением нулей, но спектр вне точек DFT оценивается только вблизи максимального бина
В принципе, это "maxlikelihood extension" может быть добавлено к любому алгоритму определения частоты в качестве последней уточняющей фазы.
Я когда-то давал ссылку на алгоритм DMA-RAD быстрого и точного определения частоты по корреляциям разного масштаба(без DFT), так там на последнем этапе авторы предлагают всё равно провести квадратичную интерполяцию по 3-м частотным точкам
http://electronix.ru/forum/index.php?act=A...st&id=20411