![]() |
|
|
![]()
|
|
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Топливный датчик присылает значения (см график), как их обработать и вывести отчет по расходу, заправкам и сливам топлива?
Вся проблема здесь в постоянных колебаниях. Есть ли алгоритмы для обработки таких значений, которые возрастают/убывают не за раз, а в пороцессе колебаний? Присоединённый файл ( Кол-во скачиваний: 43 )
fuel1.JPG 75,21 Kb |
|||
|
||||
| ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: нет Всего: 18 |
Мне кажется, сперва нужно пропустить сигнал через низкочастотный фильтр - он удалит колебания из сигнала, связаные с тряской датчика и топлива.
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Тоже так считаю.
Источник: Wikipedia -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: нет Всего: 18 |
Ну, врятли у автора есть возможность воткнуть в схему настоящий фильтр ))
Вполне можно воспользоваться и его математической моделью - интегрированием. Можно использовать просто среднее значение нескольких соседних отсчетов или задействовать медианный фильтр. |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Значит вопрос в том,
как этот датчик присылает значения... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Coder |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Я не имею доступа к аппаратной части датчика, эту задачу нужно решать программно.
можно здесь подробнее. что именно интегрировать? у меня тут ни функции, ни участков расход/заправок/слив.
просто среднее значение помогает, но вместе со скачками усредняет и заправки/сливы - приходится использовать ряд условий. Про медианный фильтр не слышал. данные снимаются раз в минуту с COM порта и сохраняются в файл на ЖД. Потом этот файл я и анализирую. Я уже разобрался как убрать скачки: A[i] = (A[i-1] + A[i+1]) /2. Используется эта формула с рядом условий, которые сохраняют заправки/сливы топлива. А так же делается несколько проходов по набору данных. а теперь не ясно, как узнать качественное изменение топлива в баке? когда идет заправка за 3 минуты на 80 литров тут все ясно, но если заливать с канистры по 10 литров, то график плавно растет вверх, и я не знаю как программно выделить эти участки. |
||||
|
|||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Это ИМХО несерьезно. Надо пройтись по данным фильтром. Сам этим (цифровыми фильтрами) не занимался, но думаю тебе нужно именно это. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
cardinal, не понимаю - как пройтись по данным если это аппаратный фильтр? или ты имеешь в виду его мат реализацию?
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Да, я имею именно его мат. реализацию, которую (если не ошибаюсь конечно) и называют цифровым фильтром...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: нет Всего: 18 |
Среднее значение - это тоже цифровой фильр.
Медианный фильтр Попробуйте восстановить исходный вид функции через метод наименьших квадратов http://alglib.sources.ru/interpolation/lin...eastsquares.php Для выявления различных процессов можно воспользоваться нейронными сетями. |
|||
|
||||
| Ren |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 18.2.2007 Репутация: нет Всего: нет |
Coder, * это разовый анализ иль полностью программно хочешь организовать? Вероятней всего второй вариант. ** Объем данных для анализа и их параметры (тоесть какую информацию принимаешь с датчика: время, значение,...)? Какие промежутки времени захватываешь для анализа? *** от каких параметров зависят расход и заправка? По возможности покапаюсь в конспектах, поинтересуюсь в универе. Как вариант: 1) опредилить границы калибание, при расход=0 и заправк=0; 2) учитывать эти самые калибания при анализе. А если чёт толковое, то эт очёнь смахивает на ряды динамике (которые можна сглаживать определёнными етодами) и всячиские распредиления. Это всё есть в разделах статистики. Это сообщение отредактировал(а) Ren - 10.9.2007, 20:50 |
|||
|
||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
Ren,
1. полность программно. 2. принимаю значение, время. но здесь время роль не играет, т.к. временное расстояние между соседними двумя точками = 1 минуте. 3. от прожерливости автомобиля и от добросовестности водителя насчет рядов динамики может быть это и идея. буду проверять. |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Coder, а можешь выложить сюда файл со значениями и временем, который нужно обработать?
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Coder |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 13.12.2004 Репутация: нет Всего: 11 |
cardinal, выкладываю 2 набора данных с разных датчиков.
Присоединённый файл ( Кол-во скачиваний: 15 )
Desktop.zip 29,85 Kb |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Ок, завтра к вечеру гляну - есть одна идея...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |