文档详情

基于DSP的FFT算法实现.doc

发布:2018-12-28约6.91千字共5页下载文档
文本预览下载声明
第34卷第 第34卷第1期2012-01 (上)【 PAGE \* MERGEFORMAT #】 第34卷第 第34卷第1期2012-01 (上)【 PAGE \* MERGEFORMAT #】 基于DSP的FFT算法实现 Realization of FFT algorithm based on DSP 艾红,常青青,邓大伟 Al Hong, CHIANG Qing-qing, DENG Da-wei (北京信息科技大学自动化学院,北京100192) 搞要:快速傅立叶变换(FFT)是将信号从时域变换到频域的一种方法,广泛运用于各种信号分析领 域。文中介绍了FFT算法的原理,构建了基于TMS320F2812的硬件平台,阐述了FFT算法的 硬件与软件实现。利用TMS320F281 2内部的ADC模块与事件管理器的定时器实现信号的实时 采集,不需要使用专门的A/D转换芯片。软件上以128点FFT运算为例,在CCS环境下利用C 语言编程实现了 FFT算法,程序充分利用揲式权的周期性及FFT运算中第一级蝶式权值固定 为1的特点,使得运算置与复杂度大大减小。运行结果表明TMS320F281 2能够快速高效地完成 FFT运算。 关键词:数字信号处理;快速傅立叶变换;信号采集 中图分类号:TP273 文献标识码:B 文章编号:1009-01 34(2012)01 (上)-0017-03 Doi: 10.3969/j ? issn ? 1009-0134.2012.01 (上).07 收稿日期 收稿日期:2011-08-12 基金環目:北京市教育委员会科技计划面上项目(KM200910772008) 作者9介:艾红(1962-),女,四川重庆人,副教授,硕士,研究方向为检测技术与自动化装置。 〇引言 快速傅立叶变换(FFT)在雷达、通信、电子 对抗和电力系统等领域有广泛应用,特别是在电力 系统的谐波检测中,FFT几乎是唯一可行的检测方 法。通常提高FFT运算速度有两种途径:改进FFT 算法本身和改进运算工具。现阶段提高FFT算法本 身非常困难,一般方法致力于改进运算工具。数字 信号处理器DSP是一种可编程的高性能处理器。文 中充分利用TMS320F2812 DSP强大的数据处理能 力,实现了FFT运算,并提高了运算速度。 1系统硬件结构 系统设计以TMS320F2812处理器为核心,辅 以外围电路构成。DSP负责模拟输入信号数据采集 以及FFT算法实现。外围电路包括电源转换电路, 时钟电路,复位电路以及外部RAM等。系统的硬 件整体结构如图1所示[1]。对信号进行FFT变换, 首先要对模拟信号采样将其转换为数字信号。输 入的连续模拟信号经信号调理电路后输出到DSP的 ADC模拟输入通道,经过ADC数据采集,模数转 换的结果存放于ADC结果寄存器中。信号调理电 路主要是为了信号的抗混叠滤波以及电路阻抗的 匹配。信号调理电路对输入信号进行调理处理, 包括信号的滤波、跟随输出以及信号的稳定。DSP 对采集的数字信号进行FFT运算处理,同时对运算 结果进行相应的数据显示和数据存储。 图1系统的硬件整体结构图 RAM 计算机 时钟电路 信号调理电路 模拟信号产生 2 FFT算法原理 FFT是离散傅立叶变换(DFT)的快速运算, 是数字信号处理的基础。因为有些信号在时域很 难看出特性,使用FFT将其变换到频域,就会很容 易看出其特性。DFT算法的基本公式为[31: N-X{k) =工 x(n)W^,k = 0,1,..” TV -1 n=0 式中x(n)表示时域信号,X(k)表示频域信号, 为运算蝶式权。 FFT算法是不断地把长序列的DFT分解成几个 短序列的DFT,并利用的周期性和对称性减少 DFT的运算次数。设序列x(n)的长度为N(N=2m,M 为任意正整数),按n的奇偶把x(n)分解成两个N/2 【 【 PAGE \* MERGEFORMAT #】第34卷第1期2012-01 (上) 第34卷第 第34卷第1期2012-01 (上)【 PAGE \* MERGEFORMAT #】 [ [ PAGE \* MERGEFORMAT #]第 34卷第1 期 2012-01 (上) 若:则:N0r —-1 2 若: 则: N 0r —-1 2 〇wT-i 第二次分解: Xj(r) = x{2r\r~ 0,1,...,^/2-1 x2 (/*) = x(2r +1),r = 0,1,.“,TV / 2 -1 Xx{r)^DFT[xx{r)\ X2(r) = DF7lx2(r)] X(r) = X1(r) + Xl(rWN X(r + ^-) = Xl(r)-Xl(r)W^ 由此可见,若将任何一偶数点序列按下标的奇 偶性分成两个子序列,则原序列的DFT可
显示全部
相似文档