Alvaros
.
- Регистрация
- 14.05.16
- Сообщения
- 21.452
- Реакции
- 101
- Репутация
- 204
Малый подковонос
В этом проекте описывается создание т.н. детектора летучих мышей – устройства, позволяющего слышать и записывать звуки, издаваемые летучими мышами. Вам, вероятно, известно, что летучие мыши испускают ультразвук для эхолокации. Частота этих звуков выходит за пределы воспринимаемого человеческим ухом диапазона, поэтому их нельзя услышать напрямую. Детектор летучих мышей использует особый микрофон, способный улавливать эти высокочастотные звуки и преобразовывать их в звук, попадающий в слуховой диапазон.
Типов детекторов летучих мышей существует
You must be registered for see links
. Для себя я сделал
You must be registered for see links
детектор. Его недостаток в том, что с его помощью сложнее различить различные виды летучих мышей, если сравнивать с записью высокочастотных звуков. Позднее я поясню, как работает гетеродинный детектор, а сначала давайте посмотрим на микрофон, необходимый для записи ультразвука.При выборе микрофона я рассматривал два варианта:
—
You must be registered for see links
– все, что я нашёл, по документам работают только в диапазоне от 10 до 20 кГц, но если верить некоторым ресурсам, то некоторые их типы в некоторой степени воспринимают и ультразвук. Однако поскольку в их официальных описаниях этого не указано, потребовалось бы перебирать различные бренды методом проб и ошибок, и испытывать их. Поэтому я отказался от микрофонов такого типа.—
You must be registered for see links
. Они, к примеру, встречаются в популярных ультразвуковых дальномерах HC-SR04, повсеместных и дешёвых. Минус их в том, что их чувствительность находится очень близко от резонансной частоты, где-то около 40 кГц. А при уходе от этой частоты чувствительность резко падает. Поэтому они тоже не подходят.Вместо них я нашёл микрофон
You must be registered for see links
, микрофон типа
You must be registered for see links
. Согласно спецификации, у этого микрофона достаточно плоская кривая отклика на все частоты вплоть до 80 кГц, поэтому он очень хорошо подходит для данного проекта. Кроме того, у него есть внутренний предусилитель с высоким соотношением сигнал/шум. Основной минус этого микрофона – его корпус не предназначается для самодельных проектов. Он крохотный (3,76 × 3 мм!), а его контакты находятся внутри корпуса. Я поискал в интернете, и наткнулся на
You must be registered for see links
пользователя hackaday.io
You must be registered for see links
, который также использовал данный микрофон в своём проекте. Он хорошо придумал сделать для этого микрофона специальную плату, благодаря чему его можно паять вручную. Суть в том, чтобы удлинить контактные площадки так, чтобы они торчали из компонента. Я воспользовался этой идеей и разработал небольшую плату для микрофона и двойного операционного усилителя. Последний даёт виртуальную землю (на половине напряжения питания), а также каскад усилителя на 20 дБ (то есть, в 10 раз). Сначала я скептически отнёсся к пайке этого микрофона вручную, однако всё сработало хорошо – все 6 плат, что я паял, удались. Я записал видео пайки для пояснений. Дизайн плат также
You must be registered for see links
.
Приступим к объяснению принципа работы гетеродинного детектора летучих мышей. Для начала рассмотрим сигналы, испускаемые мышами. Их можно смоделировать в виде сигнала с
You must be registered for see links
с ультразвуковой несущей частотой и огибающим сигналом, похожим на короткий «чирп»-сигнал (сигнал с
You must be registered for see links
).
На диаграмме ультразвука несущая показана красным, огибающий чирп – зелёным, итоговая сумма – синим. Чтобы перевести сигнал в слышимый человеком диапазон, нужно преобразовать его так, чтобы сохранить огибающий (чирп), модулируя его несущим сигналом с меньшей частотой (к примеру, в диапазоне 1-5 кГц). Как этого добиться?
Чтобы понять, как это делается с математической точки зрения, воспользуемся
You must be registered for see links
:2sin(x)⋅sin(y)=cos(x−y)−cos(x+y)
2cos(x)⋅cos(y)=cos(x−y)+cos(x+y)
2sin(x)⋅cos(y)=sin(x−y)+sin(x+y)
2cos(x)⋅sin(y)=−sin(x−y)+sin(x+y)
Если принять нашу модель сигнала летучих мышей, его можно смоделировать следующим образом:
carrier(t)=sin(2πf[SUB]c[/SUB]t)
chirp(t)=sin(2πf[SUB]chirp[/SUB]t)
bat(t)=carrier(t)⋅chirp(t)
где частота ультразвуковой несущей – f[SUB]c[/SUB], а частота чирп-сигнала — f[SUB]chirp[/SUB]. Для этого примера примем:
f[SUB]c[/SUB]=40 кГц
f[SUB]chirp[/SUB]=1 кГц
Применяя тригонометрические тождества, получим:
bat(t)=sin(2πf[SUB]c[/SUB]t)⋅sin(2πf[SUB]chirp[/SUB]t) = 1/2 cos(2π(f[SUB]c[/SUB]−f[SUB]chirp[/SUB])t) − 1/2 cos(2π(f[SUB]c[/SUB]+f[SUB]chirp[/SUB])t)
Модулируемый сигнал состоит из двух частот, симметрично расположенных вокруг несущей частоты, в данном примере на
40 кГц − 1 кГц = 39 кГц
40 кГц + 1 кГц = 41 кГц
Это нижняя LSB и верхняя USB
You must be registered for see links
:f[SUB]LSB[/SUB]=f[SUB]c[/SUB]−f[SUB]chirp[/SUB]
f[SUB]USB[/SUB]=f[SUB]c[/SUB]+f[SUB]chirp[/SUB]
Теперь мы можем использовать тот же принцип для преобразования мышиного сигнала к более низкой, слышимой частоте. Для этого надо умножить сигнал на частоту локального генератора LO – это разница между несущей частотой сигнала и нужной несущей частотой (в нашем случае – слышимой частотой, на которой мы бы хотели слышать крики летучих мышей). Эта техника называется
You must be registered for see links
, В нашем примере допустим, что мы хотим слышать крики мышей на частоте 5 кГц, хорошо слышимой для людей. Тогда:f[SUB]target[/SUB]=5 кГц
f[SUB]LO[/SUB]=f[SUB]c[/SUB]−f[SUB]target[/SUB]=35 кГц
LO(t)=sin(2πf[SUB]LO[/SUB]t)
Собрав всё вместе, мы можем перезаписать члены уравнений при помощи тригонометрических тождеств:
bat(t)⋅LO(t)=(1/2 cos(2πf[SUB]LSB[/SUB]t)−1/2 cos(2πf[SUB]USB[/SUB]t))⋅sin(2πfLOt)
= 1/2cos(2πf[SUB]LSB[/SUB]t)⋅sin(2πf[SUB]LO[/SUB]t) − 1/2cos(2πf[SUB]USB[/SUB]t)⋅sin(2πf[SUB]LO[/SUB]t)
= 1/4(sin(2π(f[SUB]LO[/SUB]−f[SUB]LSB[/SUB])t) + sin(2π(f[SUB]LO[/SUB]+f[SUB]LSB[/SUB])t) − sin(2π(f[SUB]LO[/SUB]−f[SUB]USB[/SUB])t) − sin(2π(f[SUB]LO[/SUB]+f[SUB]USB[/SUB])t))
(учитывая, что sin(−x) = −sin(x)),
=1/2(−1/2sin(2π(f[SUB]LSB[/SUB]−f[SUB]LO[/SUB])t) + 1/2sin(2π(f[SUB]USB[/SUB]−f[SUB]LO[/SUB])t) + 1/2sin(2π(f[SUB]LSB[/SUB]+f[SUB]LO[/SUB])t) − 1/2sin(2π(f[SUB]USB[/SUB]+f[SUB]LO[/SUB])t))
= 1/2(−1/2sin(2π(fc−f[SUB]LO[/SUB]-f[SUB]chirp[/SUB])t) + 1/2sin(2π(fc−f[SUB]LO[/SUB]+f[SUB]chirp[/SUB])t) + 1/2sin(2π(fc+f[SUB]LO[/SUB]−f[SUB]chirp[/SUB])t) − 1/2sin(2π(fc+f[SUB]LO[/SUB]+f[SUB]chirp[/SUB])t))
= 1/2cos(2πf[SUB]target[/SUB]t)⋅sin(2πf[SUB]chirp[/SUB]t) + 1/2cos(2πf[SUB]2[/SUB]t)⋅sin(2πf[SUB]chirp[/SUB]t)
Видно, что первый член, cos(2πf[SUB]target[/SUB]t)⋅sin(2πf[SUB]chirp[/SUB]t), – это именно то, что нам нужно, огибающая чирп-сигнала, модулированная слышимой частотой в 5 кГц. Второй член – снова чирп-сигнал, модулированный более высокой частотой, f[SUB]2[/SUB]=f[SUB]c[/SUB]+f[SUB]LO[/SUB], в данном случае – 75 кГц. Второй компонент находится далеко за пределами слышимого диапазона, и его легко отсечь фильтром высоких частот в схеме детектора летучих мышей.
Теперь, когда мы в теории представляем, как принцип гетеродирования можно использовать для сборки детектора летучих мышей – как нам реализовать его на практике? Главное – это умножение входящего сигнала на LO-сигнал, что в практической электронике не так-то легко сделать. Существуют схемы для аналогового умножения (к примеру,
You must be registered for see links
), и мы можем использовать подходящую ИС (типа
You must be registered for see links
) совместно с генератором синусоиды (к примеру,
You must be registered for see links
). Однако такое решение будет сложным, а ИС для аналогового умножения типа NE612 или похожих редкие и дорогие.Оказывается, существует вариант проще, и его можно собрать из распространённых стандартных компонентов. Мы можем собрать
You must be registered for see links
с аналоговым переключением. Хотя это не идеальный смеситель, поскольку он на самом деле не перемножает оба сигнала, мы скоро увидим, что он всё равно работает достаточно хорошо.А пока давайте посмотрим на схемы, и попытаемся разобраться, как это работает.
You must be registered for see links
Слева на схеме выход микрофона подаётся на высокочастотный LC фильтр второго порядка, убирающий слышимые частоты ниже 20 кГц, и пропускающий только ультразвук (поскольку это-то нам и нужно). Резистор R1, параллельный индуктору, обязателен – он гасит резонанс.
После высокочастотного фильтра сигнал приходит на два каскада операционных усилителей, с коэффициентами 1 и -1 (т.е. инвертирует сигнал). Теперь у нас есть как сигнал от мыши, так и его инвертированный двойник.
Слева внизу на схеме можно узнать
You must be registered for see links
со знаменитой
You must be registered for see links
. Потенциометром P1 можно контролировать всю цепь и создавать квадратную волну с рабочим циклом в ~ 50% и переменной частотой от 20 кГц до 400 кГц. В нашем случае это будет сигнал локального осциллятора LO, но в отличие от нашей математической модели эта волна квадратная, а не синусоидальная. LO-сигнал приходит на инвертирующий каскад, состоящий из аналогового ключа U3D и резистора R6. Здесь аналоговый ключ используется в качестве цифрового инвертера, и поскольку у ИС CD4066 есть 4 аналоговых ключа, у нас есть два запасных, один из которых можно использовать в качестве инвертера, и сэкономить на компонентах. Работает это просто: если сигнал LO низкий, ключ открыт, и R6 притягивает выходной сигнал с ключа вверх. Если сигнал высокий, ключ закрыт, и выход с ключа соединяется с землёй. Так и получается инвертированный сигнал
Теперь посмотрим на часть схемы, обозначенную balanced mixer [«балансный смеситель»]. Неинвертированный мышиный сигнал подаётся на аналоговый ключ, который контролирует сигнал LO. Инвертированный сигнал подаётся на другой ключ, который контролирует сигнал
Давайте рассмотрим случай, когда LO-сигнал 0 (низкий), и, следовательно, сигнал
Можно ли смоделировать это поведение математически? По сути, эта схема смесителя умножает сигнал на квадратную волну, переключающуюся между +1 и -1. Это эквивалентно переключению выходного сигнала между инвертированным и неинвертированным. Такую волну (назовём её r(t)) можно описать т.н.
You must be registered for see links
sign(x):Поэтому на выходе смесителя получим произведение bat(t)⋅r(t). Само по себе это пока ничего не объясняет – чтобы понять, как происходит смешение частот, нам нужно применить математическую магию под названием разложение рядов Фурье. Избавлю вас от вывода и дам вам сразу результат. По сути, при использовании рядов Фурье можно показать, что:
Так что наша квадратная волна +1/-1 состоит из бесконечного множества синусоид с основной частотой f[SUB]LO[/SUB] и её нечётными множителями. Что из этого следует? Если проигнорировать константу 4/π, видно, что r(t) является суммой LO(t) и других дополнительных более высоких частот LO[SUB]3[/SUB](t), LO[SUB]5[/SUB](t), и так далее. Из предыдущих подсчётов мы показали, что:
Поэтому можно подсчитать, что:
Мы снова видим, что первый член 2/π cos(2πf[SUB]target[/SUB]t)⋅sin(2π f[SUB]chirp[/SUB]t) – это то, что нам нужно, однако с нашим неидеальным смесителем с аналоговым переключением мы получаем кучу других ненужных членов. Однако все эти ненужные частотные компоненты имеют гораздо большие частоты, чем наша целевая f[SUB]target[/SUB]. Поэтому мы можем использовать фильтр высоких частот, чтобы устранить эти компоненты, и получить итоговый сигнал приблизительно равный 2/π cos(2π f[SUB]target[/SUB]t)⋅sin(2π f[SUB]chirp[/SUB]t).
Если мы вернёмся к схеме, то там выход со смесителя приходит на буферный каскад, а потом в низкочастотный RC-фильтр с частотой сопряжения в ~7 кГц. Последний усиливающий каскад даёт подстраиваемый коэффициент и служит драйвером выхода (к примеру, наушников).
Чтобы лучше понять, как работает смешивание частот, я сделал симулятор схемы на
You must be registered for see links
. Можете
You must be registered for see links
для симуляции и поиграться с ними.Пара замечаний по поводу компонентов. Я хотел, чтобы вся схема питалась с одной литий-ионной батарейки, поскольку у меня их куча, добытая из старых телефонов и т.п. Поэтому вся схема должна работать с питанием от 3 до 4 В. Следовательно, таймер 555 и аналоговый ключ 4066 нужно выбирать в виде КМОП – они уже работают на 3 В. Я использовал CD4066B и ILC555. Счетверённый операционный усилитель тоже должен работать на низком напряжении; я выбрал MCP6004, которым часто пользуюсь.
Я не стал разводить плату, а спаял всё на макетке. Если захотите сделать своё устройство с платой,
You must be registered for see links
. Корпус для устройства и ручки для регулировки громкости и частоты я распечатал на 3D-принтере. Питание включается автоматически, если вставить наушники в разъём. Загорающийся красный светодиод сигнализирует о включении. Плата микрофона расположена внутри корпуса за небольшим отверстием (на фото справа).
Для калибровки шкалы частот я проверил выходной сигнал 555 на осциллографе и отметил частоты на корпусе. Потом я нарисовал шкалу на компьютере и распечатал.
И вот то, чего мы все ждали. Как звучит крик летучих мышей на детекторе? Предлагаю вам запись одного фрагмента, который я записал около 10 вечера, когда увидел ЛМ, летящую рядом с фонарём в парке. Частота подстроена до 40-45 кГц.
You must be registered for see links
Для записи звука я держал свой смартфон рядом с наушниками детектора, однако это казалось очень глупым, поэтому я решил поискать вариант получше. Оказалось, что у большинства смартфонов в разъёме для наушников есть микрофонный вход – достаточно лишь использовать штырёк на 3,5 мм с 4 контактами. Поэтому я разработал адаптер, который позволяет подключать детектор к микрофонному входу смартфона, а наушники – к выходу смартфона на наушники. Чтобы смартфон распознал, что в него воткнут микрофон, нужен резистор на 2,2 кОм, а для развязки сигнала – конденсатор на 3,3 мкФ.
Ещё мне пришлось поискать приложение, умеющее одновременно записывать и проигрывать звук, чтобы я мог слушать записываемые звуки в реальном времени. Меня устроило приложение
You must be registered for see links
, хотя, наверное, есть и другие.Если вы захотите сами собрать гетеродинный детектор ЛМ, и вам понадобится готовый ультразвуковой МЭМС-микрофон на плате, его можно найти здесь:
-
You must be registered for see links
-
You must be registered for see links
На этих платах нет операционного усилителя, поэтому вам нужно будет и его сделать. Остальные компоненты легко будет найти в вашем любимом магазине.



