Перейти к содержанию
    

Дребезг параметра на индикаторе, как бороться?

4 minutes ago, adnega said:

Аттестат средней школы тоже возвращать?

Есть что по теме или так и будете дальше выкладывать детские задачки с наивными намеками?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, Forger сказал:

Есть что по теме или так и будете дальше выкладывать детские задачки с наивными намеками?

Это не намек, это конкретный вопрос: должно быть ровно 0, а у меня далеко не ноль - почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, adnega said:

 должно быть ровно 0, а у меня далеко не ноль - почему?

Мы не в детском садике, ответы на такие вопросы есть в интернетах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди, я вас не понимаю. Ну есть человек. Который может разное сказать.

Например, сказать что если нет фильтрации, то нет и сэмплирования. Потом заявить, что RC-цепочка это КИХ. Зачем читать дальше? Что вы ТАКОМУ СПЕЦИАЛИСТУ собрались объяснить, теорему Котельникова? спектры? фильтры? Вы что, серьезно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 minutes ago, Ruslan1 said:

Например, сказать что если нет фильтрации, то нет и сэмплирования.

8 hours ago, Forger said:

Если никакой предварительно фильтрации нет, то безусловно нет никакого сэмплирования.

Но если никакой фильтрации нет, то о чем тогда эта тема? Как отобразить некое число на дисплее?  Если да, то тогда тему нужно переносить в раздел для новичков и на этом закругляться

 

 

Quote

Потом заявить, что RC-цепочка это КИХ.

3 hours ago, ViKo said:

RC цепочка - фильтр БИХ. 

 

 

Quote

Зачем читать дальше? 

Да, тут много "специалистов" собралось, и еще один нарисовался. Очевидно что все для того, чтобы решить эту детскую задачку ТС.

Версий прозвучало много. 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 минуты назад, Ruslan1 сказал:

Ну есть человек. Который может разное сказать.

Теперь будем знать. Я не ожидал от Forger такого, честно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, adnega said:

Теперь будем знать. 

Один предложил медианный фильтр, который против банального шума младших разрядов АЦП абсолютно бессилен, присваивет мне чужие посты, да и вообще их толком не читает.

Другой кидает наивные намеки на мой код фильтра с плавучкой, который даже в глаза не видел.

Короче, когда закончите делится друг с дружкой обоюдными дружескими обнимашками, странными намеками и подобными детскими шалостями, то предлагаю все же вернуться к теме либо на этом закончить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, Forger сказал:

Один предложил медианный фильтр, который против простого шума АЦП абсолютно бессилен.

Производитель ST на эту тему высказался в AN4073 " How to improve ADC accuracy when using STM32F2xx andSTM32F4xx microcontrollers":

Цитата

Averaging of N-X ADC samples

This method is based on taking N ADC samples, sorting them from the highest to the lowest value (or the reverse) and deleting the dispersed X samples.

This averaging method is more efficient than the previous one ( Averaging of N ADC samples ), as it deletes the most dispersed values which could impact the average, and it gives a good trade-off between the execution time and the conversion accuracy.

Получается, что медианный фильтр все же нужен. Без него в спектре появляется неприятный ВЧ-присвист. Боролся с ним.

5 минут назад, Forger сказал:

Другой кидает грязные намеки на мой код фильтра, который даже в глаза не видел.

С плавающей точкой не все так просто, чтобы сходу заявлять "разумеется".

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 minutes ago, adnega said:

Производитель ST на эту тему высказался в AN4073 " How to improve ADC accuracy when using STM32F2xx andSTM32F4xx microcontrollers":

Кстати, вот цитата оттуда:

Quote

Averaging is a simple technique where you sample an analog input several times and take the average of the results. This technique is helpful to eliminate the effect of noise on the analog input or a wrong conversion

А в комплексе наверно лучше использовать и то и то - сначала медианным убираем левые (ложные) отчеты, а потом проходимся усреднением.

 

 

Quote

С плавающей точкой не все так просто, чтобы сходу заявлять "разумеется".

Наверно наличие у меня готовых фильтров да еще и с плавучкой аж на C++ да еще и шаблонах! у кого и вызывает некое удивление, однако, я их использую уже давно, хотя не так часто по сравнению с фильтрами на целых числах. 

 

 

Quote

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

Странно, у меня банальное скользящее среднее прекрасно с этим справляется (ценой расхода ОЗУ, конечно).

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, Forger сказал:

у меня банальное скользящее среднее прекрасно с этим справляется (ценой расхода ОЗУ, конечно).

 

 

Объясните, каким образом можно избежать мерцание 4.99-5.00, если в  результате фильтрации (в том числе и скользящим средним) будут получаться эти два значения попеременно ?

Изменено пользователем rx3apf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, rx3apf said:

Объясните, каким образом можно избежать мерцание 4.99-5.00, если результат фильтрации (в том числе и скользящим средним) будет выдавать эти два значения попеременно ?

Давайте сначала разберемся с термином: мерцание - это попеременное изменение чего либо с некой минимальной частотой, которой позволяет назвать это мерцанием (тупо вызывает N-степень раздражения у смотрящего).

Мерцание можно устранить, переведя его в термин "редкое изменение", т.е. сделать так, чтобы значение если и телепалось, то крайне редко.

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

Степень допустимого раздражения смотрящего сократится до требуемого уровня, который может быть описан в ТЗ на изделие :D

 

Полностью устранить даже редкое изменение не получится, но на самом деле это и не нужно.

Но способы значительного уменьшения (не устранения) этого эффекты уже прозвучали в этой теме.

 

Короче, самое простое - не нужно кидать новое значение на экран чаще, чем это реально требуется. Не нужно жадничать с аппаратной и и тем более программной фильтрацией медленно изменяющихся сигналов.

Однако, проблема может возникнуть там, где код настолько "заколдован", что без танцев с бубнами это сделать не так-то просто.

Вот как раз в таком коде вполне возможно придется немного жертвовать точностью используя гистерезис или что-то типа того.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё в самом далёком начале (где то стр. на третьей) я написал что нужно радоваться точному измерению и не ...ться

Но моё сообщение удалили (видать сочли слишком оскорбительным для ТС и читателей).

и что мы видим ? 11 страниц абсолютного бесполезной дискуссии! 

Или таким образом формируем псевдо-наполнение постоянно деградируещего форума?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гистерезис (отключаемый) на 1 lsb точность не ухудшает. Если на экране то 4.99, то 5.00 - ни в том, ни в другом случае нельзя говорить о том, что это ровно 4.99 или 5.00. И вполне можно на какое-то время, пока показания меняются, зафиксироваться на любом из этих значений. Пошло изменение - отключаем гистерезис и отражаем то, что получено в результате измерения. Дергается на 1 единицу вперед-назад - опять зафиксировали. Стабилизировалось на 1 больше - сменили показания и опять игнорируем дергание. Но фильтр тут не в помощь, нужна пороговая составляющая.

А скорость регенерации показаний - это вообще совершенно другой аспект, и не надо его сюда приплетать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/28/2019 at 5:35 PM, pokk said:

Подскажите, как бороться с болтанием параметра на индикаторе, т.е  было значение 5.00 через секунду  4.99 потом опять 5.00... 4.99,5.01

Я, как человек, уже 6 с лишним лет занимающийся разработкой измерительных приборов, после 11 страниц дискуссии задам один вопрос: а зачем это вообще нужно?

И немного порассуждаю. Индикатор отображает то, что вы ему даёте. Если вы будете использовать какие-то "хитрые" фильтры, которые вам "заморозят" вашу величину, то это может замедлить время обновления на индикаторе. Более того, ваши показания станут недостоверными: а если измеряемая величина действительно имеет дрейф или искажена помехами? Я считаю, что с болтанкой сигнала нужно разобраться по цепочке "источник-датчик-измерительный тракт-обработка". Например, если у вас ошибка в коде обработки, то может быть именно эта ошибка даёт пляску результатов. А если проблема в "датчике", то какой с мысл городить фильтры? Решать проблему нужно именно с датчиком. Вполне возможно, что это уже обсуждалось на одной из 11 страниц. Если меняется сама величина, что вполне нормально, то почему бы просто не позволить индикатору отображать её истинное значение? Ведь это же и есть, как я понимаю, истинное предназначение измерительного прибора?!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Согласен с haker_fox-ом. А кого раздражает, что цифры на индикаторе меняются, пусть не смотрит долго.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...