2012-01-30 3 views
3

복소수 값의 스펙트럼에서 iFFT를 수행하고 첫 번째 샘플을 널링한다고하여 해당 시간 도메인 신호를 변경합니다. 마지막으로 FFT를 통해 다시 주파수 도메인으로 변환합니다.시간 도메인/스펙트럼/DSP

양면 (대칭) 스펙트럼 또는 양면 주파수 (양수 만)를 사용하는 것 사이의 (물리적으로) 차이점은 두 가지 결과가 다르기)?

버전 1 (양면 스펙트럼) fft( nulling( ifft([0, 1+1j, 2+j, 2-2j, 1-1j]) ) )

출력 : [-1.2, + 1J 0.2, 0.8 + 2J, 0.8-2j, -0.2-1j]

버전 2 (한면 스펙트럼) fft( nulling( ifft([0, 1+1j, 2+j]) ) )

출력 : [-1-1j, + 0j 0, 1 + 1J] 내 IFFT 루틴하지 않는

답변

3

때문에 K 지금 당신이 일방적 인 스펙트럼을 공급하고있다. 암시 적 복소 공액 대칭 부 주파수 빈이 있음)이를 양수 및 음수 주파수 빈으로 일반 N 포인트 복소수 주파수 입력으로 만 해석 할 수 있습니다.

일부 FFT 라이브러리

(예 FFTW, VDSP) 지원을 실시간으로 복잡한 FFT 복잡한 주파수 영역 쓰레기통의 수는 N/2와 중복 복소수 대칭 용어입니다 IFFT, 복잡한-실제에 는 생략되었지만, 일반적으로 N 입력과 N 출력을 갖는보다 복잡한 복합기와는 다른 별도의 API를 가지고 있습니다.

+0

이것은 시간 영역 조작을 수행하기 위해 iFFT 전에 항상 한면 스펙트럼을 양면 스펙트럼으로 확장해야한다는 것을 의미합니까? – user1177816

+0

예 - 좀 더 일반적인 복소 - 복합 IFFT 만 사용할 수있는 경우 음수 빈을 직접 처리해야합니다. –

+1

그리고 부수적으로, numpy로 한면 스펙트럼을 반환/작동하는 관련 함수는'np.fft.rfft'와'np.fft.irfft'입니다. –