新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于TMS320LF2407的FFT算法的实现

基于TMS320LF2407的FFT算法的实现

作者:时间:2011-08-08来源:网络收藏

 2 快速傅里叶上的

  根据的特点,处理器要在一个指令周期内完成乘和累加的工作,因为复数运算要多次查表相乘才能。其二就是间接寻址,可以增/减1个变址量,方便各种查表方法。再次,变换的输入序列x(n)是按所谓的码位倒序排列的,处理器要有反序间接寻址的能力。DSP控制器专门设计了特有的反序间接寻址,并能在一个指令周期内完成乘和累加的运算。因此,对数字信号的分析处理,DSP比其它的处理器有绝对的优势。本文采用TI公司C2000系列芯片来实现

  定点DSP是一款专为工业控制、电机控制和数字信号处理等用途而设计的DSP,具备单周期乘加指令,具有FFT反序间接寻址功能,最高运行速度为40MIPS。为了充分利用DSP芯片特有的反序间接寻址等功能,FFT算法程序采用汇编语言编写,主程序采用C语言,因此程序具有良好的兼容性和可扩展性。

TMS320LF2407实现FFT算法程序流程图

  主程序流程图如图4所示。系统初始化主要完成DSP的系统控制和状态寄存器、等待状态发生器控制寄存器、中断寄存器等的必要设置。

  本程序采样函数为:x=sin(20πt),采样频率为640Hz。

  输入数据波形如图5所示。一般情况下,我们只关心信号频域的幅度谱。幅度谱|X(k)|2的计算:X(k)=XR(k)+jX(k),|X(k)2|=|Xr(k)|2+|Xi(k)|2。FFT计算结果的信号幅度谱|X(k)|2如图6所示。


  输入信号频率是10Hz,根据公式f=kfs/N,f是原始信号的频率,k表示峰值出现的位置,fS是采样频率,N是计算的点数,从幅度谱中看出,峰值出现在k=1处,那么,f=1×640/64=10,与原始信号的实际频率一致,说明计算结果正确。



评论


相关推荐

技术专区

关闭