簡體   English   中英

香料數據(時間,值)頻率軸上的FFT不正確

[英]FFT on spice data (time, value) frequency axis not correct

我有兩個從spice導出文本文件導入的numpy數組(一個用於時間,一個用於值)。 該文件包含1kHz的正弦波。

使用plotSpectrum函數(此處鏈接)繪制FFT時,輸出與1kHz不匹配,大約為891Hz。

有什么建議可能出問題了嗎? 我已經計算了前四個時間樣本之間的dt,它們之間的距離相等。 香料在導出文件中是否會將所有樣本均等地隔開? 還是可能出了什么問題? 我需要將數組限制為2的冪嗎?

謝謝你的幫助!

我的完整代碼如下所示

import numpy
from pylab import plot, show, title, xlabel, ylabel, subplot
from scipy import fft, arange
import pylab

data = numpy.loadtxt('sin1k.txt', delimiter='\t')

time = data[:,0]
value = data[:,1]



def plotSpectrum(y,Fs):
 """
 Plots a Single-Sided Amplitude Spectrum of y(t)
 """
 n = len(y) # length of the signal
 k = arange(n)
 T = n/Fs
 frq = k/T # two sides frequency range
 frq = frq[range(n/2)] # one side frequency range

 Y = fft(y)/n # fft computing and normalization
 Y = Y[range(n/2)]

 plot(frq,abs(Y),'r') # plotting the spectrum
 xlabel('Freq (Hz)')
 ylabel('|Y(freq)|')


subplot(2,1,1)
plot(time,value)
xlabel('Time')
ylabel('Amplitude')
subplot(2,1,2)
plotSpectrum(value,(time[1]-time[0])*10e9)
pylab.xlim([0,2000])
show()

事實證明,香料使我不等距所有2907個樣本,這讓我着迷。 有些間隔相等,而另一些則沒有! 我的4個樣本恰好等距分布。

我已經將樣本與Paul Wagner的資料庫平均隔開(請鏈接到此處 ),謝謝Paul!

而fft證明是1045Hz,這是比較合理的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM