直接上函数

def plotsig(sig,strname):#fig=plt.figure(figsize=(8, 6))plt.cla()plt.grid(linestyle="--")  # 设置背景网格线为虚线ax = plt.gca()plt.subplot(211)plt.cla()plt.title("distance:"+strname, fontsize=12, fontweight='bold')plt.plot(np.arange(0,1024), sig)  fft_size = 1024  # FFT处理的取样长度#y = y1 + y2 * 1jfs = fft_size sampling_rate = fsxs = sig[:fft_size]  # 从波形数据中取样fft_size个点进行运算xf = np.fft.rfft(xs) / fft_size  # 利用np.fft.rfft()进行FFT计算,rfft()是为了更方便对实数信号进行变换,由公式可知/fft_size为了正确显示波形能量freqs = np.linspace(0, int(sampling_rate / 2), int(fft_size / 2 + 1))#xfp = 20 * np.log10(np.clip(np.abs(xf), 1e-20, 1e100))xfp = np.abs(xf)plt.subplot(212)plt.cla()plt.plot(freqs[:int(fft_size / 2)]*500/1024, xfp[:int(fft_size / 2)])plt.xlim(0, 50)plt.xticks(np.arange(0,50,5), np.arange(0,50,5), fontsize=10)  # 默认字体大小为10plt.xlabel("Hz", fontsize=13, fontweight='bold')plt.savefig(strname+'fft.png',format='png',bbox_inches='tight')

频率分辨率计算: 采样率(Fs)/点数(N)
这里的分辨率就是500 Hz / 1024=0.4882 Hz

同一个信号:

一、功率谱

fft使用

xfp = np.abs(xf)

复数取模求得功率谱,如下图

二、功率增益

10 Log代表能量功率增益的换算
20 Log代表电压增益的换算

xfp = 20 * np.log10(np.clip(np.abs(xf), 1e-20, 1e100))

python画信号频谱(fft)相关推荐

  1. matlab画信号频谱

    为了让大学生活充实一点,多学点东西,我选修了<数字信号处理>.现在充实得不要不要的. clc close all clear%=========参数设置=========% Fs = 10 ...

  2. FFT快速傅里叶变换的应用——画单边频谱图matlab

    FFT快速傅里叶变换的应用--画单边频谱图matlab 快速傅里叶变换在数字信号处理里用的十分广泛,在matlab仿真中,处理信号的时频域变换十分有效,这里结合两个做过的仿真,来说一说fft的应用:画 ...

  3. python画方波_python实现周期方波信号频谱图

    在学习傅里叶变换的时候遇到了求周期方波信号频谱图的例子,在书上和网上查阅了一些资料,发现大都是讨论的都是下图左边的周期信号的频谱,课程老师的PPT中也只列出了另一种周期信号频谱图的结论,没有在进行傅里 ...

  4. matlab画2fsk频谱,2fsk信号调制解调频谱的matlab仿真

    2fsk信号调制解调频谱的matlab仿真 2FSK信号的调制解调与频谱绘制的matlab仿真 a=randint(1,16); t=0.0001:0.001:1; inisig=a(ceil(t./ ...

  5. 频谱分析:基于python画出时域频域波形

    一,FFT解释 FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法.即为快速傅氏变换.它是根据离散傅氏变换的奇.偶.虚.实等特性,对离散傅立叶变换的算法 ...

  6. 基于python的快速傅里叶变换FFT(二)

    基于python的快速傅里叶变换FFT(二) 本文在上一篇博客的基础上进一步探究正弦函数及其FFT变换. 知识点   FFT变换,其实就是快速离散傅里叶变换,傅立叶变换是数字信号处理领域一种很重要的算 ...

  7. 基于python的快速傅里叶变换FFT(一)

    基于python的快速傅里叶变换FFT(一) FFT可以将一个信号变换到频域.有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了.这就是很多信号分析采用FFT变换的原因. ...

  8. python画树叶-用python画树叶

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. draws a 叶子 and fill it. t.begin_fill ...

  9. python语音信号时频分析_librosa-madmom:音频和音乐分析

    读取音频 提取特征Log-Mel Spectrogram MFCC 绘制波形图和梅尔频谱图 prerequisites install 起始点检测 onset detection tutorial l ...

最新文章

  1. 操作系统实验报告17:请求页面置换算法
  2. Direct HTTP Tunnel(直接HTTP客户端)
  3. mqtt c语言 单片机,MQTT--单片机实现即时通讯
  4. ES6/05/正则表达式简介,正则表达式如何使用,正则表达式中的特殊字符(边界符,量词符),预定义类,正则表达式中的替换
  5. python tree 库_Python——tree
  6. jsp连接mysql更新数据库代码_JSP连接MySQL数据库代码
  7. 注册app短信验证平台_怎样挑选网站验证码短信平台?
  8. 分享两个私藏的获取电子书资源方法
  9. 投色子--html demo
  10. Qt中添加静态库.lb,.a和动态库.dll,.so,头文件和.cpp文件
  11. Unity3D 退出游戏应用的代码
  12. Win7 不支持此接口问题
  13. 2022-2028年中国尘螨脱敏治疗药物行业市场运行态势及发展战略研究报告
  14. 樊登读书会终身成长读后感_樊登读书会听书《终身成长》学习感悟
  15. 平面设计需要学习的软件
  16. python爬取视频自动播放_求助该网站如何让它能自动播放下一个视频。。。醉了,要挂80个课时...
  17. 如何在ipone自带邮件上添加网易邮箱
  18. AI如何走向精智能之路?
  19. 转:随机过程方面书籍的评论
  20. 微擎在平台入口不显示安装的模块_【微擎系统】2.0.8更新说明

热门文章

  1. Genymotion模拟器下载及安装步骤详解
  2. 一个链接引发的“恶意执行”
  3. starlink(星链)技术
  4. 李宏毅老师-self-attention笔记
  5. 深度学习之图像分类(十七)-- Transformer中Self-Attention以及Multi-Head Attention详解
  6. Win系统 - 命令行选 Cmd 还是 PowerShell 好?
  7. 包邮送88本畅销技术书
  8. 唱吧mp3 mp4 免费提取
  9. hydra使用过程中的坑 | 解决No module named ‘hydra.core‘
  10. 他山之石——VBA自定义函数