Numpy 将平滑信号与输入信号进行比较

Numpy 将平滑信号与输入信号进行比较,numpy,signal-processing,scipy,Numpy,Signal Processing,Scipy,我使用下面描述的算法平滑一系列数据点: 如何将平滑后的信号与输入信号进行比较?我希望我能得到一个标量来描述输出与输入的“接近程度”。有什么标准的方法可以做到这一点吗?我可以找一些术语吗 我甚至不知道该找什么。谢谢 假设对信号进行平滑处理以去除噪声,最自然的优点是信噪比 比如: mean((smoothed[n] - original[n])^2) / mean( (smoothed[n])^2 ) 以上假设信号的平均值为~0。假设对信号进行平滑处理以去除噪声,最自然的优点是信噪比 比如: me

我使用下面描述的算法平滑一系列数据点:

如何将平滑后的信号与输入信号进行比较?我希望我能得到一个标量来描述输出与输入的“接近程度”。有什么标准的方法可以做到这一点吗?我可以找一些术语吗


我甚至不知道该找什么。谢谢

假设对信号进行平滑处理以去除噪声,最自然的优点是信噪比

比如:

mean((smoothed[n] - original[n])^2) / mean( (smoothed[n])^2 )

以上假设信号的平均值为~0。

假设对信号进行平滑处理以去除噪声,最自然的优点是信噪比

比如:

mean((smoothed[n] - original[n])^2) / mean( (smoothed[n])^2 )

以上假设信号的平均值为~0。

I使用。这给了我一个介于0和1之间的数字。这个数字越大,两个数据系列之间的距离就越远。0表示信号和平滑信号之间的完美匹配。

我使用了。这给了我一个介于0和1之间的数字。这个数字越大,两个数据系列之间的距离就越远。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中


相关性是衡量两个信号相似性的非常敏感的指标。当两个信号在频率内容上相似且彼此同相时,其最大化。

离散相关是在噪声背景中检测已知波形的一种方法。只要找出两个信号之间的相关性。离散相关性只是矢量点积:

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中


相关性是衡量两个信号相似性的非常敏感的指标。当两个信号在频率内容上相似且彼此同相时,它会最大化。

I平滑信号以接近它。我有一系列的数据点(测量值),但是1)我没有我感兴趣的每个点的值,2)测量值可能有小误差。我绘制了一条很好的曲线,它代表了近似的信号以及测量值的散点图。散射让我知道了近似值有多远,但我想得到一个可以比较的数字。信号的平均值不是0。我平滑信号以使其近似。我有一系列的数据点(测量值),但是1)我没有我感兴趣的每个点的值,2)测量值可能有小误差。我绘制了一条很好的曲线,它代表了近似的信号以及测量值的散点图。散射让我知道了近似值有多远,但我想得到一个可以比较的数字。信号的平均值不是0。