0
我不知道這是一個編程或數學問題,但我彙總了一些FFT的簡短示例。我加載440hz波並在頂部添加一些正弦波,但由於某種原因,頻譜有一個我不明白的「波」。根據我的理解,頻譜應該有相同的| Y(頻率)|所有頻率的值。FFT在頻譜中顯示(奇怪的)正弦波
from pylab import plot, show, xlabel, ylabel, subplot
from scipy import fft, arange
from numpy import linspace, array
# from scipy.io.wavfile import read,write
import scikits.audiolab as audio
import math
def plotSpectru(y,Fs):
n = len(y) # lungime semnal
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)|')
Fs = 44100; # sampling rate
# (data, rate, bits) = audio.wavread('440Hz_44100Hz_16bit_05sec.wav')
(data, rate, bits) = audio.wavread('250Hz_44100Hz_16bit_05sec.wav')
for n in xrange(0,4*120, 4):
n=n/40.
data = array([x+math.sin(n*idx) for idx,x in enumerate(data)])
y=data[:]
lungime=len(y)
timp=len(y)/44100.
t=linspace(0,timp,len(y))
subplot(2,1,1)
plot(t,y, color="green")
xlabel('Time')
ylabel('Amplitude')
subplot(2,1,2)
plotSpectru(y,Fs)
show()
是啊,我的想法也是一些關於破壞性干擾。雖然,那可以。干擾只有在頻率相同時纔有可能(對吧?)。 你的第一個例子,是不是顯示了一個非一致的圖,因爲你輸入的是方波而不是正弦波? –
我沒有明確給出方波。我總結了所有相同相位的正弦波,所以他們總結爲準方波。不同頻率的正弦波之間也存在干擾,如[跳動](https://en.wikipedia.org/wiki/Beat_(聲學))。 –