Easyelectronics.ru

Электроника для всех
Текущее время: 18 сен 2019, 06:29

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос про анализ сигналов
СообщениеДобавлено: 20 янв 2018, 01:57 
Заглядывает иногда

Зарегистрирован: 30 май 2012, 23:30
Сообщения: 86
Суть задачи:
Есть сигнал в виде меандра: т.е. есть сигнал - нет сигнала - опять есть...
Задано это цепочкой временных отсчетов:
сигнал был 0.5сек, не было 1.9сек, был 1.2сек, не было 4.0сек...
Задача: нужно понять, что сигнал периодический: т.е. периоды наличия и отсутствия сигнала повторяются с некоторой погрешностью.
Идеально будет, если вычислить некую величину апериодичности сигнала (тогда можно будет подстраивать порог срабатывания. Скажем если периодичность 99.5%, то сигнал периодический).
Пока даже не могу придумать ничего путного и простого, кроме тупого перебора всех значений и вычисления 2-х средних величин длительности 0 и 1 и вычисления разброса значений от среднего. Может есть какой более красивый (читай научный/математический/физический) способ?

Заранее спасибо за советы/идеи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос про анализ сигналов
СообщениеДобавлено: 20 янв 2018, 02:28 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6136
Автокорреляционная функция.
Записывайте битики в массив, затем возите этот массив поверх его-же, но со сдвигом, считайте меру совпадения. Как только получите первый максимум совпадения, то и будет "период".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос про анализ сигналов
СообщениеДобавлено: 20 янв 2018, 02:40 
Заглядывает иногда

Зарегистрирован: 30 май 2012, 23:30
Сообщения: 86
Битики это слишком расточительно... )
И смысла в них нет. У меня есть готовые значения в массиве. Я могу пройти по нему и сравнить значения. Думаю это будет и быстрее.
Это решение я уже придумал. Хочется чего-то "красивее".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос про анализ сигналов
СообщениеДобавлено: 20 янв 2018, 22:18 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 02 дек 2010, 19:20
Сообщения: 71
Не для исходной задачи, но похожей, делал так:
Назначил несколько переменных - системное время, передний фронт, задний фронт и дельта. Если сигналов несколько, то дельта, передний и задний фронты будут массивами. В вашем случае надо добавить еще и период. Плюс переменная флагов, в ней каждый бит - сработка определенной части.
1) Назначил один из таймеров как системный. В его прерываниях изменял значение системного времени и выставлял флаг;
2) В вечном цикле смотрел когда выставится флаг системного времени и при его наличии считывал состояние портов с внешними сигналами. По окончании сбрасывал флаг системного времени и выставлял флаг обработки;
3) По выставленному флагу обработки смотрел как изменились сигналы и если появилась смена, то находил что обнаружили - передний фронт или задний? Далее определял дельту, в случае когда имеем задний фронт (мне нужно было длительность выявлять) и перед выходом - сброс флага.
В вашем случае, вместо длительности, надо находить период. Подход можно оставить таким же, либо развить до получения периодов как по переднему, так и по заднему фронтам. Ну и далее ваша обработка.
Если сделать системный таймер с частотой 100 Гц, то можно ожидать точность определения фронтов, длительностей и периодов в 0,02с.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос про анализ сигналов
СообщениеДобавлено: 20 янв 2018, 23:33 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2619
Откуда: Санкт-Петербург
Куда уж красивее? Разве что имеет смысл посмотреть, что надёжнее работает: поиск максимума и минимума (1 проход) или поиск среднего и среднеквадратичного отклонения (тоже один проход).
Разве что если память экономите - можно избавиться от массива в обоих вариантах, аналогично замене осреднения по окну на простейший IIR (вместо среднего по окну считаем что-то типа avg=avg+(x-avg)/16...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос про анализ сигналов
СообщениеДобавлено: 21 янв 2018, 02:11 
Старожил

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 3519
:)


Последний раз редактировалось iev91 21 май 2019, 23:50, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос про анализ сигналов
СообщениеДобавлено: 21 янв 2018, 03:09 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2619
Откуда: Санкт-Петербург
(схватившись за голову) как же у людей стереотипы работают... Углядел слабые признаки спектрального анализа - сразу пошёл по рельсам фурье-преобразования и всего, что знает для него. А что задача на пять строчек - даже не подумал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB