周期性系数

信息处理 周期性的
2022-02-14 01:47:42

我想知道是否存在一种有效的方法来计算信号的周期性,当信号是完全周期性的(如正弦信号)时,它应该是 ~1.0,当完全随机时,它应该是 ~0.0,如白噪声。

编辑:这个问题带来了很大的误解,它已被修改以适应答案。

2个回答

我建议使用光谱平坦度,也就是维纳熵。它被定义为幅度谱的几何平均值和算术平均值之比:X(k)

Ξ=k=0KX(k)K1Kk=0KX(k)

对于具有平坦频谱的信号,它的值趋向于,而对于音调信号,它接近于在您的特定应用程序中,您可能希望将视为信号中“音调”的度量。101Ξ


等效地,为了避免下溢,可以将几何平均实现替换为

GM=exp(1Kk=0KlnX(k))

无偏、归一化自相关函数 (ACF)直接计算所需的“周期性系数”。它被定义为rxx[τ]

rxx[τ]=Nx22(Nτ)i=0Nτ1x[i]x[i+τ] for 0τ(N1),

平方(Frobenius)范数(例如,能量)和的长度x22Nx

您只需要确定第一个最大值的高度,其时滞不同于零, ττmax=arg max{rxx[τ]} for τ0

  • 如果信号是周期性的,周期为rxx[τmax]=1τmax
  • 如果,则信号是周期性的,周期为,其自身的相位反转版本,rxx[τmax]=1τmax
  • 如果,则信号不是周期性的。rxx[τmax]=0

是信号周期性程度的量度。1rxx[τmax]1

您要求的周期性度量,范围为,例如,可以通过丢弃所有值来实现,从而导致:01rxx[τmax]<0

p=max{0,rxx[τmax]}.