Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018-05-04 09:23
2006 查看
本文实例讲述了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实现的多项式拟合功能示例【基于matplotlib】
- Python基于matplotlib实现绘制三维图形功能示例
- Python实现在tkinter中使用matplotlib绘制图形的方法示例
- 基于Python实现matplotlib中动态更新图片(交互式绘图)
- Python基于matplotlib绘制栈式直方图的方法示例
- Python使用matplotlib实现绘制自定义图形功能示例
- Python+matplotlib实现计算两个信号的交叉谱密度实例
- 用python做正弦信号的时域波形和频谱图
- Python使用matplotlib绘制正弦和余弦曲线的方法示例
- Python科学计算(两)——时域波形和正弦信号的频谱
- python中Matplotlib实现绘制3D图的示例代码
- Python使用matplotlib实现的图像读取、切割裁剪功能示例
- Python使用matplotlib和pandas实现的画图操作【经典示例】
- Python使用matplotlib实现基础绘图功能示例
- python matplotlib 注释文本箭头简单代码示例
- win10系统安装numpy,scipy,matplotlib,基于python3.6
- python matplotlib简单示例
- 【Python-matplotlib】subplot2grid()函数的简单示例
- python实现Kmeans文本聚类,通过PCA降维和Matplotlib显示聚类3d三维图像
- Python使用Matplotlib实现雨点图动画效果的方法