Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 18

Тема: Фильтр пиковых значений

  1. #1

    Question Фильтр пиковых значений

    Добрый день, понимаю что тема не нова. И скорее всего есть уже написанная библиотека только надо найти.
    Для аналогово датчика REAl требуется данная фильтрация что бы исключить ложные пиковые данные.
    Как я вижу данный блок:
    Вход BOOL (* Активация ФБ / можно и без него *)
    Вход REAL (* приходит входное значение *)
    Вход WORD (* количество измерений *)

    Выход REAL (* выходная переменная отфильтрованная *)

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

    WhatsApp Image 2018-10-12 at 10.04.09.jpeg

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    погуглите тему линейная регрессия, возможно поможет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    погуглите тему линейная регрессия, возможно поможет
    Нее это немного не то. У меня есть ФБ средних значений. Но иногда показания с датчика выходят за пределы и получается что линейная регрессия показывает не то что надо...

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    блок средних значений это же не по методу наименьших квадратов, да и вообще зная медиану и отсекая от обработки значения превышающие определенный порог как можно повернуть тренд не туда
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    блок средних значений это же не по методу наименьших квадратов, да и вообще зная медиану и отсекая от обработки значения превышающие определенный порог как можно повернуть тренд не туда
    Да Вы правы. Но в том то и смысл перед ФБ средних значений поставить дополнительный который откидывает значения.
    Я подумал и наверное будет выглядеть так:

    Вход BOOL (* Активация ФБ / можно и без него *)
    Вход REAL (* приходит входное значение *)
    Вход WORD (* количество измерений *)
    Вход REAL (* отклонение от нормы +/- *)

    Выход REAL (* выходная переменная отфильтрованная *)

    Этому блоку не хватает значения отклонения. Который я добавил выше. На самом деле я не пойму как работать с массивом данных... Как убрать из массива "ненужные/ за предельные" показания.

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    пересчитайте массив за предыдущий цикл используя например pivot, всё что за пределами первых линии можно отбрасывать
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    пересчитайте массив за предыдущий цикл используя например pivot, всё что за пределами первых линии можно отбрасывать
    Хорошая статья, написано что зачастую это средняя арифметическое.
    А я хотел бы все же что бы всё происходило не по средней а по пику. Может подскажите какие есть идеи с библиотеками ? Может надо просто поискать...

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    так зачем Вам пик, если он не нужен, перед тем как заносить значение в массив, вычисляете пивот, и в массив задаете значение пропущенное через LIMIT, где границы диапазона будут линии пивота и текущее значение, тогда сам массив уже будет лишен всплесков
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #9

    По умолчанию

    Не совсем понятно, как? Буду не против более подробного ответа.

  10. #10
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    Цитата Сообщение от tomas111 Посмотреть сообщение
    Для аналогово датчика REAl требуется данная фильтрация что бы исключить ложные пиковые данные.
    WhatsApp Image 2018-10-12 at 10.04.09.jpeg
    Я думаю для решения данной задачи подойдёт Медианный фильтр.
    Медианная фильтрация — эффективная процедура обработки сигналов, подверженных воздействию импульсных помех.
    Реализация на ST очень хорошо описана в книге Петрова "Программируемые контроллеры. Стандартные языки и приёмы прикладного проектирования" стр 217, погуглите.
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. сетевой фильтр
    от Anton_V_A в разделе Подбор Оборудования
    Ответов: 12
    Последнее сообщение: 19.09.2016, 06:59
  2. Как настроить фильтр?
    от Navigation1 в разделе Master SCADA 3
    Ответов: 46
    Последнее сообщение: 06.07.2015, 13:45
  3. Цифровой фильтр.
    от Mikewolf в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 23.05.2008, 10:54
  4. Ответов: 4
    Последнее сообщение: 01.04.2008, 08:11
  5. Цифровой фильтр в ПЛК150
    от Юрий_1900 в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 27.12.2007, 08:22

Ваши права

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