[技术手册] 利用arm-DSP库进行FFT计算

[复制链接]
1044|6
 楼主| bestwell 发表于 2022-12-11 11:10 | 显示全部楼层 |阅读模式
[color=rgba(0, 0, 0, 0.75)]电力系统中往往掺杂谐波,而FFT可以将谐波检测出来,具有较大的实用价值。今天主要讲一下在STM32中如何利用dsp库进行快速傅里叶计算,从而得出信号的频谱幅值以及相位。
一、Matlab简单搭建1.谐波检测搭建

通过50Hz正弦波叠加100Hz、200Hz的正弦波得到叠加后畸变的波形,这个波形主要用来进行FFT运算进行谐波检测。模型很简单如图1所示,三个正弦波相位相同、频率不同,幅值分别为5、15、30。图2中上边是叠加后的畸变的波形,下边是三个信号放在一张图时的波形。

2.相位分析搭建

这个很简单,就是搞三个频率、幅值相同,相位分别差120°的正弦波。其中以A的相位为基准,B滞后于A120°,C滞后于B120°。放一起的波形如图2所示,就是电网中典型的三相电。

3.Matlab数据导入单片机中

这里直接采用在单片机中定义数组,来存储Matlab波形信号。还要提一点,在simulink中设置的仿真步长为0.0003125,其对应的采样值为3200Hz,采样时间设置为0.02秒,即50Hz正弦波的一个周期。那么在这一个周期内,共由64个采样点组成。
将workspace里的数据复制到word中,然后全选,用“,”来替换换行符“^p”,就得到了可以直接在C语言里使用的数组,如下图。



macpherson 发表于 2023-1-5 11:18 | 显示全部楼层
这个也可以使用吗?              
adolphcocker 发表于 2023-1-5 14:54 | 显示全部楼层
是否可以应用查表的方法来计算FFT?
tabmone 发表于 2023-1-5 18:00 | 显示全部楼层
在哪来下载arm-DSP?              
chenjun89 发表于 2023-1-6 07:48 来自手机 | 显示全部楼层
图裂了还是没有上传?
zerorobert 发表于 2023-1-6 16:02 | 显示全部楼层
最大支持多少个点的FFT计算呢?
pentruman 发表于 2023-1-6 19:09 | 显示全部楼层
这个不是st的库吗?              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

1985

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部