Если входной сигнал синусоида и с хорошим отношением SNR, то можно сделать проще и с гарантированной точностью: MATLAB
Если использовать внешний АЦП, получится конечно дороже, но точность может получиться лучше. Точность в конечном счете будет определяться уровнем шума в сигнале.
Алгоритм подробно описывался неким fontp со ссылками на статью Крамера-Рао. Там изложена вся математика и получены предельно достижимые оценки точности измерения частоты. Саму статью fontp тоже выкладывал на форуме:
Single-Tone parameter estimation from Discret-Time observations .