Python学习之波形图

  • 一、效果图
  • 二、代码实现

一、效果图

二、代码实现

代码很简单,大小可以随意设置

import numpy as np
from scipy.fftpack import fft, ifft
import matplotlib.pyplot as plt
from matplotlib.pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False# 采样点选择1400个,因为设置的信号频率分量最高为600赫兹,根据采样定理知采样频率要大于信号频率2倍,所以这里设置采样频率为1400赫兹(即一秒内有1400个采样点,一样意思的)
x = np.linspace(0, 1, 1400)# 设置需要采样的信号,频率分量有200,400和600
y = 7 * np.sin(2 * np.pi * 200 * x) + 5 * np.sin(2 * np.pi * 400 * x) + 3 * np.sin(2 * np.pi * 600 * x)fft_y = fft(y)  # 快速傅里叶变换N = 1400
x = np.arange(N)  # 频率个数
half_x = x[range(int(N / 2))]  # 取一半区间abs_y = np.abs(fft_y)  # 取复数的绝对值,即复数的模(双边频谱)
angle_y = np.angle(fft_y)  # 取复数的角度
normalization_y = abs_y / N  # 归一化处理(双边频谱)
normalization_half_y = normalization_y[range(int(N / 2))]  # 由于对称性,只取一半区间(单边频谱)plt.subplot(231)
plt.plot(x, y)
plt.title('原始波形')plt.subplot(232)
plt.plot(x, fft_y, 'black')
plt.title('双边振幅谱(未求振幅绝对值)', fontsize=9, color='black')plt.subplot(233)
plt.plot(x, abs_y, 'r')
plt.title('双边振幅谱(未归一化)', fontsize=9, color='red')plt.subplot(234)
plt.plot(x, angle_y, 'violet')
plt.title('双边相位谱(未归一化)', fontsize=9, color='violet')plt.subplot(235)
plt.plot(x, normalization_y, 'g')
plt.title('双边振幅谱(归一化)', fontsize=9, color='green')plt.subplot(236)
plt.plot(half_x, normalization_half_y, 'blue')
plt.title('单边振幅谱(归一化)', fontsize=9, color='blue')plt.show()

Python学习之波形图相关推荐

  1. pygame是python的一个库吗,python学习pygame,,基本库导入impor

    python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...

  2. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

  3. python学习------tab补全

    python学习------tab补全   python也可以进行tab键补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/env  ...

  4. Python学习day5作业-ATM和购物商城

    Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...

  5. Python学习系列(六)(模块)

    Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...

  6. 最新Python学习项目Top10!

    作者 | Mybridge 译者 | Linstancy 整理 | Jane 出品 | AI科技大本营 [导读]过去一个月里,我们对近1000个Python 学习项目进行了排名,并挑选出热度前10的项 ...

  7. 200页!分享珍藏很久的Python学习知识手册(附链接)

    这是之前入门学习Python时候的学习资料,非常全面,从Python基础.到web开发.数据分析.机器学习.深度学习.金融量化统统都有,该手册是HTML版本,左侧是目录,可以点击,右侧是对目录知识点的 ...

  8. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  9. Python学习01 Hello World

    Python学习之Hello World 准备工作 去官网http://www.python.org/ 下载python的安装包: http://www.python.org/download/ 当前 ...

  10. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

最新文章

  1. Unity创造没有代码的游戏学习教程
  2. Postmortem报告
  3. 这届架构师成功的理由,它排第一……
  4. C#中oracle数据库的连接方法
  5. 数据库考研SQL操作
  6. [vue] v-if和v-for的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能?
  7. LeetCode 1368. 使网格图至少有一条有效路径的最小代价(BFS最短路径,难)
  8. 如何做一个国产数据库(四)
  9. pycharm中文乱码
  10. 【Gym-102606 H】Heat Pipes【奇环染色、bfs 生成树】
  11. MATLAB 2016a安装
  12. 大一linux考试试题及答案,大一计算机期末考试试题及答案
  13. 人家也是干 IT 的。
  14. 数字信息时代中国面临两个机遇
  15. android 耳机检测,android 检测耳机是否插入方法
  16. 突然明白了原来我的QQ密保是这样被盗的
  17. App Inventor的简单介绍
  18. 什么是物联网?物联网面临哪些挑战?
  19. MT5 EA交易期货-限价单开仓平仓
  20. 当初面试Java岗位时的笔记,接近2万字,拿走不谢

热门文章

  1. (CVPR 2019) PointRCNN: 3D Object Proposal Generation and Detection From Point Cloud
  2. 有才!学生发文言文请假条,老师连称赞
  3. AWSomeDay 中体会的Micro Service 微服务
  4. 怎样才能演示正弦和余弦的相互变换
  5. 微软对开发者献真爱,全面支持开源,加速研发云升级
  6. word插入页码问题解决办法
  7. CSS: 如何实现img垂直居中?
  8. PDM与ERP系统集成设计
  9. mysql 父子关系查询_如何让MySQL中单句实现无限层次父子关系查询
  10. 036多级节点实现层叠展开与收缩的功能