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中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
Python中计算三角函数之cos()方法的使用简介
May 15 Python
利用python发送和接收邮件
Sep 27 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
python 反向输出字符串的方法
Jul 16 Python
python re库的正则表达式入门学习教程
Mar 08 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
浅谈matplotlib.pyplot与axes的关系
Mar 06 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
Django中的JWT身份验证的实现
May 07 Python
python opencv通过4坐标剪裁图片
Jun 05 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 验证码实例代码
2010/06/01 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
django之常用命令详解
2016/06/30 Python
PHP统计代码行数的小代码
2019/09/19 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
高级3D打印市场:Gambody
2019/12/26 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
毕业生在校学习的自我评价分享
2013/10/08 职场文书
行政助理的岗位职责
2014/02/18 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
卖车协议书范例
2014/09/16 职场文书
委托代理人授权委托书范本
2014/09/24 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL