Main Content

ifftn

다차원 고속 푸리에 역변환(Multidimensional Inverse Fast Fourier Transform)

설명

예제

X = ifftn(Y)는 고속 푸리에 변환 알고리즘을 사용하여 N차원 배열의 다차원 이산 푸리에 역변환을 반환합니다. N차원 역변환은 Y의 각 차원에서 1차원 역변환을 계산하는 것과 같습니다. 출력 인수 XY와 크기가 동일합니다.

예제

X = ifftn(Y,sz)는 벡터 sz의 요소에 따라 역변환을 계산하기 전에 Y를 자르거나 Y를 후행 공백으로 채웁니다. sz의 각 요소는 해당 변환 차원의 길이를 정의합니다. 예를 들어, Y가 5×5×5 배열이면 X = ifftn(Y,[8 8 8])은 각 차원을 0으로 채워 8×8×8 역변환 X를 만듭니다.

예제

X = ifftn(___,symflag)는 위에 열거된 구문에 나와 있는 입력 인수 조합 중 하나와 더불어 Y의 대칭성을 지정합니다. 예를 들어, ifftn(Y,'symmetric')Y를 켤레 대칭으로 처리합니다.

예제

모두 축소

ifftn 함수를 사용하여 주파수로 샘플링된 다차원 데이터를 시공간에서 샘플링된 데이터로 변환할 수 있습니다. ifftn 함수를 사용하면 변환의 크기도 제어할 수 있습니다.

3×3×3 배열을 만들고 이 배열의 푸리에 역변환을 계산합니다.

Y = rand(3,3,3);
ifftn(Y);

Y의 차원에 후행 0을 채워 변환의 크기가 8×8×8이 되게 합니다.

X = ifftn(Y,[8 8 8]);
size(X)
ans = 1×3

     8     8     8

배열이 거의 켤레 대칭인 경우, 'symmetric' 옵션을 지정하면 푸리에 역변환을 더 빨리 계산할 수 있습니다. 이 옵션은 출력값이 실수가 되도록 보장하기도 합니다.

거의 켤레 대칭인 배열의 3차원 푸리에 역변환을 계산합니다.

Y(:,:,1) = [1e-15*i 0; 1 0];
Y(:,:,2) = [0 1; 0 1];
X = ifftn(Y,'symmetric')
X = 
X(:,:,1) =

    0.3750   -0.1250
   -0.1250   -0.1250


X(:,:,2) =

   -0.1250    0.3750
   -0.1250   -0.1250

입력 인수

모두 축소

입력 배열로, 벡터, 행렬 또는 다차원 배열로 지정됩니다. Ysingle형인 경우 ifftn는 기본적으로 단정밀도로 계산되며 X 또한 single형이 됩니다. 그렇지 않으면, Xdouble형으로 반환됩니다.

데이터형: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
복소수 지원 여부:

역변환 차원의 길이로, 양의 정수로 구성된 벡터로 지정됩니다.

데이터형: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

대칭 유형으로, 'nonsymmetric'이나 'symmetric'으로 지정됩니다. 반올림 오차로 인해 Y가 완전한 켤레 대칭이 아니어도 ifftn(Y,'symmetric')은 Y 요소의 두 번째 절반(음수 주파수 스펙트럼에 있음)을 무시하여 Y가 켤레 대칭인 것처럼 처리합니다. 켤레 대칭에 대한 자세한 내용은 알고리즘 항목을 참조하십시오.

세부 정보

모두 축소

N차원 푸리에 역변환

N차원 배열 Y의 이산 푸리에 역변환 X는 다음과 같이 정의됩니다.

Xp1,p2,...,pN=j1=1m11m1ωm1p1j1j2=1m21m2ωm2p2j2...jN=1mN1mNωmNpNjNYj1,j2,...,jN.

k = 1,2,...,N인 경우 각 차원의 길이는 mk이며, ωmk=e2πi/mk은 복소수 단위근입니다. 여기서, i는 허수 단위입니다.

알고리즘

  • ifftn 함수는 다차원 배열 Y가 켤레 대칭인지 테스트합니다. Y가 켤레 대칭이면 역변환 계산 속도가 더 빠르고 출력값은 실수가 됩니다.

    함수 g(a,b,c,...)g(a,b,c,...)=g*(a,b,c,...)인 경우 켤레 대칭입니다. 하지만 다차원 시간 영역 신호의 고속 푸리에 변환에서 스펙트럼의 절반은 양의 주파수이고 나머지 절반은 음의 주파수입니다. 이때 첫 번째 행, 열, 페이지 등은 영주파수용으로 예약됩니다. 이런 이유로 다음 모든 조건이 충족되는 경우 3차원 배열 Y는 켤레 대칭입니다.

    • Y(1,1,2:end)가 켤레 대칭, 즉 Y(1,1,2:end) = conj(Y(1,1,end:-1:2))

    • Y(1,2:end,1)이 켤레 대칭, 즉 Y(1,2:end,1) = conj(Y(1,end:-1:2,1))

    • Y(2:end,1,1)이 켤레 대칭, 즉 Y(2:end,1,1) = conj(Y(end:-1:2,1,1))

    • Y(1,2:end,2:end)가 켤레 중심대칭, 즉 Y(1,2:end,2:end) = conj(Y(1,end:-1:2,end:-1:2))

    • Y(2:end,1,2:end)가 켤레 중심대칭, 즉 Y(2:end,1,2:end) = conj(Y(end:-1:2,1,end:-1:2))

    • Y(2:end,2:end,1)이 켤레 중심대칭, 즉 Y(2:end,2:end,1) = conj(Y(end:-1:2,end:-1:2,1))

    • Y(2:end,2:end,2:end)가 켤레 중심대칭, 즉 Y(2:end,2:end,2:end) = conj(Y(end:-1:2,end:-1:2,end:-1:2))

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |