我正在使用 DAQ 对正弦电压进行采样。我将样本存储在一个列表中,然后对该列表进行 FFT。我的问题是我只想对正弦波的完整周期进行 FFT,所以我想找到值非常接近零的列表的索引值,以便我可以将其他值更改为零。
例如,如果我有一个非常粗糙的正弦波采样为:
[-3, -2, -1, 0, 1, 2, 3, 4, 3, 2, 1, 0, -1, -2, -3, 4, -3, -2, -1, 0, 1, 2]
我想检测零(实际上每隔一个零),以便我可以制作数组:
[ 0, 0, 0, 0, 1, 2, 3, 4, 3, 2, 1, 0, -1, -2, -3, -4, -3, -2, -1, 0, 0, 0]
另一件事是,由于存在噪声并且我的采样频率不是无限大,因此我不会得到恰好为零的值。因此,我需要在范围(-0.1,0.1)等范围内查找值。
我查看了 numpy 库,并且 numpy.where() 看起来它可能是正确的工具,但我在实现它时遇到了问题。我是一名 EE,几乎没有编程经验,因此非常感谢任何帮助!