Main Content

fftw

FFT 알고리즘을 결정하는 방법 정의

설명

method = fftw('planner')는 고속 푸리에 변환 함수 fft, fft2, fftn, ifft, ifft2, ifftn이 변환 알고리즘을 결정하는 방법을 반환합니다. 디폴트 방법인 'estimate'는 데이터의 크기를 기준으로 알고리즘을 결정합니다.

예제

previous = fftw('planner',method)는 방법을 설정하고, 선택적으로 이전 방식을 반환합니다. 예를 들어, fftw('planner','measure')는 데이터의 크기와 데이터형을 기준으로 가장 빠른 알고리즘을 선택합니다.

예제

fftinfo = fftw(wisdom)wisdom에 지정된 정밀도에 대해 현재 MATLAB® 세션에 설정된 최적의 변환 파라미터를 반환합니다. 예를 들어, fftinfo = fftw('dwisdom')은 현재 배정밀도 변환 파라미터를 저장합니다.

예제

previous = fftw(wisdom,fftinfo)wisdom에 지정된 정밀도에 대해 fftinfo의 파라미터를 변환 알고리즘에 적용합니다.

예제

모두 축소

fftw 함수는 데이터 크기와 데이터형에 따라 계산을 최적화하여 푸리에 변환 함수의 성능을 향상시킬 수 있습니다.

기존 배정밀도 변환 파라미터를 지웁니다.

fftw('dwisdom',[]);

현재 MATLAB® 세션 내에서 푸리에 변환을 'measure'로 최적화하도록 메서드를 설정합니다.

fftw('planner','measure');

확률 벡터를 정의하고 fft 함수를 사용하여 푸리에 변환을 계산합니다. fft는 500×1 변환의 계산을 최적화하는 알고리즘을 사용합니다. fft에 대한 첫 번째 호출은 정상 속도보다 느릴 수 있지만, 후속 호출은 훨씬 빨라집니다.

X = rand(500,1);
tic; fft(X); toc;
Elapsed time is 0.087126 seconds.
tic; fft(X); toc;
Elapsed time is 0.000254 seconds.

나중에 사용할 수 있도록 현재 배정밀도 변환 알고리즘 파라미터를 변수 fftinfo에 할당합니다.

fftinfo = fftw('dwisdom');

변수 fftinfo에 저장된 파라미터 정보를 후속 변환 함수 호출에 적용합니다.

fftw('dwisdom',fftinfo);

입력 인수

모두 축소

변환 파라미터를 설정하는 방법으로, 다음 중 하나로 지정됩니다.

  • 'estimate' — 문제의 크기에 따라 최적 추측값 변환 알고리즘을 결정합니다.

  • 'measure' — 여러 개의 변환을 계산하고 실행 시간을 측정하여 더 나은 알고리즘을 찾습니다.

  • 'patient''measure'보다 더 폭넓게 테스트를 실행하여 더 나은 변환 알고리즘을 찾지만, 파라미터를 결정하는 데 더 많은 계산이 필요합니다.

  • 'exhaustive' — 최적 테스트가 아닌 테스트를 비롯하여 모든 테스트를 실행하여 최적의 알고리즘을 찾지만, 파라미터를 결정하는 데 계산이 가장 많이 필요합니다.

  • 'hybrid' — 차원 길이가 8192 이하인 변환에 대해서는 'measure'를, 차원 길이가 8192보다 큰 변환에 대해서는 'estimate'를 사용합니다.

데이터형: char | string

변환 파라미터 정밀도로, 'swisdom' 또는 'dwisdom'으로 지정됩니다. 옵션 'swisdom'은 단정밀도 계산의 변환 파라미터를 지정하고 'dwisdom'은 배정밀도 계산의 파라미터를 지정합니다.

데이터형: char

변환 파라미터로, fftw(wisdom)으로 반환된 변환 파라미터의 문자형 배열 또는 빈 배열 []로 지정됩니다. 빈 배열 []은 데이터베이스를 지웁니다.

데이터형: char

  • fftw로 반환된 변환 파라미터는 세션마다 동일한 MATLAB 버전을 사용하는 단일 컴퓨터에 저장되고 적용될 때 유용합니다. 두 컴퓨터의 운영 체제와 MATLAB 버전이 동일하더라도 저장된 파라미터를 다른 컴퓨터로 전송하면 성능이 저하될 수 있습니다.

알고리즘

  • 214과 222 사이에 있는 2의 거듭제곱인 변환 길이의 경우 MATLAB은 내부 데이터베이스에서 사전에 불러온 정보를 사용하여 변환 계산을 최적화합니다. 2의 정확한 거듭제곱에 대해서는 명령 fftw(wisdom,[])을 사용해 데이터베이스를 지우지 않는 한 조정이 실행되지 않습니다.

참고 문헌

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | |