Нужен ли генератор - это вопрос, КНИ чего нужно измерять. Если просто в откуда-то взявшемся сигнале - принимай и считай, если у усилителя - тогда, безусловно, туда нужно что-то подать. Генератор с КНИ 0.0001% - это тяжеловато, а с 0.0003 - уже вполне, причем на произвольную частоту (ЦАП). Я такое уже делал. Что касается плавучки, то для счета с точностью до 0.001% ее можно использовать при длине в double, а алгоритмы будут куда как проще. Для фиксированной точки с той же точностью нужно уметь считать, как минимум, с точностью 32 бита (и множить уметь 32*32 бита), что для DSP сложнее, чем посчитать в double. Считать БПФ можно и на одном окне, достаточно длинном, а чтобы не сказывались края, использовать оконную функцию, отличную от прямоугольной. По моему опыту, для высокой точности нужно использовать гауссовское окно. Оно обеспечивает, конечно, несколько меньшее спектральное разрешение, чем можно получить с другими, но зато гораздо лучшее амплитудное разделение, если между гармониками только белый шум.
|