Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выделение импульса из модулированного сигнала
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
dimka76
Здравствуйте.

На микроконтроллер приходят импульсы логического сигнала длительностью от 10 до 500 мСек.
Эти импульсы могут быть заполнены ШИМ с частотой порядка 1-2 кГц и скважностью
от 0,1 до 0,9. Можно представить это как амплитудно модулированный сигнал.

Нажмите для просмотра прикрепленного файла

А могут быть и не заполненными.
С измерением длительности не заполненного импульса проблем нет. А вот как измерить длительность
импульса, если он заполнен ШИМ ?

Можно конечно было бы применить какой-либо фильтр, но хотелось бы обойтись простыми средствами
без лишней вычислительной нагрузки. Или с минимальными вычислениями.
jcxz
Цитата(dimka76 @ Sep 18 2018, 22:32) *
С измерением длительности не заполненного импульса проблем нет. А вот как измерить длительность
импульса, если он заполнен ШИМ ?

Завести на вход таймера в режиме Capture (захват по фронту и по спаду). А также на вход другого таймера, который будет запускать (и перезапускать) отсчёт интервала таймаута по каждому спаду этого сигнала. По истечении интервала (2-го таймера) считать первое и последнее события capture из 1-го таймера и найти между ними разницу. Интервал таймаута должен быть заведомо больше периода ШИМа заполнения.
Всё.
dimka76
Цитата(jcxz @ Sep 18 2018, 23:23) *
Завести на вход таймера в режиме Capture (захват по фронту и по спаду). А также на вход другого таймера, который будет запускать (и перезапускать) отсчёт интервала таймаута по каждому спаду этого сигнала. По истечении интервала (2-го таймера) считать первое и последнее события capture из 1-го таймера и найти между ними разницу. Интервал таймаута должен быть заведомо больше периода ШИМа заполнения.
Всё.


Спасибо.

Но как быть если импульсы не будут модулированы ?

Тогда по истечении интервала 2-го таймера проверять значение пина, если 0, то все, если 1,
то 2-ой таймер продолжает заного отсчитывать свой период.
И так по кругу, пока пин не примет значение 0.
jcxz
Цитата(dimka76 @ Sep 19 2018, 19:37) *
Но как быть если импульсы не будут модулированы ?

А Вы почитайте внимательнее что я написал. Там учитываются все Ваши нужды.
dimka76
Цитата(jcxz @ Sep 19 2018, 22:26) *
А Вы почитайте внимательнее что я написал. Там учитываются все Ваши нужды.


Да, действительно не внимательно прочитал. Все так как надо !!!

Спасибо !!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.