2013-09-13 3 views
2

Я прочитал следующий вопрос: HereАудио Разделение .wav сигнала

То, что я пытаюсь сделать, это принять сигнал (.wav звуковой файл), который содержит вызовы из разных видов рукокрылых. Вот график представление сигнала:

enter image description here

То, что я сделал до сих пор является:

1) Подчеркните сигнал

2) сжимают сигнал

Это результат I получил:

enter image description here

Мне нужно удалить сигналы, которые не требуют рассмотрения. В настоящий момент сигнал находится в 1D-представлении, и после завершения Разделения сигнал будет представлять собой 2D-представление, содержащее JUST вызовы, таким образом, я могу выполнить анализ по каждому из вызовов.

Это моя рекомендованная методология, чтобы сделать это:

1) Разделение сигнала на блоки: 256x100 (так они перекрывают друг друга)

2) Вычислить RMS (среднеквадратическое) каждого блоков

3) Сравните (2) с пороговым значением, и, если блок требует рассмотрения, это можно классифицировать как вызов.

Но проблема заключается в следующем:

1) Будет ли разделения сигнала на блоки 256x100 идти за звонки и, таким образом, делая некоторые из вызовов, потерянных при расчете RMS?

2) Как я могу выбрать подходящее пороговое значение? Будет ли поиск пиков в сигнале точным предположением для этого?

Я надеюсь, что кто-то может помочь мне :)

+1

Этот вопрос не соответствует теме, поскольку речь идет о обработке сигналов (вероятно, лучше подходит для http://dsp.stackexchange.com). –

+0

@ OliCharlesworth Я тоже спросил там: DSP не обновляется очень часто, и есть некоторые люди на S/O с знаниями DSP, которые не могут посещать сайт. – Phorce

+0

Пожалуйста, не перекрестно отправляйте сообщения в оба списка. –

ответ

0

Я хотел бы предложить вам использовать медианный фильтр - medfilt1(), если вы используете Matlab. Это позволит вам удалить outlier, что вы пытаетесь сделать здесь. Вы можете установить размер окна, который вам нужен, и он устанавливает значения в медианное значение каждого окна, которое должно быть близко к реальному значению, если у вас нет выбросов.

Если данные get слишком полны, вы можете рассмотреть метод 6 сигма, где вместо вычисления RMS вы вычисляете дисперсию и удаляете точки данных, превышающие стандартные отклонения.

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