我使用此处描述的算法平滑一系列数据点:http://www.scipy.org/Cookbook/SignalSmooth。将平滑信号与输入信号进行比较
我怎么能比较平滑后的信号和输入信号?我希望我能得到一个标量来描述输出的“接近”输出。有没有标准的方法来做到这一点?我可以找一些术语?
我不知道甚至找什么。谢谢!
我使用此处描述的算法平滑一系列数据点:http://www.scipy.org/Cookbook/SignalSmooth。将平滑信号与输入信号进行比较
我怎么能比较平滑后的信号和输入信号?我希望我能得到一个标量来描述输出的“接近”输出。有没有标准的方法来做到这一点?我可以找一些术语?
我不知道甚至找什么。谢谢!
我用normalized root mean squared deviation。这给了我一个介于0和1之间的数字。数字越大,两个数据系列越远。 0表示信号与平滑信号完美匹配。
假设您平滑信号以消除噪声,最自然的优点是SNR。
因此,像:
mean((smoothed[n] - original[n])^2)/mean((smoothed[n])^2)
上面假设信号的平均值为0〜。
离散相关是一种在噪声背景下检测已知波形的方法。只需找到两个信号之间的相关性。离散相关是一个简单的矢量点积:
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的
。
相关性是两个信号相似性的非常敏感的度量。当两个信号在频率内容上相似并且彼此同相时,它被最大化。
我使信号平滑以便近似它。我有一系列的数据点(测量数据),但是1)我对我感兴趣的每一点都没有价值,2)测量结果可能有小错误。我绘制了一条很好的曲线,代表近似信号和测量的散点图。分散给我一个关于近似值有多远的想法,但我希望有一个我可以轻松比较的数字。信号的平均值不是0。 – ibz 2010-11-30 04:07:11