이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
ifft2
2차원 고속 푸리에 역변환(Inverse Fast Fourier Transform)
설명
X = ifft2(
는 고속 푸리에 변환 알고리즘을 사용하여 행렬의 2차원 이산 푸리에 역변환을 반환합니다. Y
)Y
가 다차원 배열이면 ifft2
는 2차원보다 높은 차원 각각에 대해 2차원 역 변환을 취합니다. 출력 인수 X
는 Y
와 크기가 동일합니다.
예제
행렬의 2차원 역 변환
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
입력 인수
Y
— 입력 배열
행렬 | 다차원 배열
입력 배열로, 행렬 또는 다차원 배열로 지정됩니다. Y
가 single
형인 경우 ifft2
는 기본적으로 단정밀도로 계산되며 X
또한 single
형이 됩니다. 그렇지 않으면, X
가 double
형으로 반환됩니다.
데이터형: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
복소수 지원 여부: 예
m
— 역 변환 행 개수
양의 정수 스칼라
역 변환 행 개수로, 양의 정수 스칼라로 지정됩니다.
데이터형: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
n
— 역 변환 열 개수
양의 정수 스칼라
역 변환 열 개수로, 양의 정수 스칼라로 지정됩니다.
데이터형: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
symflag
— 대칭 유형
'nonsymmetric'
(디폴트 값) | 'symmetric'
대칭 유형으로, 'nonsymmetric'
이나 'symmetric'
으로 지정됩니다. 반올림 오차로 인해 Y
가 완전한 켤레 대칭이 아니어도 ifft2(Y,'symmetric')
은 Y
가 켤레 대칭인 것처럼 처리합니다. 켤레 대칭에 대한 자세한 내용은 알고리즘 항목을 참조하십시오.
세부 정보
2차원 푸리에 역변환
이 식은 m×n 행렬 Y의 이산 푸리에 역변환 X를 정의합니다.
ωm과 ωn은 복소수 단위근입니다.
i는 허수 단위입니다. p는 1 ~ m이고 q는 1 ~ n입니다.
알고리즘
ifft2
함수는 행렬Y
의 벡터가 두 차원 모두에서 켤레 대칭인지 여부를 테스트합니다. i번째 요소가v(i) = conj(v([1,end:-1:2]))
를 충족하면 벡터v
는 켤레 대칭입니다.Y
의 벡터가 두 차원 모두에서 켤레 대칭이면 역 변환 계산 속도가 더 빠르고 출력값은 실수가 됩니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
대칭 유형
'symmetric'
은 지원되지 않습니다.MEX 출력의 경우, MATLAB® Coder™는 MATLAB이 FFT 알고리즘에 사용하는 라이브러리를 사용합니다. 독립 실행형 C/C++ 코드의 경우, 기본적으로 코드 생성기는 FFT 라이브러리 호출을 생성하는 대신 FFT 알고리즘에 대한 코드를 생성합니다. 설치된 특정 FFTW 라이브러리에 대한 호출을 생성하려면 FFT 라이브러리 콜백 클래스를 제공하십시오. FFT 라이브러리 콜백 클래스에 대한 자세한 내용은
coder.fftw.StandaloneFFTW3Interface
(MATLAB Coder)를 참조하십시오.시뮬레이션 소프트웨어는 MATLAB이 FFT 알고리즘에 사용하는 라이브러리를 사용하여 MATLAB Function 블록을 시뮬레이션합니다. C/C++ 코드 생성 시, 기본적으로 코드 생성기는 FFT 라이브러리 호출을 생성하는 대신 FFT 알고리즘에 대한 코드를 생성합니다. 설치된 특정 FFTW 라이브러리에 대한 호출을 생성하려면 FFT 라이브러리 콜백 클래스를 제공하십시오. FFT 라이브러리 콜백 클래스에 대한 자세한 내용은
coder.fftw.StandaloneFFTW3Interface
(MATLAB Coder)를 참조하십시오.CRL(Code Replacement Library)을 사용하여, Neon 확장이 적용된 ARM® Cortex®-A 프로세서에서 실행되는 최적화된 코드를 생성할 수 있습니다. 이 최적화된 코드를 생성하려면 Embedded Coder® Support Package for ARM Cortex-A Processors (Embedded Coder Support Package for ARM Cortex-A Processors)를 설치해야 합니다. ARM Cortex-A에 대해 생성된 코드는 Ne10 라이브러리를 사용합니다. 자세한 내용은 Ne10 Conditions for MATLAB Functions to Support ARM Cortex-A Processors (Embedded Coder Support Package for ARM Cortex-A Processors)를 참조하십시오.
CRL(Code Replacement Library)을 사용하여, ARM Cortex-M 프로세서에서 실행되는 최적화된 코드를 생성할 수 있습니다. 이 최적화된 코드를 생성하려면 Embedded Coder Support Package for ARM Cortex-M Processors (Embedded Coder Support Package for ARM Cortex-M Processors)를 설치해야 합니다. ARM Cortex-M에 대해 생성된 코드는 CMSIS 라이브러리를 사용합니다. 자세한 내용은 CMSIS Conditions for MATLAB Functions to Support ARM Cortex-M Processors (Embedded Coder Support Package for ARM Cortex-M Processors)를 참조하십시오.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
대칭 유형
'symmetric'
은 지원되지 않습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 Run MATLAB Functions in Thread-Based Environment 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
symflag
가'symmetric'
이 아닌 한, 출력값은 허수부가 모두 0인 경우에도 항상 복소수입니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)