2011-01-03 2 views
0

저는 vDSP를 사용하여 알고리즘을 구현하려고합니다.vDSP : FFT 함수에 윈도우가 포함되어 있습니까?

1) FFT 2을) (룩업 테이블을 수행 할 수 있습니다) 3) 다른 FFT 4을) 나는 그것이 잘 모르겠어요 절대 값

을 절대 값의 제곱의 로그 걸릴 필자가 FFT를 실행하기 전에 들어오는 데이터를 창 함수를 통해 던지기까지.

vDSP_fft_zrip(setupReal, &A, stride, log2n, direction); 

내 FFT 기능입니다

내가 먼저 (...) vDSP_hamm_window 통해 데이터를 던져해야합니까?

+0

함께 작업하는 플랫폼을 언급 할 수도 있습니다. 아마도 Mac OS X 또는 iOS 인 것 같습니다. –

답변

2

iOS 가속 라이브러리 함수 vDSP_fft_zrip()에는 창 함수 적용이 포함되지 않습니다 (유한 길이 매개 변수로 인해 암시 된 사각형 창을 계산하지 않은 경우).

먼저 선택한 창 기능을 적용해야합니다 (여러 가지 창이 있습니다).

2

저는 특정 라이브러리에 대한 경험이 없지만 다른 모든 FFT 라이브러리에서 데이터를 먼저 확인해야합니다. 라이브러리가 없다면 라이브러리는 사용할 창을 알 수 없으며 때로는 창을 사용하지 않을 수도 있습니다 (중첩 추가 필터링에 FFT를 사용하거나 신호가 정확히 변환 블록에서 주기적으로).

또한, 실제로는 2 개의 FFT를 수행하는 것처럼 로그 함수를 호출하는 오버 헤드가 상대적으로 작습니다.

2

당신이 cepstral analysis을하고있는 것처럼 들리는데 그렇습니다. 첫 FFT 이전에 창 기능이 필요합니다. 간단한 Hann or Hamming window을 제안합니다.

+0

나는 그것을 한 번도 해보지 못했지만 에코를 특성화하기 위해 과도 현상을 분석한다면 첫 번째 FFT가 시작되기 전에 창을 닫지 않을 것이라고 생각했습니다. – mtrw

+0

@mtrw : 저는 OP가 cepstral 분석을 음성에 사용하고 있다고 가정하고 있습니다.이 경우 창 기능을 원할 수도 있지만 모든 응용 프로그램에 해당하지는 않습니다. –

+0

맞습니다. http://stackoverflow.com/questions/4583950/cepstral-analysis-for-pitch-detection. – mtrw