| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> stm32f4进行fft运算 -> 正文阅读 |
|
[嵌入式]stm32f4进行fft运算 |
我是个小菜鸡,最近需要用fft,就学习使用了一下,感觉还挺好玩的,文章内容可能有描述不准确或者错误的地方,希望读者带着辩证的眼光阅读,如果方便指出错误,那就很感谢了。 本文主要关注fft实际应用,对于如何实现fft,和原理部分没有设计,因为我不会,哈哈哈。 原理: https://blog.csdn.net/iloveyoumj/article/details/53308142 st官方dsp库手册下载地址 STSW-STM32065 - STM32F4 DSP and standard peripherals library - STMicroelectronics? 为什么需要fft?
什么是fft?快速傅里叶算法,(DFT的快速算法),可以把周期信号从时域分解到频域 怎么用?使用fft时有几个概念需要了解: FFT参数 频谱的分辨率:Fs/N Fs:采样频率 N:fft采样点数 所以需要提高精度,可以降低采样频率和提高fft点数。 频谱宽度:Fs/2/k k:降采样率 怎么算频率和幅值 4096点: 频率:数据输出4096个点。,第一个点代表0hz信号的幅值,也就是直流分量,后面的点的频率=点数*分辨率。fft输出是对称的,所以≥N/2的点都没有实际意义。 幅值:直流分量/N,谐波分量/(N/2)。 stm32f4程序实现 程序思路: TIM2(TRGO信号)触发 ——> ADC采样(开启DMA传输) ——> FFT运算、和数据处理(在DMA传输完成中断中) TIM2触发是为了精准控制adc采样频率。这里有一个信号同步的问题,就是可能分辨率与采样的信号不能准确的对应上(比如采样频率是1khz,然后分辨率是9hz,1000/9不是整数。这样在频谱图上就没有一个整数点能对应1khz,然后数据就会没那么准确),这个好像就是叫频谱泄露 ADC采集应该都会吧。。。要注意adc采集f>tim2触发f(更新中断),不然可能会出问题。 FFT运算
直接使用的官方库的例子,在下载好的库的这个目录下: STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/Documentation/DSP/html/arm_fft_bin_example_f32_8c-example.html |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 9:55:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |