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.

急!求解答。使用DSPF_sp_fftSPxSP对8192点做FFT,发现使用完这个函数后,输入和输出的buf内的数据全变为NAN,求大家解答或提供思路!



大家好,我使用的是TI的DSPlib中的DSPF_sp_fftSPxSP函数,想做8192点FFT,

现象:查看输出结果,发现全是NAN,输入的buf也全变成了NaN,但是我使用的旋转因子是没问题的,对1024点做FFT,有时就可以正常输出,有时就出现NAN错误,然后一天前,我对512点做FFT,也出现了类似的情况, 然后我来回改了几次堆栈,编译了一下程序,就能用了。。。。

我的做法:输入和输出的buf是分开存放的,后来我又将输入的buf数据放入一个数组中,再将数组中的数据做FFT。还是会出现这种问题

问题:请问输入数据都正常、旋转因子也正常的情况下,为什么做8192点FFT,就全都出错,做1024点FFT,就有时会出错?我的LL2空间,通过查看memory allocation未被占用的,约有100K.,其他的都被占用了。是因为这个原因导致的么?还是说是我的堆栈不够用了?我扩大了堆栈,由64K变为80K,没什么变化

  • 出现NAN这个数据指的是,当前数据超出了观察数据的类型的数据范围。FFT运算出现这个情况,常见的错误是数据中有大批的0。你可以将做FFT前的相关数据查看下,在Matlab中做FFT,看结果数据是什么样的。

  • 谢谢你的解答,的确,找了好几天没发现,是自己犯了低级错误了,是数据不对导致的。

  • 你好,请问你是不是也是在利用ccs做随机接入相关的测试呢,恰好我最近也在做,也遇到了类似的问题,将数据输入之后得到的输出明显和matlab不一样,并且输入数据的值也会改变,我的tw_gen和brev都是用的函数.c文件中自带的,目前检查了一下输入的数据生成应该也是没有问题的,这是我的QQ:153784136,有空的话麻烦加一下我,我想向大佬请教一下