• ベストアンサー

フーリエ変換後に実効値を求めるには?

foobarの回答

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.4

FFTでは波形を各周波数の正弦波の集まり(分布)に分解しています。だもんで、実効値を計算するには求めたい信号の周波数範囲全体について二乗和を計算する必要があります。 

osiete-2012
質問者

お礼

やはり、一点だけの複素数の絶対値だけではダメなのですね。 ただ、FFT結果の中心値までで積算和しても逆に大きすぎるようなのですが、 >周波数範囲全体について二乗和を計算する とは、2乗平均平方根(rms)するということでしょうか? それとも、そのまま2乗和するのでしょうか。

関連するQ&A

  • 2次元データの複素フーリエ変換するコードの作成

    数値計算等の2次元や3次元の空間データ(実数)をFFTによって複素フーリエ変換する実際のプログラム化についてお尋ねします。プログラムの実装ということなので実際的な質問で長文になっています。すみません。 まず、手持ちに1次元のFFTプログラムがあるということを前提とします(逆フーリエ変換すると、元の実数の系列が出ることは確認済のコード)。そして2次元配列の実数のデータがあるとします。この2次元のデータを2次元の複素フーリエ成分に変換することが目的です。(私の分野では波数空間への展開ということになり、複素数ですから位相情報も含まれることになります。) 例えば、x,y方向に16x16のデータあるとすると、 do j=1,16 ここでjを固定してi:1~16の実数データについて1次元のFFTをかける。 このとき、FFTにかける16個の実数データを複素数の実部に入れて、虚部はゼロとする。 FFTの出力も複素数となっている。 ここで出てくる複素フーリエ変換の結果は実部・虚部で前半(0~7)であり、後半(8~15)はその対称とか点対称(符号が逆)とかになっている(虚部をゼロとしているから)。それを複素数の2次元配列として保存する。 enddo 次いで、 do i=1,16 iを固定してj方向にFFTをかける。このとき、FFTに放り込むデータは上記の複素フーリエ変換の出力結果である2次元データを使う。具体的には複素数の2次元データをj方向の1次元の複素数配列にコピーしてFFTをかけて、その出力結果を新たな2次元配列の複素数に保存する。 enddo この結果、得られた2次元の複素数のデータが、私の所望のデータである、ということです。 式が指し示すとおりのことをすればいいのだ、ということに尽きるのだろうと思いますが、アルゴリズム的にアンバランスのように見えてこれでいいのかなと思えてしまいます。最初に虚部をゼロにするというようなこととかです。そのため確信が持てません。また、結果を見てもわかりにくい面があります。 このような考え方で実装するということいいのでしょうか。全く間違っているでしょうか。もしその場合、考え方の間違いを指摘して頂けると助かりますが(根本的な間違いだったら指摘しようがないということにもなりますが。) また、例えば、始めから実数の2次元配列をすぐに2次元複素数の実部に入れて、虚部をゼロとしてそこからコード方がすっきりするのかなと思いますが。 この辺が確定すると、3次元は同じことということになります。 サンプルコードがネットに出ているという面もありますが、自分でやる方が組み込みやすいのでお尋ねしました。 長文で申し訳ありませんが、よろしくお願いします。

  • ラプラス変換とフーリエ変換について教えて下さい。

    ラプラス変換とフーリエ変換の違いは後者が虚数だけなのに対して、前者はそれを拡張して複素数に使えるようにしたものであるということ分かるのですが、その使い分け方がさっぱり分かりません。 ・一般的に微分方程式を解くときにはラプラス変換を用いますが、これをフーリエ変換でしないのはなぜなのでしょうか? ・逆格子ベクトルを作るときや、スペクトラムアナライザーではフーリエ変換を使いますが、これをラプラス変換でしてはいけないのでしょうか? ・計算機用にフーリエ変換にはFFTというものがありますが、ラプラス変換を離散的にしたZ変換の計算機用に速くしたものがないのはなぜなのでしょうか? よろしくお願い致します。

  • 複素フーリエ変換の位相について

    画像のとおり位相0度から始まるA列の正弦波を複素フーリエ変換しました。 その実部、虚部のグラフがReal、Imagです。 虚数のみ正弦波の周波数のところにピークがあって、実部は0です。つまりこれは位相が90度又は-90度という事になります。 試しに45度から始まる正弦波を複素フーリエ変換すると、上記は-45度になりました。 フーリエ変換の位相というのはそれぞれの周波数成分を正弦波として開始時の位相を求めるものと思っていましたが、実は余弦波だとしているという事なのでしょうか?

  • フーリエ変換--フーリエ変換分光法の原理の証明

    画像の2段目の式(B(t)のフーリエ変換)はどのようになるのでしょうか。 A(オメガ)となってほしいのですが, どのように計算すればよいでしょうか。 ちなみにこの式はフーリエ変換分光法において, 「得られたインターフェログラムをフーリエ変換することで, 試料のスペクトルとなる」ということを証明するための式です. 数式中のB(t)をインターフェログラム, A(オメガ)を光源のパワースペクトルと考えています. ----------画像中の数式について--------------- 1段目の積分記号の右にあるRのような文字は複素数の実部を示す記号です. iは虚数, tは時刻, ωは角周波数を示しています. なお, A(オメガ)は実数関数とします. 以上よろしくお願いいたします.

  • フーリエ変換後のスペクトルについて

    ある波f(x)をフーリエ変換するとF(w)になるとします。 その時、F(w)を縦軸F(w)、横軸wでプロットしたものが「f(x)のスペクトル」ですよね。 そこで質問です。 (1)もしF(w)に虚数が含まれている場合にはスペクトルはどういう意味になるのでしょうか。先と同じくプロットできないですよね。 (2)F(w)の値が負となる角周波数wの値の波は位相を180度ずらしたもの、という解釈で正しいでしょうか。 二点お願いします。

  • FFTデータ数が少ないと直流成分が大きく変動する?

    FFTの振幅スペクトルから実効値算出のために単一正弦波をFFTしてみると、(1)のように計算データ点数が少ない場合、窓関数の位置によって「0Hz直流成分」のFFT結果値が大きく変動してしまいます。((2)(3)は窓関数がどの位置でも問題ありません。) この(1)(1サイクル64点=FFTデータ数64個)のような計算の場合、どのように実効値算出すればよいでしょうか?  また、正常な場合でもこれらのサンプル間隔(0、30Hz、60Hz等)の"すき間の部分”は考慮しなくても、全て計算結果に出力されているということでよいでしょうか? 単一正弦波(60Hz)   ((最大値5388.9v=実効値3810.5v)、サンプリング3.84KHz=1サイクル64点)   (実効値換算式=前半の√(実数^2+虚数^2)の合計/(FFTデータ数/2)/√2) (1)FFTデータ数 64個⇒0Hz(0.00~1905.2)???、60Hz(1905.2),120Hz(952.6)、180Hz(0.0)、          ⇒合計( ??? ) (2)FFTデータ数128個⇒0Hz(0.0), 30Hz(952.6),60Hz(1905.2),90Hz(952.6), 120Hz(0.0)、          ⇒合計(3810.4) ≒実効値 (3)FFTデータ数256個⇒0Hz(0.0),15Hz(0.0),30Hz(0.0)、                45Hz(952.6),60Hz(1905.2),75Hz(952.6), 90Hz(0.0),           ⇒合計(3810.4) ≒実効値

  • フーリエ変換

    画像中の2段目の式(B(t)のフーリエ変換)はどのようになるでしょうか. 1段目の式はB(t)の定義を表し, 3段目の式は2段目の式がこうなってほしいなぁという私の願望です. なお, tは時刻, オメガは角周波数, iは虚数, デルタは定数とします. また, Rは虚数の実部を指す記号とします. A(オメガ)は実数関数で偶関数とします. 以前も同様の質問をしたのですが, そのときの回答者様の回答を参考に自分なりに計算した結果, 2段目の式は, A(オメガ)cos(デルタ), となりました. しかし, この2段目の式はある物理現象を表したものなのですが, その物理現象の実験結果から考えると, B(t)のフーリエ変換は画像の3段目の式になってほしいのです. やはり2段目の式はA(ω)cos(デルタ)なのでしょうか. 何かの仮定やうまい計算方法を利用すれば, 3段目の式が答えになるのでしょうか. お力を貸して頂ければ嬉しいです. 宜しくお願いします.

  • FFT処理後のデータの変換について

    時間-加速度波形を、例えば、EXCELでのFFT処理でもって、 実数+虚数とし、これをIMABSという関数で実数化して (周波数-)パワースペクトル?に変換することができますが、 これを、(周波数-)加速度にさらに変換するにはどうすればよいのでしょうか。 FFTアナライザなどFFTをリアルタイムでかけられる機器はありますが、 FFT処理後、どのような過程(計算)を得て、Y軸はdBそして加速度等に標記されているのでしょうか。 教えていただけないでしょうか。

  • 複素数と実数が混在するように見える式について

    時系列解析で、自己相関係数のフーリエ変換がパワースペクトルになるというウィナーキンチンの関係というものがあります。その式では複素数が含まれているので、実数を入力として複素数が含まれている式で計算された出力結果は普通は複素数ということになります。しかし、自己相関係数は実数の系列で、パワースペクトルも実数になると思います(実部と虚部の2乗和なので)。実数に複素数を絡ませて変換して出てきたものが実数になるということになってしまいます。ここが理解できないのですが、どのように考えていくのでしょうか。絶対に虚部がゼロになるから、ということなのでしょうか。 一般にFFTによるスペクトル変換では実数列は複素数の実部にあてて変換する(例えば虚部はゼロにしておくとか)ので複素数から複素数を入出力するということで理解できます。 実際にプログラムでの処理を考えているので概念的な説明だけでは実装することできません。 なお、私は常に標準的なFFTでフーリエ変換しているので複素数での入出力ということなので実数となる系列では先に進めないという感じなのですが。もし出力が実数ということになったとき実部がそれ、虚部がそれ、実部と虚部の2乗和がそれ、というのならわかるのですが。 よろしくお願いします。

  • 【エクセル】株価をフーリエ変換し、波を三つ作りたい

    ※実際はドル円ですが、タイトルの文字数制限の関係で株価と表記することにします エクセルで株価の終値のデータ、128個用意したものをFFTしました。 A0=FFTの実部÷128 // 解析する周期2L=128 A1~A127=FFTの実部÷(128÷2) // 解析する周期2L÷2=128÷2 B1=(-1)*FFTの虚部÷(128÷2) // 解析する周期2L÷2=128÷2 振幅A゜1~A゜63(ナイキスト周波数を考慮して前半A゜0~A゜63のうち、A゜0を除いた)についての棒グラフを作成(→振幅スペクトルのグラフ) ※振幅A゜nはフーリエ係数Anと区別するために別の記号を用いた 振幅スペクトルで大きいほうから3つ(取り出し方はVLOOKUPで取り出したとする)を取り出し、それぞれの波を株価グラフ(折れ線)上に描きたいのですが、どうすれば良いのでしょうか? そこだけが分かりません。 画像が荒くてすみません。