完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
CCSV5
C6657EVM 之前我在试用DSPLIB中的FFT时处处碰壁,在网上找了很多贴子也没有说得完整的,下面我分享一下我掌握的使用方法,以DSPF_sp_fftSPxSP函数为例! 1、包含头文件 右键工程名称==>Properties==>Build==>C6000 Compiler==>Include Options添加DSPLIB的头文件位置 2、链接文件&库文件 右键工程名称==>Properties==>Build==>C6000 Linker==>File Search Path添加链接文件和库文件 3、在工程文件#include 4、要做DSPF_sp_fftSPxSP前需要做两个准备工作,(1)brev[64]倒置数组(2)tw_gen ()旋转因子 5、调用DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 4, 0, N); 例:做 float x_sp [8] = {1,2,3,4,5,6,7,8};的FFT,需要把此数组变成复数数组(重重重重点) 改成:float x_sp [16] = {1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0};此处的“0”代表复数的虚部, 调做DSPF_sp_fftSPxSP(8, x_sp, w_sp, y_sp, brev, 4, 0, 8); 8:待转换的数据长度(实部+虚部构成一个数据) x_sp:输入数组的首地址 w_sp:旋转因子的首地址 y_sp:输出数组的首地址 brev:倒置数组 4:为“基4”处理,若改成“2”,则为“基2”处理 8:待转换的数据长度(其实这个参数我也还没有理解,我姑且这样认为,请大神指导) 以上是本人对DSPLIB中的FFT的理解和使用,若有哪里说的不正确的还望指出,谢谢! 学习需要多交流,不能只提问题,解决了问题还望分享,谢谢! |
|
相关推荐
17个回答
|
|
|
|
|
|
赞一个LZ的分享精神!我也很赞同那句话,不能只提问题,解决问题后最好能分享一下心得,方便后来人。
|
|
|
|
|
|
|
|
您好,有个问题像请教您。
dsplib.ae66是如何添加到include library file of command file as input中的? 这个路径怎么添加的, |
|
|
|
您好,跟楼上一样,有个问题像请教您。
dsplib.ae66是如何添加到include library file of command file as input中的? 这个路径怎么添加的? 还有,刚开始我一直美找到库文件,看你这样库文件这样添加合适吗? |
|
|
|
|
|
|
|
没有问题,你可以试试,我一直在用 |
|
|
|
给lz点个赞!!!!!!!!1
|
|
|
|
你好,我现在也不太明白最后一个参数的意义,总感觉最后一个参数n_max和第一个参数N作用上重复了,不知道你现在对这个参数有什么更深的理解??
|
|
|
|
楼主,你好:
我在使用DSF_sp_fftSPxSP这个函数时,采用例程中的旋转因子,程序运行结果与matlab运行结果不一致,不知道你是否碰到 过这种情况?后来我使用下面的链接的网址的旋转因子,运行程序后发现结果与matlab一致; http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/25757.aspx 现在碰到的问题是无法找到正确用于DSPF_sp_ifftSPxSP的旋转因子,这个傅里叶变换对与C67xDSP好像不一样,采用相同的旋转 因子。不知楼主是否知道正确的旋转因子。。。 |
|
|
|
楼主
您好 我在使用DSPF_sp_FFTSPxSP()这个函数的时候,输入一个1KHZ的正弦波,输出的数据非常大,有的甚至超出范围成为无效数据,将这个FFT与其它的函数进行对比,发现前两个数据是对的。后面的数据非常大。我将此函数的源码放在Windows上跑的是对的,基本上得到的数据与理论值相符,就是在DSP里面跑的时候遇到一些奇怪的事情,请楼主帮忙看看。下面是几个数据值,让人费解。 0 : -0.000077, 1 : 0.000000, 2 : -7208423424.000000, 3 : 4698866688.000000, 211 : 4941928259086151000000000000000000000.000000 |
|
|
|
|
|
|
|
试试看将#include |
|
|
|
求函数DSPF_sp_fftSPxSP和函数 DSPF_sp_ifftSPxSP的说明文档
|
|
|
|
亲,你后来解决了么~ 我的和你的一模一样!! |
|
|
|
这个在DSPLIB_Users_Manual.html中有对于函数参数说明,在你库安装的目录下 |
|
|
|
void DSPF_sp_fftSPxSP(int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max);
@param N length of FFT in complex samples @param ptr_x pointer to complex data input @param ptr_w pointer to complex twiddle factor @param ptr_y pointer to complex output data @param brev pointer to bit reverse table containing 64 entries @param n_min should be 4 if N can be represented as Power of 4 else, n_min should be 2 如果N是4的幂,此参数为4,否则为2 @param offset index in complex samples of sub-fft from start of main fft 设完整FFT序列的下标取值为0,1,2,...,N-1;若此参数为0,则输出 完整FFT;若此参数为1,则截取k=1,2,...,N-1;这一段;若此参数为2,则截取k=2,3,...,N-1;这一段;...一般此参数都是默认为0不需要更改 @param n_max size of main fft in complex samples 输出的FFT点数,一个复数为一点, 等于N offset这个参数只是自己根据英文注释字面意思理解的,未自己跑程序验证,望验证与指正。 |
|
|
|
只有小组成员才能发言,加入小组>>
482 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
348 浏览 1 评论
927 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2096 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3842 浏览 4 评论
CC3100BOOST使用CC3200lunchXL进行烧录
878浏览 2评论
115浏览 2评论
150浏览 2评论
125浏览 2评论
153浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-12 12:19 , Processed in 0.973744 second(s), Total 78, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191