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 01 Python
python在控制台输出进度条的方法
Jun 20 Python
详解Django中Request对象的相关用法
Jul 17 Python
分享Python字符串关键点
Dec 13 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
基于OpenCV的网络实时视频流传输的实现
Nov 15 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 Python
python中@contextmanager实例用法
Feb 07 Python
浅谈Python中的正则表达式
Jun 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
PHP 简单日历实现代码
2009/10/28 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
用jquery来定位
2007/02/20 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
Python多进程编程技术实例分析
2014/09/16 Python
python中dir函数用法分析
2015/04/17 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python多维数组切片方法
2018/04/13 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
html5读取本地文件示例代码
2014/04/22 HTML / CSS
英国最大的海报商店:GB Posters
2018/03/20 全球购物
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
城市精细化管理实施方案
2014/03/04 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电