TI中文支持网
TI专业的中文技术问题搜集分享网站

c6670中FFTC加速器做IFFT是结果出错?

Andy Yin老师你好,

在c6670上,根据TI提供的FFTC_MultiInst_testProject工程,经测试做FFT,结果没问题,现想在FFT和IFFT做简单回环,经我修改,想用来做IFFT,跑了一下结果不正确?不知问题出在哪儿?具体做了以下修改:

1.在test_main.c文件中,552-555行代码表示可以选择进行FFT或IFFT。所以我修改了fftc_testcfg_16.h文件中133行,把0该为了1,使其选择IFFT模式。

2..在fftc_testcfg_16.h文件中,把以前的输入改为了期望结果输出,把期望结果作为了输入。(以前的顺序是做FFT的数据顺序)

我做了以上两点修改,请问是修改不正确还是需要做其他方面修改?请给出具体意见,谢谢!

Andy Yin:

wenzheng liu您好,

请不要称呼老师~!

修改是没问题,请你确认几点:

1. 你的输入输出是哪里来的,是直接把例程中的输入输出交换么?

2. 比对一下IFFT输出结果与期望结果的差异,如果是相差固定倍数关系的话,需要调节FFTC中的scaling factor使IFFT输出与期望结果达到一致。

谢谢。

wenzheng liu:

回复 Andy Yin:

Andy Yin你好,

1.我的输入输出是原来例子中得数据,即在fftc_testcfg_16.h文件中把输入和输出直接交换的。

2,经比对,输出结果与期望结果相差2倍关系,这需要怎样具体调节scaling factor(针对做16点IFFT关系)?如果是1024点得IFFT,它们之间是否也是2倍关系呢?

wenzheng liu:

回复 Andy Yin:

Andy Yin你好,

根据你的建议,我下去在去看了FFTC userguide的文档,对scaling factor这块文档理解还是不明白,在具体的FFTC实例中,是否可以通过调整某个参数得到一个正确回环结果(把输入的数据先通过FFT得到一结果,然后再把结果给输入做IFFT,最后使得输出和最先的输入数据一样,彼此间没有倍数关系)?

wenzheng liu:

回复 Andy Yin:

Andy Yin你好,

对于c6670的FFTC模块,有两个问题不明白,如下:

1.关于FFT/IFFT scaling factor问题,下去后我仔细看了FFTC的使用文档,同时参考你提供的公式:FFTC_Scaling_factor = 2^(-S) * sqrt(N) * outputScaling~~~~~~~~~~~~~~~*,

已基本理解scaling问题,但是有一点不明白:S为根据公式SUM (si) + sout– 3 + (LTE_FREQ_EN * SLTE)得到,其中,si= 0 to NUM_STAGES -1       LTE_FREQ_EN =   0   if LTE frequency shift disabled    1   if LTE frequency shift enabled。参考fingure2-3,我理解的是在计算S时,已经把outputScaling考虑进去了,即上面公式的-3是(-6-7+10)得到,其中的-7是根据(2^7=128)得到。这里不理解公式*为什么还要乘outputScaling(128)。?

2.在FFTC的实例工程中可以通过设置CyclicPrefixRegConfig寄存器去添加/移出循环前缀,经我测试,添加循环前缀没有问题,但是如何移出循环前缀,在工程中没有找到具体的代码实现和设置,如果想用FFTC移出循环前缀,要怎样修改/添加代码?

Andy Yin:

回复 wenzheng liu:

wenzheng liu您好,

1. outputscaling不是128,而是实际配置对应的浮点值,取值为[0,1];

2. cyclicPrefixRegConfig结构体后两个参数就是用来配置removeCyclicPrefix,只是在例程中没有测试,你只要根据需要配置即可。

wenzheng liu:

回复 Andy Yin:

Andy Yin你好,

上面的第一个问题经你提醒,我已完全理解,非常感谢你。

对于移出循环前缀的问题,在cyclicPrefixRegConfig结构体中,我找到了移动循环前缀的两个参数,因没有相关配置的测试代码参考,在FFTC_Simple_testProject工程中,能否对移除循环前缀的具体操作说的更具体一些?谢谢!

Andy Yin:

回复 wenzheng liu:

wenzheng liu您好,

参考例程中的说明及FFTC userguide即可知。

赞(0)
未经允许不得转载:TI中文支持网 » c6670中FFTC加速器做IFFT是结果出错?
分享到: 更多 (0)