主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

自己相関を使用した周期性の検出

信号での振動動作が予期される場合でも,測定の不確実性およびノイズがあると,そのような動作を検出することは困難なことがあります。

周期信号の自己相関列には,信号自体と同じ周期的特性があります。このため,自己相関は周期の存在を確認し,その期間を決定するのに役立ちます。

オフィスビル内の温度計が収集した一連の温度データについて考えてみます。温度計は4か月間30分ごとに読み取りを行っています。データを読み込み,プロットします。温度の変動に集中できるよう,平均値を減算します。温度を摂氏に変換します。時間を日数で測定します。したがって,サンプルレートは2測定/時間×24時間/日= 48測定/日です。

负载officetemptempC = (temp-32) * 5/9;tempnorm = tempC-mean (tempC);fs = 2 * 24;T =(0:长度(tempnorm) - 1)/fs;情节(t, tempnorm)包含(的时间(天)) ylabel ('温度({}^\circC)')轴

温度は振動しているように見えますが,周期の長さは簡単に読み取れません。

温度の自己相関を計算します。ゼロラグで値が1になるようにします。正負の遅れを3週間以内に制限します。この信号の二重の周期性に注意してください。

[autocor,滞后]= xcorr (tempnorm 3 * 7 * fs,多项式系数的);情节(滞后/ fs, autocor)包含(“滞后(天)”) ylabel (自相关的)轴([-21 21 -0.4 1.1])

ピークの位置を検出し,これらの間の平均時間差を決定して,短い周期と長い周期を決定します。

長周期を検出するには,短周期より離れていて,高さが0.3以上のピークのみを検索するようfindpeaksを制限します。

[pksh, lcsh] = findpeaks (autocor);短=意味着(diff (lcsh)) / fs
短= 1.0021
[pklg, lclg] = findpeaks (autocor,...“MinPeakDistance”装天花板(短)* fs,“MinPeakheight”, 0.3);长=意味着(diff (lclg)) / fs
长= 6.9896
持有繁荣正义党=情节(pksh滞后(lcsh) / fs,”或“...滞后(lclg) / fs, pklg + 0.05,“vk”);持有传奇(pks [repmat (”时期,“, [2]) num2str((长、短),0)])轴(21 -0.4 - 1.1 [-21])

自己相関は,日次でも週次でも,非常によい近似値に収束します。これは予期できることです。ビル内の温度は,人が働いているときは高く,夜間および週末は低くなるためです。

参考

|

関連するトピック