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。