Цепочка сигналов для определения тона?

Я пытаюсь сделать встроенную штуку, которая обнаруживает присутствие тона 19 кГц от электретного микрофона. У меня есть многоступенчатый полосовой фильтр / предусилитель, подключенный к АЦП микроконтроллера, и я пытаюсь найти наилучший способ цифрового преобразования сигнала для обнаружения присутствия тона.

Я реализовал фильтр Гертцеля, чтобы искать интересующую частоту. Мой АЦП берет 400 выборок с частотой 4000 кГц, затем микро обрабатывает блок и добавляет результат к скользящей средней 100 баллов. Глядя на выход терминала после каждого блока, я определенно вижу общий скачок в числах, когда передатчик включен. Тем не менее, при включении питания наблюдается много шума, и уровень шума в комнате, в которой я нахожусь, также постоянно меняется. Я не уверен, как настроить уровень порога / отфильтровать весь этот шум.

Я попробовал несколько вещей, но все они кажутся довольно шумными, так как базовый уровень моего сигнала дрейфует повсюду:

  • Предварительная обработка блока с окнами Хемминга / Блэкмана
  • Отношение общей мощности принимаемого блока к мощности полосы на выходе фильтра
  • Отношение мощности интересующей полосы (19 кГц) к полосе за пределами, но около представляющей интерес полосы (18,5 кГц)

РЕДАКТИРОВАТЬ: я сделал еще немного чтения с момента публикации этого. Является ли вычисление (2*Ew)/(N*Et), где Ew - это выходной сигнал моего фильтра, а Et - это сумма квадратов в моем блоке - лучший способ выполнить этот тест?

Любой совет, как справиться с этим и / или сделать лучший метод извлечения сигнала?

Спасибо!

0 ответов

Другие вопросы по тегам