你好,
计算FFT的时候,FFTC模块将输入数据进行分块处理,例子采用80个样本,分成5块,每块16个数据,我现在要采样2048个数据,怎么进行分块?一直不理解这里的分块是什么意思?FFTC有个group_x的寄存器,有26个group,前面25个group,每个有5个寄存器,最后一个有3个,一共就有128个,这些寄存器要怎么配置,混合块的时候好像才要用到,但是非混合块怎么配呢?
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.
你好,
计算FFT的时候,FFTC模块将输入数据进行分块处理,例子采用80个样本,分成5块,每块16个数据,我现在要采样2048个数据,怎么进行分块?一直不理解这里的分块是什么意思?FFTC有个group_x的寄存器,有26个group,前面25个group,每个有5个寄存器,最后一个有3个,一共就有128个,这些寄存器要怎么配置,混合块的时候好像才要用到,但是非混合块怎么配呢?
哦,谢谢
还有,这个分块的意义是什么?例子里面采样点是16,分了5块,那采样点是16还是5*16=80?还有一个测试是2048个点,分成1块。这个分块的依据是什么?
FFTC engine进行运算之前会进行频偏,shift,scaling等运算,scaling分动态和静态,问下这个scaling的机制是什么?说详细些。因为FFTC手册里面感觉写的不是很清楚,反正我是不太理解
谢谢。还有一个是FFT的精度问题,文档说FFTC支持22位的数据精度,处理的时候取低19位的的有效位,接着又变成16位,算出FFT之后,乘以0x80的scaling value,这个过程我理解的没问题吧。问题是这之间数据位数的变换是硬件实现的?而不需要我们关心吗?这部分原理还没看懂。另外,为了提高FFT计算精度,对输入有什么好的处理建议,或者什么方法?因为我现在用的FFT采样值是浮点型的,不可能转换为整型去计算,目前我为了测试,对数据进行10000倍的扩充,舍弃小数位,这样精度肯定不行,根据FFTC介绍,好像也不支持浮点数的输入。所以请教一下,谢谢。。。