2017-04-01 4 views
-2

신호 처리가 처음이며 wav 파일의 피치를 감지하려고합니다. 나는 1 초에 3 개의 별개의 음을 연주하는 2 채널 wav 파일을 생성했다.JAVA의 wav 버퍼에서 피치를 얻는 방법 - 고속 푸리에 변환

-0.12847900390625 
-0.161651611328125 
-0.161651611328125 
-0.1907958984375 
-0.1907958984375 
-0.215179443359375 
-0.215179443359375 
     . 
     . 
     . 

내가 이중 배열에서 재생되고있는 메모를 얻을 수 있었다 : 나는 클래스를 자바를 사용하여 물결을 읽고 double 배열을 할 수 있었다. 나는 주변에 봤 거든 빠른 푸리에 변환이 갈 길이라고 믿습니다. 그러나, 나는이 변환이 무엇을하는지 조금 확신 할 수 없다.

FFT는 주어진 시간에 주파수를 반환합니까?

도움을 주시면 감사하겠습니다. Thankyou

답변

0

이산 푸리에 변환은 임의의 이산 시간 도메인 신호를 주파수 도메인으로 매핑하여 컨볼 루션 (convolution), 상관 관계 (co-relation)와 같은 연산을 수행하면서 계산을 줄이며, 주파수 도메인에서 계산하고 역 변환을 수행하기 쉽고 시간 영역에서 직접 조작과 비교하여 시간 영역으로 다시 변환하십시오. FFT는 DFT O(n^2)의 시간 복잡성과 비교하여 O(nlogn)의 시간 복잡도를 줄인 DFT의 간단한 알고리즘 구현입니다.

여기에서 자세한 내용을 찾을 수 있습니다

http://www.dspguide.com/ch12/2.htm

관련 문제