Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

データのピーク解析

この例では、ThingSpeak™ チャネルのデータについて基本的なピーク解析を実行する方法を説明します。データのピークを計算する方法について学びます。

メモ

この例を実行するには、Signal Processing Toolbox を使用するライセンスの与えられた MathWorks アカウントにログインしていなければなりません。

自動車カウンターの ThingSpeak チャネルからデータを読み取る

自動車カウンターの ThingSpeak チャネルは、Raspberry Pi™ と Web カメラを使用して、交通量の多い高速道路で車の台数をカウントします。自動車のカウント アルゴリズムは Raspberry Pi で実行され、15 秒ごとにカウントされた自動車の台数が ThingSpeak に送信されます。関数 thingSpeakRead を使用し、東方向の交通について、直近の 60 のデータ点をチャネル 38629 から読み取ります。

data = thingSpeakRead(38629,'NumPoints',60,'Fields',2,'outputFormat','table');

ピークの検出

高速道路は、しばしばラッシュ アワーの交通や交通事故のために渋滞します。したがって、15 秒ごとにカウントされた自動車台数のピークによって、高速道路での交通渋滞が示されます。ドライバーは、一般的なルールとして、前の車に対し 3 秒ルールを守らなければなりません。ここでは、直近の 60 のデータ点で 15 台を超える自動車がカウントされた回数を計算します。

[peakValues, peakLocations] = findpeaks(data.NumberOfEastboundCars,data.Timestamps,'MinPeakHeight',15);
numOccurences = length(peakValues);
display(numOccurences);
numOccurences =

     3

ThingSpeak へのピーク出現回数の送信

関数 thingSpeakWrite を使用して、numOccurences の値を ThingSpeak チャネルに送信します。

% Change the Channel ID and the 'WriteKey' to send data to your channel
thingSpeakWrite(<channelID>,numOccurences,60,'WriteKey','<write API key>');

参考

関数