基于TMS320LF2407的FFT算法的实现及应用

发布者:HeavenlyMelody最新更新时间:2009-09-27 来源: 电子技术 关键字:TMS320LF2407  FFT算法  DSP 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  傅立叶变换是一种将信号从时域转变为频域表示的变换形式,它是数字信号处理中对信号进行分析时经常采用的一种方法。信号的一些特性在时域总是表现得不明显,通过傅里叶算法,将其变换到频域,其特性就一目了然。例如,来自供电系统的干扰在时域上总是不易识别,但是在频域上就可以很清晰地看到50~60 Hz的离散谐波。

  在计算机系统中,实际上是以离散傅立叶变换(DFT)的方式处理数据。由于DFT的运算量比较大,并不适用于嵌入式控制系统,所以实际应用中常使用DFT 的快速算法一快速傅立叶变换(FFT)。虽然FFT 比DFT的计算量减少了很多,但用普通单片机来实现FFT多点、实时运算还是比较困难的。DSP(数字信号处理器)具有运算速度快和精度高的特点,恰好满足FFT的要求,能较好地解决这个问题。

  1 快速傅里叶变换的原理

  非周期性连续时间信号x(t)的傅里叶变换可以表示为

公式

  式中计算出来的是信号x(t)的连续频谱。但是,在实际的控制系统中能够得到的是连续信号x(t)的离散采样值x(nT)。因此需要利用离散信号x(nT)来计算信号x(t)的频谱。

  有限长离散信号x(n),n=0,1,…,N-1的DFT定义为:

公式

  可以看出,DFT需要计算大约N2次乘法和N2次加法。当N较大时,这个计算量是很大的。利用WN的对称性和周期性,将N点DFT分解为两个N/2点的 DFT,这样两个N/2点DFT总的计算量只是原来的一半,即(N/2)2+(N/2)2=N2/2,这样可以继续分解下去,将N/2再分解为N/4点 DFT等。对于N=2m 点的DFT都可以分解为2点的DFT,这样其计算量可以减少为(N/2)log2N次乘法和Nlog2N次加法。图1为FFT与DFT-所需运算量与计算点数的关系曲线。由图可以明显看出FFT算法的优越性。

FFT与DFT-所需运算量与计算点数的关系曲线

  将x(n)分解为偶数与奇数的两个序列之和,即

公式

  x1(n)和x2(n)的长度都是N/2,x1(n)是偶数序列,x2(n)是奇数序列,则

公式

  其中X1(k)和X2(k)分别为x1(n)和x2(n)的N/2点DFT。由于X1(k)和X2(k)均以N/2为周期,且WN k+N/2=-WN k,所以X(k)又可表示为:

公式

  上式的运算可以用图2表示,根据其形状称之为蝶形运算。依此类推,经过m-1次分解,最后将N点DFT分解为N/2个两点DFT。图3为8点FFT的分解流程。

蝶形运算

8点FFT的分解流程

  FFT算法的原理是通过许多小的更加容易进行的变换去实现大规模的变换,降低了运算要求,提高了与运算速度。FFT不是DFT的近似运算,它们完全是等效的。

  2 快速傅里叶算法在TMS320LF2407上的实现

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

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

  主程序流程图如图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所示。

输入数据波形

FFT计算结果的信号幅度谱|X

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

  3 快速傅里叶变换(FFT)的应用

  FFT在生产实践和科学研究中有着广泛的应用。图7为FFT的典型应用方案。下面简单介绍一下FFT的应用领域。

FFT的典型应用方案

  (1)频谱分析。对各类旋转机械、电机、机床等机器的主体或部件进行实际运行状态下的频谱分析,可以提供设计数据和检验设计结果,或者找寻震源和诊断故障,保证设备的安全运行等。在声纳系统中,为了寻找海洋水面船只或潜艇,需要对噪声信号进行频谱分析,以提供有用信息,判断舰艇运行速度、方向、位置、大小等。

  (2)滤波。滤波是FFT最广泛的应用,它使对波形的频率分量滤波变得十分简单。比如对采样信号进行FFT后,去掉不需要的频率分量,再进行FFT反变换,就得到滤波后的期望信号。

  (3)电力监控系统的谐波分析。电力监控系统的谐波分析,需要对采样数据进行FFT运算,然后通过液晶屏或其它人机界面重新绘画出来,以方便技术人员掌握电力的质量。

  4 总结

  实验证明,此程序在TMS320LF2407定点DSP中运行良好,速度快且运算结果十分可靠,其用于一般的信号处理和工业控制都能满足精度和实时的要求,具有较高的学术价值和良好的应用前景。其次,掌握FFT,学会在空域和频域中同时思考问题,很多时候可以让我们使用简单的方法来解决复杂的问题。

关键字:TMS320LF2407  FFT算法  DSP 引用地址:基于TMS320LF2407的FFT算法的实现及应用

上一篇:打破垄断 FPGA市场冲出本土黑马
下一篇:基于数据挖掘技术的入侵检测系统的研究与设计

推荐阅读最新更新时间:2024-05-02 20:53

基于DSP Builder的14阶FIR滤波器的设计
数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,他是通过对采样数据信号进行数学运算处理来达到频域滤波的目的。数字滤波器既可以是有限长单脉冲响应(FIR)滤波器也可以是无限长单脉冲响应(IIR)滤波器。在维纳滤波器理论发明的早期,人们使用IIR滤波器,但现在更多是使用FIR滤波器。本文按照Matlab/Simulink/DSP Builder/QuartusⅡ流程,设计一个FIR滤波器。Altera DSP Builder是连接Simulink和QuartusⅡ开发软件的DSP开发工具。在DSP Builder的无缝设计流程中,首先在Matlab软件中进行算法设计,然后在Simulink软件中进行系统集成,最后将设计输出为
[嵌入式]
电源中的数字控制支持工业4.0、物联网和应用特定要求
数字信号处理(DSP)控制在电源和电源系统中的应用带来了巨大的效益。从通信和控制到支持网络化的工厂和高效的智能制造,被称为工业4.0、第四次工业革命或更广泛地作为物联网(IOT),通过在终端设备内的通信和控制和/或裁剪来实现在独立应用中的灵活性和效率,在终端设备开发阶段提供电源,以确保高效集成和优化性能特性。 在这里,我们将介绍在将电源和电源系统集成到连接和独立的应用程序和设备中时,真正的数字控制所提供的背景、可能性和好处。 背景 电源和电源系统中的数字控制大致分为两种实现方式。更常见的方法是在传统的模拟控制系统和外部世界之间建立一个数字接口,通过通信总线提供信号和警报以及各种级别的控制。 带数字接口的模拟电源
[电源管理]
电源中的数字控制支持工业4.0、物联网和应用特定要求
基于DSP嵌入式技术的智能刹车控制系统电路设计
  硬件电路设计上采用DSP 芯片和外围电路构成速度捕获电路,电机驱动控制器采用微控制芯片和外围电路构成了电流采样、过流保护、压力调节等电路,利用CPLD实现无刷直流电机的转子位置信号的逻辑换相。赛车刹车控制器是由防滑控制器和电机驱动控制器组成。两个控制器都是以DSP芯片为核心。防滑控制器主要是以滑移率为控制对象,输出给定的刹车压力,以 DSP芯片为CPU,外加赛车和机轮速度信号调理电路等。电机驱动控制器主要是调节刹车压力大小,并且控制电动机电流大小,也是以DSP芯片为CPU,再加外围电路电动机电流反馈调理电路、过流保护电路、刹车压力调理电路、四组三相全桥逆变电路等构成电机驱动控制器。    信号处理电路: 赛车防滑控制器主要是以
[嵌入式]
基于<font color='red'>DSP</font>嵌入式技术的智能刹车控制系统电路设计
基于DSP 的PCI 通用运动控制卡的硬件设计
1 引言 随着 DSP 技术的飞速发展,以其为核心的多轴运动控制卡越来越广泛的应用在运动控制系统中。上位机只需对被控对象实施总体的控制和管理,而位置反馈信号的采集、闭环控制的计算和控制量的输出均由运动控制卡完成,这极大地提高了运算速度和控制响应速度。本文设计的运动控制卡以TI 公司的32 位定点DSP TMS320F2812 为核心处理器,辅以运动控制器LM628,通过PCI 总线专用接口芯片PCI9052 与上位机通信,实现3 轴(可扩成多轴)伺服电机的控制,完成位置、速度控制以及直线、圆弧插补功能。本文将对运动控制卡的硬件设计进行详细的介绍。 2 运动控制卡的硬件结构 TMS320F2812 是基于TI 公司最新的C28x 内
[嵌入式]
基于<font color='red'>DSP</font> 的PCI 通用运动控制卡的硬件设计
Synopsys的ARC HS处理器在高端嵌入式应用领域增强RISC和DSP性能
DesignWare ARC HS4x系列内嵌DSP将上代ARC HS内核的信号处理性能提升至两倍。 亮点: 新ARC HS4x和HS4xD处理器含双发射架构,与广受欢迎的ARC HS3x系列相比,可将RISC性能提升25%,同时还添加了2倍的DSP性能,并拥有节能的信号处理能力,适用于无线基带、声音/语音、中频段音频和嵌入式DSP应用 ARC HS4xD处理器实现了扩展的ARCv2DSP指令集架构(ISA),其中含150多条DSP指令,因而可加速信号处理算法 MetaWare 开发工具包简化了ARC处理器的编程,并增强了对双发射架构和DSP硬件的支持,从而最大程度地提升了性能,减小了代码量 最多支持4核的多核配
[半导体设计/制造]
基于DSP和CPLD的宽带信号源的设计
   1 引言   信号源是雷达系统的重要组成部分。雷达系统常常要求信号源稳定、可靠、易于实现、具有预失真功能,信号的产生及信号参数的改变简单、灵活。本文采用DSP和CPLD来设计信号源的控制部分,一方面能利用DSP软件控制的灵活性,另一方面又能利用CPLD硬件上的高速、高集成度和可编程性。使用这种方法可以充分利用软件支持来生成和加载任意波形数据,并能方便地实现对信号参数的控制和对波形数据的随意修改,同时又能保证信号产生的高速、灵活可控。       2 系统结构   采用波形存储直读法,即通过对存储的波形采样数据进行数模变换,直接生成模拟信号的一种方法。图1为信号源的系统结构。本信号源可工作于联机和脱机两种方式。联机工作
[应用]
基于DSP芯片PNX1501的NandFlash在线烧录系统
0 引言 随着电子产品市场的不断扩大,闪存器无疑将获得极大的增长。这种增长在很大程度上取决于存储器的非易失性、低功耗、高密度和重量轻等特点。多项优点集于一身使得闪存器在移动电子和嵌入式领域中得到了极大的应用。而nand-Flash价格便宜量又足,性价比也很高,且十分轻便,抗震性也很不错,很适合用来做数码产品,现在的单片nandFlash芯片的存储容量已经可以做到4 GB。很难想像,在一个大小只有12×20×1.2mm的芯片里可以做到如此的容量。然而,由于Flash管脚多、体积小、一但使用后拆卸很不方便,因此,开发在线烧录系统也就成为嵌入式开发领域不可缺少的一步。 1 NandFlash简介 NOR和NAND是现在市场上两种主
[嵌入式]
基于DSP与双目CMOS摄像头的数字图像处理系统
传统的数字图像处理通常采用图像采集卡,将模拟电视信号转换成数字信号,然后由PC机进行软处理。这样不仅不够灵活,处理能力也受到PC机和软件的限制。随着CMOS成像芯片工艺的改进和数字信号处理器功能的提升,使得数据量与计算量较大的图像硬处理成为可能。本文详细介绍了通过两路CMOS摄像头采集图像,以浮点DSP为核心处理器,采用60万门FPGA实现逻辑控制的数字图像采集处理系统的设计原理和实现方法。本系统所采用的芯片与器件,在保证性能的同时,兼顾低功耗,整个系统可以由1394线缆供电。    1 原理概述   整个系统的原理框图如图1所示。系统上电后,FPGA配置子板把配置文件加载到FPGA中。DSP由外部 FLASH引导,通过F
[网络通信]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved