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简单进程锁代码实例
Apr 27 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
python实现自动登录
Sep 17 Python
Python版名片管理系统
Nov 30 Python
浅谈python3.6的tkinter运行问题
Feb 22 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
django中SMTP发送邮件配置详解
Jul 19 Python
wxPython实现绘图小例子
Nov 19 Python
用Python生成HTML表格的方法示例
Mar 06 Python
Python定时任务框架APScheduler原理及常用代码
Oct 05 Python
scrapy redis配置文件setting参数详解
Nov 18 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 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
Window下PHP三种运行方式图文详解
2013/06/11 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
微信支付的开发流程详解
2016/09/13 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
ie下动态加态js文件的方法
2011/09/13 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
python求crc32值的方法
2014/10/05 Python
使用python实现个性化词云的方法
2017/06/16 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
基于python操作ES实例详解
2019/11/16 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
优秀通讯员事迹材料
2014/01/28 职场文书
技术合作协议书范本
2014/04/18 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
清明节寄语2015
2015/03/23 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS