2
假設你有以下系列值:如何根據功率譜密度確定我的數據是否爲1/f噪聲?
import numpy as np
data1=np.array([1, 0.28571429, 0.20408163, 0.16326531, 0.14285714,
0.10204082, 0.08163265, 0.06122449, 0.04081633, 0.02040816])
現在你想使用numpy.fft
繪製的data1
的Spectral Density:
ps1 = np.abs(np.fft.fft(data1))**2
time_step = 1/30
freqs1 = np.fft.fftfreq(data1.size, time_step)
idx1 = np.argsort(freqs1)
fig,ax=plt.subplots()
ax.plot(freqs1[idx1], ps1[idx1],color='red',label='data1')
plt.grid(True, which="both")
ax.set_yscale('log')
ax.set_xscale('log')
plt.xlabel("Frequency")
plt.ylabel("Power")
plt.xlim(0,15)
我的問題:如果情節代表我的系列信號,我該如何從功率譜密度確定,如果這是1/f
(或任何其他)噪音?
你怎麼知道數據中有噪聲?相反,你怎麼知道數據中除了噪聲之外還有其他的東西?重要的是,你對噪聲的定義是什麼? – kazemakase
我不知道噪音是否存在。我想弄明白。這可能是一系列「1/f」噪音或其他問題。我怎麼弄出來的? – FaCoffee
問題是,你不能。除非你知道你在數據中尋找什麼。如果你有一個無噪聲的信號版本,你可以比較光譜,而在無無版本中沒有的東西顯然是噪聲。如果你不知道你在找什麼,你就無法知道什麼是噪音,什麼不是。考慮一下:(a)你想記錄語音。附近瀑布的聲音是噪音。 (b)你想記錄瀑布。 oaf在附近說話的聲音是短暫的。看看我在瞄準哪裏? – kazemakase