硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1143|回复: 10
收起左侧

[DSP] 傅里叶变换如何能区分每个频率点?

[复制链接]

5

主题

13

回帖

28

积分

新手上路

积分
28
发表于 2023-4-18 09:04:38 | 显示全部楼层 |阅读模式
大家好,我们在使用傅里叶变换的时候,比如我采样频率是48kHZ,采集1024个点,那么频率分辨率其实是48000 / 1024 = 46.875HZ, 那我想识别60HZ的频率该怎么做呢?因为按这个采样设置,下一个点我只能识别到46.875 * 2 = 93.75HZ的频率,他们中间的这些频率怎么识别到呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2023-4-18 10:15:13 | 显示全部楼层
60Hz要是FFT频域最小分辨率整数倍效果才比较好
回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 2023-4-18 10:17:18 | 显示全部楼层
由于频谱泄露,直接搞肯定没戏,你可以试试频谱内插。
回复

使用道具 举报

5

主题

13

回帖

28

积分

新手上路

积分
28
 楼主| 发表于 2023-4-18 10:18:31 | 显示全部楼层
eric2013 发表于 2023-4-18 10:15
60Hz要是FFT频域最小分辨率整数倍效果才比较好

不只是60HZ,我是想能识别到20Hz到20kHZ这中间的所有频率,采样频率是固定的48kHZ,怎么做才能识别到这中间的所有频率点呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2023-4-18 10:22:12 | 显示全部楼层
huidefengsy 发表于 2023-4-18 10:18
不只是60HZ,我是想能识别到20Hz到20kHZ这中间的所有频率,采样频率是固定的48kHZ,怎么做才能识别到这中 ...

那就分辨率整到10Hz,那么就需要你每次采集处理4800点。能分辨到1Hz更好,每次FFT处理48K点
回复

使用道具 举报

5

主题

13

回帖

28

积分

新手上路

积分
28
 楼主| 发表于 2023-4-18 10:25:27 | 显示全部楼层
eric2013 发表于 2023-4-18 10:22
那就分辨率整到10Hz,那么就需要你每次采集处理4800点。能分辨到1Hz更好,每次FFT处理48K点

可是STM32的FFT最大只能做到4096个点
回复

使用道具 举报

5

主题

13

回帖

28

积分

新手上路

积分
28
 楼主| 发表于 2023-4-18 10:32:23 | 显示全部楼层
ME_Engineer 发表于 2023-4-18 10:17
由于频谱泄露,直接搞肯定没戏,你可以试试频谱内插。

你好,这个是什么技术?是要用到FIR滤波器吗? 我是用的STM32单片机
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2023-4-18 10:37:54 | 显示全部楼层
huidefengsy 发表于 2023-4-18 10:25
可是STM32的FFT最大只能做到4096个点

发布了不限制点数方案

STM32H7的不限制点数FFT章节教程发布(2021-06-28)
https://www.armbbs.cn/forum.php? ... 7591&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

5

主题

13

回帖

28

积分

新手上路

积分
28
 楼主| 发表于 2023-4-18 10:57:43 | 显示全部楼层
eric2013 发表于 2023-4-18 10:37
发布了不限制点数方案

STM32H7的不限制点数FFT章节教程发布(2021-06-28)

版主,你好,我使用STM32F407可以用这个吗
回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 2023-4-18 13:39:39 | 显示全部楼层
DFT是DTFT的离散采样,根据DFT的结果,通过内插是可以获得DTFT的,进而可以计算出在任一点的频谱。

总体而言,如果资源足够,多采一些点做FFT更简单方便;实在不行的话,可以试试这种方法,此外,你还可以看一下“Multirate Digital Signal Processing”。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2023-4-19 10:01:17 | 显示全部楼层
huidefengsy 发表于 2023-4-18 10:57
版主,你好,我使用STM32F407可以用这个吗

可以的,这个是纯C实现的。此贴V5板子的移植时对应的F407

https://www.armbbs.cn/forum.php?mod=viewthread&tid=94547
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 03:55 , Processed in 0.202878 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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