1

AppleのAccelerateFramework(iOSデバイスで実行)を使用して、配列データを取得し、その上で高速フーリエ変換を実行するコードを正常に実装しました。

私の質問は、周波数軸のスケールは何ですか?結果は特定の周波数範囲で期待どおりにピークになりますが、周波数がどうあるべきかわかりません。Accelerate FrameworkのFFT関数は、配列を取り込んで、同じ(またはそれ以上)の数のデータポイントを持つ配列を吐き出します。それらすべてのポイントが時間的に等間隔に配置されていると想定していますか?サンプリング周波数や時間変数を入力として使用しません。周波数軸のスケール(つまり、各ポイントの周波数増分)は、サンプリング周期を2 * Pi(またはそれに類似したもの)で割ったものですか?これに関するドキュメントには多くの情報が見つかりませんでした。オンラインで同様の質問を探していましたが、何も見つかりませんでした。

これはある意味数学の質問ですが、AccelerateFrameworkの実装に大きく依存しています。

ありがとう

編集私はここでフォローアップの質問をしましたが、まだ誰もそれに答えていません。ぜひご覧ください!

4

2 に答える 2

7

FFTは、サンプリング周波数まで線形間隔の周波数ビンを提供します。これは、ビン間の間隔が(サンプル頻度)/(ビンの数)であることを意味します。

于 2012-04-22T22:37:11.520 に答える
5

周波数軸のスケールは、Accelerateフレームワークの実装に依存せず、時間領域データのサンプルレート(FS)とFFTの長さ(N)にのみ依存します。任意のFFT。

厳密に実際のデータ入力の場合、FFT結果の後半は、前半の複素共役になります。通常、実際のデータについては、FS/2までの前半のみがプロットされます。

于 2012-04-23T03:01:38.263 に答える