找回密码
 立即注册
楼主: 梁***

FFT频谱分析-视频讲解, USB-CDC虚拟串口送电脑显示

[复制链接]

该用户从未签到

0

主题

1

回帖

16

积分

新手上路

积分
16
发表于 2023-8-3 21:34:29 | 显示全部楼层
请问32f可以改成1024个采样点数的fft吗?

点评

可以,但是要注意,1024点的计算量多了好几倍。  详情 回复 发表于 2023-8-3 23:12
回复 支持 反对 送花

使用道具 举报

该用户从未签到

45

主题

2919

回帖

6562

积分

超级版主

积分
6562
 楼主| 发表于 2023-8-3 23:12:42 | 显示全部楼层
stellar 发表于 2023-8-3 21:34
请问32f可以改成1024个采样点数的fft吗?

可以,但是要注意,1024点的计算量多了好几倍。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

45

主题

2919

回帖

6562

积分

超级版主

积分
6562
 楼主| 发表于 2023-8-3 23:19:53 | 显示全部楼层
本帖最后由 梁工 于 2023-8-3 23:40 编辑
lzp0223 发表于 2023-8-3 17:13
梁工,fft的例程如何获取频谱对应实际频率和他对应的幅值啊

例子中,实部平方+虚部平方,然后开方,就是对应的幅度(峰值),频率是线性的,比如例子用25.6KHz采样,则12点频率就是0HZ(直流)、100Hz、200Hz、300Hz。。。。12700Hz,一共128点频率。
计算幅值:
for(i=0; i<LENGTH/2; i++)
{
        FFT_A = sqrt((long)FFT_Real*(long)FFT_Real + (long)FFT_Image*(long)FFT_Image);   //计算模值, STC32F @52MHz 加载硬件浮点库+整数库, 打开Cache: 455us.
}
回复 支持 反对 送花

使用道具 举报

该用户从未签到

45

主题

2919

回帖

6562

积分

超级版主

积分
6562
 楼主| 发表于 2023-8-3 23:40:24 | 显示全部楼层
lzp0223 发表于 2023-8-3 17:21
梁工,在15kHz下输入正弦波,他的频谱是往右移动,但超过15kHz后,增大频率频谱会向左移动,这是为什么 ...

根据采样定理,25.6KHz采样只能输入12.7KHz以下的频率,超过则发生频谱更迭。
由于傅里叶变换的共轭对称性,所以会出现对称的两半频谱值,我们值显示低128点就可以了,高128点是对于fs/2对称的。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

0

主题

5

回帖

26

积分

新手上路

积分
26
发表于 2023-8-4 01:10:24 | 显示全部楼层
梁工 发表于 2023-8-3 23:40
根据采样定理,25.6KHz采样只能输入12.7KHz以下的频率,超过则发生频谱更迭。
由于傅里叶变换的共轭对称 ...

那我如果要修改ad采样频率的话直接修改SAMPLE_RATE就可以吗

点评

是的,只要是256点的FFT,只需改动SAMPLE_RATE,就可以得到你想要的任何采样率,但能保证连续计算的最高采样率是25.6KHz,再高的话,计算时间将超过采样时间。  详情 回复 发表于 2023-8-4 12:05
回复 支持 反对 送花

使用道具 举报

该用户从未签到

45

主题

2919

回帖

6562

积分

超级版主

积分
6562
 楼主| 发表于 2023-8-4 12:05:22 | 显示全部楼层
lzp0223 发表于 2023-8-4 01:10
那我如果要修改ad采样频率的话直接修改SAMPLE_RATE就可以吗

是的,只要是256点的FFT,只需改动SAMPLE_RATE,就可以得到你想要的任何采样率,但能保证连续计算的最高采样率是25.6KHz,再高的话,计算时间将超过采样时间。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9232

回帖

1万

积分

管理员

积分
13938
发表于 2023-8-5 15:36:25 | 显示全部楼层
1.png

梁工在另外一个帖子中的STC32G12K128实现FFT:
我改成STC32G的了,主频30MHz,先发程序,使用说明还没来得及改。
MCU:STC32G12K128,例子使用实验箱9.61验证。
主频:30MHz。
FFT:  256点采样,128点频谱显示,USB-CDC传给STC-ISP里的示波器界面显示频谱。
采样频率最高25.6KHz,下面的程序已按楼主要求用12.8KHz采样,分辨率50Hz。

https://www.stcaimcu.com/forum.p ... ptid=3556&pid=23489

实验箱9.61-STC32G-256点FFT-CDC-虚拟示波器界面显示.rar

304.17 KB, 下载次数: 70

回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 121 天

    [LV.7]常住居民III

    1

    主题

    106

    回帖

    1829

    积分

    金牌会员

    积分
    1829
    发表于 2023-9-11 01:34:09 | 显示全部楼层
    请问有STC8H8K64U的FFT的例程么?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 121 天

    [LV.7]常住居民III

    1

    主题

    106

    回帖

    1829

    积分

    金牌会员

    积分
    1829
    发表于 2023-9-11 01:35:57 | 显示全部楼层
    请问梁工,有移植STC8H8K64U 的FFT例程么?

    点评

    这个没有,因为STC8H计算太耗时间,所以没移植。  详情 回复 发表于 2023-9-11 10:07
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    45

    主题

    2919

    回帖

    6562

    积分

    超级版主

    积分
    6562
     楼主| 发表于 2023-9-11 10:07:50 | 显示全部楼层
    hu_jia168 发表于 2023-9-11 01:35
    请问梁工,有移植STC8H8K64U 的FFT例程么?

    这个没有,因为STC8H计算太耗时间,所以没移植。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-28 12:05 , Processed in 0.169174 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表