Liv писал(а):ARV Для аудио анализатора спектра обычно требуется логарифмическая ось частот. А результат FFT представлен в линейном масштабе по частоте. Поэтому точек может понадобиться намного больше, плюс хитрый алгоритм их группирования.
хитрого там совсем немного
то, что я показал на видео, показывает столбики частот в 63, 125, 250, 500, 1000, 2000, 4000, 8000 и 15000 Гц (приблизительно, т.к. я в этом демо-проекте не делал точный расчет). это общепринятая сетка частот для эквалайзеров, например - я ориентировался на нее. По идее, последняя полоса должна бы быть 16К, но 15К вышло как раз из-за хитростей с количеством точек FFT - последняя гармоника получается не 16, а близкая к ней, но меньше - это понятно

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

что там в "настоящих" спектроанализаторах делают - мне неведомо...
но обе проблемы решаемы вполне.
Если же речь идет о настоящем спектроанализе, то AVR тут не сильно уместен... уже 512 точек FFT для большинства AVR занимают всю память, не говоря уже о времени обсчета их...