python 问题。。。 对一个波形文件做fft,然后怎么获取那些频率分量? numpy有这个函数 55

python问题。。。对一个波形文件做fft,然后怎么获取那些频率分量?numpy有这个函数么?... python 问题。。。
对一个波形文件做fft,然后怎么获取那些频率分量?
numpy有这个函数么?
展开
 我来答
蓝色中天
2015-04-26 · 超过22用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:48.4万
展开全部

你提问的问题,有点错误。

波形是时域的,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]
追答
我不知道你的波形文件是怎么样的
130*****826
推荐于2018-03-11
知道答主
回答量:1
采纳率:100%
帮助的人:1002
展开全部
这个要知道波形文件的采样率fs以及你的采样点数目N。一般而言,对普通的音频文件等,频率间隔为fs/N,这是因为fs表示每秒钟采了多少点,除以总数N就恰好是频率间隔
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徐先生深圳
2015-04-24 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:53.3万
展开全部
这个是通信方面的 ,问题;具体得请教老师或同学
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式