周波数ワーピングを使用する可能性もあります(同じサイズのFFTで関心のある周波数範囲で解像度が向上し、周波数が高くなると解像度が低下するという点で拡大鏡としても機能します)。ただし、FFTサイズは縮小されず、周波数ワーピングは決して安価ではないため、MIPSを保存する必要はありません。
FFTで特定のビンのみを計算する(したがってMIPSを保存する)場合は、いくつかの方法があります。たとえば、スライディングDFT。このペーパーの参考資料は、http://www.comm.utoronto.ca/~dimitris/ece431/slidingdft.pdfの非常に優れた説明を提供します。goertzelアルゴも同様のことをしていると思いますが、それはわかりません。
次に、FFTする前にダウンサンプリングするオプションがあります。これにより、おそらくMIPSも節約できます。
編集:Goertzelアルゴリズムが役に立たないというコメントを明確にするために。このWikiページhttp://en.wikipedia.org/wiki/Goertzel_algorithmの下部にある式に値を直接差し込むことにより、必要なFFTのサイズが128より大きい場合、GoertzelアプローチはFFTよりも複雑になります。 (FFTサイズが2の因数であり、基数2の実装であると想定しています)。
ただし、ゲルツェルを支持する考慮すべき他の要因があります。Wikiページを引用すると、「FFT実装と処理プラットフォームは、相対的なパフォーマンスに大きな影響を与えます。一部のFFT実装[9]は、内部の複素数計算を実行してオンザフライで係数を生成し、「コストK / FFTおよびDFTアルゴリズムでは、数値計算の効率を高めるために事前計算された係数値のテーブルを使用できますが、これには外部メモリにバッファリングされた係数値へのアクセスが必要になるため、数値の利点の一部に対抗するキャッシュ競合が増加する可能性があります」
「両方のアルゴリズムは、複素数値ではなく実数値の入力データを使用すると、約2倍の効率を実現します。ただし、これらのゲインは、ゲルツェルアルゴリズムでは自然なものですが、実数の変換に特化した特定のアルゴリズムバリアントを使用しないと、FFTでは実現できません。価値のあるデータ。」