调用STM32的DSP库做fft运算补零是为了补充虚部吗?

2019-07-14 14:03发布

在调用STM32的DSP库做fft运算的时候发现,要进行fft运算的输入数据在运算之前,需要对数据一隔一个补零,比如实际要进行fft运算的数据为1,2,3,4.需要变为1,0,2,0,3,0,4,0才能运算。官方找到资料里对这方面的描述只有一句:All the signal samples must be 32-bit data containing the 16-bit real part followed by the 16-bit imaginary part (in the little Endian order: imaginary_real).而官方库里面的fft运算函数只有cfft,只能进行复数的fft运算,这里的补零是为了补充虚部吗?还做了一个测试,就是将补零数据放到实际采样数据的前面,变为0,1,0,2,0,3,0,4,如果补零是为了补充虚部的话,这里虚部实部对调了,但是计算出来的结果是一致的。想知道数据补零的正真原因,求高人指点迷津,谢谢啦
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
上海鼎廷
1楼-- · 2019-07-14 21:51
来个板凳!!!
gan5482
2楼-- · 2019-07-15 01:03
自顶,求指点
guanrui1202
3楼-- · 2019-07-15 03:02
FFT返回的结果是什么?是不是虚部和实部的均方根。
60user38
4楼-- · 2019-07-15 08:59
 精彩回答 2  元偷偷看……
jjjsuwer
5楼-- · 2019-07-15 09:30
快速傅里叶变换,这个没学过
分修一班人
6楼-- · 2019-07-15 10:38
傅里叶变换基于级数理论,这个高数学过不过我也忘记差不多了,个人理解:FFT和DFT是有区别的,没记错的话FFT是发现了傅里叶变换结果的对称性而做的,就是有个对称频率,结果可以取一半,要求补零,是不是和这个有关系?楼主试下 0 0 0 0 1 2 3 4,看结果是否还一样?或者这个是软件内部把0给处理了?

一周热门 更多>