Python 绘制频谱
# -*- coding: utf-8 -*- import numpy as np import pylab as pl sampling_rate = 8000 fft_size = 512 t = np.arange(0, 1.0, 1.0/sampling_rate) x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t) xs = x[:fft_size] xf = np.fft.rfft(xs)/fft_size freqs = np.linspace(0, sampling_rate/2, fft_size/2+1) xfp = 20*np.log10(np.clip(np.abs(xf), 1e-20, 1e100)) pl.figure(figsize=(8,4)) pl.subplot(211) pl.plot(t[:fft_size], xs) pl.xlabel(u"Time(S)") pl.title(u"156.25Hz and 234.375Hz WaveForm And Freq") pl.subplot(212) pl.plot(freqs, xfp) pl.xlabel(u"Freq(Hz)") pl.subplots_adjust(hspace=0.4) pl.show()
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。