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基础教程之实现石头剪刀布游戏示例
Feb 11 Python
python获取本机mac地址和ip地址的方法
Apr 29 Python
python将ansible配置转为json格式实例代码
May 15 Python
Python中对象的引用与复制代码示例
Dec 04 Python
教你用Python写安卓游戏外挂
Jan 11 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
Python二维码生成识别实例详解
Jul 16 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
Tensorflow 实现释放内存
Feb 03 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
Python面试不修改数组找出重复的数字
May 20 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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
js静态作用域的功能。
2006/12/25 Javascript
javascript 函数调用规则
2009/08/26 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
Javascript Objects详解
2014/09/04 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
Python fileinput模块使用介绍
2014/11/30 Python
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
python中的itertools的使用详解
2020/01/13 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
python3判断IP地址的方法
2021/03/04 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
创先争优制度
2014/01/21 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
小学体育组工作总结
2015/08/13 职场文书
毕业设计工作总结
2015/08/14 职场文书
python异常中else的实例用法
2021/06/15 Python
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技