exponenta event banner

Регуляризация данных с нерегулярной выборкой

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

Считывание данных с канала метеостанции

Канал ThingSpeak 12397 содержит данные метеостанции MathWorks ®, расположенной в Натике, штат Массачусетс. Данные собираются один раз в минуту. Поле 4 канала содержит данные о температуре воздуха. Для проверки нерегулярно отобранных данных считывайте данные о температуре воздуха из канала 12397 с помощью thingSpeakRead функция.

data = thingSpeakRead(12397,'NumMin',60,'Fields',4,'outputFormat','timetable');

Проверка данных с нерегулярной выборкой

Данные за последние 60 минут, считанные с канала 12397, сохраняются в виде расписания. Использовать isregular функция для проверки того, регулярно ли производится выборка данных канала. Если данные дискретизируются нерегулярно, генерируют вектор времени с регулярным интервалом для интересующего периода времени. Создание нового вектора времени с помощью linspace с startTime, stopTimeи количество измерений.

regularFlag = isregular(data,'Time');

if ~regularFlag
    startTime = data.Timestamps(1);
    stopTime  = data.Timestamps(end);
    newTimeVector = linspace(startTime,stopTime,height(data)); 
    data.Timestamps = newTimeVector;
end

Отправка данных в ThingSpeak

Отправка обработанных данных в канал ThingSpeak с помощью thingSpeakWrite функция.

% Change the channelID and the writeAPIKey to send data to your channel.
channelID=17504;
writeAPIKey='23ZLGOBBU9TWHG2H';
thingSpeakWrite(channelID,data,'WriteKey',writeAPIKey);

См. также

| |