Também existe a possibilidade de usar distorção de frequência (também funciona como uma lupa, na medida em que você obtém uma resolução aprimorada na sua faixa de frequência de interesse para o mesmo tamanho de FFT à custa de uma resolução mais baixa em frequências mais altas). No entanto, você não salva nenhum MIPS, pois o tamanho da FFT não é reduzido e a distorção de frequência está longe de ser barata.
Se você deseja calcular apenas determinadas posições na FFT (e, assim, salvar o MIPS), existem alguns métodos para fazer isso. Por exemplo, o DFT deslizante. As referências neste artigo fornecem uma explicação muito boa http://www.comm.utoronto.ca/~dimitris/ece431/slidingdft.pdf . Eu também acho que o algo do Goertzel faz algo semelhante, mas eu não sei.
Depois, há a opção de reduzir a amostragem antes da FFT. Isso provavelmente também salvará alguns MIPS.
Edit: Apenas para esclarecer o comentário sobre o algoritmo Goertzel não sendo útil. Ao conectar diretamente valores à expressão encontrada na parte inferior desta página da wiki http://en.wikipedia.org/wiki/Goertzel_algorithm , a abordagem de Goertzel será mais complexa que uma FFT quando o tamanho da FFT exigida for maior que 128 (supondo que o tamanho da FFT seja um fator 2 e uma implementação radix-2).
No entanto, há outros fatores que devem ser levados em consideração, a favor do Goertzel. Apenas para citar a página wiki: "As implementações e plataformas de processamento da FFT têm um impacto significativo no desempenho relativo. Algumas implementações da FFT [9] realizam cálculos internos de números complexos para gerar coeficientes em tempo real, aumentando significativamente seu" custo K por unidade de trabalho ". Os algoritmos FFT e DFT podem usar tabelas de valores de coeficientes pré-calculados para obter melhor eficiência numérica, mas isso requer mais acessos a valores de coeficientes armazenados em buffer na memória externa, o que pode levar a um aumento na contenção de cache, o que contraria algumas vantagens numéricas. . "
"Ambos os algoritmos ganham aproximadamente um fator de eficiência 2 ao usar dados de entrada com valor real e não com valor complexo. No entanto, esses ganhos são naturais para o algoritmo de Goertzel, mas não serão alcançados para a FFT sem o uso de determinadas variantes de algoritmos especializadas para transformar dados reais. dados avaliados. "