快速傅立叶变换的TMS320F2812DSP实现技术1..doc

快速傅立叶变换的TMS320F2812DSP实现技术1..doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
快速傅立叶变换的TMS320F2812DSP实现技术1.

快速傅立叶变换的TMS320F2812 DSP实现技术 董建业,韩进 (山东科技大学信息科学与工程学院) 摘要: 介绍了FFT变换的原理和实现技术,并结合工程实践着重论述如何在以TMS320F2812 DSP处理器为核心的硬件平台上应用TI公司的FFT变换库实现快速傅立叶变换。利用快速傅立叶变换将信号从时域变换到频域,然后进行频谱分析可以得到谐波的幅度和相位,以达到电力监控方面的应用,与小波变换等算法相比,FFT已经比较成熟而且易于实现。结果表明,在计算速度和计算精度等方面得到较好的结果。 关键词:数字信号处理器 快速傅立叶变换 谐波 TMS320F2812 Realization Technology of Fast Fourier Transforms based on TMS320F2812 DSP Dong jianye , Han Jin ( Shandong University of Science and Technology College of Information Science and Engineering ) 1 引言 快速傅里叶变换(Fast Fourier Transform)是实现离散傅里叶变换(DFT)的一种快速高效的运算方法,是数字信号处理中最为重要的工具之一,其广泛的应用于实时控制和信号处理等各个领域。由于快速傅里叶变换需要进行大量的乘累加运算,计算量较大,其在普通单片机上实现起来比较困难。DSP处理器技术的迅速发展,为快速傅里叶变换提供了一个很好的应用平台,因为大多数DSP芯片都能在一个指令周期内完成一次乘法和加法运算,而且提供专门的FFT指令,使得FFT算法在DSP芯片上的实现速度更快。本文将介绍快速傅里叶变换在TMS320F2812处理器上的实现方法,以及FFT变换在谐波分析方面的具体应用。 2 数字信号处理器TMS320F2812介绍 TMS320F2812是TI公司的一款用于控制的高性能、高性价比的32位定点DSP芯片。该芯片兼容TMS320LF2407指令系统 最高可在150MHz主频下工作,并带有18K×16位0等待周期片上SRAM和128K×16位片上FLASH。其片上外设主要包括2×8路12位ADC(最快80ns转换时间)、2路SCI、1路SPI、1路McBSP、(、)/、[3]。 3 FFT算法原理 FFT变换分为时间抽取算法和频率抽取算法两种,具体分有时域抽取和频域抽取的基2,基4,基8等算法,其基数越高运算量越少,但基数越增加,算法实现变得越复杂,其中基2算法最为实用。基于此本文重点介绍时域抽取的基2快速傅立叶算法。基2 FFT变换显著减少了DFT变换的复杂度,常用变换DFT与FFT计算复杂度对比如表1[4]。 基二FFT变换原理[2]: 表1 DFT与FFT计算复杂度对比如表 当用数字计算机计算信号序列x(n)Table 1. Comparison of Computational 的离散傅里叶变换时,Complexity for direct DFT verses FFT. FFT点数 直接计算 基-2 FFT 复数乘法 复数加法 复数乘法 复数加法 128 16384 16256 448 896 256 65536 65280 1024 2048 512 262144 261632 2304 4608 (1) 令信号序列的长度为N=2M,其中M是正整数 N=2M),可以将时域信号序列x(n)分解成两部分,一是偶数部分x(2n),另一是奇数部分x2n+1),其中。于是信号序列x(n)的离散傅里叶变换可以用两个 N/2抽样点的离散傅里叶变换来表示和计算。考虑到WN2WN/2和离散傅里叶变换的周期性,式(1)可以写成 其中 由此可见,式()是两个只含有N/2个点的离散傅里叶变换,G(k)仅包括原信号序列中的偶数点序列,H(k)则仅包括它的奇数点序列。虽然k=0,1,2,…,N-1,但是G(k)和H(k)的周期都是N/2,它们的数值以N/2周期重复。 因为。于是由式(3)和式(4)得到 因此,一个抽样点数为N 的信号序列 x(n)的离散傅里叶变换,可以由两个 N/2抽样点序列的离散傅里叶变换求出。依此类推,这种按时间抽取算法是将输入信号序列分成越来越小的子序列进行离散傅里叶变换计算,最后合成为N点的离散傅里叶变换。 通常式()叫做蝶形N=8=23的抽样点的信号序列x(n)的离散傅里叶变换,可用图所示的算法信号流图来计算。由图可知① N=2M点的离散傅里叶变换的计算全由蝶形运算组成,需要M级运算,每级包括N/2个蝶形运算,总共有个蝶形运算。所以,总的计算

文档评论(0)

dbtx + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档