我想用该函数对一个3200个复数数据进行FFT转换,具体操作是每8个复数进行fft,循环作400次;但是我用一个for循环来做,第一次8个数据是对的,之后的变换结果都是错的,我一步一步调试发现,第一次做完FFT,原始数据被覆盖改变了,我想是因为函数中间变量用到了原始数据的空间
想问问各位前辈,如何做循环的FFT
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我想用该函数对一个3200个复数数据进行FFT转换,具体操作是每8个复数进行fft,循环作400次;但是我用一个for循环来做,第一次8个数据是对的,之后的变换结果都是错的,我一步一步调试发现,第一次做完FFT,原始数据被覆盖改变了,我想是因为函数中间变量用到了原始数据的空间
想问问各位前辈,如何做循环的FFT
可能是我表达有误吧,说明一下pulsenum=8,fft_num=400
buffer有3200个复数,一共是400组,每组8个,实部虚部放的;然后用一个for循坏400次,第一次做8点fft取值应该是buffer[0]~buffer[15],但是做完第一次fft之后,buffer[16]之后的数据很大一部分被改变了;
之后我单独试验了一下,buffer里面只放8个复数,后面的数据全部为零,也就是buffer[16]~buffer[6399]全部等于零,做完fft之后那些0没被改变;
但是如果改成buffer[16]=1.0,buffer[17]=2.0,做完fft之后buffer[16]之后的数据又被一些莫名其妙的数值覆盖;