• 締切済み
  • すぐに回答を!

フーリエ変換の振幅について教えてください。

エクセルアドインを使って下記サイン波をフーリエ変換しました。 振幅3mm、周波数4Hz、サンプリング周波数256Hzの波形であり、 つまり、フーリエ変換したい波形は3×SIN(2×PI()×4)です。 アドインでフーリエ変換を行い、出てきた複素数の絶対値つまり√(実部^2+虚部^2)を計算すると3を示すと思っていたのですが、実際は周波数4Hzで384 という値になりました。 周波数分析して周波数4Hz時の振幅が3となるようにするには振幅はどう計算すればよいのでしょうか?またいろいろな振幅や周波数の混ざったランダム波でも各周波数での振幅を求めるにはどう計算したらよいのでしょうか?素人ですが教えてください。

共感・応援の気持ちを伝えよう!

みんなの回答

  • 回答No.2

>これはホワイトノイズのようなランダム波でも同じことになるのでしょうか? 離散複素フーリエ変換をして、サイン成分の振幅、 コサイン成分の振幅と考えると同じことになります。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

エクセルのアドインは使ったことありませんが、 少し前に似たような質問に答えたので、参照してください。 http://oshiete1.goo.ne.jp/qa5777874.html データ数が書いてありませんが、N=256なら、 384/256=1.5=3/2 なのでぴったりです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

返信遅くなってすみません。 振幅=√(Re^2+Im^2)*2/データ数でよいってことですね。 ありがとうございました。 これはホワイトノイズのようなランダム波でも同じことになるのでしょうか?

関連するQ&A

  • 離散フーリエ変換

    フーリエ変換を計算機で扱う場合について聞きたいです。 ある関数(例えばsin(x))を離散フーリエ変換しようとして、まずxを0.1ずつ増やしながらsin(x)をサンプリングします。これを虚部を0として複素数にします。 この後、複素数のフーリエ変換を行い結果が得られます。 と、ここまでは正しいと思うのですが、 その後が分かりません。 文献などに載っているフーリエ変換後のグラフは、横軸が周波数νで、縦軸がf(ν)です。 このグラフと合うようにするには 横軸・縦軸には何をとればいいのでしょうか? 横軸が周波数って言うのは、この場合は1/0.1のことでしょうか? 教えて頂きたいです。お願いします。

  • デルタ関数のフーリエ変換について

    デルタ関数のフーリエ変換後の波形について質問です よく見かけるδ(t)のフーリエ変換は1になり、実部で周波数軸に平行の波形になるのはわかるのですが t=aの位置にデルタ関数のあるδ(t-a)のフーリエ変換後は波形はどうなるのでしょうか? 私の計算結果だと実部はcos関数、虚部はsin関数になるのですが ある参考書を見たところ定数になっていて、何が正しいのか不明な状況です。 詳しい方がいらっしゃいましたら、是非ご教授お願い致します。

  • フーリエスペクトルの振幅について

    ある時間関数を離散フーリエ変換して得られるフーリエスペクトルの 振幅値について教えて下さい。 今想定している離散フーリエ変換の式は一般的なもので Σ(k=0~N-1) f(k)exp(-2πkni/N) を考えています。 また、離散フーリエ変換して得られるスペクトルは √(Re^2+Im^2) で計算します。 離散フーリエ変換を適用する関数を、 振幅1の直流、及び振幅1で周波数5[Hz]の正弦波とします。 (この2つの信号は別々の信号で合成されていません。) サンプリング周波数を20[Hz]とした場合、 サンプリングして得られるデータ列はそれぞれ、 直流: 「1, 1, 1, 1」 正弦波: 「0, 1, 0, -1」 となると想定されます。 (正弦波をサンプリングする場合は位相が関わってきますが、 今回は気にしないで下さい。) このデータ列に対して上記の離散フーリエ変換を適用した場合、 得られるフーリエスペクトルの振幅値はそれぞれ、 直流: 「4」(直流のフーリエスペクトルの振幅値値) 正弦波: 「2」(5[Hz]のフーリエスペクトルの振幅値) となります。 (データ点数は上の通り4点) ここで質問なのですが、 離散フーリエ変換して得られるスペクトルの振幅値から 元の関数の振幅値を求める場合、 フーリエスペクトルをサンプリングの総データ点数で割ることは 数学的に納得できます。 しかしこの例の場合、フーリエスペクトルを総データ点数で割ると、 直流: 「4 -> 1」 正弦波: 「2 -> 0.5」 となってしまい、直流は正しいのですが、 正弦波の元の振幅値を正確に求めることは出来ません。 フーリエスペクトルの振幅値から正弦波の振幅値を正しく求めるには、 「フーリエスペクトルの振幅値*2/データ点数」 としてやらなければいけません。 上記のことに関して、 なぜこのようになるのかを(2をかける理由を)教えて頂けないでしょうか。

  • ある時間関数を離散フーリエ変換して得られるフーリエスペクトルの振幅値に

    ある時間関数を離散フーリエ変換して得られるフーリエスペクトルの振幅値について教えて下さい。 今想定している離散フーリエ変換の式は一般的なもので Σ(k=0~N-1) f(k)exp(-2πkni/N) を考えています。 また、離散フーリエ変換して得られるスペクトルは √(Re^2+Im^2) で計算します。 離散フーリエ変換を適用する関数を、 振幅1の直流、及び振幅1で周波数5[Hz]の正弦波とします。 (この2つの信号は別々の信号で合成されていません。) サンプリング周波数を20[Hz]とした場合、サンプリングして得られるデータ列はそれぞれ、 直流: 「1, 1, 1, 1」 正弦波: 「0, 1, 0, -1」 となると想定されます。 (正弦波をサンプリングする場合は位相が関わってきますが、今回は気にしないで下さい。) このデータ列に対して上記の離散フーリエ変換を適用した場合、 得られるフーリエスペクトルの振幅値はそれぞれ、 直流: 「4」(直流のフーリエスペクトルの振幅値値) 正弦波: 「2」(5[Hz]のフーリエスペクトルの振幅値) となります。 (データ点数は上の通り4点) ここで質問なのですが、 離散フーリエ変換して得られるスペクトルの振幅値から元の関数の振幅値を求める場合、 フーリエスペクトルをサンプリングの総データ点数で割ることは数学的に納得できます。 しかしこの例の場合、フーリエスペクトルを総データ点数で割ると、 直流: 「4 -> 1」 正弦波: 「2 -> 0.5」 となってしまい、直流は正しいのですが、正弦波の元の振幅値を正確に求めることは出来ません。 この例の場合、フーリエスペクトルの振幅値から正弦波の振幅値を正しく求めるには、 「フーリエスペクトルの振幅値*2/データ点数」 としてやらなければいけません。 上記のことに関して、なぜこのようになるのかを(2をかける理由を)教えて頂けないでしょうか。 当方、数学についてはあまり詳しくないため、簡単に説明して頂けると幸いです。

  • サンプリングを高くするほどフーリエ変換値がずれる?

    ある周波数解析ソフトで「フーリエ変換」釦があるのですが、サンプリング周波数を高くするほど、フーリエ変換値がずれてしまいます。 (例)60Hzの正弦波のみの1s間の波形を「フーリエ変換」釦を押すと、 (1)サンプリング周期(10ms)→ 50.5Hz、 52.5Hz、 76.5Hz、の順でピーク点 (2)   〃    (1.0ms)→ 62.5Hz がピーク点。 (3)   〃    (0.1ms)→ 98.5Hz が 〃 (4)   〃   (0.001ms)→  0.0Hz が 〃 となり、周波数ピーク点が60Hzに合いません。このように大きくずれてしまうものでしょうか? なお、同ソフトで「フーリエ級数展開」釦では特定区間指定でき、60Hzの「1次」のみに表示されるのですが、「フーリエ変換」機能には、区間指定釦がありません。 詳しい説明書きはないのですが、通常そのような使い方となるものでしょうか?

  • 音の逆フーリエ変換

    音のデータをFFTし、目的の周波数帯を削ってRFTするソフトを作っています。しかし、実部の削り方は分かっても、虚部のどこを削ると、目的の周波数帯を削ることができるのか分かりません。あるいは虚部には触れなくてよいのでしょうか。実部だけ目的の部分を削ってRFTすると、意外な音が聞こえてきました。 音声加工、(逆)フーリエ変換について教えてください!

  • 画像の離散フーリエ変換

    現在画像の離散フーリエ変換をしており、 「c言語で学ぶ実践画像処理」という本には、 水平方向に1次元の離散フーリエ変換をした後、垂直方向に1次元の離散フーリエ変換をすれば良いと書いてあるのですが、 疑問があります。 最初に実部用の配列と虚部用の配列を用意します。 原画像を水平方向に離散フーリエ変換します。 そうすると、初めに用意した実部、虚部用の配列に値が入ります。 ここからさらに垂直方向の離散フーリエ変換をすると、 実部の垂直方向の離散フーリエ変換から実部と虚部が出て、 虚部の垂直方向の離散フーリエ変換から実部と虚部が出て、最終的には実部用の配列が2個、虚部用の配列が2個必要で、 ここからどうやって離散逆フーリエ変換や、振幅スペクトルを求められるのだろうかと混乱しております。 水平方向に1次元の離散フーリエ変換をした後、垂直方向に1次元の離散フーリエ変換はどのようにすれば良いのでしょうか? よろしくお願いいたします。

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

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

  • フーリエ変換のデータ点数を増やしたい

    現在はエクセルでフーリエ変換・逆フーリエ変換を行っていますが、最大で4096点までしか扱えないそうです。 都合上、16384点のデータをフーリエ変換・逆フーリエ変換を行いたいと思っています。そこで、フリーソフトのFFT君を試してみたのですが、逆フーリエ変換の際に1つのデータしか変換できないみたいです。つまり、複素数の実部・虚部の2つのデータを一度に逆フーリエ変換したいということです。 何かよい方法がありましたら教えていただけないでしょうか。よろしくお願いします。

  • フーリエ変換

    次の問題を解きたいのですが、どうやればいいのでしょうか? 図の波形を+Aづつ足せば、計算が楽になるかと思ったのですが、積分計算に影響あるのでしょうか。よろしくお願いします。 次の波形s(t)のフーリエ変換を計算し、|S(w)| (wは角周波数)を求めよ。