我有一个代表数字输出的CSV值数组。它是用模拟示波器采集的,所以它不是一个完美的数字信号。我试图过滤掉数据,以获得一个完美的数字信号来计算周期(可能会有所不同)。 我还想定义我从这个过滤得到的最大误差。在
像这样:
创意
在数据上加上树形图。这是一个伪代码:
for data_point_raw in data_array:
if data_point_raw < 0.8: data_point_perfect = LOW
if data_point_raw > 2 : data_point_perfect = HIGH
else:
#area between thresholds
if previous_data_point_perfect == Low : data_point_perfect = LOW
if previous_data_point_perfect == HIGH: data_point_perfect = HIGH
有两个问题困扰着我。在
这不是你问题的答案,只是一个可能有帮助的建议。我写在这里,因为我不能把图像在评论。在
我认为您应该在任何处理之前以某种方式规范化数据。
在规格化到0…1的范围后,您应该应用过滤器。在
这里有一些代码可能会有所帮助。在
输出:
^{pr2}$可以使用
numpy.histogram
和/或matplotlib.pyplot.hist
进一步分析periods(t, y, threshold)
返回的数组。在如果你真的只对周期感兴趣,你可以画出傅里叶变换,你会在信号频率出现的地方有一个峰值(所以你有周期)。傅里叶域的峰值越宽,周期测量中的误差就越大
相关问题 更多 >
编程相关推荐