• ベストアンサー

画像を1次元(X軸)FFTした時の位相特性

画像をFFTで周波数空間に変換するのですが、 2次元ではなく、X軸方向に1次元のみを変換します。 Y軸上のどこか任意の場所を1つです。 出力した1次元の信号、ReとImを得ます。 位相=Im/Reとすると、貼付画像のように 直線位相特性になります。 これって、1次元の画像の場合は位相変化がないと 考えてよろしいでしょうか? というのも、電波などの電気信号処理においては、1次元FFTをすると、 位相変化するので、必ずしもキレイな直線位相特性には ならないのです。 電気信号よりも画像のほうは、素直な信号ということでしょうか~

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

  • ベストアンサー
回答No.1

以前にも同様のご質問がありましたが(http://okwave.jp/qa/q7795620.html)、問題解決していないのですね。 そのときも、よほど特殊なケースでないとそのようなことにはならない、とコメントしました。 今回も私のコメントは同じです。つまり、 「位相=Im/Reとすると」というのはarctanとかargumentとかを書き漏らしただけでしょうから、それはさておき、 「貼付画像のように直線位相特性になります。」は、普通はそうなりません。 何か特殊なデータを扱っておられるか、あるいは何かのお間違いをされているかのどちらかでしょう。 画像の横一ラインを取り出すのですよね。それは実数値ですね。 通常の場合は位相は直線にならないという、たとえばの一例を示します。 適当に実数値を次のようにしてみますね。ほんとにデタラメに数値を選びました。任意の画像と言うことで。 data = {1.5, 2.2, 3.4, 2.0, 1.1, 0.9, 3.6, 0.6} これをフーリエ変換すると、 ft={5.40937 + 0. I, 0.116421 + 0.604289 I, -1.55563 + 0.176777 I, 0.166421 + 0.745711 I, 1.37886 + 0. I, 0.166421 - 0.745711 I, -1.55563 - 0.176777 I, 0.116421 - 0.604289 I} で、arctan[Im[ft]/Re[ft]] あるいはargument[ft]は、 {0., 1.38047, 3.02844, 1.35122, 0., -1.35122, -3.02844, -1.38047} で、直線ではありません。

NEW2010
質問者

お礼

たびたび、すいません。 早速のご回答ありがとうございます。 確かに直線ではありませんね。 当方の画像を調査してみます。 なんだか間違っているような気がしてきました!

NEW2010
質問者

補足

当方の勘違いでした! 【原因】 直線位相特性になったのは、以下の理由によるものです。 (1)画像がx軸で1032ピクセルである (2)FFTを行う為にサンプリング周波数を2048ピクセルにする (↓ここから間違い!) (3)メモリの節約として、サンプリングの1032個目以降を  画像の右端から同じ画像を割り当てる。 つまり鏡像関係の様に、 0~1031までのデータが1032から2047まで 折返して入るのです! この為、小さな位相情報は無視され、とても大きな繰り返しデータの 情報を位相として出力していた様です! FFTを早く処理しようとした小細工が仇になったとは! おお!神よ!論文はすでに出てしまいました! 愚かな小生をお許したまえ!

関連するQ&A

  • 画像の周波数空間における直線位相特性

    表題についてお伺いします。 画像をフーリエ変換した時に出力される 周波数空間の位相は、直線位相特性になるのですが、 この意味がわかりません。 (画像参照) デジタルフィルタにおいて、直線位相特性になることは 波形の歪みがないことを指すのですが、画像の場合は何でしょう。 質問 (1)画像における直線位相特性とは? (2)画像を周波数空間に変換した場合の、位相が遅れる、という意味は?

  • FFTの特性について

    非常に初歩的な質問になります。 高速フーリエ変換について、少し勉強しています。 基本的な本を読んで理解をしているつもりだったのですが、フーリエ変換とは時間軸に対して観測したデータを周波数軸に変換して表現した物と認識しています。 では、時間軸で振幅の差は周波数軸に変換した場合、どこに現れるのでしょうか? 例えば、ある信号で同じ周波数のデータがあるとします片方は高振幅、もう一方は低振幅この違いはFFTにかけるとどうなるのでしょうか? 大変漠然とした質問になってしまっていますが、よろしくお願いします。

  • 信号処理における直線位相特性について

    信号処理における直線位相特性について 直線位相特性が θ(ω)=Aω(ただし、インパルス応答が中心対象でありhm=hM-mを満たす) となることを証明したいのですが、計算方法がわかりません。 伝達関数を求めて、周波数応答から求めればよいという方法は分かっているのですが 計算方法がわかりませんん。 図書館で調べてみたのですが、洋書にも上記の式を導出する方法が書いていませんでした。 大変困っています。 お力をお貸しください。

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

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

  • FFTを使って信号を周波数変換する方法を教えてください。

    音信号を周波数変換するプログラムを作成しています。 FFTを使って実現しようとしているのですが、うまくいきません。 現時点で作った方法では、 (1)FFTする。結果は配列x_re[NFFT]、x_im[NFFT]に格納。(x_re:実数部 x_im:虚数部 NFFT:ポイント数、配列の内容としては周波数の低い順に結果データが並んでいる) (2) x_re,x_imの内容をずらす。(例えば以下のように配列内容を1つずらせばIFFTをした時周波数が高くなるはず) for(i=0;i<NFFT-1;i++){ x_re[i+1]=x_re[i]; x_im[i+1]=x_im[i]; } (3)配列x_re[NFFT]、x_im[NFFT]に対しIFFTする。 FFT・IFFTが正しく動作するのは確認しています。 (動作実績も結構あります。(2)を省略し(1)(3)だけとすれば出力結果は入力結果と同じ(出力音声を聴いた感じで)になるので、正しく動作していると思います。) よって(2)が間違っていると思います。 (2)をどのようにすれば周波数変換できるのか教えてください。また今の所FFTを使おうとしているのですが、別に入力信号を周波数変換できればOK(周波数を上げたり下げたりしたい)なので、その方法があれば教えてください(><)

  • 反転増幅器の周波数特性・位相特性について

    初質問です。よろしくお願いします。 741のOPアンプを用いて、差動反転増幅器を製作し、そのアンプにsin波を入力し周波数特性を求める実験をしました。   低周波領域では出力信号は入力信号に対して反転して出力されました。 この「反転」は位相の「遅れ」なのか「進み」なのかが分からなくて困っています。 どなたか教えてください、よろしくお願いいたします。

  • 2次元(xy軸)フーリエ変換の斜め方向って?

    お仕事お疲れ様です! 表題について、お伺いします。 xy軸方向による2次元フーリエ変換の 斜め方向(方程式でいうとy=x、y=-x)って、 意味があるのでしょうか? x軸方向の場合、x軸方向の周波数成分、 y軸方向の場合、y軸方向の周波数成分の 特性が表現されるわけですよね。 すると、斜め方向に現れるものは 斜め方向の周波数成分の特性が表現されて いるように錯覚しちゃうんですけど、違いますよね?

  • 時間領域のインパルス応答と周波数領域での位相特性の関係(デジタル信号処理)

    質問失礼します。 デジタル信号処理の分野において、フィルタの特性をみるときに周波数領域にして、振幅特性と位相特性に分けて解析を行っています。 フィルタのインパルス応答をDFTして、振幅成分を正規化して、IDFTしたものと時間領域でのインパルス応答との関係はどうなるのでしょうか? 画像で見てみると、位相限定画像は原画像の特徴を持っているのが視覚的に分かるので何か式などで証明している文献など知っている人がいましたらよろしくお願いします。

  • 時間軸は1次元でよいのでしょうか?

    時間軸は1次元でよいのでしょうか? (混乱するので虚数時間の話はしないで下さい) 「4次元時空」というと3次元の空間軸(x,y,z) +1次元の時間軸(t)と思いますが、 今、物体AとBがある点Pから等速直線運動で 互いに60度の角度で同じ速度vで離れてゆくと 、出発時刻をt、経過時間をtxとした場合、 t+tx後のAの位置とBの位置、更にP を頂点とする正三角形の底辺がAB間の距離 となります。 それはまたAB間の相対時差でも あります。(この角度が変わると三角関数で距 離が求まります。) さて、ABの進行角度が異なるとABが等速でも 相対時差が三角関数的に変化してしまうという ことは、進む方向(3次元ベクトル)によって相対 時差の変化量が変わるので時間の経過速度は 同じでも進行方向別に、つまりA方向時間軸、B 方向時間軸などの3次元で時間軸を考えるのが 「より適切」なのでは?と思った次第です。 (時間進行が異なるような特殊環境でしか必要 無いかもしれませんが...計算面倒になるし 飛行機の便ごとに時間軸違ったら大変なことに ...実は若干違うらしいですよね) そうすると空間は3次元、時間も実は3次元で 等価どころか完全にイコールになるかと...良 し悪しは別ですが.. たまたま同じ進行に感じるだけで、同じ位置に いない限り実は個別時間が流れているなら そのほうが妥当な気がするのですが... (実用上の要不要は別としてです...) どうしてこんな変なことばかり思いつくんだろう?

  • FFTのサンプル点について

    FFTについて質問したいのですが、ある本を読んでいたら正弦波を時間軸に離散化(そこでは、一周期8サンプル)して、この離散時間信号のスペクトルを 512 点 FFT を用いて見てみましょう、と書いてありその周波数特性の結果がありました。 僕は、今まで512 点 FFT の512点というのは時間軸に一周期内で512点と思っていたのですが、違うのでしょうか?