問題タブ [spectral-density]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - Rパッケージpsdのpsd範囲を1.5Hzの周波数に拡張することができません
Rを使用してPSD値が必要な時系列があります。データは不均一な間隔でサンプリングされましたが、予測コマンドを使用してスプライン補間を行い、正確に0.01秒で読み取り値を補間しました。spec.pgram から振幅値を正確に取得できましたが、psd 値ではありません。ただし、psd パッケージの pspectrum コマンドからの psd 値は 0 から 0.5Hz の間だけですが、関心のある領域は約 1.2Hz まで拡張されます。時系列はこちら
python - numpy FFT と scipy.signal.welch で計算された複素数データのパワー スペクトル密度のスケーリング
この優れた回答を読んだ後、実数値データと scipy.signal.welch を介して計算されたデータの FFT ベースのパワー スペクトル密度 (PSD) のスケーリングを示しています。繁雑。
スケーリング係数(「スケール」)を含む上記の回答のコードを直接コピーし、単純にランダム化された虚数成分を入力正弦波に追加しました。
これは以下を出力します:
およびサンプル データ プロット:
また、Welch PSD と FFT PSD のサンプル間の比率は 0.5 です。
問題は、離散フーリエ変換に純粋な実数値ではなく複素数値が与えられると、スケーリングが同じではなくなることだと思います。ただし、スケーリング係数がどうあるべきかを計算する方法がわかりません。倍率を 1/(len(y)^2) に設定すると、PSD のサンプル間の比率は 1 になりますが、スペクトルの総パワーは等しくないことに注意してください。
誰かがこれをよりよく理解するのを手伝ってもらえますか?