2017-11-06 27 views
0

iam matlab에 코드를 자바로 변환하고 나는 X = ifft(___,symmetric)에 비해 matlab에서 보통 X = ifft(___) 함수의 차이점을 이해하지 못한다. MATLAB Docs 그들은 쓰기 :IFFT Matlab 대칭 Java 대용량 평민

거의 켤레 대칭 벡터를 들어, 역 푸리에는 출력이 진짜 있도록 보장하는 '대칭'옵션을 지정하여 빠르게 변환 계산할 수 있습니다.

즉, FFT가 더 빠름을 의미합니까? 그 결과는 허수 부없이 실수입니다.

Java에서 역 FFT를 사용하려면 Apache Commons 라이브러리를 사용하십시오.

FastFourierTransformer fft = new FastFourierTransformer(DftNormalization.STANDARD); 

     X= fft.transform(X, TransformType.INVERSE); //X is a Complex Array 

Matlab에서 대칭을 사용하면 다른 결과가 나옵니다. matlab에 대칭이 없으면 동일한 결과가 나타납니다.

내 잘못은 무엇입니까? Java로 ifft 대칭을 계산하는 방법은 무엇입니까?

답변

1

X가 실제이고 따라서 Y가 공액 대칭이면 fft 또는 ifft를보다 효율적으로 실행하기 위해 "대칭"옵션을 사용할 수 있습니다. 이 전제 조건이 적용되지 않으면 "대칭"옵션을 사용하지 않아도됩니다. 아마도 네 X가 진짜가 아니 겠지?