• ベストアンサー

FFT解析ツールについて

設備調査の関係で、加速度計による加速度データの収集を行いました。 このデータをFFT解析を実施しようとしています。 Excelではアドインでデータ分析ツールとしてフーリエ変換が付属していますが、 わが家のPCには予算の関係でキングソフトのOfficeをインストールしています。 キングソフトのOfficeでFFTを実施しようとすれば、手段はあるのでしょうか?

noname#217862
noname#217862

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

数値計算をお手軽にやりたいのでしたら、 R, scilab, octaveあたりでしょうか。(いずれも無料) 普段Rを使っていますので、その方法を紹介します。 http://www.r-project.org/index.html から入手できます。 まず、テキストでデータを用意し、特定の列に時系列データdata.txtがあるとします。データは空白かtabで区切ります Rでは data=read.table("data.txt") fft_result=fft(data[[1]]) # 1列目のデータを計算 pow=abs(fft_result)^2 # パワースペクトルに plot(pow, type="l") でグラフにできます。 Rはかなり日本語の書籍もありますし、インターネット上に解説があります FFTの例は http://d.hatena.ne.jp/negikey/20110217/1297891987 あたりも

noname#217862
質問者

お礼

数値計算ソフトを使って算出しました。 新しいソフト導入すると覚えるのが大変なので、数値計算で使い慣れているMaximaで実施できることが分かったので、それでとりあえず家では計算するようにしました。 MicrosoftOfficeは高いだけあって、かゆい所に手が届くツールが豊富なんですね。簡単な操作で答えが出てくるので、作業時間が格段に少なくて済みますね。 今後は、デファクトスタンダードなものを手にするように心がけます。

その他の回答 (2)

noname#210617
noname#210617
回答No.3

>会社の自分のPCで使えるものは、Excelだけです。 なら、結局最終的にExcelを使うしかないのです。 >家でも検討を進めたいもので。 で、Excelを導入する気が無いなら、自宅では”他のツール”を使うしかないし、kingsoftに限定する必要すらない。 それが何でExcelでDFTをするとかいう話になるのか、その思考過程が理解不能です。 ん十年前にFortranの教科書に出ていたBugのあるFFTプログラムを修正し、実行したり、他の言語に移植したりしたことがあります。現時点ではすっかり忘れていてできませんが。 スプレッドシート上に、あのアルゴリズムを展開するのは可能だと思います。 やろうというなら。 でも、手段が目的じゃないんです。目的のために使えるものを選んで使えばいい、それだけのことです。

noname#217862
質問者

お礼

使い慣れたMaximaにFFTの機能があることが分かったので、それを使うようにしました。 なるべく会社にいる時間に、サット計算するようにします。

noname#217862
質問者

補足

すみません。書き間違っていました。 普段は家で表計算する程度では、MicrosoftのExcelもKingsoftのSpreadsheetsも差がないので、Excelと読んでいますので、回答No.1の補足で「DTFをKingsoftのSpreadsheetsで、、」と書くべきでした。すみません。 保存データについては、フォントも含めてほぼExcelと完全互換(但しVBAは互換性ない場合がたまにある)なので、標準的な表計算程度なら、家で編集したものを会社にデータ送付して更新しながら使っている訳です。 おっしゃるとおり、家にいる時はその目的を果たすツールを見つけて使用して、結果だけをExcel形式のデータシートに貼り付けていけば良いだけですね。 手持ちのSpreadsheetsの中の世界でどうにかしようとするのは諦めて、ソフトを探してみます。

noname#210617
noname#210617
回答No.1

キングソフトのOfficeにこだわる必要はないでしょう http://search.vector.co.jp/vsearch/vsearch.php?key=fft

noname#217862
質問者

お礼

Excelもどきに頼らずに、Maximaで計算をするようにしました。こういうときになって初めてMicrosoftExcelはいろんな機能を持ってるから高いんだ!と実感します。

noname#217862
質問者

補足

データの加工をするにあたり、ロガー付属のソフトを導入して解析まで済ませてしまうのが理想なのですが、会社のPCには会社で許可されたソフトしか導入することができません。 ロガーとしているPCはロガー用にしか許可されてないPCなので、データ収集以外の用途に用いるソフトの導入は許可されていませんので、とりあえず測定生データをCSVに変換した状態のものを使います。 したがって、会社の自分のPCで使えるものは、Excelだけです。大きな企業なのでセキュリティーポリシーに例外を設けるのは管理上無理なので、仕方ないのです。 家で仕事せずに、職場で仕事をすれば、FFTもすぐできるのですが、家でも検討を進めたいもので。 学生時代の参考書を引っ張り出してフーリエ変換を改めて学習してみるとDFTをExcelでまじめに計算しようとすると、とてつもない計算回数になりそうなので、FFTをExcelで実現するためのアルゴリズムが分からず、自作は諦めました。 データ量は、100μsで2秒間のデータを12チャンネル分収集しており、測定箇所を変えながら12回やっていますので、Excelのアドインツールくらいの手間で結果を出せる方法を探してます。

関連するQ&A

  • MS-EXCELのフーリエ解析について

    自分で作成したFFTのプログラムを検証するためにマイクロソフトのエクセルの分析ツールにあるフーリエ解析を用いたところ、結果が合いません。 Microcal OriginというグラフソフトにもFFTの解析機能があるので、これで検証したところ、自分のプログラムと一致しました。 いろいろデータをかえて検証してみたところ、自分及びoriginの解析結果の実数部、虚数部ともに、データ個数/2をかけるとちょうどエクセルの結果と同じ値になることがわかりました(2048個のデータを用いると1024倍、16個のデータを用いると8倍)。 エクセルのフーリエ解析結果はなぜデータ個数/2がかかっているのでしょうか?

  • エクセルでFFT

    エクセルの分析ツールにフーリエ解析というのがあるのですが、使い道を教えてください。オンラインヘルプ見ても良くわからんのです。 例をみると1,0 の数列を変換しているのですが、そもそも連続波の解析には使えるのでしょうか? 私がイメージしているのは例えばオシロでやってるFFTをパソコン上で出来るか?というものです。あまり精度は期待してませんが。

  • エクセルでのフーリエ解析について

    ある実験データをエクセルのフーリエ解析ツールで解析したのですが、 出てきた複素数の値をどのような式にあてはめれば、 フーリエ級数を求められるのでしょうか? ※FFTでフーリエ級数を求めて、データ間の補間に使用したいと考えています。参考書などを見ても、パワースペクトルを求めるところまでしか書ていないので・・・

  • エクセルでのFFTで出力できず

    0 0 0 0.006105  0 1 1 0.001 -0.010989  0.9765625 2 2 0.002 -0.025641  1.953125 3 3 0.003 -0.037851  2.9296875 4 4 0.004 -0.042735  3.90625 5 5 0.005 -0.047619  4.8828125 6 6 0.006 -0.047619  5.859375 7 7 0.007 -0.042735  6.8359375 Q&Aを参考に,上記のような形で(データは4列目),分析ツールのFFTにかけようとし,配列を指定して実行ボタンを押すと,「フーリエ解析すべての複素数は,iまたはjの接尾語が必要です」というポップアップウィンドウが出てきて計算が進みません.どのような問題が考えられますでしょうか?

  • 加速度の時系列データからFFT解析を行い周波数に対するパワースペクトルのデータから周波数に対する加速度のデータをへの変換。

    加速度の時系列データからFFT解析を行い周波数に対するパワースペクトルのデータを得ました。ここから周波数に対する加速度のデータを得たいのですが、このようなことは可能なのでしょうか。この考えをすること自体間違えかもしれないのですが、教えていただけますでしょうか。

  • Excelのフーリエ解析

    Excelを使ったフーリエ解析についてお聞きします。 例えば, 時間 0.1 0.2 0.3 0.4 0.5 ・・・(2の偶数乗個のデータ) 強度 0  0 1  0 5 ・・・(2の偶数乗個のデータ) というような時間-周波数テーブルがあると仮定します。このテーブルをExcelのフーリエ解析を使って,周波数-強度のテーブルに変換できますか?  具体的な手順を教えていただけたら助かります。  大学のときに,FFTのプログラムがあって,似たようなことをやっていたのを見たことがあるのですが,Excelを使うのは初めてです。ご存じの方がいたら教えて下さい。

  • 周波数解析について

    周波数解析について何点か質問があります。 FFTを用いてパワースペクトルを求めているのですが、 (1)FFTポイントを小さく、大きくするとそれぞれどのようなメリットがあるのか。 FFTポイントを小さくすると分析時間が短く、大きくすると分析時間が長くなるのは知っているのですが、それに伴い周波数分解能の精度が変化してくるのがいまいち理解できません。 (2)FFTを行う平均回数は例えば5回行うと、加算平均時に使われるデータがFFTポイント5つ分という解釈でいいのか。 以上の二点について分かりやすく解析していただけると幸いです。 当方、数学についての知識が乏しく、この質問内容だけでは答えられないという場合には分かる範囲で追記していきたいと思っています。

  • FFTによるフーリエ変換のピーク値

    エクセルの分析ツールを使って,フーリエ解析をしました。その中でどうしてもわからないところがあったので教えて下さい。例えばある単純な正弦波をフーリエ変換したとします。そのときデータの個数を256, 512, 1024, 2048, 4096というように増加させると,ピーク値に相当する周波数は変化しないのに,ピーク値が増加します。これはどうしてなのでしょうか?このときはどのように処理すればいいのでしょうか?基本的な質問かもしれませんが,どうぞよろしくお願いいたします。

  • 不規則なデータのfft処理

    データサンプリングが不規則なのですが、ExcelでMacroを使って中間値を補間してフーリエ変換FFT処理する方法をお教え頂けないでしょうか? またできればExcelはFFTできる最大が4096ですがMacro処理でそれ以上の数でできるようになりませんか?フリーソフトでも構いません。切り貼りは致します。 両方の質問共にでなくても、片側だけでも良いので、お手数おかけしますが、よろしくお願いいたします。

  • 運動のフーリエ解析について

    数学的手法には初心者なので困っています。 現在、プランクトンの運動解析を行っています。水平方向をX軸、上下動はY軸(奥行きは狭い隙間なので無視)として、30fpsで動画を撮影し、1コマごとの移動度を座標間の引き算で計算して、X、Y方向それぞれの移動度を求め、その各コマ間の移動度のデータをFFTで解析して、運動の周期性を検出して、シミュレーションプログラムを作成しようとしています。  しかし、ここで疑問点が三つ 1) 運動の方向性も同時に検出しているので、座標間の移動度には、+と-があるのですが、この場合、負の数のデータをそのままフーリエ変換してもよいのでしょうか? それとも、例えば最大の絶対値で負方向の数を一律に底上げしたりして、正に置き換えなければならないのでしょうか? 2) 例え負の数をそのままFFTにかけたにせよ、運動の方向性は結果わからなくなりますが、この場合、運動の方向性として、例えば正の移動度と負の移動度の頻度(各コマの移動方向が正なら1負なら-1とする)をフーリエ返還して、正負の周期性を求めることは正しい方法でしょうか? 3)最後に超基本的な質問ですが、この場合、データの平均はどの数字で取るのでしょうか?  やはり移動度の生データだと、正負があるので0に近くなってしまう可能性があります。フーリエ変換結果を平均すべきなのでしょうか? それとも変換結果の絶対値を平均すべきなのでしょうか?

専門家に質問してみよう