如何量化信号的不对称性?

信息处理 matlab 离散信号 信号分析 信号检测
2022-02-01 05:14:59

我正在寻找合适的度量来量化信号的不对称性。我读过这个:检测信号不平衡程度和这个:如何测量曲线之间的一致性?但我看不出它们如何适用于我的案件。

所以这是我感兴趣的信号的一部分:我感兴趣的部分信号(忽略 xlabel)

红线显示原始信号,黑线显示信号的右侧部分,在 time=0 轴上镜像。我需要做的是找到一种方法来量化红线的不对称性,即衡量它与黑线的差异。

我尝试做的是取每个点差异的平方和(SRSS)的平方根。那是:

SRSS=i(yblack,iyred,i)2

不幸的是,这个度量受我为每条曲线取的点数的影响。因此,例如,如果分辨率是一半,即使我比较相同的行,SRSS 也会降低。

您可以建议其他任何不对称措施吗?理想情况下,它们应该是单个数字,并且不受线条分辨率的很大影响。

2个回答

假设您正在寻找周围的对称性x=0,您可以将任何函数分解为对称和反对称部分:

f(x)=12(f(x)+f(x))+12(f(x)f(x))

打电话f+(x):=12(f(x)+f(x))f(x):=12(f(x)f(x))您可以轻松地验证f+是对称的,而f是反对称的。

现在,您可以通过对您的函数采用任何合适的范数来测量对称性。例如对称性f(x)可以测量为

S[f]:=||f+||||f+||+||f||

范围从0(完全反对称)到1(完全对称)。

一个可能有用的函数规范被定义为

||f||=Rf(x)2dx

可以离散为

||f||=if(xi)2x(i+1)x(i1)2

您可以计算信号的奇数部分。如果对称点是索引n=0(如你的例子),那么信号的奇数部分是

yo(n)=12(y(n)y(n))

您可以使用的归一化平方和yo(n)作为不对称的度量:

m=1(2N+1)Y02n=NNyo2(n)

在哪里Y0=max{|yo(n)|}. 根据这个定义,度量与数据点的数量无关,也与缩放无关。m