2012-05-07 4 views
1

나는 자체 생성 사운드를 식별하는 성공적인 방법을 찾고있다.톤 생성 및 감지

제 아이디어는 스테레오보다 두 가지 다른 사운드를 사용하는 것입니다. 두 가지 톤은 주파수가 다릅니다. 나는 마이크를 위해 자체 제작 된 케이블로 되돌아 간다. 케이블에는 왼쪽 또는 오른쪽 채널 사이를 전환하는 2 개의 스위치가 있습니다.

두 개의 주파수 중 어느 것이 마이크 입력에 도착했는지 메모하고 싶습니다.

나는 많은 것을 시도했지만 아무 것도 원하는 성공을 가져 오지 못했습니다. 글쎄, 나는 DTMF를 발견했지만 안드로이드 구현은 충분하지 않다.

누구에게 내가 다음에 시도 할 수있는 아이디어가 있습니까?

답변

2

입력 오디오의 고속 푸리에 변환 (FFT)을 수행해야합니다. 짧은 오디오 창을 캡처하고 FFT를 실행 한 다음 결과를 분석하면됩니다. FFT는 익숙하지 않은 경우 약간 복잡하지만 주파수가 충분히 구분되어 있으면 톤을 계산하고 측정하는 것이 가능합니다.

+0

동의합니다. FFT는 신호 처리에서 가장 중요한 알고리즘입니다. 질문이 "신호의 주파수를 분석하는 방법"인 경우 대답은 아마도 "FFT 계산"으로 시작됩니다. 찾는 주파수를 정확히 알고 있지만 FFT가 가장 일반적이며 강력한 도구 인 경우 특별한 최적화가있을 수 있습니다. – japreiss

+0

FFT에서 올바른 주파수를 녹음하는 데 시간이 얼마나 걸립니까? 스위치는 10ms 미만으로 닫힙니다. – MrDyro

+0

윈도우 크기 (예 : 10ms)는 톤이 얼마나 멀리 떨어져 있어야 검출 될지를 결정합니다. 44.1KHz 샘플링 속도로 10ms의 오디오를 녹음하면 많은 양의 데이터가 저장되지 않습니다. FFT 출력에서 ​​뚜렷한 피크를 볼 수있는 가능성을 확보하려면 최소 500 Hz의 주파수로 톤이 분리되어 있는지 확인하십시오. – 10flow

1

FSK 변조 및 복조를 사용할 수 있습니다. 협 대역 DSP 필터 (Goertzel 필터 2 개) 또는 직교 복조기로 더 간단하게 수행 할 수 있으므로 FFT가 필요하지 않습니다.