我使用此处描述的算法平滑了一系列数据点:http://www.scipy.org/Cookbook/SignalSmooth。
如何将平滑后的信号与输入信号进行比较?我希望我能得到一个标量来描述输出是如何“接近”输出的。有没有标准的方法来做到这一点?我可以找一些术语吗?
我不知道该找什么。谢谢!
答案 0 :(得分:3)
我使用了normalized root mean squared deviation。这给了我一个介于0和1之间的数字。数字越大,两个数据系列越远。 0表示信号与平滑信号之间的完美匹配。
答案 1 :(得分:3)
离散相关是一种在嘈杂的背景中检测已知波形的方法。只需找到两个信号之间的相关性。离散相关只是一个矢量点积:
for n in range(N):
y[n] = sum( [x1[i]*x2[i+n] for i in range(N)] )
在纯Python中,或者:
y = xcorr(x1,x2);
在Matlab中,或者:
y = correlate(x1,x2)
在Python + Scipy中。
相关性是两种信号相似性的非常敏感的度量。当两个信号在频率内容上相似并且彼此同相时,它被最大化。
答案 2 :(得分:0)
假设您对信号进行平滑以消除噪声,最自然的品质因数将是SNR。
类似于:
mean((smoothed[n] - original[n])^2) / mean( (smoothed[n])^2 )
以上假设信号的平均值为~0。