python 问题。。。 对一个波形文件做fft,然后怎么获取那些频率分量? numpy有这个函数 55
python问题。。。对一个波形文件做fft,然后怎么获取那些频率分量?numpy有这个函数么?...
python 问题。。。
对一个波形文件做fft,然后怎么获取那些频率分量?
numpy有这个函数么? 展开
对一个波形文件做fft,然后怎么获取那些频率分量?
numpy有这个函数么? 展开
3个回答
展开全部
你提问的问题,有点错误。
波形是时域的,FFT变换就是为了将波形从时域转换到频域。
做了FFT 以后,得到的数据就是频率分量。
如果你说的是python fft代码如何写。下面就是:
这边演示的是语音波形。
wf = wave.open(wav_file,"rb")
params = wf.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
str_data = wf.readframes(nframes)
wf.close()
#将波形数据转化为数组
s = np.fromstring(str_data, dtype=np.short)
#wave_data。 这里波形是语音波形
s = np.fft.fft(s) #fft 获得频谱
更多追问追答
追问
获得频率了么?[ 2.12707686e+09 +0.j -5.18049880e+05 -63443.37936147j, -3.61576102e+05-162189.07946283j ..., , -3.61576102e+05+162189.07946283j -5.18049880e+05 +63443.37936147j]
追答
我不知道你的波形文件是怎么样的
展开全部
这个要知道波形文件的采样率fs以及你的采样点数目N。一般而言,对普通的音频文件等,频率间隔为fs/N,这是因为fs表示每秒钟采了多少点,除以总数N就恰好是频率间隔
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是通信方面的 ,问题;具体得请教老师或同学
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询