• 締切済み

Octaveを使ったFFTについて

Windows用のGNU Octave3.0.3を使っているのですが、 今回OctaveのFFT関数を試してみようと思い 「​http://diaspar.jp/node/209​」 ↑このサイトに書いてある通りのプログラムで、 簡単な合成波にFFTをしてみました。 結果、サイトに書いてある通りのグラフが表示されたのですが、 元の式がy=sin(2*pi*100*t) + sin(2*pi*150*t)ですので、 100Hzと150Hzでピークを迎えることはわかるのですが、 なぜピーク時での値が約90になるのでしょうか? (私は同じピークを迎えるとしても、90ではなく値が1になると思っていました。) この結果はいったい何を表わしているのでしょうか? よろしくお願いいたします。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

FFT や DFT はその逆の IFFT (IDFT) と組になって定義するのが普通ですが, 定義そのものはいくつかあります. Octave でどの定義を使っているのか分かりませんが, 2個の正弦波が重なっているので分かりにくいような気がします. とりあえず, 分かりやすいように 1Hz の正弦波だけを使って FFT をかけてみたらどうなりますか? あと, グラフから読み取るのではなく実際の値を見てみた方がよいと思います.

関連するQ&A

  • FFT後の振幅値

    振幅値が1で5Hzのsin波をFFTにかけたところ、実数部と虚数部それぞれ出力されました。 横軸を周波数軸、縦軸を実数部としてグラフ化したところ、5Hzのところに鋭いピークがみられるのですが、スペクトルの値が元のsin波の振幅値1にならず、とても大きな値になります。 これは計算が間違っているのでしょうか?

  • FFT(高速フーリエ変換)について

    直流成分0の正弦波と矩形波形をFFTするとFFTグラフには 正弦波・・・・一本の線のピーク 矩形波形・・・・複数の線のピーク となっているのですが、 FFTグラフの横軸と縦軸はなんでしょうか? FFT結果を複素数の絶対値を計算しグラフ化するのですが 何故、FFT結果が複素数なのですか? 定義式(g(t)=直流成分+Cos成分+Sin成分)をみる限り 複素数にならないと思います。 それか見ている式が違うのでしょうか? あと定義式(ある時間信号g(t)が、ある周期Tを持つ連続関数である時) であるのですが、”ある時間信号g(t)”っていうのはよくわかりません。 このgを求めることが 正弦波・・・・一本線のピーク 矩形波形・・・・複数の線のピーク になる理由がわかるのですか? ご指導の程、よろしくお願い致します。

  • 1/3オクターブ分析

    ある振動波形のFFT結果として、周波数(Hz)と加速度(m/s^2)があります。このデータをExcelを用いて1/3オクターブ分析の値を計算上(数学的な算術結果)求めたいのですが、計算式(定義式?)をご教示いただけませんでしょうか?何卒宜しくお願いいたします。

  • FFT解析について

     FFT解析について不明な点があります。 例えばf(t)=2sinωt という時間関数があったとします。  これをFFT解析してF(ω)-ωグラフにしたとします。この時、ω=ωに対してのみF(ω)という出力が得られると思うのですが、この時F(ω)はf(t)=2sinωtの振幅の2になるのでしょうか?  フーリエ変換の式では、e^(-jωt)とf(t)を積分した値が、F(ω)になるので感覚的に考えても違うのかな と思っているのですが。  

  • EXCELを使ってFFT(高速フ-リエ変換)をする方法2

    添付ファイルの波形のスペクトル及びパワースペクトルを求め、それらの違いについて考察せよ。ただし、データ数1024個でFFTを行うこと。 1.波形1:sin波 1周期(振幅1) A:1(A1)-1024(A1024)の番号が並んでいる B:B1=SIN(2*PI()*(A1-1)/1024+PI()/4)~B1024=SIN(2*PI()*(A1024-1)/1024+PI()/4) この場合EXCELでどのような操作を行うとFFT(高速フ-リエ変換)をした波形になるのでしょうか?結果は複素数になるのでグラフ化のとき何かしなければならないと思うのですが詳しい方教えてください.お願いします. 波形のスペクトルとパワースペククトルの違いもよくわかりません。

  • FFTの計算結果について

    FFTについて勉強しています。 「教えてgoo」でFFTで、検索したら、 http://momonga.t.u-tokyo.ac.jp/~ooura/fft-j.html の、計算パッケージが良いと分かったのですが、計算結果の、読み方?が、分かりません。fftsg.c か、fft8g.c を利用して、計算結果を利用してグラフを描こうと考えています。それで、質問なのですが、 1.サンプリング周波数 44.1KHz  16ビットで 8192個のデータを計算させた場合、計算値として得られる、配列は、周波数の小さい順に並んでいるらしいことは、分かるのですが、それぞれのデーターの周波数は、どうなっているんでしょうか?  単純に0Hzから22050Hzを8192で、割った小さい順で良いのでしょうか? 2. また、パワースベクトルは、どの様に計算したらいいのでしょうか? 20log絶対値 で、良いのでしょうか?  よろしくお願いします。

  • FFTの結果ついて

    ある50kHzの信号を1024点FFTにかけ、横軸周波数、縦軸をパワースペクトルに変換しました。  しかし、0Hzのところにとても大きな値が出力されました。 3Hzの正弦波を入力した際にはちょうど3Hzのところにピークが現れたので計算は合っていると思うので、原因がよくわかりません。   後、スペクトルをdb表示にしたいのですが、計算方法がわかりません。 申し訳ないですが、どなたか教えて下さい。

  • MATLABによるFFTと位相スペクトルについて

    純粋な正弦波信号 y=sin2πft ただし周波数f=500MHz をサンプリング周波数2.5GHz,サンプリング数128,256,512,1024の四パターンMATLABでFFTし、パワースペクトルと位相スペクトルを求めました。 結果、パワースペクトルは予想通り500MHzでピーク値をとったのですが、位相スペクトルは各サンプリング数ごとに全く違う値を取りました。 というわけで、 (1)理論上、正弦波の位相スペクトルはどのような値になるのか (2)なぜサンプリング数ごとに位相スペクトルの結果が大きく変わったのか この二点をご教授ください。よろしくおねがいします。

  • 定義とFFTで導出した自己相関が違います

    ある離散信号x(t)の自己相関を求める際に 「定義通りにf(τ)=Σx(t)x(t-τ)で求めた結果」と 「xをFFTしてパワースペクトルを求めて,その逆FFTで求めた結果」 が異なるのですが,当たり前のことでしょうか? 自己相関の畳み込みはFFTの掛け算と同じだと理解していたのですが... 御教授のほどお願いします.

  • 衝撃信号のFFTに関して質問です。

    建設現場の杭打ちによる衝撃信号(加速度)をサンプリング周波数25.6kHzにて10秒間収録しました。このデータをOriginやDADiSP等信号解析ソフトウェアを使用してFFTを行いました。 その結果として、25.6kHz×10秒=256,000個のデータを十把一からげでFFT(DFT?)を行った場合の振幅と、リサンプリングして256Hz×10秒=2,560個のデータを十把一からげでFFTした場合の振幅が明らかに異なるのですが、その理由をご教示頂きたくお願いいたします。 同じ、解析ソフトウェアの仕様によって若干周波数分解能は異なりますが、計算上はどちらの場合も周波数分解能は0.1Hzですので、近似の値が欲しいのですがうまくいきません。 サイン波のような定常信号で同じ処理を行った場合は、ほぼ同等の結果が得られたのに対して、単発の衝撃信号の場合は、衝撃時以外の波形がほぼフラットなため広い周波数帯に分散されてしまうのでしょうか? 調査対象として100Hz以上の周波数は必要無かったので、リサンプリングしてみた結果が上記のような内容となってしまいました。 私の処理方法が誤っていればそれはそれで助かるのですが・・・。 何卒宜しくお願いいたします。