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打开url并按指定块读取网页内容的方法
Apr 29 Python
使用Python对IP进行转换的一些操作技巧小结
Nov 09 Python
Python在线运行代码助手
Jul 15 Python
用yum安装MySQLdb模块的步骤方法
Dec 15 Python
python导出hive数据表的schema实例代码
Jan 22 Python
Win8下python3.5.1安装教程
Jul 29 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
对Django中内置的User模型实例详解
Aug 16 Python
Python读写操作csv和excle文件代码实例
Mar 16 Python
python 6行代码制作月历生成器
Sep 18 Python
python实现进度条的多种实现
Apr 29 Python
python井字棋游戏实现人机对战
Apr 28 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
python进程与线程小结实例分析
2018/11/11 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
python类型强制转换long to int的代码
2013/02/10 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
关于python中的xpath解析定位
2020/03/06 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
党员政治学习材料
2014/05/14 职场文书
环保项目建议书
2014/08/26 职场文书
创业计划书之养殖业
2019/10/11 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
浅谈Python数学建模之整数规划
2021/06/23 Python
浅谈Redis缓冲区机制
2022/06/05 Redis
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python