Rst7, не в порядке спора, а чисто для пояснения.
боюсь, анализатор спектра в том виде, как его
задумал я, вряд ли станет удовлетворять эстетические потребности, если его сделать
по вашему алгоритму, хотя умозрительно он верный... ведь по-вашему, если на входе присутствует сигнал хоть какой частоты, то анализатор должен что-то показать... так вот, будет очень неубедительно, если флейта станет "индицироваться" столбиками от 1 до 8 кимлогерц - хоть какого уровня... пропадет динамика картины, а именно это главное в подобных девайсах не так ли? мы ведь не о каком-то научном спектральном анализе ведем речь...
что касается математических вычислений, то я их не делал сам, сэкономил силы/время, а воспользовался ранее указанной ссылкой, т.е. ЭлмЧеновской библиотекой - всего лишь подкорректировал ее под свои задачи. А его библиотека, хотя и ведет расчеты в 16-битных целых, страдает погрешностями, например, корень из 9 может оказаться равным 4... (я точно не помню. но когда тестировал - сильно удивлялся). на больших числах погрешность меньше, но все равно где-то до 10-15% запросто достигает... если младшие биты отбрасывать, получается незаметно внешне - я и смирился. кстати, быстродействие ченовской библиотеки ничуть не ниже вашего варианта, и, наверное, даже выше - для 128-точечного БПФ я получал без малого 100fps для своего индикатора 8х8 - причем с учетом семплов АЦП (около 32 ksps)... если память не изменяет, весь цикл был то ли 11, то ли 16 (могу ошибаться) миллисекунд... так что в угоду скорости принесена точность...
Я бы взял частями... но мне надо сразу.