Ох
Rovki, как же с Вами не легко.
Rovki писал(а): ↑25.08.2022{, 09:10}
опять нет конкретного ответа на конкретный вопрос.
Видимо и не было конкретного вопроса. На что Вам еще не ответили?
Rovki писал(а): ↑25.08.2022{, 09:10}
То вы говорите ,что цифра это не сигнал ,то что помеха это не шум...
(и далее по тексту бред про гармоники)
Именно так. Попытайтесь это хоть как то осознать и принять.
ШУМ - шумят например транзисторы. Уровень отклонения шума от полезного сигнала имеет определенную амплитуду и не выходит за ее пределы.
ПОМЕХА - явное короткое отклонение от уровня сигнала(шума).
ЦИФРА(цифровой поток) - это ряд значений имеющий частоту оцифровки. Эта частота постоянна и неизменна. Больше никаких частот в нем нет не высоких не низких. ВООБЩЕ НИКАКИХ!
4,5,4,6,5,6,5,4,5,6,20,4,5,4,4,5,5,4,6,4,6,5,4,5,30,4,5,6,5,4,5,6,4,5,5,4,6
Вто поток значений. Их вывод осуществляется с периодом 10 мс, т.е с постоянной частотой 100Гц.
Где Вы видите какие нибудь частоты еще? Где высокие? Где низкие? Как предполагаете фильтровать по полосам частот?
***
Конечно же существуют методы выделять частоты и в цифровом сигнале. Для этого применяются достаточно сложные преобразования Фурье. Но это вообще отдельная песня и к данной теме не имеет отношения от слова совсем. И боже упаси Вас цепляться за этот абзац. Мне его Вам вообще не объяснить.
***
Вернемся к нашим баранам(цифрам)
Как видно из примера, основная масса цифр находится в пределах от 4 до 6 - ЭТО ШУМ.
Есть отдельные всплески 20 и 30 но периоды появления этих всплесков не постоянны и очень сильно отличается от периодов шумового изменения.
Так вот если пропустить этот поток цифр через медианный фильтр из трех с периодом выборки те же 10мс, то мы получим точно такой же ряд цифр, но уже без этих 20 и 30, т.к. они заменятся на 4, 5 или 6. Делать выборку чаще смысла нет, т.к. цифры в потоке чаще не изменяются(мы так условились).
5,6,20 - медиана 5
6,20,4 - медиана 4
20,4,5 - медиана 4
ВСЁ! - мы отсеяли помехи. Запаздывание результирующего графика всего на одну итерацию - 10мс (ни о чем) Кроме того частично отсеялись 4 и 6 , стало больше пятерок. А это означает что шумы тоже частично отсеялись но не сильно.
Теперь остается сгладить шумы. Сгладить - значит усреднить. У нас есть условие - запаздывание должно быть 1 сек. Для нормальной фильтрации сигнала это безумно большой период, но для аккумулятора сойдет
Значит время тактирования фильтра равно 1000мс деленное на глубину фильтрации(количество ).
1000/100 = 10мс
1000/32 = 31мс
1000/8 = 125мс
Т.е. Для одного и того же запаздывания необходимо рулить сразу двумя параметрами - тактированием и глубиной. Тут уже выбираем золотую середину. Либо загружаем контроллер, либо уменьшаем глубину.
Вот и вся песня, если в двух словах. Остальное тонкости.
Rovki писал(а): ↑25.08.2022{, 09:10}
О глубине стека говорят в фильтрах со среднем ,а не вообще ..И там чем больше стек ,тем точнее приближение
Точнее приближение к чему? К средней температуре по больнице? Или к средней цене раков которые вчера по 5, а сегодня по 3?
Вы что измеряете то? Реальные данные или супер-усредненное значение? Если так переживаете за спокойствие следящего за показаниями, то просто установите на индикатор цифру 10,000 и забудьте про измерение. Оно вообще не потребуется?
Rovki писал(а): ↑25.08.2022{, 09:10}
Но меня интересовал в первую очередь мгновенный выход фильтра на уставку после включения питания ...

О какой уставке идет речь? Вроде говорили про показания? Или вы хотите сделать первоначальную уставку?
Тогда вообще не проблема. Изначально забейте ваш стек десяткам(уставкой) и дело с концом. Дальше эти десятки будут усредняться с реальными показаниями.