Main Content

fft2

2차원 고속 푸리에 변환(2-D Fast Fourier Transform)

설명

예제

Y = fft2(X)는 고속 푸리에 변환 알고리즘을 사용하여 행렬 X2차원 푸리에 변환을 반환하는데 이는 fft(fft(X).').'을 계산하는 것과 동일합니다.

X가 다차원 배열이면 fft2는 2차원보다 높은 차원에 대해 2차원 행렬로 처리될 수 있는 X의 각 부분배열의 처음 2개 차원에 대해 2차원 푸리에 변환을 계산합니다. 예를 들어, Xm×n×1×2 배열인 경우 Y(:,:,1,1) = fft2(X(:,:,1,1))Y(:,:,1,2) = fft2(X(:,:,1,2))입니다. 출력 인수 YX와 크기가 동일합니다.

예제

Y = fft2(X,m,n)은 변환을 계산하기 전에 X를 자르거나 X에 후행 0을 채워 m×n 행렬을 만듭니다. X가 행렬인 경우 Ym×n 행렬입니다. X가 다차원 배열이면 fft2mn에 따라 X의 처음 2개 차원 형태를 만듭니다.

예제

모두 축소

2차원 푸리에 변환은 2차원 신호와 기타 2차원 데이터(예: 이미지)를 처리하는 데 유용합니다.

반복된 블록으로 2차원 데이터를 만들고 플로팅합니다.

P = peaks(20);
X = repmat(P,[5 10]);
imagesc(X)

Figure contains an axes object. The axes object contains an object of type image.

데이터의 2차원 푸리에 변환을 계산합니다. 영주파수 성분을 출력값의 가운데로 이동시키고 X와 크기가 같은 결과 100×200 행렬을 플로팅합니다.

Y = fft2(X);
imagesc(abs(fftshift(Y)))

Figure contains an axes object. The axes object contains an object of type image.

X를 0으로 채워 128×256 변환을 계산합니다.

Y = fft2(X,2^nextpow2(100),2^nextpow2(200));
imagesc(abs(fftshift(Y)));

Figure contains an axes object. The axes object contains an object of type image.

입력 인수

모두 축소

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

데이터형: 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

세부 정보

모두 축소

2차원 푸리에 변환

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

Yp+1,q+1=j=0m1k=0n1ωmjpωnkqXj+1,k+1

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

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

i는 허수 단위이고, p와 j는 0에서 m–1까지의 값을 갖는 인덱스이며 q와 k는 0에서 n–1까지의 값을 갖는 인덱스입니다. 이 식은 MATLAB®의 행렬 인덱스를 반영하도록 X와 Y의 인덱스를 1만큼 이동시킵니다.

확장 기능

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |