xiaoxiaoze 发表于 2025-6-27 11:38

HC32F460的FFT

使用HC32F460的ADC+DMA+FFT,对输入的正弦信号进行采集变换,使用DSP库总的函数做完FFT变换后,没有得到想要的频谱幅值,可能的原因是什么,有没有大佬知道{:dizzy:}

公羊子丹 发表于 2025-7-31 16:05

FFT结果幅值不对,常见原因是没做归一化处理,记得除以采样点数。

周半梅 发表于 2025-7-31 16:05

采样数据格式和FFT输入格式要一致,比如实数还是复数格式。

帛灿灿 发表于 2025-7-31 16:06

DMA传输的数据缓存对齐和大小要和FFT长度匹配,避免数据错乱。

童雨竹 发表于 2025-7-31 16:07

ADC采样精度和噪声会影响FFT结果,尽量保证采样环境干净。

万图 发表于 2025-7-31 16:08

FFT后要计算幅度谱,通常是对复数FFT结果的实部和虚部做平方根运算。

Wordsworth 发表于 2025-7-31 16:08

有些DSP库需要先做窗函数处理,减少泄露效应,提升频谱精度。

Bblythe 发表于 2025-7-31 16:09

注意采样率设置,频率分辨率和最大频率与你的采样率直接相关。

Pulitzer 发表于 2025-7-31 16:10

FFT长度选取不合理也会影响结果,通常选2的幂次方长度。

Uriah 发表于 2025-7-31 16:10

检查FFT初始化参数,点数、方向等,参数错误会导致结果异常。

Clyde011 发表于 2025-7-31 16:11

调试时可以用已知频率信号做验证,确认FFT部分代码没有问题。

jf101 发表于 2025-7-31 16:31

是不是电机就没有到达合适的频谱
页: [1]
查看完整版本: HC32F460的FFT