Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 178

Профиль | Отправить PM | Цитировать


Контроллер можно настроить на автоматический опрос линии АЦП. Установил частоту опроса на 100 Гц. Устанавливал белое препятствие на расстоянии от 5 до 45 см с интервалом в 1 см. В цикле набирал по 1000 значений измерений. И дальше по алгоритму написал функцию расчёта дисперсии.

Код: Выделить весь код
        double[] compute_disperse(List<int> Y)
        {
            int[] y =  Y.ToArray();

            double M = 0;

            for (int i=0; i< y.Length;i++)
            {
                M += y[i];
            }

            M = M / y.Length;

            double D = 0;

            for (int i=0; i< y.Length; i++)
            {
                D += Math.Pow(y[i] - M,2);
            }

            return new double[] { M, Math.Sqrt(D) };
        }
Построил график в программе AdvancedGrapher. Применил сглаживание. Зелёная линия это арифметическое среднее. Красная - дисперсия. По оси абсцисс расстояние. По оси ординат значения в некоторых единицах АЦП (можно однозначно перевести в вольты).

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Последний раз редактировалось Tonny_Bennet, 13-07-2012 в 14:39.


Отправлено: 13:03, 13-07-2012 | #13