Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】


Posted in Python onMay 04, 2018

本文实例讲述了Python实现正弦信号的时域波形和频谱图。分享给大家供大家参考,具体如下:

# -*- coding: utf-8 -*-
# 正弦信号的时域波形与频谱图
import numpy as np
import matplotlib.pyplot as pl
import matplotlib
import math
import random
row = 4
col = 4
N = 500
fs = 5
n = [2*math.pi*fs*t/N for t in range(N)]  # 生成了500个介于0.0-31.35之间的点
# print n
axis_x = np.linspace(0,3,num=N)
#频率为5Hz的正弦信号
x = [math.sin(i) for i in n]
pl.subplot(221)
pl.plot(axis_x,x)
pl.title(u'5Hz的正弦信号',fontproperties='SimHei')
pl.axis('tight')
#频率为5Hz、幅值为3的正弦+噪声
x1 = [random.gauss(0,0.5) for i in range(N)]
xx = []
#有没有直接两个列表对应项相加的方式??
for i in range(len(x)):
  xx.append(x[i]*3 + x1[i])
pl.subplot(222)
pl.plot(axis_x,xx)
pl.title(u'频率为5Hz、幅值为3的正弦+噪声',fontproperties='SimHei')
pl.axis('tight')
#频谱绘制
xf = np.fft.fft(x)
xf_abs = np.fft.fftshift(abs(xf))
axis_xf = np.linspace(-N/2,N/2-1,num=N)
pl.subplot(223)
pl.title(u'频率为5Hz的正弦频谱图',fontproperties='SimHei')
pl.plot(axis_xf,xf_abs)
pl.axis('tight')
#频谱绘制
xf = np.fft.fft(xx)
xf_abs = np.fft.fftshift(abs(xf))
pl.subplot(224)
pl.title(u'频率为5Hz的正弦频谱图',fontproperties='SimHei')
pl.plot(axis_xf,xf_abs)
pl.axis('tight')
pl.show()

运行效果:

Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python通过shutil实现快速文件复制的方法
Mar 14 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 Python
Python的时间模块datetime详解
Apr 17 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
详解python中TCP协议中的粘包问题
Mar 22 Python
Django自定义用户登录认证示例代码
Jun 30 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
python实现简单倒计时功能
Apr 21 Python
Pytorch 如何实现LSTM时间序列预测
May 17 Python
浅谈Python numpy创建空数组的问题
May 25 Python
使用python3+xlrd解析Excel的实例
May 04 #Python
对python中的xlsxwriter库简单分析
May 04 #Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 #Python
Python实现获取前100组勾股数的方法示例
May 04 #Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 #Python
Python 中的Selenium异常处理实例代码
May 03 #Python
Python读写/追加excel文件Demo分享
May 03 #Python
You might like
如何对PHP程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
关于时间计算的结总
2006/12/06 PHP
如何隐藏你的.php文件
2007/01/04 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
JAVA和C++的区别
2013/10/06 面试题
电子商务专业学生的学习自我评价
2013/10/27 职场文书
农村婚礼证婚词
2014/01/10 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
DIY手工制作经营店创业计划书
2014/02/01 职场文书
护士试用期自我鉴定
2014/02/08 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
大学专科求职信
2014/07/02 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
2014年法院工作总结
2014/11/24 职场文书
小学中等生评语
2014/12/29 职场文书
追悼会答谢词范文
2015/09/29 职场文书