Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка значений топливного датчика. 
:(
    Опции темы
Coder
Дата 7.9.2007, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Топливный датчик присылает значения (см график), как их обработать и вывести отчет по расходу, заправкам и сливам топлива?

Вся проблема здесь в постоянных колебаниях.
Есть ли алгоритмы для обработки таких значений, которые возрастают/убывают не за раз, а в пороцессе колебаний?

Присоединённый файл ( Кол-во скачиваний: 43 )
Присоединённый файл  fuel1.JPG 75,21 Kb
PM MAIL   Вверх
ewolf
Дата 7.9.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

Репутация: нет
Всего: 18



Мне кажется, сперва нужно пропустить сигнал через низкочастотный фильтр - он удалит колебания из сигнала, связаные с тряской датчика и топлива.
PM MAIL ICQ   Вверх
cardinal
Дата 7.9.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Тоже так считаю.
user posted image
Источник: Wikipedia


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ewolf
Дата 8.9.2007, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

Репутация: нет
Всего: 18



Ну, врятли у автора есть возможность воткнуть в схему настоящий фильтр ))

Вполне можно воспользоваться и его математической моделью - интегрированием. Можно использовать просто среднее значение нескольких соседних отсчетов или задействовать медианный фильтр.
PM MAIL ICQ   Вверх
cardinal
Дата 8.9.2007, 03:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Значит вопрос в том,
Цитата(Coder @  7.9.2007,  07:06 Найти цитируемый пост)
Топливный датчик присылает значения

как этот датчик присылает значения...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Coder
Дата 8.9.2007, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Я не имею доступа к аппаратной части датчика, эту задачу нужно решать программно.

Цитата(ewolf @  8.9.2007,  08:51 Найти цитируемый пост)
Вполне можно воспользоваться и его математической моделью - интегрированием.

можно здесь подробнее. что именно интегрировать? у меня тут ни функции, ни участков расход/заправок/слив.

Цитата(ewolf @  8.9.2007,  08:51 Найти цитируемый пост)
 Можно использовать просто среднее значение нескольких соседних отсчетов или задействовать медианный фильтр.

просто среднее значение помогает, но вместе со скачками усредняет и заправки/сливы - приходится использовать ряд условий. Про медианный фильтр не слышал.

Цитата(cardinal @  8.9.2007,  11:41 Найти цитируемый пост)
как этот датчик присылает значения...

данные снимаются раз в минуту с COM порта и сохраняются в файл на ЖД. Потом этот файл я и анализирую.

Я уже разобрался как убрать скачки: A[i] = (A[i-1] + A[i+1]) /2.
Используется эта формула с рядом условий, которые сохраняют заправки/сливы топлива. А так же делается несколько проходов по набору данных.

а теперь не ясно, как узнать качественное изменение топлива в баке? когда идет заправка за 3 минуты на 80 литров тут все ясно, но если заливать с канистры по 10 литров, то график плавно растет вверх, и я не знаю как программно выделить эти участки.


PM MAIL   Вверх
cardinal
Дата 8.9.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(Coder @  8.9.2007,  09:09 Найти цитируемый пост)
Я уже разобрался как убрать скачки: A[i] = (A[i-1] + A[i+1]) /2.

Это ИМХО несерьезно.

Надо пройтись по данным фильтром. Сам этим (цифровыми фильтрами) не занимался, но думаю тебе нужно именно это.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Coder
Дата 9.9.2007, 04:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



cardinal, не понимаю - как пройтись по данным если это аппаратный фильтр? или ты имеешь в виду его мат реализацию?
PM MAIL   Вверх
cardinal
Дата 9.9.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Да, я имею именно его мат. реализацию, которую (если не ошибаюсь конечно) и называют цифровым фильтром...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ewolf
Дата 9.9.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

Репутация: нет
Всего: 18



Среднее значение - это тоже цифровой фильр. 
Медианный фильтр

Попробуйте восстановить исходный вид функции через метод наименьших квадратов
http://alglib.sources.ru/interpolation/lin...eastsquares.php

Для выявления различных процессов можно воспользоваться нейронными сетями.
PM MAIL ICQ   Вверх
Ren
Дата 10.9.2007, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 18.2.2007

Репутация: нет
Всего: нет



Цитата(Coder @  7.9.2007,  06:06 Найти цитируемый пост)
Топливный датчик присылает значения (см график), как их обработать и вывести отчет по расходу, заправкам и сливам топлива?

Вся проблема здесь в постоянных колебаниях.
Есть ли алгоритмы для обработки таких значений, которые возрастают/убывают не за раз, а в пороцессе колебаний? 

Coder, 
* это разовый анализ иль полностью программно хочешь организовать? Вероятней всего второй вариант.
** Объем данных для анализа и их параметры (тоесть какую информацию принимаешь с датчика: время, значение,...)? Какие промежутки времени захватываешь для анализа?
*** от каких параметров зависят расход и заправка?
 По возможности покапаюсь в конспектах, поинтересуюсь в универе.
 Как вариант:
1) опредилить границы калибание, при расход=0 и заправк=0;
2) учитывать эти самые калибания при анализе.
А если чёт толковое, то эт очёнь смахивает на ряды динамике (которые можна сглаживать определёнными етодами) и всячиские распредиления. Это всё есть в разделах статистики.



Это сообщение отредактировал(а) Ren - 10.9.2007, 20:50
PM MAIL   Вверх
Coder
Дата 11.9.2007, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Ren, 
1. полность программно.
2. принимаю значение, время. но здесь время роль не играет, т.к. временное расстояние между соседними двумя точками = 1 минуте.
3. от прожерливости автомобиля и от добросовестности водителя smile

насчет рядов динамики может быть это и идея. буду проверять.
PM MAIL   Вверх
cardinal
Дата 11.9.2007, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Coder, а можешь выложить сюда файл со значениями и временем, который нужно обработать?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Coder
Дата 11.9.2007, 03:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



cardinal, выкладываю 2 набора данных с разных датчиков.

Присоединённый файл ( Кол-во скачиваний: 15 )
Присоединённый файл  Desktop.zip 29,85 Kb
PM MAIL   Вверх
cardinal
Дата 11.9.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Ок, завтра к вечеру гляну - есть одна идея...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.