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中文编码那些事
Jun 25 Python
Python中的MongoDB基本操作:连接、查询实例
Feb 13 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
Python 遍历列表里面序号和值的方法(三种)
Feb 17 Python
Python基于socket实现简单的即时通讯功能示例
Jan 16 Python
Python实现的读写json文件功能示例
Jun 05 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 Python
python实现批量修改文件名
Mar 23 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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验证码类实例分享
2013/12/27 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
php利用事务处理转账问题
2015/04/22 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
python中的reduce内建函数使用方法指南
2014/08/31 Python
Django URL传递参数的方法总结
2016/08/28 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
编程输出如下图形
2013/11/24 面试题
党员目标管理责任书
2014/07/25 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang