Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】

 更新时间:2018年05月04日 09:23:17   作者:落落图灵  
这篇文章主要介绍了Python实现正弦信号的时域波形和频谱图,涉及Python数学运算与图形绘制相关操作技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Python登录QQ邮箱发送邮件的实现示例

    Python登录QQ邮箱发送邮件的实现示例

    本文主要介绍了Python登录QQ邮箱发送邮件的实现示例,主要就是三步,登录邮件、写邮件内容、发送,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2023-08-08
  • 使用python画个小猪佩奇的示例代码

    使用python画个小猪佩奇的示例代码

    本文给大家较详细的介绍了使用python画个小猪佩奇的示例代码,感兴趣的朋友一起看看吧
    2018-06-06
  • pycharm 2018 激活码及破解补丁激活方式

    pycharm 2018 激活码及破解补丁激活方式

    这篇文章主要介绍了pycharm 2018 激活码及破解补丁激活方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Python爬虫之requests基础用法详解

    Python爬虫之requests基础用法详解

    这篇文章主要介绍了Python爬虫之requests基础用法详解,虽然Python的标准库中urllib模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人感觉不太友好,而requests库使用更简洁方便,需要的朋友可以参考下
    2023-10-10
  • Python实现CART决策树算法及详细注释

    Python实现CART决策树算法及详细注释

    CART算法是一种树构建算法,既可以用于分类任务,又可以用于回归,本文仅讨论基本的CART分类决策树构建,不讨论回归树和剪枝等问题,感兴趣的朋友跟随小编一起看看吧
    2021-10-10
  • python使用正则表达式来获取文件名的前缀方法

    python使用正则表达式来获取文件名的前缀方法

    今天小编就为大家分享一篇python使用正则表达式来获取文件名的前缀方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • openCV中值滤波和均值滤波的代码实现

    openCV中值滤波和均值滤波的代码实现

    在我们生活中的有很多时候都可以用到滤波,例如美颜的磨皮功能,本文就详细的介绍了openCV中值滤波和均值滤波的代码实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python面向对象类编写细节分析【类,方法,继承,超类,接口等】

    Python面向对象类编写细节分析【类,方法,继承,超类,接口等】

    这篇文章主要介绍了Python面向对象类编写细节,较为详细的分析了Python面向对象程序设计中类,方法,继承,超类,接口等相关概念、使用技巧与注意事项,需要的朋友可以参考下
    2019-01-01
  • python基础操作列表推导式

    python基础操作列表推导式

    列表推导式形式较为简洁,是利用其它列表创建新列表的一种方式,它的工作方式类似于for循环,也可以嵌套if条件判断语句,需要的朋友可以参考下
    2023-04-04
  • python的endswith()的使用方法及实例

    python的endswith()的使用方法及实例

    这篇文章主要介绍了python的endswith()的使用方法及实例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07

最新评论