基4的FFT的计算结果错序问题,求助

【创龙TMS320C6748开发板试用】+ 基4的FFT的计算结果错序问题,求助。 - DSP论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
【创龙TMS320C6748开发板试用】+ 基4的FFT的计算结果错序问题,求助。
14:48:02  
前几天做了Fatfs与基2的FFt,C6748的性能还真的不一般,做这个项目还是很合适的。
还有个间谐波的计算没有做,不过谐波计算完成了,间谐波的计算也是大同小异的。
为了再提高计算速率,就想试一下基4的FFT的速度。
可是在用TI的DSP库中的DSPF_sp_cfftr4_dif时,计算时间是减少了。
可是计算结果的顺序是错乱的。
这个结果和程序如下。
void test_cfftr4(void)
{
& & & && &
& & & & float fs,f0;
& & & & fs=51200.0f;
& & & & f0=50.0f;
& & & & clock_t t_start, t_stop, t_overhead,
& & & &
& & & && &&&memset (x_asm, 0x0, sizeof (x_asm));
& & & && &&&memset (x_cn, 0x0, sizeof (x_cn));
& & & && &&&memset (w, 0x0, sizeof (w));
& & & && &&&for (i = 0; i & N; i++)
& & & && &&&{
& & & && && && &x_asm[2 * i] = 10.0f*sinsp (2.0f * PI& &* i * (f0/fs) )\
& & & && && && && & & & & & & & +9.0f*sinsp (2.0f * PI& &* 2*i * (f0/fs) )\
& & & && && && && & & & & & & & +8.0f*sinsp (2.0f * PI& &* 3*i * (f0/fs) )\
& & & && && && && & & & & & & & +7.0f*sinsp (2.0f * PI& &* 4*i * (f0/fs) )\
& & & && && && && & & & & & & & +6.0f*sinsp (2.0f * PI& &* 5*i * (f0/fs) )\
& & & && && && && & & & & & & & +5.0f*sinsp (2.0f * PI& &* 6*i * (f0/fs) )\
& & & && && && && & & & & & & & +4.0f*sinsp (2.0f * PI& &* 7*i * (f0/fs) )\
& & & && && && && & & & & & & & +3.0f*sinsp (2.0f * PI& &* 8*i * (f0/fs) )\
& & & && && && && & & & & & & & +2.0f*sinsp (2.0f * PI& &* 9*i * (f0/fs) )\
& & & && && && && & & & & & & & +1.0f*sinsp (2.0f * PI& &* 10*i * (f0/fs) )+11.0f;
& & & && && && &x_asm[2 * i + 1] = 0.0f;
& & & && &&&}
& & & && &&&memcpy (x_cn, x_asm, sizeof (x_cn));
& & & && &&&gen_twiddle(w, N);
& & & && &&&
& & & && &&&TSCL= 0,TSCH=0;
& & & && &&&t_start = _itoll(TSCH, TSCL);
& & & && &&&t_stop = _itoll(TSCH, TSCL);
& & & && &&&t_overhead = t_stop - t_
& & & && &&&t_start = _itoll(TSCH, TSCL);
& & & && &&&DSPF_sp_cfftr4_dif_cn(x_cn, w, N);
& & & && &&&t_stop = _itoll(TSCH, TSCL);
& & & && &&&www= (t_stop - t_start) - t_
& & & && &&&t_start = _itoll(TSCH, TSCL);
& & & && &&&DSPF_sp_cfftr4_dif(x_asm, w, N);
& & & && &&&t_stop = _itoll(TSCH, TSCL);
& & & && &&&www= (t_stop - t_start) - t_
& & & && &&&bit_rev4(x_cn, N);
& & & && &&&bit_rev4(x_asm, N);
& & & && &
有用过TI的DSP库的前辈指教一下吧,感觉是位反转函数的问题,可这些函数都是TI库中的,按道理不应该有问题的,还是自己用错了?真是不解。
附件: 您需要
才可以下载或查看,没有帐号?
已退回1积分
14:24:05  
TMS320做数据运算还是挺牛的,综合效率和功耗,目前还是不错了
16:22:29  
TMS320做数据运算还是挺牛的,综合效率和功耗,目前还是不错了
这个问题知道怎么回事么?
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司基4的DIF的fft算法全部弄懂
刚刚想清楚旋转因子的问题,现在算法已经全部清楚了,下面看汇编程序。
没有更多推荐了,
不良信息举报
举报内容:
基4的DIF的fft算法全部弄懂
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!基于DSP的频率抽取基4FFT算法实现_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于DSP的频率抽取基4FFT算法实现
&&首先介绍了频率抽取基4FFT算法的快速有效的原理及实现方法,提出了一种在DSP上实现此算法的方法并且在TMS320C6713B浮点型DSP上实现了频率抽取基4FFT算法,最后对语音信号进行了基4FFT变换和反变换的实验,实验结果表明本程序能正确、高效地实现基4FFT变换与逆变换的算法。
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩7页未读,
定制HR最喜欢的简历
你可能喜欢【创龙TMS320C6748开发板试用】+ 基4的FFT的计算结果错序问题,求助。 - DSP论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
【创龙TMS320C6748开发板试用】+ 基4的FFT的计算结果错序问题,求助。
14:48:02  
前几天做了Fatfs与基2的FFt,C6748的性能还真的不一般,做这个项目还是很合适的。
还有个间谐波的计算没有做,不过谐波计算完成了,间谐波的计算也是大同小异的。
为了再提高计算速率,就想试一下基4的FFT的速度。
可是在用TI的DSP库中的DSPF_sp_cfftr4_dif时,计算时间是减少了。
可是计算结果的顺序是错乱的。
这个结果和程序如下。
void test_cfftr4(void)
{
& & & && &
& & & & float fs,f0;
& & & & fs=51200.0f;
& & & & f0=50.0f;
& & & & clock_t t_start, t_stop, t_overhead,
& & & &
& & & && &&&memset (x_asm, 0x0, sizeof (x_asm));
& & & && &&&memset (x_cn, 0x0, sizeof (x_cn));
& & & && &&&memset (w, 0x0, sizeof (w));
& & & && &&&for (i = 0; i & N; i++)
& & & && &&&{
& & & && && && &x_asm[2 * i] = 10.0f*sinsp (2.0f * PI& &* i * (f0/fs) )\
& & & && && && && & & & & & & & +9.0f*sinsp (2.0f * PI& &* 2*i * (f0/fs) )\
& & & && && && && & & & & & & & +8.0f*sinsp (2.0f * PI& &* 3*i * (f0/fs) )\
& & & && && && && & & & & & & & +7.0f*sinsp (2.0f * PI& &* 4*i * (f0/fs) )\
& & & && && && && & & & & & & & +6.0f*sinsp (2.0f * PI& &* 5*i * (f0/fs) )\
& & & && && && && & & & & & & & +5.0f*sinsp (2.0f * PI& &* 6*i * (f0/fs) )\
& & & && && && && & & & & & & & +4.0f*sinsp (2.0f * PI& &* 7*i * (f0/fs) )\
& & & && && && && & & & & & & & +3.0f*sinsp (2.0f * PI& &* 8*i * (f0/fs) )\
& & & && && && && & & & & & & & +2.0f*sinsp (2.0f * PI& &* 9*i * (f0/fs) )\
& & & && && && && & & & & & & & +1.0f*sinsp (2.0f * PI& &* 10*i * (f0/fs) )+11.0f;
& & & && && && &x_asm[2 * i + 1] = 0.0f;
& & & && &&&}
& & & && &&&memcpy (x_cn, x_asm, sizeof (x_cn));
& & & && &&&gen_twiddle(w, N);
& & & && &&&
& & & && &&&TSCL= 0,TSCH=0;
& & & && &&&t_start = _itoll(TSCH, TSCL);
& & & && &&&t_stop = _itoll(TSCH, TSCL);
& & & && &&&t_overhead = t_stop - t_
& & & && &&&t_start = _itoll(TSCH, TSCL);
& & & && &&&DSPF_sp_cfftr4_dif_cn(x_cn, w, N);
& & & && &&&t_stop = _itoll(TSCH, TSCL);
& & & && &&&www= (t_stop - t_start) - t_
& & & && &&&t_start = _itoll(TSCH, TSCL);
& & & && &&&DSPF_sp_cfftr4_dif(x_asm, w, N);
& & & && &&&t_stop = _itoll(TSCH, TSCL);
& & & && &&&www= (t_stop - t_start) - t_
& & & && &&&bit_rev4(x_cn, N);
& & & && &&&bit_rev4(x_asm, N);
& & & && &
有用过TI的DSP库的前辈指教一下吧,感觉是位反转函数的问题,可这些函数都是TI库中的,按道理不应该有问题的,还是自己用错了?真是不解。
附件: 您需要
才可以下载或查看,没有帐号?
已退回1积分
14:24:05  
TMS320做数据运算还是挺牛的,综合效率和功耗,目前还是不错了
16:22:29  
TMS320做数据运算还是挺牛的,综合效率和功耗,目前还是不错了
这个问题知道怎么回事么?
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司

我要回帖

更多关于 基序 的文章

 

随机推荐