プロが教えるわが家の防犯対策術!

1次元のデータ(1つの数値の系列)があり、FFTでフーリエ解析をするプログラムがあります。
v(x), x=i*dx (i=1,512)を a(f), f=i*df(i=1,256)に変換するようなものです。フーリエ成分は系列の個数が半分になりますね。情報として位相と振幅あるいはsin, cosということで半分になるようです。逆変換すると元に戻りますね。
 そこで、質問ですが、2次元、3次元のデータv(x,y) or v(x,y,z) x=i*dx, y=i*dy, z=i*dz を a(fx,fy,fz)に変換(あるいは逆変換)するプログラムは先の1次元FFTプログラムを拡張して作れるでしょうか。1次元のプログラムはサンプルプログラムが本に載っていたりしますし、ネット上でもありあそうです。高次元フーリエ変換プログラムということなのですが。どこかにサンプルなどがあると助かりますが。
よろしくお願いします。

A 回答 (3件)

多次元のフーリエ変換って結局のところ各軸ごとにフーリエ変換してるだけだから, 1次元のフーリエ変換さえできれば何次元だろうとできる

.
    • good
    • 0
この回答へのお礼

有難うございます。1つの線に乗った256個のデータをFFTにかけることができるならば(つまり1次元)、平面的に256x256の碁盤のような2次元データならば、x方向に256回、y方向に256回、都合512回のFFT(1次元)をかけることができるはずですね。256個のデータで1回FFTをかけると128分割の周波数でsin, cosですから、256個の情報が得られます。512☓256もの周波数(波数)分解に関する情報となります。それから先はどうなるでしょうか。つまり、周波数(波数)が3次元空間となるので、周波数(波数)事のスペクトル値(パワー?)とか位相?の分布をどうやって計算するかですが。

お礼日時:2015/07/28 12:11

少なくとも、3次元まで検索すればすぐ見つかります




あと、FFT自体で系列の個数は変わりません。
性質を知る上で注目するべき個数は系列の半分かもしれませんが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
512個の空間系列(空間方向に512個並んでいる)があった場合、FFTにかける波数分解数は256個だと思います。複素数なので位相の情報が256個出てくるので都合、512の情報が得られるということになりますね。という風に理解しています。

お礼日時:2015/07/30 22:31

空間周波数をキーワードにして検索してください。



http://www.cfme.chiba-u.jp/~haneishi/class/2008/ …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。画像処理系の研究分野では空間周波数というのでしょうか。物理系の方では波数と言っているようです。

お礼日時:2015/07/30 22:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!