Реклама на сайте | Помощь сайту   English version | Free likes 
KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Общие вопросы по микроконтроллерам

Вопрос   Можно ли сделать детектор DTMF сигналов на MK ?

Ответ  Ответ: Наверх [Вернуться в категорию "Общие вопросы по микроконтроллерам"]

Вариант №1.

Если в МК нет умножителя:

Имеем входной сигнал X. Дальше он проходит через компаратор:

 

| -1 при Х<0

x = {

| +1 при X>=0

ну или в более правильном виде -

x=sign(X)

 

Далее основная обработка:

 

N-1

---

Y = x[n]*sign(cos(2*pi*n*Fx/Fs))

     /

---

n=0

N-1

---

Z = x[n]*sign(sin(2*pi*n*Fx/Fs))

     /

---

n=0

 

В этих формулах N - размер выбранного окна в выборках. Желательно подобрать как можно ближе к тому, чтобы все частоты в этом окне имели целое количество периодов. Fx - анализируемая частота, Fs - частота дискретизации. Умножение сводится тут к операции XOR, если лог. 1 принять за +1, а лог.0 - за -1. Да, а все синусы и косинусы - держать заранее рассчитанными в таблице, достаточно 1 бита на одну выборку.

Далее:

 

              ____________

          / 2 2

E = / Y + Z

Получаем число, пропорциональное энергии сигнала на частоте Fx. Корень естественно можно не считать, так как квадрат энергии нас тоже устроит. Возведение в квадрат - по таблице.

Ну и последнее:

 

                           2

           | 0, если E < Thr

T = {                    2

           | 1, если E >= Thr

Thr - выбранный порог срабатывания детектора. T - выходной сигнал, 1 означает что требуемая частота присутствует в спектре входного сигнала и обладает достаточной энергией.Этот метод полностью аналогичен преобразованию Фурье для одной частоты Fx.

Вариант №2:

А если в МК есть нормальный умножитель (16 бит х 16 бит) - то используется фильтр Герцеля, который в общем-то тоже аналогичен преобразованию Фурье в 1 точке. Про это я расписывать не буду, в гугле можно тучу информации найти спросив про "Goertzel filter"

ЗЫ

Если где ошибся - подправьте...

Для функции sign принято что 0 - число положительное, и , соответственно число 0 не относится к области значений функции.

Для 51-го проца можно 1-й вариант довольно сильно улучшить, используя 4-х битные значения входного сигнала (если есть АЦП) и 4-х битные значения синуса/косинуса. Умножать командой MUL, получая 8-битное произведение, и суммировать в 16-битном варианте. Проверено экскрементами :-). Ну а в случае AVR, PIC, простеньких MSP и т.п. - вариантов нет, только однобитное.

[Общие вопросы по микроконтроллерам]

Новости
[06/02/2019] Конференция в МГТУ им. Баумана «Технологии разработки и отладки сложных технических систем» 2019
[09/05/2018] Грандиозная майская распродажа на Gearbest!
[16/05/2017] С 15 по 17 мая в магазине Gearbest проходит грандиозный флэшсейл
[10/05/2017] Так что же такое Спиннер?
[05/12/2016] Новый Год и Рождество с GearBest!
Читать все новости >>
Каталог схем
PDA - интерфейсы и схемы Автозвук Автомобиль Аудио Безопасность Бытовая электроника Видео Видеокамеры Высоковольтные Генераторы Игры, развлечения Измерения Интерфейсы Коммутация Компьютер Медицина Моделирование/ Роботы Музыка Передатчики Питание Получение и накопление данных Предусилители Радио Разное Ремонт Ретро Свет/Лазер/ Cветодиоды/IR Сети Солнечная энергия Сотовая связь ТВ-Мониторы Телефония Управление двигателями Фильтры Цифровые/ Микроконтроллеры Electronic circuits Datasheets Каталог схем Принципиальные схемы
Мicrocontrollers
Drivers for LED dispays Data Logger for iButton LCD-module with MCS-51 Thermometers Dallas Semiconductor Work with EEPROM 24LCxx MSP430 with Flash-memory ATmega169 and AVR-Baterfly CAN interface USB interface
Избранные схемы
Arduino Аудио В Вашу мастерскую Видео Для автомобиля Для дома и быта Для начинающих Зарядные устройства Измерительные приборы Источники питания Компьютер Медицина и здоровье Микроконтроллеры Музыкантам Опасные, но интересные конструкции Охранные устройства Программаторы Радио и связь Радиоуправление моделями Световые эффекты Связь по проводам и не только... Телевидение Телефония Узлы цифровой электроники Фототехника Шпионская техника
Пользователи
Создано аккаунтов:
Сегодня: 0
Вчера: 0
Всего: 146142

Статистика:

 © 2003—2024 «Электронный портал»Обр@тная связь