現在、R の fft 関数を使用して、特定の深度で測定された土壌温度を変換し、異なる深度での土壌温度と熱流束をモデル化しようとしています。
現在、この手順を実装する際に問題が発生しているため、R の fft 関数に関するいくつかの点を明確にしたかったのです。
そのため、数か月間、深さ 5cm (T5) での日時と土壌温度を含む df があります。文献によると、測定データの高速フーリエ変換に基づいて、さまざまな深度での温度と熱流束をシミュレートすることが可能です。したがって、私の最初のステップは当然 DF$FFT = fft (DF$T5) であり、そこから一連の複素数 (Cn)、つまりそれぞれの実数 (an) と虚数 (bn) を受け取ります。文献によると、前述の fft からの出力に基づく式を使用して、T5 データを再作成できます。
*T_(0,t )= meanT + ∑ (An sin〖nωt+φ〗) ̅
注: 合計項は、n=1 と M (最高高調波) の間で合計されます。
ここで、T o,t は特定の時点での温度、期間中の平均温度、t は時間、...
An = (2/sqrt(N))*|Cn|
|Cn| = modulus of the complex number of the nth harmonic Mod (DF$FFT)
phi = arctan (an/bn) i.e. arctan (Re(DF$FFT)/Im(DF$FFT)
omega = (2*pi/N)
残念ながら、R i の fft の出力に基づいて、上記の式を使用して温度値を再現することはできません。を使用してデータを再作成できることに気付きました
fft (fft(DF$T5), inverse = T)/length (DF$T5)
ただし、この方程式の項を使用して他の深さの温度をモデル化するには、上記の方程式でそれを実行できる必要があります。上記の手順で間違っている可能性がある場所で誰かが手を貸してくれませんか. たとえば、上記の手順は、Mathcad の fft 関数が使用された紙に実装されています。私はここで問題の迅速な解決策を探しているわけではないので、その場合はより多くのデータと情報が役立つことを理解しています. 私が探しているのは、たとえば、知っておくべき R fft の特殊性などに関するちょっとしたガイダンスです。
誰かが可能な限り助けてくれれば、それは最もありがたいことです。また、私の問題に関する詳細情報が必要な場合は、お問い合わせください
どうもありがとう
ブラッド