打印
[技术手册]

利用arm-DSP库进行FFT计算

[复制链接]
606|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?              

使用特权

评论回复
5
chenjun89| | 2023-1-6 07:48 | 只看该作者
图裂了还是没有上传?

使用特权

评论回复
6
zerorobert| | 2023-1-6 16:02 | 只看该作者
最大支持多少个点的FFT计算呢?

使用特权

评论回复
7
pentruman| | 2023-1-6 19:09 | 只看该作者
这个不是st的库吗?              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

1611

帖子

1

粉丝