2017-01-28 40 views
0

Аппаратный датчик сэмплирован точно (точный период выборки) с использованием устройства реального времени. Однако значение времени не отправляется в базу данных вместе с выбранным значением. Вместо этого время внесения записи в базу данных сохраняется для образца в базе данных. Используется тип DATETIME, а функция GETDATE() используется для получения текущего времени (Microsoft SQL Server).Как определить точный интервал выборки из образцов, хранящихся в базе данных?

Как я могу восстановить точное время выборки?

В качестве интервала выборки (должно быть) 60 секунд точно было не нужно раньше для более точного решения. (Это старое решение, третье лицо, с большим количеством исторических образцов. Таким образом, невозможно исправить дизайн.)

Для обработки образцов мне нужно восстановить правильные временные экземпляры для образцов , Нет никакой проблемы с изменением времени всей последовательности (то есть, не имеет значения, является ли время начала скорее выключенным, а не абсолютным). С другой стороны, интервал выборки должен быть определен как можно точнее. Я также не могу быть уверен, что интервал выборки составлял ровно 60 секунд (как упоминалось выше). Я также не могу быть уверен, что интервал выборки был действительно постоянным (скажем, небольшими различиями, основанными на температуре устройства).

При обработке образцов, я хочу получить:

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

При реконструкции образцов, мне нужно для его преобразования в кортежи:

  • время выборки
  • значение образца

Из-за этого, для последовательности с п образцов, время последнего образца должна быть равна start_time + sampling_interval * (n - 1), и она должна быть достаточно близко к исходное время окончания, хранящееся в базе данных.

Подумайте о том, что хранимые образцы времени немного осциллируют относительно реальных выборок (постоянная задержка между выборкой и вставкой в ​​базу данных здесь не проблема).

Я думал о вычислении среднего значения и скорректированного стандартного отклонения для интервала, вычисленного из предыдущего и текущего времени выборки.

обнаружение прерывистости: Если расчетный интервал больше, чем 3 сигмы от среднего значения, я считал бы разрыв отобранных кривым (скажем, машина выключается, или любое внешнее свинцовое событие недостающих выборок В этом случае я хочу начать с обработки новой последовательности (частота выборки также может быть изменена.)

Есть ли хорошо известный подход к проблеме. Если да, можете ли вы указать мне на статью (s)?Или вы можете дать мне имя или аббревиатуру алгоритма?

+1

Я бы начал с вычисления разницы между сохраненной меткой времени для каждого значения и ее предшественником и просмотром этих значений. – mcdowella

+0

Спасибо за предложение. Во всяком случае, есть еще несколько способов расчета периода. Я обеспокоен накопленными ошибками. (Хорошо, я могу попробовать экспериментально, но ...) Если рассчитать интервал от текущего минус первый образец, деленный на количество периодов, я, вероятно, также получу среднее значение, и я, вероятно, сделаю это «на лету», так же, как и здесь для отклонения https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Computing_shifted_data. Я просто обволакиваю голову, чтобы отладить эту идею. – pepr

+0

Мой предыдущий комментарий о вычислении интервала выборки из большего количества образцов - это вздор. Причина в том, что при наличии большого количества образцов один недостающий образец не будет иметь никакого значения - и это должно иметь значение. – pepr

ответ

2

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

+0

Я отмечаю, что что-то столь же простое, как гистограмма разностной последовательности, может выявить любые внезапные изменения в межвариантном времени. – mcdowella

 Смежные вопросы

  • Нет связанных вопросов^_^