我正在使用DAQ來採樣正弦曲線的電壓。我將樣本存儲在一個列表中,然後對該列表進行FFT。我的問題是我只想完成正弦波的完整週期的FFT,所以我想找到值非常接近零的列表的索引值,以便我可以將其他值更改爲零。在Python中查找數組中出現特定值的索引值
舉例來說,如果我有一個非常粗略的正弦波採樣爲:
[-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,沒有什麼編程經驗,所以任何幫助都非常感謝!
你的例子不清楚。所以,你想在一定的寬容範圍內找到零。 Byt在你的例子中左邊的負數和右邊的正數出現了什麼情況? – kirelagin
@kirelagin「我的問題是我只想採取完整的正弦波週期的FFT」。他希望將(包括)第一個接近零值的所有東西都歸零,並且將最後接近零值的所有東西都歸零(包括)。特別是,他只能找到第一個接近零值和最後一個接近零的值。 – Patashu
@Patashu是的,這是正確的。這絕對是解釋我正在努力完成的更好的方式。 –