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

FFT变换之后数据都是幅值都是0,是咋回事

[复制链接]
轩辕紫木 提问时间:2018-10-17 09:58 /
请问各位大佬,下面raw_FFTTEST_data是我每秒采集的512个数据,是int6_t类型的,但是变换之后输出的幅值都是0,是咋回事啊

O1N$`~9{}~V~V1A`Y3Y[D@M.png
收藏 评论14 发布时间:2018-10-17 09:58

举报

14个回答
七哥 回答时间:2018-10-17 10:18:07
本帖最后由 toofree 于 2018-10-17 10:20 编辑

FFT是时域转频域,转换后需要找到频点,在对应频点上才有幅值。
那么问题来了,你找到的频点是多少?
自己产生个特定频率的正弦波数组,然后FFT一下,得到频率和幅值,先验证一下。

评分

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

查看全部评分

废鱼 回答时间:2018-10-17 10:22:48
为什么一个*2,一个不*2呢?前面是8位,后面是16位吗?如果是这样的。他取值的时候只取低8位。
轩辕紫木 回答时间:2018-10-17 10:27:34
toofree 发表于 2018-10-17 10:18
FFT是时域转频域,转换后需要找到频点,在对应频点上才有幅值。
那么问题来了,你找到的频点是多少?
自己 ...

这个传感器是每秒发出512个数据,采样点我取的512,最后真实的频率点应该是0-511hz,中间间隔1,对吗
轩辕紫木 回答时间:2018-10-17 10:31:52
安 发表于 2018-10-17 10:22
为什么一个*2,一个不*2呢?前面是8位,后面是16位吗?如果是这样的。他取值的时候只取低8位。 ...

raw_input_512Hz和raw_FFTTEST_data都是int6_t类型的;raw_FFTTEST_data是要被输入的512个数据
废鱼 回答时间:2018-10-17 11:03:09
从代码上看,奇数都是0,偶数是实际的数据,看一下处理数据时,处理的是奇数还是偶数。

评分

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

查看全部评分

轩辕紫木 回答时间:2018-10-17 11:26:08
toofree 发表于 2018-10-17 10:18
FFT是时域转频域,转换后需要找到频点,在对应频点上才有幅值。
那么问题来了,你找到的频点是多少?
自己 ...

用正弦函数正常。下面是MATLAB里面的
PS:为啥回复不能带图片
轩辕紫木 回答时间:2018-10-17 11:26:46
安 发表于 2018-10-17 11:03
从代码上看,奇数都是0,偶数是实际的数据,看一下处理数据时,处理的是奇数还是偶数。 ...

输入用正弦函数正常。
STMCU-管管 回答时间:2018-10-18 11:26:28
hu9977 发表于 2018-10-17 11:26
用正弦函数正常。下面是MATLAB里面的
PS:为啥回复不能带图片

右上角高级模式里可以上传图片
一木320 回答时间:2018-10-18 14:08:02
先用浮点API试试

评分

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

查看全部评分

轩辕紫木 回答时间:2018-10-18 14:13:41

好的我试一下
轩辕紫木 回答时间:2018-10-18 15:28:53

会出现硬件错误
轩辕紫木 回答时间:2018-10-18 16:13:40

谢谢,改成浮点的确实可以输出数据,但是MATLAB和STM32的有点区别,请问是啥原因

JFZSQ[E]XE$7IBGJ5~NCJZ8.png
houziyo 回答时间:2019-1-18 15:35:22
楼主你好,请问Q15的解决了吗,遇到了一样的问题
轩辕紫木 回答时间:2019-1-21 09:30:46
houziyo 发表于 2019-1-18 15:35
楼主你好,请问Q15的解决了吗,遇到了一样的问题

用float的,不要用Q15

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版