python绘制频谱图_使用python进行傅里叶FFT-频谱分析详细教程

2023-11-11

目录

一、一些关键概念的引入

1、离散傅里叶变换(DFT)

2、快速傅里叶变换(FFT)

3、采样频率以及采样定理

4、如何理解采样定理?

二、使用scipy包实现快速傅里叶变换

1、产生原始信号——原始信号是三个正弦波的叠加

2、快速傅里叶变换

3、FFT的原始频谱

4、将振幅谱进行归一化和取半处理

三、完整代码

一、一些关键概念的引入

1、离散傅里叶变换(DFT)

离散傅里叶变换(discrete Fourier transform) 傅里叶分析方法是信号分析的最基本方法,傅里叶变换是傅里叶分析的核心,通过它把信号从时间域变换到频率域,进而研究信号的频谱结构和变化规律。但是它的致命缺点是:计算量太大,时间复杂度太高,当采样点数太高的时候,计算缓慢,由此出现了DFT的快速实现,即下面的快速傅里叶变换FFT。

2、快速傅里叶变换(FFT)

计算量更小的离散傅里叶的一种实现方法。详细细节这里不做描述。

3、采样频率以及采样定理

采样频率:采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个信号样本。

采样定理:所谓采样定理 ,又称香农采样定理,奈奎斯特采样定理,是信息论,特别是通讯与信号处理学科中的一个重要基本结论。采样定理指出,如果信号是带限的,并且采样频率高于信号带宽的两倍,那么,原来的连续信号可以从采样样本中完全重建出来。

定理的具体表述为:在进行模拟/数字信号的转换过程中,当采样频率fs大于信号中最高频率fmax的2倍时,即

fs>2*fmax

采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的2.56~4倍;采样定理又称奈奎斯特定理。

4、如何理解采样定理?

在对连续信号进行离散化的过程中,难免会损失很多信息,就拿一个简单地正弦波而言,如果我1秒内就选择一个点,很显然,损失的信号太多了,光着一个点我根本不知道这个正弦信号到底是什么样子的,自然也没有办法根据这一个采样点进行正弦波的还原&#x

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python绘制频谱图_使用python进行傅里叶FFT-频谱分析详细教程 的相关文章

  • Vim安装配置和常用技巧

    第一章 安装 在命令行运行vim 如果找不到程序 需要自己安装 1 1 下载 从官方网站ftp ftp vim org pub vim unix 中选择一个版本下载 我这里使用的是vim 7 3 tar bz2 1 2 解压程序 tar x
  • 如何用js动态添加css

    转自 微点阅读 https www weidianyuedu com 为了节省代码和写出更兼容的代码 有时我们需要用Javascript动态的增加CSS样式 IE下 我们可以使用 document createStyleSheet 方法 而
  • C/C++实现strstr函数、KMP算法查找子串

    C C 实现strstr KMP算法查找子串 目录 C C 实现strstr KMP算法查找子串 1 字符串形式 2 字节流形式 1 字符串形式 代码实现 char my strstr const char src const char d
  • 反射改进简单工厂(含代码)

    一 简单工厂代码 父类Car public class Car public void CreateCar 子类ElectricityCar public class ElectricityCar extends Car Override
  • 使用mysql数据库与go进行交互

    database sql database sql是golang的标准库之一 它提供了一系列接口方法 用于访问关系数据库 它并不会提供数据库特有的方法 那些特有的方法交给数据库驱动去实现 database sql库提供了一些type 这些类
  • 线性代数(2)——矩阵

  • [完]机器学习实战 第十四章 利用SVD简化数据

    本章内容 SVD矩阵分解 推荐引擎 利用SVD提升推荐引擎的性能 餐馆可分为很多类别 不同的专家对其分类可能有不同依据 实际中 我们可以忘掉专家 从数据着手 可对记录用户关于餐馆观点的数据进行处理 并从中提取出其背后的因素 这些因素可能会与
  • 快速排序算法 (c/c++)

    快速排序 QuickSort Code 1 中间元素为基准 Code 1示例结果 Code 2 第一元素为基准 Code 2示例结果 算法分析 QuickSort 通过一趟排序将要排序的数据分隔成独立的两部分 其中一部分的所有数据都要比另一
  • Mental ray 渲染器常用设置

    Mental ray 渲染器常用设置 Mental ray是一个专业的3D渲染引擎 它可以生成令人难以置信的高质量真实感图象 现在你可以在3D Studio的高性能网络渲染中直接控制Mental ray 它在电影领域得到了广泛的应用和认可
  • 用python怎样做学生管理系统用类的形式-Python配置管理的几种方式

    一 为什么要使用配置 如果我们在较复杂的项目中不使用配置文件 我们可能会面临下面的情况 你决定更改你的项目中数据库的 host 因为你要将项目从测试环境转移到实际的上产环境中 如果你的项目中多个位置用到了这个 host 那你不得不一个一个找
  • CS336视觉伺服

    笔记 动力学模型 机械臂动力学的研究方法 拉格朗日 牛顿 欧拉 高斯 凯恩方法 机械臂的动力学主要是两个问题 正向运动学和逆向运动学 视觉伺服 视觉伺服的基本思想 基于视觉的伺服控制方法的目的是最小化一个图像误差 该误差可以定义为 e t
  • Elasticsearch搜索系统线上部署配置规划

    问题导读 1 es安装包的目录结构是怎样的 2 zen discovery集群发现机制的设置规划及其原理是怎样的 3 es默认参数调优如何进行 1 ES部署须知1 1 包结构es安装包的目录结构大致如下 bin 存放es的一些可执行脚本 比
  • Python数据分析之股票数据

    最近股市比较火 我7月初上车了 现在已经下了 中间虽然吃了点肉 但下车的时候都亏进去了 最后连点汤都没喝着 这篇文章我们就用python对股票数据做个简单的分析 数据集是从1999年到2016年上海证券交易所的1095只股票 共1000个文
  • C++实现——排序算法总结

    常见的排序算法有 直接插入 希尔 冒泡 快速 选择 堆排序 归并 基数 下面一一分析 并实现 1 冒泡排序 冒泡排序是最简单的排序算法 冒泡排序的基本思想是从后往前 或从前往后 两两比较相邻元素的值 若为逆序 则交换它们 直到序列比较完毕
  • R语言做面板VAR例子

    面板VAR步骤 1 对各变量做平稳性检验 IPS PP ADF LLC等方法检验 是逐个变量检验 还是一起检验 2 面板数据的最优滞后阶数确定 AIC和SIC方法 3 在PVAR系统中进行Wald Granger检验 4 面板VAR估计 5
  • 蓝桥试题 算法训练 阶乘末尾0的个数(C++)

    资源限制 时间限制 1 0s 内存限制 256 0MB 题目 n 表示为n的阶乘 其中阶乘的定义是这样的 若n为0 则有n 0 1 若n为正整数 则有n n 1 n 例如4 4 3 2 1 24 可以发现阶乘这一运算的数值增长速度是非常快的
  • SpringFramework历史版本

    SpringFramework历史版本 对于Spring而言 迄今已有14年历史了 版本也到达了5 0 作为JavaWEB开发领域的常青树 现在Spirng已不再简单是一个框架了 在Spring的项目中主要有 SpringFramework
  • qt Example Manifest Files

    manifest file 是有qdoc根据example对应的 qdocconf qdoc文件生成的 主要用于在qtcreator 的欢迎 welcome gt 示例 examples 中辅助显示内容项 其文件格式为xml格式 后缀名为
  • hdu 1827 Summer Holiday 强连通分量缩点

    题目 http acm hdu edu cn showproblem php pid 1827 题意 听说lcy帮大家预定了新马泰7日游 Wiskey真是高兴的夜不能寐啊 他想着得快点把这消息告诉大家 虽然他手上有所有人的联系方式 但是一个

随机推荐

  • 使用docker搭建Hadoop

    Hadoop简介 1 Hadoop的整体框架 Hadoop由HDFS MapReduce HBase Hive和ZooKeeper等成员组成 其中最基础最重要元素为底层用于存储集群中所有存储节点文件的文件系统HDFS Hadoop Dist
  • MVC模式 &三层架构思想完成增删改查.

    MVC模式图解 三层架构图解 表现层 业务逻辑层 数据访问层互不干扰 也就是说比如我们表现层更改代码不会干涉到其他两层 com itheima web 这代表的是包名 也就是说最好把表现层或者业务逻辑层放到此对应的包名下 以后会用三大框架封
  • 2014年腾讯,百度,微软等校园招聘笔试题...

    腾讯2014年校园招聘笔试题 2014年阿里巴巴校招笔试题北京站 涉及C JAVA 数据结构
  • 基于SDF的抽骨架之散点图(Projected points)

    span style font family none background color rgb 255 255 255 1 SDF 形状直径函数 span span style font family none background co
  • element-ui表格实现跨页多选

    1 在type selection 的column中添加reserve selection属性 以保留当前所选数据
  • Arduino实验十八 旋转编码器实验

    学习任务 学会使用旋转编码器 关注微信公众号 爱享生活科技 color FF0000 关注微信公众号 爱享生活科技 关注微信公众号 爱享生活科技 组件 Arduion主板 旋转编码器 I2CLCD1602液晶显示器 杜邦线 面包板 下图是旋
  • JS base64与utf8相互转换

    utf8Url utf8编码字符串 let base64URL Buffer from utf8Url toString base64 base64UR base64编码字符串 let utf8Url Buffer from base64U
  • 李开复创业了

    上周五9月4日 一看新闻 头条就是 李开复离开Google 准备创业 等新闻 我吓了一跳 李开复作为全球一流企业的高管 居然都辞职不干了 记得李开复在大学生心目中一直都是导师的身份 他为我们写了7封信了 教导着中国的新生代怎么面对困难 积极
  • 基于Udacity模拟器的端到端自动驾驶决策

    1 端到端自动驾驶决策 端到端自动驾驶决策的输入为车辆的感知信息 如摄像头信息 输出为车辆的前轮转角和摄像头等信息 如上图所示 为英伟达公司的端到端自动驾驶决策框架 其CNN网络如下图所示 其中包括一个归一化层 5个卷积层和3个完全的全连接
  • oracle获取某一天某个时间点

    例如每个月12号18点时间 trunc add months last day FBizDate 1 12 18 24
  • Python之第九章 组织文件

    一 shutil模块 shutil 或称为 shell 工具 模块中包含一些函数 让你在 Python 程序中复制 移动 改名和删除文件 要使用 shutil 的函数 首先需要 import shutil 1 复制文件和文件夹 gt gt
  • Linux下Gcc生成和使用静态库和动态库详解(转)

    原文地址 http my chinaunix net space php uid 23592843 do blog id 223539 一 基本概念 1 1什么是库 在windows平台和linux平台下都大量存在着库 本质上来说库是一种可
  • Pip源地址和.condarc(conda 配置文件)

    1 pip源 清华源地址 https pypi tuna tsinghua edu cn simple 阿里源地址 https mirrors aliyun com pypi simple 官方源地址 https pypi python o
  • 使用动态链接库的好处

    1 可以采用多种编程语言来编写 2 增强产品的功能 3 提供二次开发的平台 4 简化项目管理 5 可以节省磁盘空间和内存 6 有助于资源的共享 7 有助于实现应用程序的本地化 更多内容请看C C 动态链接库 DLL 详解 来源 孙鑫 VC
  • 真正的人工智能支付时代已经来临

    我国就开始掀起人工智能热潮 随着互联网推动数字化的普及以及计算能力的进一步提高 真正的人工智能时代已经来临 刷脸支付基于人脸识别这种人工智能技术 已经广泛应用于商超 零售 医疗 景区等各大生活场景 刷脸支付做为2019年的迸发元年 嗅到商机
  • vue:分页跳转页面详情,返回记住当前点击第几页

    背景 项目中从列表页跳转到详情页返回的时候会默认跳转到分页的第一页 不利于用户的体验 所以需要返回到当前页 实现方法 方法一 Vue2提供了组件级路由钩子函数 分别是beforeRouteEnter beforeRouteUpdate be
  • 解决gbk转utf8乱码

    解决GBK字符转UTF 8乱码问题 gbk转utf 8 奇数中文乱码 一 乱码的原因 gbk的中文编码是一个汉字用 2 个字节表示 例如汉字 内部 的gbk编码16进制的显示为c4 da b2 bf utf 8的中文编码是一个汉字用 3 个
  • opencv VS 环境搭建 读取显示图像 访问像素

    1 opencv 下载 Releases OpenCV 这两个都可以 一个是安装包 一个是压缩吧 安装包也就是个解压的东西 没啥区别 若下载速度慢考虑翻墙 不然就等等 解压之后 source是opencv源码 build 是opecv 的源
  • SQL Server数据的Aes加密存入与解密取出

    最近在做winfrom的毕设 边做边学 由于这个东西折磨了我一天 所以写一篇学习心得记录一下这天的收获 顺便吐槽一下这个气人代码 由于本人是个菜鸡所以如果有缺陷或不足的地方欢迎大佬指出 另 项目环境为 VS2022 SQL Server 2
  • python绘制频谱图_使用python进行傅里叶FFT-频谱分析详细教程

    目录 一 一些关键概念的引入 1 离散傅里叶变换 DFT 2 快速傅里叶变换 FFT 3 采样频率以及采样定理 4 如何理解采样定理 二 使用scipy包实现快速傅里叶变换 1 产生原始信号 原始信号是三个正弦波的叠加 2 快速傅里叶变换