Main Content

fftn

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

설명

예제

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

예제

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

예제

모두 축소

fftn 함수를 사용하여 다차원 배열의 각 차원에서 1차원 고속 푸리에 변환을 계산할 수 있습니다.

3차원 신호 X를 생성합니다. X의 크기는 20×20×20입니다.

x = (1:20)';
y = 1:20;
z = reshape(1:20,[1 1 20]);
X = cos(2*pi*0.01*x) + sin(2*pi*0.02*y) + cos(2*pi*0.03*z);

20×20×20 배열인 신호의 3차원 푸리에 변환을 계산합니다.

Y = fftn(X);

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

m = nextpow2(20);
Y = fftn(X,[2^m 2^m 2^m]);
size(Y)
ans = 1×3

    32    32    32

입력 인수

모두 축소

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

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

변환 차원 길이로, 양의 정수로 구성된 벡터로 지정됩니다. sz의 요소는 X에서 해당 차원의 변환 길이에 해당합니다. length(sz)는 최소한 ndims(X)이어야 합니다.

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

세부 정보

모두 축소

N차원 푸리에 변환

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

Yp1,p2,...,pN=j1=0m11ωm1p1j1j2=0m21ωm2p2j2...jNmN1ωmNpNjNXj1,j2,...,jN.

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

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |