- ベストアンサー
複素フーリエ変換の位相について
画像のとおり位相0度から始まるA列の正弦波を複素フーリエ変換しました。 その実部、虚部のグラフがReal、Imagです。 虚数のみ正弦波の周波数のところにピークがあって、実部は0です。つまりこれは位相が90度又は-90度という事になります。 試しに45度から始まる正弦波を複素フーリエ変換すると、上記は-45度になりました。 フーリエ変換の位相というのはそれぞれの周波数成分を正弦波として開始時の位相を求めるものと思っていましたが、実は余弦波だとしているという事なのでしょうか?
- subarist00
- お礼率98% (5802/5895)
- 数学・算数
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>フーリエ変換の位相というのは >実は余弦波だとしているという事なのでしょうか? 1)複素フーリエ変換は余弦波基準です。 1.1)e^(iωx) (=cos(ωx) +i sin(ωx) )を使っているのでそうなる。 2)直流分が実数になるので好都合だし。
関連するQ&A
- フーリエ変換の振幅について教えてください。
エクセルアドインを使って下記サイン波をフーリエ変換しました。 振幅3mm、周波数4Hz、サンプリング周波数256Hzの波形であり、 つまり、フーリエ変換したい波形は3×SIN(2×PI()×4)です。 アドインでフーリエ変換を行い、出てきた複素数の絶対値つまり√(実部^2+虚部^2)を計算すると3を示すと思っていたのですが、実際は周波数4Hzで384 という値になりました。 周波数分析して周波数4Hz時の振幅が3となるようにするには振幅はどう計算すればよいのでしょうか?またいろいろな振幅や周波数の混ざったランダム波でも各周波数での振幅を求めるにはどう計算したらよいのでしょうか?素人ですが教えてください。
- 締切済み
- 数学・算数
- デルタ関数のフーリエ変換について
デルタ関数のフーリエ変換後の波形について質問です よく見かけるδ(t)のフーリエ変換は1になり、実部で周波数軸に平行の波形になるのはわかるのですが t=aの位置にデルタ関数のあるδ(t-a)のフーリエ変換後は波形はどうなるのでしょうか? 私の計算結果だと実部はcos関数、虚部はsin関数になるのですが ある参考書を見たところ定数になっていて、何が正しいのか不明な状況です。 詳しい方がいらっしゃいましたら、是非ご教授お願い致します。
- ベストアンサー
- 数学・算数
- フーリエ変換 位相の範囲
フーリエ変換の位相の範囲について質問です. ある信号をフーリエ変換すると 周波数スペクトルがわかります. 周波数スペクトルには振幅スペクトルと位相スペクトルがあって それぞれ 振幅スペクトル: Xn=√An^2+Bn^2 位相スペクトル:θn=arctanBn/An で表されることは理解できたのですが、 この場合、 θnがとる範囲は0~πですか? 考え方がよくわからないので説明も一緒にわかる方いらっしゃいましたら 教えてください. よろしくお願いいたします.
- 締切済み
- 物理学
- 逆フーリエ変換における位相の考え方
http://power.ee.sophia.ac.jp/~miyatake/lecture/m … 上記のHPを参考に逆フーリエ変換の勉強をしていました。 勉強の結果、周波数とフーリエ振幅さえわかれば、逆フーリエ変換可能と思いました。 では、位相はどのように使うのですか? もしくは、逆フーリエ変換では位相はあまり気にしなくても良いのでしょうか? わかる方がいましたら教えていただけないでしょうか? よろしくお願いします。
- ベストアンサー
- 数学・算数
- 画像の離散フーリエ変換
現在画像の離散フーリエ変換をしており、 「c言語で学ぶ実践画像処理」という本には、 水平方向に1次元の離散フーリエ変換をした後、垂直方向に1次元の離散フーリエ変換をすれば良いと書いてあるのですが、 疑問があります。 最初に実部用の配列と虚部用の配列を用意します。 原画像を水平方向に離散フーリエ変換します。 そうすると、初めに用意した実部、虚部用の配列に値が入ります。 ここからさらに垂直方向の離散フーリエ変換をすると、 実部の垂直方向の離散フーリエ変換から実部と虚部が出て、 虚部の垂直方向の離散フーリエ変換から実部と虚部が出て、最終的には実部用の配列が2個、虚部用の配列が2個必要で、 ここからどうやって離散逆フーリエ変換や、振幅スペクトルを求められるのだろうかと混乱しております。 水平方向に1次元の離散フーリエ変換をした後、垂直方向に1次元の離散フーリエ変換はどのようにすれば良いのでしょうか? よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- サンプリングを高くするほどフーリエ変換値がずれる?
ある周波数解析ソフトで「フーリエ変換」釦があるのですが、サンプリング周波数を高くするほど、フーリエ変換値がずれてしまいます。 (例)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次」のみに表示されるのですが、「フーリエ変換」機能には、区間指定釦がありません。 詳しい説明書きはないのですが、通常そのような使い方となるものでしょうか?
- 締切済み
- その他([技術者向] コンピューター)
- フーリエ 音を1オクターブ上げるにはスペクトルをどういじる?
周波数が倍になると1オクターブ音程が上がるという話を聞いたことがあります。 そこで、フーリエ変換をしたスペクトルデータをいろいろいじってみたのですが、どうしても1オクターブ音程が上がるということが実現できません(逆フーリエ変換をかけて音を確認)。 実際に1オクターブ音程を上げるにはどのようにスペクトル(絶対値・位相(もしくは実部・虚部))を変化させればよいのでしょうか? (音程だけ変化させて、音の速度は変化しないようにしたい)
- ベストアンサー
- 数学・算数
- 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によるフーリエ変換のピーク値
エクセルの分析ツールを使って,フーリエ解析をしました。その中でどうしてもわからないところがあったので教えて下さい。例えばある単純な正弦波をフーリエ変換したとします。そのときデータの個数を256, 512, 1024, 2048, 4096というように増加させると,ピーク値に相当する周波数は変化しないのに,ピーク値が増加します。これはどうしてなのでしょうか?このときはどのように処理すればいいのでしょうか?基本的な質問かもしれませんが,どうぞよろしくお願いいたします。
- ベストアンサー
- 数学・算数
お礼
ご回答ありがとうございました。すっきりしました。