24

C ++ / Qtでの現在のプロジェクトでは、シグナル(基本的にはdoubleの配列)からスペクトログラムを計算できるライブラリ(LGPLが推奨)が必要です。GUI部分にはすでにQwtを使用しています。

助言がありますか?ありがとう。

4

4 に答える 4

19

独自のスペクトログラムを作成するのはかなり簡単です。手順は次のとおりです。

  1. ウィンドウ関数(ハニングなど、かなり些細なこと)
  2. FFT(FFTWは良い選択ですが、ライセンスが問題になる場合は、Kiss FFTなどを選択してください)
  3. 周波数領域成分の対数の大きさを計算します(自明:log(sqrt(re * re + im * im))
于 2010-01-25T16:55:09.760 に答える
11

「周波数と時間のプロットを作成するにはどうすればよいですか?」にはいくつかのライブラリがリストされており、それぞれが信号からスペクトログラムを計算できます。

私自身の答えからコピーして貼り付けました:

オーディオデータからスペクトログラム/ウォーターフォールプロットを生成するためのいくつかのソースコード:

Image to Spectrogramは、上記のユーティリティとは逆の方向に進みます。

于 2012-06-21T05:49:58.083 に答える
1

fftw(fftw.org)を使用してスペクトログラムを計算することもできますが、それでもデータをプロットする必要がありますが、それは問題ではありません。

于 2010-01-25T16:53:23.323 に答える
1

ここからFFTコードを使用できます。効率のためにC++テンプレートメタプログラミングを使用します。完全なソースは、ここで作成者によって提供されます。

テンプレート化された(タイプフレンドリーな)コードを使用するために、このコードをEigenに含めることが提案されました。

于 2015-08-20T14:28:19.690 に答える