Es besteht auch die Möglichkeit der Verwendung von Frequenzverzerrungen (auch als Lupe, da Sie eine verbesserte Auflösung in Ihrem interessierenden Frequenzbereich für dieselbe FFT-Größe auf Kosten einer niedrigeren Auflösung bei höheren Frequenzen erhalten). Sie speichern jedoch keine MIPS, da die FFT-Größe nicht reduziert wird und die Frequenzverzerrung alles andere als billig ist.
Wenn Sie nur bestimmte Bins in der FFT berechnen möchten (und damit MIPS speichern möchten), gibt es dafür mehrere Methoden. Zum Beispiel die gleitende DFT. Die Referenzen in diesem Artikel geben eine sehr schöne Erklärung http://www.comm.utoronto.ca/~dimitris/ece431/slidingdft.pdf . Ich denke auch, dass der Goertzel Algo etwas Ähnliches macht, aber ich weiß es nicht.
Dann besteht die Möglichkeit des Downsamplings vor dem FFT'ing. Das wird wahrscheinlich auch einige MIPS sparen.
Bearbeiten: Nur um den Kommentar zu verdeutlichen, dass der Goertzel-Algorithmus nicht nützlich ist. Durch direktes Einfügen von Werten in den Ausdruck am Ende dieser Wiki-Seite http://en.wikipedia.org/wiki/Goertzel_algorithm ist der Goertzel-Ansatz komplexer als eine FFT, wenn die erforderliche FFT größer als 128 ist (Angenommen, die FFT-Größe ist ein Faktor 2 und eine Radix-2-Implementierung).
Es gibt jedoch andere Faktoren, die berücksichtigt werden sollten, die für Goertzel sprechen. Um nur die Wiki-Seite zu zitieren: "FFT-Implementierungen und Verarbeitungsplattformen haben einen erheblichen Einfluss auf die relative Leistung. Einige FFT-Implementierungen [9] führen interne Berechnungen komplexer Zahlen durch, um im laufenden Betrieb Koeffizienten zu generieren, wodurch sich ihre" Kosten K pro "erheblich erhöhen Arbeitseinheit. "FFT- und DFT-Algorithmen können Tabellen mit vorberechneten Koeffizientenwerten verwenden, um eine bessere numerische Effizienz zu erzielen. Dies erfordert jedoch mehr Zugriff auf Koeffizientenwerte, die im externen Speicher gepuffert sind, was zu einer erhöhten Cache-Konkurrenz führen kann, die einen Teil des numerischen Vorteils zunichte macht . "
"Beide Algorithmen erzielen eine Effizienz von ungefähr dem Faktor 2, wenn eher realwertige als komplexwertige Eingabedaten verwendet werden. Diese Verstärkungen sind jedoch für den Goertzel-Algorithmus natürlich, werden jedoch für die FFT nicht erreicht, ohne bestimmte Algorithmusvarianten zu verwenden, die auf die Transformation von real spezialisiert sind -bewertete Daten. "