|
|
◆ Cfft2b()
| Sub Cfft2b |
( |
L As |
Long, |
|
|
M As |
Long, |
|
|
C() As |
Complex, |
|
|
Wsave() As |
Double, |
|
|
Info As |
Long |
|
) |
| |
2次元複素フーリエ逆変換
- 目的
- 本ルーチンは複素配列中の周期数列の2次元フーリエ変換を計算する. この変換はフーリエ逆変換あるいはフーリエ合成と呼ばれ, 数列をスペクトル空間から物理空間に変換する.
C(j,k) = ΣΣC(l1,m1)exp(2πi(j*l1/L+k*m1/M)) (最初のΣは l1 = 0 〜 L-1, 2番目のΣは m1 = 0 〜 M-1) (j = 0 〜 L-1, k = 0 〜 M-1) (iは虚数単位)
この変換は正規化されており, Cfft2fに続くCfft2bの呼び出し(あるいはその逆)により, アルゴリズム上の制約, 丸め誤差などを除き, 元の配列を復元する.
- 引数
-
| [in] | L | 入力データ行列の行数. (L >= 1) (Lが小さな素数の積で表されると効率が良い) |
| [in] | M | 入力データ行列の列数. (M >= 1) (Mが小さな素数の積で表されると効率が良い) |
| [in,out] | C() | 配列 C(LC1 - 1, LC2 - 1) (LC1 >= L, LC2 >= M)
[in] 入力2次元データ列.
[out] フーリエ逆変換された2次元データ列. |
| [in] | Wsave() | 配列 Wsave(LWsave - 1) (LWsave >= 2*(L+M) + ln(L)/ln(2) + Ln(M)/Ln(2) + 8)
作業データ. 入力データ列の長さLおよびMごとに, Cfft2fあるいはCfft2bを最初に呼び出す前にCfft2iにより初期化しておかなければならない. |
| [out] | Info | = 0: 正常終了.
= -1: パラメータ L の誤り. (L < 1)
= -2: パラメータ M の誤り. (M < 1)
= -3: パラメータ C() の誤り. (配列C()の大きさが不足)
= -4: パラメータ Wsave() の誤り. (配列Wsave()の大きさが不足) |
- 出典
- FFTPACK
- 使用例
- Cfft2fの使用例を参照せよ.
|