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