Easyelectronics.ru

Электроника для всех
Текущее время: 19 фев 2020, 12:58

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



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

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

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

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


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

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


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 2638
Откуда: Санкт-Петербург
Куда уж красивее? Разве что имеет смысл посмотреть, что надёжнее работает: поиск максимума и минимума (1 проход) или поиск среднего и среднеквадратичного отклонения (тоже один проход).
Разве что если память экономите - можно избавиться от массива в обоих вариантах, аналогично замене осреднения по окну на простейший IIR (вместо среднего по окну считаем что-то типа avg=avg+(x-avg)/16...


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

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


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

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

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


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


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


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

Сейчас этот форум просматривают: Gnusmas


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

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

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