14 自相关 acorr
14 自相关 acorr
用途
信号与自身延迟的相似度,用于检测日周期、故障冲击周期。
示例(5 张)
14-1 日负荷的自相关(24 h 周期)

14-2 光伏出力的自相关函数

14-3 风速序列的自相关

14-4 轴承故障振动信号的自相关(冲击周期)

14-5 电价序列的自相关

代码
以下 5 个函数取自 code/第二批_信号分析261107.py,直接调用即可出图。样式(宋体 + Times、10 磅、刻度朝内四边、留白自检)由 code/公共配置261107.py 的 setup_cn_style() 和 save() 统一提供,本节不再重复。
# 摘自 code/第二批_信号分析261107.py
def ac_01():
"""日负荷的自相关(24 h 周期)。"""
fig, ax = new_fig()
rng = np.random.default_rng(1401)
fs = 1.0
t = np.arange(0, 336, 1 / fs)
x = (480 + 170 * np.sin(2 * np.pi * (t - 6) / 24)
+ 90 * np.sin(2 * np.pi * (t - 16) / 12)
+ rng.normal(0, 26, t.size))
ax.acorr(x - x.mean(), maxlags=120, color=C1, lw=0.9)
ax.grid(False)
ax.set_xlabel("滞后 " + IT["t"] + " / h")
ax.set_ylabel("自相关系数")
save(fig, "14_自相关", "14_自相关_日负荷自相关")
def ac_02():
"""光伏出力的自相关函数。"""
fig, ax = new_fig()
rng = np.random.default_rng(1402)
fs = 1.0
t = np.arange(0, 240, 1 / fs)
x = np.clip(np.sin(2 * np.pi * (t - 6) / 24), 0, None) * 800 + rng.normal(0, 30, t.size)
ax.acorr(x - x.mean(), maxlags=96, color=C3, lw=0.9)
ax.grid(False)
ax.set_xlabel("滞后 " + IT["t"] + " / h")
ax.set_ylabel("自相关系数")
save(fig, "14_自相关", "14_自相关_光伏出力自相关")
def ac_03():
"""风速序列的自相关。"""
fig, ax = new_fig()
rng = np.random.default_rng(1403)
fs = 1.0
t = np.arange(0, 1024, 1 / fs)
x = 8.5 + 1.4 * np.sin(2 * np.pi * t / 168) + rng.normal(0, 0.8, t.size)
ax.acorr(x - x.mean(), maxlags=300, color=C1, lw=0.9)
ax.grid(False)
ax.set_xlabel("滞后 " + IT["t"] + " / h")
ax.set_ylabel("自相关系数")
save(fig, "14_自相关", "14_自相关_风速自相关")
def ac_04():
"""轴承故障振动信号的自相关(冲击周期)。"""
fig, ax = new_fig()
rng = np.random.default_rng(1404)
fs = 5000
t = np.arange(0, 0.5, 1 / fs)
x = rng.normal(0, 0.08, t.size)
for t0 in np.arange(0.02, 0.5, 0.0125):
x += 0.9 * np.exp(-((t - t0) / 0.0012) ** 2)
ax.acorr(x - x.mean(), maxlags=400, color=C2, lw=0.8)
ax.grid(False)
ax.set_xlabel("滞后 " + IT["t"] + " / ms")
ax.set_ylabel("自相关系数")
save(fig, "14_自相关", "14_自相关_轴承故障自相关")
def ac_05():
"""电价序列的自相关。"""
fig, ax = new_fig()
rng = np.random.default_rng(1405)
fs = 1.0
t = np.arange(0, 240, 1 / fs)
x = 0.6 + 0.24 * np.sign(np.sin(2 * np.pi * t / 24)) + rng.normal(0, 0.02, t.size)
ax.acorr(x - x.mean(), maxlags=96, color=C3, lw=0.9)
ax.grid(False)
ax.set_xlabel("滞后 " + IT["t"] + " / h")
ax.set_ylabel("自相关系数")
save(fig, "14_自相关", "14_自相关_电价自相关")
说明
- 图片尺寸 1181×944 px(100 mm × 80 mm @ 300 dpi),三维图为 1181×1122 px。
- 图内不放标题,图题由本文件的二级/三级标题承担。
- 数据为贴近广东实际量级的仿真算例,随机种子固定,重跑结果一致。

浙公网安备 33010602011771号