打印

DSP2812 FFT问题

[复制链接]
4730|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bdc|  楼主 | 2010-8-14 15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用TI提供的DSP库,在CCS3.1下用开发板已经调试出1024点的FFT,看到的频谱与预期的一致,
下面是基本过程:
#include "fft.h"
#define     FFT_N   1024
#pragma DATA_SECTION(ipcb, "FFTipcb");
#pragma DATA_SECTION(mag, "FFTmag");
RFFT32  fft=RFFT32_1024P_DEFAULTS;     
long ipcb[FFT_N+2];
long mag[FFT_N/2+1];  
unsigned int fftdata_count,fftcalc_flag;
const long win[FFT_N/2]=HAMMING1024;   

设置好EVA触发AD采样,在ADC采样中断中填充数据:(如果没有左移16位,数值太小,计算结果=0)
    ipcb[i]=((unsigned long)(AdcRegs.RESULT0>>4))<<16;

采集够1024点后
    RFFT32_brev(ipcb,ipcb,FFT_N);
    fft.win(&fft);
fft.calc(&fft);
    fft.split(&fft);
    fft.mag(&fft);
mag中就是各个频率的幅值了。

我现在想分析10KHz的信号,采样频率是25K,那么频率分辨只有25K/1024=24.4Hz
想提高分辨率,该怎么办,谁有2048点的FFT算法?

相关帖子

沙发
aresc| | 2010-8-14 22:14 | 只看该作者
1024的都有了,2048的稍微改一下就可以了。

使用特权

评论回复
板凳
hongh| | 2010-8-21 12:54 | 只看该作者
分两次 FFT

使用特权

评论回复
地板
xiaobao09| | 2010-8-24 13:33 | 只看该作者
这样也行?

使用特权

评论回复
5
blacky204| | 2010-8-26 09:58 | 只看该作者
恩  不过两次完了 最后还是要做一次蝶形图

使用特权

评论回复
6
azmao| | 2010-8-27 13:49 | 只看该作者
就是挺麻烦的,c28的FFT库只提供1024点的。

使用特权

评论回复
7
jack_shine| | 2010-10-16 17:53 | 只看该作者
:handshake

使用特权

评论回复
8
axwjiang| | 2010-10-16 22:44 | 只看该作者
支持楼主

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

bdc

1

主题

7

帖子

2

粉丝