編集:これを読んだ後、このアルゴリズムはこの質問にはあまり役に立たないと思います。とにかく他の読者のために説明します。
Numerical Recipes [PhD thesis][1]に記載されている Filon の求積法に基づく方法である Filonのアルゴリズムもあります。タイムスケールは、結果の周波数スケールと同様に対数間隔です。
このアルゴリズムは、観測された時間間隔で 0 に減衰するデータ/関数に使用されます (これはおそらくあなたの場合ではありません)。典型的な単純な例は指数関数的減衰です。
データがポイント (x_0,y_0),(x_1,y_1)...(x_i,y_i) で示され、スペクトル A(f) を計算したい場合、f は周波数です。たとえば、f_min=1/x_max とします。 f_max=1/x_min log spaced に。次に、各周波数 f の実部は次のように計算されます。
A(f) = i=0 からの合計...i-1 { (y_i+1 - y_i)/(x_i+1 - x_i) * [ cos(2*pi*f * t_i+1) - cos(2 *pi*f*t_i) ]/((2*pi*f)^2) }
虚部は次のとおりです。
A(f) = y_0/(2*pi*f) + i=0 からの合計...i-1 { (y_i+1 - y_i)/(x_i+1 - x_i) * [ sin(2*pi* f * t_i+1) - sin(2*pi*f*t_i) ]/((2*pi*f)^2) }
[1] Blohowicz、Thomas:ニートおよびバイナリ分子ガラスフォーマーのブロードバンド誘電分光法。バイロイト大学、2003 年、第 3.2.3 章