Существует также возможность использования частотного деформирования (также работайте как увеличительное стекло, так как вы получаете улучшенное разрешение в интересующем диапазоне частот для БПФ того же размера за счет более низкого разрешения на более высоких частотах). Однако вы не сохраняете MIPS, поскольку размер FFT не уменьшается, а искажение частоты далеко не дешево.
Если вы хотите вычислить только определенные элементы в FFT (и, следовательно, сохранить MIPS), есть несколько способов сделать это. Например скользящий ДПФ. Ссылки в этой статье дают очень хорошее объяснение http://www.comm.utoronto.ca/~dimitris/ece431/slidingdft.pdf . Я также думаю, что goertzel algo делает нечто подобное, но я этого не знаю.
Тогда есть опция понижающей дискретизации перед FFT'ом. Это, вероятно, также сэкономит немного MIPS.
Изменить: просто чтобы уточнить комментарий о бесполезности алгоритма Гертцеля. При непосредственном подключении значений к выражению, найденному в нижней части этой вики-страницы http://en.wikipedia.org/wiki/Goertzel_algorithm, подход Гертцеля будет более сложным, чем БПФ, когда размер требуемого БПФ больше 128 (при условии, что размер FFT является фактором 2, а реализация radix-2).
Однако есть и другие факторы, которые следует принять во внимание, что идет в пользу Гёртцеля. Просто процитирую вики-страницу: «Реализации FFT и платформы обработки оказывают существенное влияние на относительную производительность. Некоторые реализации FFT [9] выполняют внутренние вычисления комплексных чисел для генерации коэффициентов на лету, значительно увеличивая их» стоимость K на единицу. единица работы. "Алгоритмы FFT и DFT могут использовать таблицы предварительно вычисленных значений коэффициентов для лучшей числовой эффективности, но это требует большего доступа к значениям коэффициентов, буферизованным во внешней памяти, что может привести к увеличению конкуренции за кэш, что противостоит некоторым из численных преимуществ «.
«Оба алгоритма получают эффективность примерно в 2 раза при использовании реальных, а не комплексных входных данных. Однако эти усиления естественны для алгоритма Гёртцеля, но не будут достигнуты для БПФ без использования определенных вариантов алгоритма, предназначенных для преобразования реального оцененные данные. "