14 自相关 acorr

14 自相关 acorr

用途

信号与自身延迟的相似度,用于检测日周期、故障冲击周期。

示例(5 张)

14-1 日负荷的自相关(24 h 周期)

日负荷的自相关(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。
  • 图内不放标题,图题由本文件的二级/三级标题承担。
  • 数据为贴近广东实际量级的仿真算例,随机种子固定,重跑结果一致。
posted @ 2026-11-07 08:35  小青蛙电气  阅读(3)  评论(0)    收藏  举报