2014-01-09 3 views
0

Как можно обнаружить звуковой сигнал из аудиоданных с известной частотой и продолжительностью, но неизвестное время прибытия? Я пытаюсь реализовать полосовой фильтр, чтобы игнорировать звуки любой неизвестной частоты. Я еще не успел. Как только мне это удастся, я проверю амплитуду звука, если она превысит определенный порог для моего фиксированного количества времени. Это должно обнаружить звуковой сигнал. Мне сказали, что преобразование Фурье может также использоваться для обнаружения звукового сигнала.Обнаружение звукового сигнала определенной частоты и продолжительности

Какая стратегия лучше?

Кроме того, слушая аудиозапись, я пришел к выводу, что Windows или звуковой драйвер моего ноутбука (Inspiron 15R) применяют какой-то фильтр шумоподавления на входе микрофона. Это распространено на ноутбуках? Если это так, есть ли способ получить чистый звук от микрофона? Я использую библиотеку portaudio для получения звука.

+1

Я думаю, что этот вопрос нужно переместить на 'dsp.stackexchange.com'! – pinkpanther

ответ

2

Простейший и наиболее распространенный метод для такого рода задач обнаружения тона (где известна тональная частота a priori) является Goertzel Algorithm. Фактически это просто один бит DFT на частоте интереса - вы берете выходной сигнал и фильтр нижних частот, и когда он превышает порог, полученный эмпирически, вы обнаруживаете свой тон.

 Смежные вопросы

  • Нет связанных вопросов^_^