FFTアナライザーの精度について

評価

応用例1(ドラム) 応用例2(バイク)では拙作の FFTアナライザーのピーク周波数検知の振る舞いが専用アプリよりも良いと評価いただいていますが、これはスキル不足を補った副産物です。

トレードオフ

プログラミングにトレードオフはつきもので、プログラマーは一度に FFT するデータの数を決める際に用途ごとに悩んでいると思います。

詳細

この種のアプリで FFTのデータ数が 16384個でもレスポンスを落とさす事なく描画しているのを確認しています。優れているとは思いますが、65536個に至っていないのは中途半端ですし、65536個で処理したらバッテリーが持たないでしょう。

私は精度・描画速度・消費電力がどれもまあまあになるよう CPU/DMAC/DSP の動きを念頭に試行錯誤した結果、FFTするデータ点数を 4096個固定にしレイテンシーをに設定、結果のピーク周波数付近をラグランジュ補間することにしました。

補間方法の選択では「やった事ない方式でやってみよう」と適当に選んだにも拘らず、結果は驚くほど良好(誤差1〜2Hz)でした。ですが、その事実を認識出来たのは私以外には前記の 2名だけでした。大分前から補間が重要である事を日本の App Store にだけ具体名を挙げて「ラグランジュ補間」と開示していたのですが…