Цитата(ILYAUL @ Mar 10 2012, 17:56)

Всем, добрый день!
помогите придумать алгоритм вычисления стабильности веса , т.е когда вес стабилен.
Имеются весы (пром. произв.) ,которые в непрерывном режиме по RS232 передают вес груза в ASCI I. Вес груза определяется с точностью до сотых с шагом +/- 50 Например 7.85 , 7.9 , 7.95.
Выдавать на печать груз можно до десятых . Сначала думал просто складывать байты веса исключая служебную информацию и убирая 0x30 , накапливать и принимать решение , но это не прокатывает.
Есть ещё мысли , но как-то они мне пока самому не нравятся. Скорость передачи 1200 , поэтому подсчёты можно делать "влёт" , а не вытягивая данные из буфера.
Help , please.
Может быть запустить процесс непрерывного анализа данных о весе груза. 1. Из принятых N данных берете N1 показаний (N1<N) и вычисляете среднее арифметическое Мср, что равносильно фильтрации и получаете предполагаемый вес груза. Далее по известной формуле (есть в любм учебнике по метрологии) вычиляете "Стандартное отклонение среднего арифметического" Соткл для этих N1 значений. Вычесленное "Стандартное отклонение среднего арифметического" Соткл определяет доверительный интервал, показывающий с вероятностью 67% что точное значение веса находится в границах: Мср +/- Соткл. Для пределения доверительного интервала сответствующего, допустим 95% точности необходио величину "Стандартное отклонение среднего арифметического" Соткл умножить на коэффициет Стьюдента Тст, который для 24 измерений равен Тст=2,4. Отсюда понятна идея: Выбираеш такое количество измерений N1 для которого коэффициетом Стьюдента Тст будет гарантирована приемлемая достоверность. Вычисляешь Мср и величину +/- Соткл*Тст. Если величина +/- Соткл*Тст не превышает заданной погрешности (доли от Мср или абсолютного значения) то значит вес измерен и равен Мср. В противном случае необходимо продолжать слежение - отбрасываете в наборе N1 часть старых значение и дополняете новыми и опять расчитываете и так до победы.