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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版