Re: 時系列データをFFTする方法やあ@ダミアン、
最近、いくつかの FFT 作業に取り組んでいるときに、この投稿に戻ってきました。
前述したように、時系列データに対して FFT を実行できますが、スクリプトを作成する必要があります。 行数とサンプリング レートに基づいて、独自の頻度列を生成する必要があります。 また、覚えておくべき非常に重要なことは、データ テーブルにある行の数に基づいて FFT の結果をスケーリングする必要があるということです。 JMP がこれを自動的に行わない理由はわかりません。
FFT 関数を呼び出すときは、FFT 呼び出し関数内にコマンド <
FFT({データ}, <<スケール(1/Nrows(dt)))
ここで、dt は JSL スクリプト内のデータ テーブルへの参照です。 そうしないで逆 FFT を実行すると、元のデータの NRows(dt) 倍の結果が得られます。
残念ながら、Scripting Index やオンラインの JMP ヘルプには、FFT とその方法、またはスケーリングが自動的に行われない理由について説明する情報はあまりありません。
とにかく、FFT コマンドを使用すると、FFT 出力の絶対値と計算された周波数ドメインをプロットし、周波数のピークがどこにあるかを確認できます。
お役に立てれば!、
DS
Re: 時系列データをFFTする方法スクリプトの一部を回避する 1 つの方法: File->MultipleFileImport。 ディレクトリ内のcsvファイルが必要です。
fft() 関数を使用する場合の FFT のアイデアを次に示します (時系列プラットフォームとは異なり、JSL を記述する必要があります)。
FFT ビデオ- オーディオ ファイルの周波数を 1/30 秒ごとに表示
バタワース 2D FFT フィルター- 画像から高周波をフィルタリングする
FFT と DTMF - 番号のダイヤルの録音から電話のタッチ パッド トーンのペアを抽出する
なぞり絵- 解像度を下げたアウトラインを再構築するための 2 つの 1D FFT とコード
振り返ってみると、4 番目は 2 番目で説明した粗いブリックウォール フィルターを使用していると思います。FFT ビンを先細りにするのではなく切り捨てます。
Re: 時系列データをFFTする方法やあ@ダミアン、
JMPを使用してCSVファイルをバッチ処理/ロードできると思います。 少なくとも、ディレクトリ内のすべての CSV ファイルをループ処理し、複数または単一のデータ テーブルを作成して JMP 内で分析するように JMP をスクリプト化できることは知っています。 品質データにアクセスし、さまざまなソースからのデータをマージする必要がある場合は、定期的にこれを行います。 接続速度とファイル サイズによっては、遅くなる場合があります。 私は最高のプログラマーではないので、単純なループよりも効率的で洗練された方法があると確信しています。
時系列プラットフォームには、複雑さに応じて、求めているものを処理できる可能性がある非常に基本的なスペクトル密度機能があります。 私はこれを見つけました役職から@ジェリーフィッシュ2014 年の JMP Discover Summit で発表された、時系列プラットフォームを強化するためのアドインです。 アドインを見つけることができますここ. 私はそれをテストしていないので、その機能についてコメントすることはできません.
最後に、時系列プラットフォーム ([分析] > [特殊モデリング] > [時系列]) には、目的に応じて機能する多くのオプションがありますが、季節的な ARIMA モデルと予測を行うことができます。 [ヘルプ] > [サンプル データ インデックス] には、サンプル データとスクリプトが多数あります。
少なくとも、これで始められるはずです。
お役に立てれば!、
DS
時系列データに対して FFT を実行する方法こんにちは皆さん、
JMP コミュニティにいくつか質問があります。
1a. JMPで複数のファイル(.csv)をバッチ処理することはできますか? もしそうなら、どうすればよいでしょうか?
1b. 時系列データに対してFFTを実行することはできますか? もしそうなら、JMP で実行できる他の周波数領域解析はありますか?
この情報のいずれかが他の場所で取り上げられている場合は、その場所を教えていただければ幸いです。 お時間をいただきありがとうございます。
高度な統計モデリング