我一直在遵循一个教程来学习fft,虽然我有详细的代码,从我的机器上的绘图不看它应该如何。我记录数据,以确保我有一个近似正弦波超过5292个样本。然而,当我用show()
运行绘图时,我得到了以下图像:(顺便问一下,是否有一个降价属性来缩小这些图像?)你知道吗
同样,这是从后续代码生成的:
from pylab import *
from scipy.io import wavfile
sampFreq, snd = wavfile.read('440_sine.wav')
snd = snd / (2.**15)
s1 = snd[:,0]
timeArray = arange(0, 5292, 1)
timeArray = timeArray / sampFreq
timeArray = timeArray * 1000 #scale to milliseconds
plot(timeArray, s1, color='k')
ylabel('Amplitude')
xlabel('Time (ms)')
for i in s1:
print i
show()
简而言之,我正在学习fft,而且我是python/matplotlib的新手,因此非常感谢您的帮助。你知道吗
你的
sampFreq
值多少?您的timeArray
是一个整数列表,我假设sampFreq也返回一个整数。如果sampFreq
大于timeArray
中的值,则由于整数除法,所有结果值都将为0。你知道吗在深入查看
timeArray
列表之前,您可能需要先将sampFreq
强制转换为一个float,看看这是否有帮助。你知道吗作为该问题的一个示例,在python shell中可以尝试:
以及
相关问题 更多 >
编程相关推荐