在STM32F407上做FFT的运算:
在对采集到的信号做FFT运算之前,我们先要明确以下几个东西:

  1. 采样频率(Fs)和进行一次FFT运算的点数(N)
  2. 基4FFT运算,点数只能是4的指数倍,即N=256、1024。

有了上述几个知识点后,我们先来看一下下面的这张图:

这张图是我通过stm32的ADC采集一个1KHZ的方波,然后进行1024个点的FFT得到的,此时的采样率大约为256KHZ,注意:这里的采样率是大约为256KHZ,与256KHZ有较大的偏差,这个偏差造成的后果就是右图的频谱图能量不集中。(频谱图中我去掉了直流分量与后面的一些点。)
下面我们再看一张图:

在这张图中,我的采样率大约是512KHZ,且与512KHZ很接近,输入的信号仍为1KHZ的方波,此时右图的频谱图能量就很集中,与理想FFT的结果非常的接近,这是我们所希望看到的,那么这是为啥呢?

原因其实很简单,在频谱图中,X轴所代表的就是频率的大小,具体的计算公式式为:频率 = X * Fs / N 其中Fs就是我们的采样频率,N就是FFT计算的点数。
让我们来验证一下吧!
第二张图的最高点的x值为2,带入公式计算可得:频率=2*512KHZ/1024=1KHZ,这不就刚好对应我们的基波频率么。之后排下来就是3次谐波、5次谐波…偶次谐波几乎为零。

那么频谱图的y轴代表什么含义呢?
y轴的值代表的就是对应谐波的幅度(Vp),不过转换为幅度还需要一个公式:幅度 = Y * 2 / N

PS:不过在32上其实是比较难做到采样频率的精确控制的,最好的方式是用FPGA驱动一个ADS8505(或者其他的ADC模块)实时采集数据,之后再将数据发给32.

以上就是对FFT的全部讲解啦!如果有小伙伴想下载源码可以点击此链接哦!!!
https://download.csdn.net/download/qq_43373204/12959634

STM32F407+FFT+详细解读!!!!相关推荐

  1. NLP突破性成果 BERT 模型详细解读 bert参数微调

    https://zhuanlan.zhihu.com/p/46997268 NLP突破性成果 BERT 模型详细解读 章鱼小丸子 不懂算法的产品经理不是好的程序员 ​关注她 82 人赞了该文章 Goo ...

  2. VINS-mono详细解读与实现

    VINS-mono详细解读 VINS-mono详细解读 前言 Vins-mono是香港科技大学开源的一个VIO算法,https://github.com/HKUST-Aerial-Robotics/V ...

  3. R回归模型输出结果详细解读:summary、call、residuals、Coefficients、Assessing Model Fit

    R回归模型输出结果详细解读:summary.call.residuals.Coefficients.Assessing Model Fit 目录 R回归模型输出结果详细解读:summary.call. ...

  4. MemCache超详细解读

    MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高 ...

  5. CSS 详细解读定位属性 position 以及参数

    Css 详细解读定位属性 position 以及参数 position 定位属性,是CSS中非常重要的属性.除了文档流布局,就是定位布局了.本来我对这个问题没有放在心上,毕竟写了这么多年的css,对p ...

  6. MemCache详细解读

    MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高 ...

  7. 直播 | 腾讯天衍实验室张子恒:详细解读天衍实验室知识图谱对齐技术

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  8. Madgwick算法详细解读

    Madgwick算法详细解读 极品巧克力 前言 接上一篇文章<Google Cardboard的九轴融合算法>. Madgwick算法是另外一种九轴融合的方法,广泛应用在旋翼飞行器上,效果 ...

  9. Transformer详细解读与预测实例记录

    文章目录 Transformer详细解读与预测实例记录 1.位置编码 1)输入部分: 2)位置编码部分: 2.多头注意力机制 1)基本注意力机制 2)transformer中的注意力 3.残差和Lay ...

最新文章

  1. java兔子_JAVA经典兔子问题
  2. SqlServer一些用法
  3. destoon php,DESTOON_7.0_UTF8
  4. boost::mp11::integer_sequence相关用法的测试程序
  5. 18.HMM隐马尔可夫模型
  6. linux搭建vsftp服务器_Linux安装配置vsftp搭建FTP的详细配置
  7. JAVA注解和反射(笔记)
  8. Hello OpenGL——OpenGL在Visual c++6.0安装和配置
  9. python request对四类参数的处理_如何处理Djang中同一参数具有多个变量的request.GET...
  10. 前端获取不了rest请求自定义headers的问题
  11. Node.js入门笔记
  12. 盘点那些跨界玩到飞起的程序员们!
  13. 用 Python 爬取了 14 年的福彩 3D 信息!彩民们,只能帮你们到这了
  14. Leetcode Contains Duplicate II
  15. 阅读《黑客与画家》有感——Hackers and Painters
  16. python开发100个小程序_Python小程序100例
  17. 生动的ajax图片显示效果,LightBox
  18. JavaWeb 页面跳转方式连接数据库
  19. 使用ViKey加密狗实现Windows登陆的方法
  20. form表单同时提交带文本和图片的数据

热门文章

  1. 什么是DDOS攻击?有哪些防护措施?
  2. 报错解决:urllib3.exceptions.MaxRetryError
  3. Vigenere加密算法
  4. php7安装详解(windows环境)
  5. 新绝代双骄三常见问题解答(不同于网上那片)
  6. html使用表格实现网页制作
  7. Nginx反向代理http和https
  8. android开发沉浸式标题栏_android实现沉浸式状态栏
  9. 使用 JAVA Swing 构建 Sftp 桌面连接工具
  10. java什么时候定义方法,持续更新~