Main Content

ifft2

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

설명

예제

X = ifft2(Y)는 고속 푸리에 변환 알고리즘을 사용하여 행렬의 2차원 이산 푸리에 역변환을 반환합니다. Y가 다차원 배열이면 ifft2는 2차원보다 높은 차원 각각에 대해 2차원 역변환을 취합니다. 출력 인수 XY와 크기가 동일합니다.

예제

X = ifft2(Y,m,n)Y를 자르거나 Y에 후행 공백을 채워 m×n 행렬을 만든 후 역변환을 계산합니다. Xm×n이 됩니다. Y가 다차원 배열이면 ifft2mn에 따라 Y의 처음 2개 차원 형태를 만듭니다.

예제

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

예제

모두 축소

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

3×3 행렬을 만들고 이 행렬의 푸리에 변환을 계산합니다.

X = magic(3)
X = 3×3

     8     1     6
     3     5     7
     4     9     2

Y = fft2(X)
Y = 3×3 complex

  45.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i  13.5000 + 7.7942i   0.0000 - 5.1962i
   0.0000 - 0.0000i   0.0000 + 5.1962i  13.5000 - 7.7942i

Y의 역변환을 구해보면, 반올림 오차 범위 내에서 원래 행렬 X와 동일합니다.

ifft2(Y)
ans = 3×3

    8.0000    1.0000    6.0000
    3.0000    5.0000    7.0000
    4.0000    9.0000    2.0000

변환 크기가 8×8이 되도록 Y의 두 차원 모두에 후행 공백을 채웁니다.

Z = ifft2(Y,8,8);
size(Z)
ans = 1×2

     8     8

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

거의 켤레 대칭인 행렬의 2차원 푸리에 역변환을 계산합니다.

Y = [3+1e-15*i 5;
     5 3];
X = ifft2(Y,'symmetric')
X = 2×2

     4     0
     0    -1

입력 인수

모두 축소

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

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

역변환 행 개수로, 양의 정수 스칼라로 지정됩니다.

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

역변환 열 개수로, 양의 정수 스칼라로 지정됩니다.

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

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

세부 정보

모두 축소

2차원 푸리에 역변환

이 식은 m×n 행렬 Y의 이산 푸리에 역변환 X를 정의합니다.

Xp,q=1mj=1m1nk=1nωm(j1)(p1)ωn(k1)(q1)Yj,k

ωm과 ωn은 복소수 단위근입니다.

ωm=e2πi/mωn=e2πi/n

i는 허수 단위입니다. p는 1 ~ m이고 q는 1 ~ n입니다.

알고리즘

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

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

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

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

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

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |