你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f1 DSP库做FFT变换 结果不正确

[复制链接]
zhyue12 提问时间:2018-11-22 10:10 /
用stm32f103 的dsp库做FFT,当频率为浮点数时结果不正确。


#define NPT   (256)  //采样点数
#define PI2   (6.28318530717959)
#define Fs    (256)   //采样频率



模拟输入为
fx = 1500 * sin(PI2 * i * 52 / Fs);
计算出的第53点幅值为1496;

模拟输入为:
fx = 1500 * sin(PI2 * i * 52.6 / Fs);

计算结果第54点为1130,附近幅值如下:
101
129
178
288
760
1130
321
186
131
100
81

请问各位大神结果为啥差别这么大呢?
还是说输入频率不能为浮点数?


收藏 评论4 发布时间:2018-11-22 10:10

举报

4个回答
wenyangzeng 回答时间:2018-11-22 10:31:22
楼主好像不是用浮点小数运算。怎么都没有小数点?
zhyue12 回答时间:2018-11-22 10:44:24
wenyangzeng 发表于 2018-11-22 10:31
楼主好像不是用浮点小数运算。怎么都没有小数点?

是模拟输入的频率为浮点数时,结果不正确,一个是50HZ,一个是52.6HZ
wenyangzeng 回答时间:2018-11-22 11:58:05
zhyue12 发表于 2018-11-22 10:44
是模拟输入的频率为浮点数时,结果不正确,一个是50HZ,一个是52.6HZ

整个FFT运算应该都是浮点运算,结果也是浮点小数而非整数,一楼的输出显示是整数的。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

zhyue12 回答时间:2018-11-22 12:59:09
wenyangzeng 发表于 2018-11-22 11:58
整个FFT运算应该都是浮点运算,结果也是浮点小数而非整数,一楼的输出显示是整数的。 ...

输出那个是最后复数求模后得到的幅值

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版