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多进程编程技术实例分析
Sep 16 Python
Python用模块pytz来转换时区
Aug 19 Python
使用Python多线程爬虫爬取电影天堂资源
Sep 23 Python
Python制作刷网页流量工具
Apr 23 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
Python图像处理之简单画板实现方法示例
Aug 30 Python
Python逐行读取文件中内容的简单方法
Feb 26 Python
解决Django加载静态资源失败的问题
Jul 28 Python
python时间日期操作方法实例小结
Feb 06 Python
python 爬取腾讯视频评论的实现步骤
Feb 18 Python
python实现商品进销存管理系统
May 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
一贴学会PHP 新手入门教程
2009/08/03 PHP
Cakephp 执行主要流程
2010/03/24 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
jQuery Ajax之load()方法
2009/10/12 Javascript
Array.prototype.slice 使用扩展
2010/06/09 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
python zip()函数的使用示例
2020/09/23 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
五一口号
2014/06/19 职场文书
投标授权委托书范文
2014/08/02 职场文书
法人委托书范本
2014/09/15 职场文书
图书借阅制度范本
2015/08/06 职场文书
导游词之天津盘山
2019/11/01 职场文书
关于的python五子棋的算法
2022/05/02 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis