2011-01-03 10 views
0

私はvDSPを使ってアルゴリズムを実装しようとしています。vDSP:FFT関数にウィンドウ処理が含まれていますか?

1)FFT 2を取る)(ルックアップテーブルを使って行うことができます) 3)別のFFT 4を取る)私はそれがあるかどうかわからないんだけど、絶対値

を取る絶対値の2乗のログ取りますFFTを実行する前に、受信データをウィンドウ関数でスローすることができます。

私のFFT機能である
vDSP_fft_zrip(setupReal, &A, stride, log2n, direction); 

私が最初に(...)vDSP_hamm_windowを介してデータをスローする必要がありますか?

+0

おそらくMac OS XやiOSのように見えるかもしれません。 –

答えて

2

iOSアクセラレータライブラリ関数vDSP_fft_zrip()には、ウィンドウ関数の適用が含まれていません(有限長パラメータのために暗示された長方形ウィンドウを数えない限り)。

まず、選択したウィンドウ関数(さまざまなウィンドウ関数が多数あります)を適用する必要があります。

2

私はあなたの特定のライブラリでの経験はありませんが、他のすべてのFFTライブラリでは、データを最初にウィンドウするのはあなた次第です。ライブラリーでは、使用するウィンドウを知ることができず、ウインドウを使用したくない場合もあります(オーバーラップ・アドレッシング・フィルターにFFTを使用している場合や、信号が正確であることがわかっている場合変換ブロック内で周期的)。

さらに、2つのFFTを実行している場合、対数関数を呼び出すオーバーヘッドは比較的小さいです。

2

cepstral analysisのように聞こえますが、最初のFFTの前にウィンドウ機能が必要です。私は単純なHann or Hamming windowをお勧めします。

+0

私は決してそれをやったことはありませんが、エコーを特徴付けるためにトランジェントを分析していると、最初のFFTの前に窓がないのですか? – mtrw

+0

@mtrw:私はOPがケプストラム解析を音声に使用していると誤っていると想定しています。この場合、おそらくウィンドウ関数が必要ですが、すべてのアプリケーションでそうでない場合もあります。 –

+0

あなたが正しいです - http://stackoverflow.com/questions/4583950/cepstral-analysis-for-pitch-detection。 – mtrw

関連する問題