栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

211130-Python谱图(Spectogram)分析Demo

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

211130-Python谱图(Spectogram)分析Demo

STFT 算法
  • 对信号分段进行FFT处理, 每次处理的结果都是谱图中的一列;
  • 每段芯好的长度越短,时间轴上的精度越高,频率轴上的精度越低
  • 时间轴和频率轴的分辨率是一堆不可调和的矛盾
  • 根据傅立叶变换的不确定原理,我们不能同时获得频率和时间的高分辨率
specgram() 函数
  • 第一个参数:信号的组数
  • 第二个参数:FFT的长度
  • 第三个参数:信号的采样频率
  • overlap: 连续两块数据之间的重叠部分的长度, 该参数越接近FFT的长度,FFT运算的次数越多,时间轴上的精度越大
import numpy as np
import matplotlib.pyplot as plt
import scipy.signal as signal


sampling_rate = 8000.0
fft_size = 1024
step = fft_size/16
time = 2
t = np.arange(0, time, 1/sampling_rate)
sweep = signal.chirp(t, f0=100, t1=time, f1=0.8*sampling_rate/2, method='logarithmic')

plt.specgram(sweep, fft_size, sampling_rate, noverlap=1024-step)
plt.xlabel('Time (s)')
plt.ylabel('Freq. (Hz)')


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648649.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号