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 13 Python
Web服务器框架 Tornado简介
Jul 16 Python
python实现单向链表详解
Feb 08 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
python线程池threadpool使用篇
Apr 27 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
Python decimal模块使用方法详解
Jun 08 Python
python 实现两个npy档案合并
Jul 01 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
python+selenium爬取微博热搜存入Mysql的实现方法
Jan 27 Python
Python+腾讯云服务器实现每日自动健康打卡
Dec 06 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
php5.3 废弃函数小结
2010/05/16 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
轻松实现php文件上传功能
2017/02/17 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
理解Koa2中的async&await的用法
2018/02/05 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
Python学习之asyncore模块用法实例教程
2014/09/29 Python
Python实例一个类背后发生了什么
2016/02/09 Python
python实现爬取图书封面
2018/07/05 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
python虚拟环境完美部署教程
2019/08/06 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
2015年师德表现自我评价
2015/03/05 职场文书
部门2015年度工作总结
2015/04/29 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
Python基础知识之变量的详解
2021/04/14 Python