使用频率分析求周期性

发布时间:2023年12月31日

????????通常很难通过观察时间测量值来表征数据中的振荡行为。频谱分析有助于确定信号是否为周期性信号并测量不同周期。

????????办公楼内的温度计每半小时测量一次室内温度,持续四个月。加载数据并对其绘图。将温度转换为摄氏度。测量时间以周为单位。因此,采样率为 2 次测量/小时 × 24 小时/天 × 7 天/周 = 336 次测量/周。

load officetemp

tempC = (temp - 32)*5/9;

fs = 2*24*7;
t = (0:length(tempC) - 1)/fs;

plot(t,tempC)
xlabel('Time (weeks)')
ylabel('Temperature ( {}^\circC )')
axis tight

如图所示:

Figure contains an axes object. The axes object with xlabel Time (weeks), ylabel Temperature ( blank toThePowerOf degree baseline C blank ) contains an object of type line.

????????温度似乎确实有震荡特性,但周期的长度并不容易确定。此时,看看信号的频率成分。

????????减去均值以重点关注温度波动。计算并绘制周期图。

tempnorm = tempC - mean(tempC);

[pxx,f] = periodogram(tempnorm,[],[],fs);

plot(f,pxx)
ax = gca;
ax.XLim = [0 10];
xlabel('Frequency (cycles/week)')
ylabel('Magnitude')

如图所示:

Figure contains an axes object. The axes object with xlabel Frequency (cycles/week), ylabel Magnitude contains an object of type line.

????????温度显然有日周期和周周期。结果并不令人惊讶:在人们工作时温度较高,晚上和周末温度较低。

文章来源:https://blog.csdn.net/jk_101/article/details/134421285
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。