完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
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的数据顺序) 我做了以上两点修改,请问是修改不正确还是需要做其他方面修改?请给出具体意见,谢谢! |
|
相关推荐
9个回答
|
|
wenzheng liu您好,
请不要称呼老师~! 修改是没问题,请你确认几点: 1. 你的输入输出是哪里来的,是直接把例程中的输入输出交换么? 2. 比对一下IFFT输出结果与期望结果的差异,如果是相差固定倍数关系的话,需要调节FFTC中的scaling factor使IFFT输出与期望结果达到一致。 谢谢。 |
|
|
|
Andy Yin你好, 1.我的输入输出是原来例子中得数据,即在fftc_testcfg_16.h文件中把输入和输出直接交换的。 2,经比对,输出结果与期望结果相差2倍关系,这需要怎样具体调节scaling factor(针对做16点IFFT关系)?如果是1024点得IFFT,它们之间是否也是2倍关系呢? |
|
|
|
fu6845463651 发表于 2018-6-21 11:10 wenzheng liu你好, 输出数据的倍数关系与最终每一级的scaling factor总和有关,请参考FFTC userguide中关于scaling factor的配置。 而最终输出的scaling factor因子与输入数据及点数有关,所以倍数关系不是确定的。 目前例程使用的是动态scaling,可以根据最终输出的scaling因子参考如下公式得到倍数关系。 FFTC_Scaling_factor = 2^(-S) * sqrt(N) * outputScaling; 其中S为根据根据FFTC user guide中4.1.1 block Exponent公式得到; N为FFT点数;outputScaling参考fingure2-3. 如有必要,建议先仔细阅读一下FFTC userguide关于scaling factor,然后可以先测static scaling,再测dynamic scaling。请参考! |
|
|
|
tutu11 发表于 2018-6-21 11:21 Andy Yin你好, 根据你的建议,我下去在去看了FFTC userguide的文档,对scaling factor这块文档理解还是不明白,在具体的FFTC实例中,是否可以通过调整某个参数得到一个正确回环结果(把输入的数据先通过FFT得到一结果,然后再把结果给输入做IFFT,最后使得输出和最先的输入数据一样,彼此间没有倍数关系)? |
|
|
|
fu6845463651 发表于 2018-6-21 11:30 wenzheng liu你好, 最终输出结果与实际数据存在相应的倍数关系,倍数因子参考如下公式。 FFTC_Scaling_factor = 2^(-S) * sqrt(N) * outputScaling; 其中S为根据根据FFTC user guide中4.1.1 block Exponent公式得到; N为FFT点数;outputScaling参考fingure2-3. 目前例程中采用的是动态scaling方式,如果想测试回环的话,建议配置为静态scaling,Scaling0配置为3,output scaling配置为1/sqrt(N) * 128,其他因子均配为0,试试看。 |
|
|
|
tutu11 发表于 2018-6-21 11:39 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移出循环前缀,要怎样修改/添加代码? |
|
|
|
fu6845463651 发表于 2018-6-21 11:53 wenzheng liu您好, 1. outputscaling不是128,而是实际配置对应的浮点值,取值为[0,1]; 2. cyclicPrefixRegConfig结构体后两个参数就是用来配置removeCyclicPrefix,只是在例程中没有测试,你只要根据需要配置即可。 |
|
|
|
tutu11 发表于 2018-6-21 12:06 Andy Yin你好, 上面的第一个问题经你提醒,我已完全理解,非常感谢你。 对于移出循环前缀的问题,在cyclicPrefixRegConfig结构体中,我找到了移动循环前缀的两个参数,因没有相关配置的测试代码参考,在FFTC_Simple_testProject工程中,能否对移除循环前缀的具体操作说的更具体一些?谢谢! |
|
|
|
fu6845463651 发表于 2018-6-21 12:20 wenzheng liu您好, 参考例程中的说明及FFTC userguide即可知。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
683 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
599 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1054 浏览 1 评论
740 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
524 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
163浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
127浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
127浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
123浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
170浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 06:47 , Processed in 0.993745 second(s), Total 65, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号