2016-05-16 7 views
2

したがって、おそらくHammingウィンドウを使用してJuliaにSTFTを実装する方法が不思議です。私はインターネット上で何かを見つけることができません。JuliaでSTFT(短時間フーリエ変換)を実装する最良の方法

どのような方法が最適ですか?私はPythonライブラリを使うのではなく、可能であれば純粋なネイティブジュリアを使いたいと思っています。多分、それはまだJuilaで開発されている機能です...?

ありがとうございます!

+1

リンクされたWikipediaのページの最初の段落で言うことができると思います:時系列のセクション(ウィンドウ)のFFTを取る?これは何が欠けていますか? –

答えて

4

私はJuliaのネイティブのSTFT実装について認識していません。 Davidがコメントで述べたように、これを自分で実装する必要があります。これは非常に簡単です:

1)短時間区間

2にあなたの信号を分割)選択のあなたの窓を適用します(あなたのケースでは、ハミング)

3)ジュリアのfft機能を使用してFFTを取ります。

上記のすべては、かなり標準的な数学的操作であり、オンラインで多くの参考文献を見つけることができます。以下のコードは、ウィンドウ生成を記述するときに0-indexingを使用するのが好きなように、オンライン参照を使用する場合、Juliaの1-indexingに注意してください。

Wb = Array(Float64, N) 
## Hamming Window Generation 
for n in 1:N 
    Wb[n] = 0.54-0.46cos(2pi*(n-1)/N) 
end 

また、DSP.jlのハミングウィンドウ関数を使用することもできます。

P.SジュリアをOS Xで実行している場合は、Julia interfaceをAppleのアクセラレータフレームワークにチェックしてください。これは、非常に速いハミングウィンドウの実装と、便利な畳み込み関数と要素乗算関数を提供します。

関連する問題