在调用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,如果补零是为了补充虚部的话,这里虚部实部对调了,但是计算出来的结果是一致的。想知道数据补零的正真原因,求高人指点迷津,谢谢啦 |
FFT返回的是结果的实部和虚部,求模需要调用另一个函数