Comparator последовательных данных

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Брат
Рядовой
Сообщения: 74
Зарегистрирован: 03.01.2016{, 13:11}
Репутация: 1
Откуда: г.Курганинск, Краснодарский край
Имя: Александр

Comparator последовательных данных

#21

Сообщение Брат » 26.05.2016{, 18:55}

rw6cm писал(а):Так и делайте замеры в одном цикле для всех.
Спасибо, себя перепроверю!
Последний раз редактировалось Брат 26.05.2016{, 18:56}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Comparator последовательных данных

#22

Сообщение Boroda » 27.05.2016{, 10:39}

Попробуйте вот такую коробочку (в железе не тестировал, FLprog 1.11.1)

Вложения
3703651.jpg
Test_ExtremWind.rar
(12.61 КБ) 58 скачиваний
Последний раз редактировалось Boroda 27.05.2016{, 11:50}, всего редактировалось 1 раз.

Брат
Рядовой
Сообщения: 74
Зарегистрирован: 03.01.2016{, 13:11}
Репутация: 1
Откуда: г.Курганинск, Краснодарский край
Имя: Александр

Comparator последовательных данных

#23

Сообщение Брат » 27.05.2016{, 22:06}

Boroda писал(а):Попробуйте вот такую коробочку (в железе не тестировал, FLprog 1.11.1)
Спасибо,описание блока как всегда, меня смущает период 10 мс, а мне надо опираться на
циклы!

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Comparator последовательных данных

#24

Сообщение Boroda » 27.05.2016{, 23:31}

С какой же скоростью у Вас данные идут? Если датчик не сильно шумит, то должно хватить 10 отфильтрованных измерений за одну секунду, чтоб принять верное решение об изменении высоты.
Блок ExtremWindowT заполняет буфер по внешнему сигналу 0->1 на входе EN. Можно привязать к циклу измерений.

П.С.
период 10 мс
Он же в параметрах блока настраивается переменной Period, хоть 10 секунд сделайте.

Добавлено (27.05.2016, 23:31)
---------------------------------------------
Эх только сейчас графики с датчика увидел, тут медианный фильтр нужен отсчетов на 10-15. Больно уж сильно значения прыгают. А медианный - потому как он почти не вносит задержку, по сравнению с оконным и цифровым RC.
Вложения
1846818.rar
(14.08 КБ) 37 скачиваний
Последний раз редактировалось Boroda 27.05.2016{, 23:12}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Comparator последовательных данных

#25

Сообщение Boroda » 28.05.2016{, 01:11}

Провел тест различных цифровых фильтров (период выборок 10мс):
- медианный на 10 точек
- RC-фильтр с постоянной времени 80мс
- оконный на 8 точек (скользящее среднее)
В первом случае аналоговый вход Ардуины болтался в воздухе.
Во втором - я крутил переменный резистор, а помехи наводили фототранзистор и энергосберегающая лампочка.
В третьем добавил тест блока ExtremWindowT

П.С. медианный нужно удлинять...
Вложения
Test_Exrtem_exe.rar
(77.28 КБ) 60 скачиваний
Test_all_filtr_.rar
(43.86 КБ) 62 скачивания
Test_all_filtr.rar
(62.23 КБ) 38 скачиваний
Последний раз редактировалось Boroda 29.05.2016{, 22:41}, всего редактировалось 1 раз.

Брат
Рядовой
Сообщения: 74
Зарегистрирован: 03.01.2016{, 13:11}
Репутация: 1
Откуда: г.Курганинск, Краснодарский край
Имя: Александр

Comparator последовательных данных

#26

Сообщение Брат » 29.05.2016{, 22:10}

Boroda писал(а):Провел тест различных цифровых фильтров (период выборок 10мс):
Большое спасибо за блоки фильтров! Если можно, коротко об особенностях медийного фильтра, ничего не нашел. RC,  понятно, а оконный это – скользящее среднее? К сожалению, с датчиком ВМР180 на Arduino Nano получается опросов не более 26/сек, вероятно, библиотека тормозит, а условные шумы на уровне 2м, надо 20см, а сдвиг не
приветствуется,  условия жесть!Вот я взялся за некоммерческий проект ракетного высотомера, причем для самостоятельного изготовления моделистом-слесарем! Успехи есть, высоту измеряет, парашют ( даже два выбрасывает), уже есть слесари которые смогли повторить и говорят спасибо! :)
Теперь улучшаю работу своего изделия, сам  радиоэлектроник, но в
программировании ни бум-буб, а благодаря FLP разработал действующее устройство! Спасибо разработчикам, к сожалению, работа на  FLPнапоминает игру «Угадай мелодию», но может оно и правильно!
Последний раз редактировалось Брат 29.05.2016{, 22:12}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Comparator последовательных данных

#27

Сообщение Boroda » 29.05.2016{, 22:30}

Брат писал(а):коротко об особенностях медиАнного
Есть ряд значений (11,10,12,100,500,30,10,9,10,12,11), которые запомнил фильтр.
Фильтр раскладывает их по возрастанию (9,10,10,10,11,11,12,12,30,100,500) и на выход выдает средний член этого ряда (11).
Со сдвигом я погорячился - все фильтры дают сдвиг по фазе и он зависит от размера окна (сколько предыдущих значений помнит фильтр).
Брат писал(а):оконный это – скользящее среднее?
Да, именно он.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Comparator последовательных данных

#28

Сообщение Boroda » 29.05.2016{, 22:41}

Сделал еще несколько фильтров:
Группа Filtr - период взятия выборок задается в милисекундах.
Группа FiltrT - выборка берется по переднему фронту на входе EN.
Группа Move - блок передает переменную со входа на выход, если EN=true.
В архиве график работы 4х фильтров, блоки пользователя и проект.
Вложения
Test_4_filtr.rar
(130.72 КБ) 54 скачивания
Последний раз редактировалось Boroda 29.05.2016{, 22:54}, всего редактировалось 1 раз.

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Comparator последовательных данных

#29

Сообщение Олег » 30.05.2016{, 00:02}

Брат писал(а):Спасибо разработчикам, к сожалению, работа на  FLPнапоминает игру «Угадай мелодию»,
Для основной массы задач FLProg работает как часы, измерения в каждом цикле требует знания нюансов, которые в обыденной жизни не интересны.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Comparator последовательных данных

#30

Сообщение rw6cm » 30.05.2016{, 08:20}

Брат писал(а):вероятно, библиотека тормозит, а условные шумы на уровне 2м, надо 20см,
Быстрей всего для этого нужно более лучший датчик.


СпойлерПоказать
Если учесть что при идеальном питании BMP180, завод гарантирует шумы 25см,
и это явно выбранные экземпляры, надеяться на 20см не стоит.

п/с К тому же не известно какой параметр (oversampling_setting (0, 1, 2, 3) in the C code.) использует Автор в этом блоке.
      если стандарт, то это 40см.
Вложения
6362886.png
4242921.png
Последний раз редактировалось rw6cm 30.05.2016{, 09:35}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

Брат
Рядовой
Сообщения: 74
Зарегистрирован: 03.01.2016{, 13:11}
Репутация: 1
Откуда: г.Курганинск, Краснодарский край
Имя: Александр

Comparator последовательных данных

#31

Сообщение Брат » 30.05.2016{, 22:06}

rw6cm писал(а):Быстрей всего для этого нужно более лучший датчик.
Спасибо за подсказку!  Сейчас заказал 5 шт. Библиотеку для Arduino скачал, на Nano подходит! Но далее самое интересное, а если заменю в Libraries библиотеку для ВМР180 на ВМР280 FLP работать будет? Догадываюсь, что нет!
Последний раз редактировалось Брат 30.05.2016{, 22:07}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Comparator последовательных данных

#32

Сообщение rw6cm » 31.05.2016{, 09:12}

Брат писал(а):если заменю в Libraries библиотеку для ВМР180 на ВМР280 FLP работать будет? Догадываюсь, что нет!
В FLP используется библиотека от bmp085, по функционалу они похожи, в 280ой много нового.
Быстрей всего придется просить Автора, или делать блок коде.
Win10-64, FLProg (portable)

Ответить

Вернуться в «Спросить у знатоков»