基于DSP的FFT算法进行频谱分析.doc

上传人:h**** 文档编号:130836 上传时间:2018-07-09 格式:DOC 页数:49 大小:696.50KB
下载 相关 举报
基于DSP的FFT算法进行频谱分析.doc_第1页
第1页 / 共49页
基于DSP的FFT算法进行频谱分析.doc_第2页
第2页 / 共49页
基于DSP的FFT算法进行频谱分析.doc_第3页
第3页 / 共49页
基于DSP的FFT算法进行频谱分析.doc_第4页
第4页 / 共49页
基于DSP的FFT算法进行频谱分析.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、 数字信号处理与 DSP应用 课程论文 论 文 题 目 : 基于 DSP 用 FFT变换 进行频谱分析 作 者: 仇亚军 学 号: 2011160901 专 业 : 集成电路工程 班 级 : 机电 6 班 课程 指导教师 : 黄乡生 基于 DSP 用 FFT 变换进行分析 摘要 : 随着计算机和微电子技术的飞速发展,基于数字信号处理的频谱分析已经应用到各个领域并且发挥着重要作用。信号处理方法是当前机械设备故障诊断中重要的技术基础之一,分析结果的精确程度是诊断成功与否的关键因素。研究频谱分析是当前主要的发展方向之一。数字信号处理基本上从两个方面来解决信号的处理问题:一个是时域方法,即数字滤波;另

2、一个是频域方法,即频谱分析 . 本文主要介绍了离散傅里叶变换以及快速傅里叶变换,通过对 DFT 以及 FFT算法进行研究,从基础深入研究和学习,掌握 FFT 算法的关键。通过对 DSP 芯片工作原理以及开发环境的学习,掌握 CCS 的简单调试和软件仿真,在 DSP 芯片上实现对信号的实时频谱分析。 关键词 : DFT; FFT; 频谱分析; DSP; Spectrum Analysis through FFT Based on DSP Abstract: With the development of computer and micro-electronic technology, the

3、analysis of spectrum through FFT which based on DSP has applied to many areas and played a very important role. Signal processing method is a important part of the basic technology at the present mechanical equipment fault. The precise degree of analysis result is the key factor of whether the diagn

4、ostic is success or not. Study about the spectrum analysis is one of the mainly develop directions. However, DSP is basiclly from two respects to solve the problem of signal processing: one is time-domain, the so-called digital filter; another is spectrum-domain, the so-called spectrum analysis. The

5、 passage is mainly introduced FFT and DFT, by studying about the algorithm of FFT and DFT, studying deeply from the basic and learning, grasping the key of FFT algorithm. By learning the working principle of DSP chip and develop environment, grasping the basic debugging and software simulating of CC

6、S, achieving the presently spectrum analysis of signal on DSP chip. Key words: DFT; FFT; Spectrum analysis ;DSP 1 绪论 1.1 引言 随着数字技术与计算机技术的发展,数字信号处理 (DSP)技术已深入到各个学科领域。近些年来,数字信号处理技术同数字计算器、大规模集成电路等,有了突飞猛进的发展。 在数字信号处理中,离散傅里叶变换 (Discrete Time Fourier Transform, DFT)是常用的变换方法,它在数字信号处理系统中扮演着重要角色。由离散傅里叶变换发现频率

7、离散化,可以直接用来分析信号的频谱、计数滤波器的频率响应,以及实现信号通过线系统的卷积运算等,因而在信号的频谱分析 方面有很大的作用。 由于 DFT 的运算量太大,即使是采用计算机也很难对问题进行实时处理,所以经过很多学者的不懈努力,便出现了通用的快速傅里叶变换( FFT)。快速傅里叶变换( Fast Fourier Transform,FFT)并不是与离散傅里叶变换不同的另一种变换,而是为了减少 DFT 计算次数的一种快速有效的算法。对 FFT 算法及其实现方式的研究是很有意义的。目前, FFT 己广泛应用在频谱分析、匹配滤波、数字通信、图像处理、语音识别、雷达处理、遥感遥测、地质勘探和无线

8、保密通讯等众多领域。在不同应用场合,需要不同性能 要求的 FFT 处理器。在很多应用领域都要求 FFT 处理器具有高速度、高精度、大容量和实时处理的性能。因此,如何更快速、更灵活地实现 FFT 变得越来越重要。 数字信号处理器( DSP)是一种可编程的高性能处理器。它不仅是一种适用于数字信号处理,而且在图像处理、语音处理、通信等领域得到广泛的应用。 DSP 处理器中集成有高速的乘法硬件,能快速的进行大量的乘法加法运算 1。 1.2 频谱分析的技术发展 频谱分析在生产实践和科学研究中获得日益广泛的应用。例如,对汽车、飞机、轮船、汽轮机等各类旋转机械、电机、机床等机器的主体 或部件进行实际运行状态

9、下的谱分析,可以提供设计数据和检验设计效果,或者寻找振源和诊断故障,保证设备的安全运行等;在声纳系统中,为了寻找海洋水面船只或潜艇,需要对噪声信号进行谱分析,以提供有用信息,判断舰艇运动速度、方向、位置、大小等。因此对谱分析方法的研究,受到普遍注意和重视,是当前信号处理技术中一个十分活跃的课题。 1965 年库利首次提出了快速傅里叶变换 (FFT)算法, FFT 和频谱分析很快发展成为机械设备故障诊断、振动分析、无线电通信、信息图象处理和自动控制等多种学科重要的理论基础。然而长期的应用和近年来 的理论分析表明:经快速傅立叶变换得到的离散频谱,频率、幅值和相位均可能产生较大误差,单谐波加矩形窗时

10、最大误差从理论上分析可达 36.4%;即使加其他窗时,也不能完全消除此影响,在加汉宁( Hanning)窗时,只进行幅值恢复时的最大幅值误差仍高达 15.3%,相位误差高达 90 度。因此,频谱分析的结果在许多领域只能定性而不能精确的定量分析和解决问题,大大限制了该技术的工程应用,特别是在机械振动和故障诊断中的应用受到极大限制。 从 70年代中期,有关学者开始致力于频谱校正理论的研究以期解决离散频谱误差较大的问题。1975 年 John C Burges 等从事电学领域研究工作的学者采用插值法对加矩形窗的离散化频谱进行校正,解决了电学中的离散高次谐波参数的精确测量问题。 1983 年 Thom

11、as Grandke 提出了加Hanning 窗的内插法,进一步提高了离散高次谐波参数的分析精度。 1993 年,丁康和谢明提出了三点卷积法幅值校正法,提高了频率间隔较大的信号的离散频谱幅值精度,解决了工程实际中的一些问题。 1994 年,谢明、丁康等提出和发展了比例频谱校正方法,使内差法系统地发展成为一种通用的频谱校正方法,解决了频率间隔较大的离散化频谱幅 值、相位和频率的精确求解问题,并开始对离散频谱的校正方法和误差分析进行了深入系统的分析和研究。 1996 年,余佳兵,史铁林等提出了采用复调制细化谱分析将已产生频谱干涉的密集频率成分分离开,消除干涉,再用比例法进行校正以解决密集频率成分的

12、离散频谱的校正问题。 1997 年,谢明、丁康等分析了离散频谱中的负频率成分和多频谱成分的干涉现象,提出了离散频谱中用相位和幅值综合判定和识别单频率成分的方法,实现了单频率成分和频率间隔较大的多频率成分的自动识别和自动校正,并提出了在不采长样的基础上利用轴系旋转识别和校正两个己发生 干涉的密集频率成分的自动判定和校正的方法。 1998 年刘渝提出了一段信号作 N 点和 N/2 点的校正方法,利用相位信息可以得到比较精确的频率。 1999 年,丁康、谢明等提出了对连续时域信号分前后两段作傅里叶变换,利用其对应离散谱线的相位差校正出谱峰处的准确频率和相位的校正方法一相位差校正法,该方法可在不知道窗

13、谱函数表达式的情况下,直接用其相位差进行频率和相位校正。 2001 年,徐培民、杨积东、闻邦椿提出了自动识别和修正离散频谱中两临近谱峰参数的方法,不仅能识别间距不到一个频率分辨率的两个密集频率成分,而且能识别峰间距为 1-6个频率的临近谱峰参数 2。 1.3 本论文主要研究的内容 本文主要介绍基于 DSP 用 FFT 变换实现对信号的频谱分析。研究离散傅里叶变换以及快速傅里叶变换的原理及算法。快速傅里叶变换和离散傅里叶变换的基本理论是一样的,它根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换进行了改进。在计算机系统或者数字系统中广泛应用者快速傅里叶变换,这是一个巨大的进步。本文主要解

14、决的问题就是如何对信号的频谱进行研究,使 FFT 更广泛的应用于科学研究。 2 离散傅里叶变换( DFT) 2.1 离散傅里叶变换的定 义 设 x(n)是一个长度为 M 的有限长序列,则 x(n)的 N点离散傅立叶变换为: X(k)=DFTx(n)= knNWNn nx10 )( ,k=0,1,.,N-1。 (1) X(k)的离散傅里叶逆变换为: x(n) =IDFTX(k)= knNWkXNnN 10 )(1 ,k=0,1,.,N-1 (2) 式中, NjeNW 2 , N 称为 DFT 变换区间长度, N M。 2.2 离散傅里叶变换的基本性 质 2.2.1 线性 性质 如果 1()xn和

15、 2()xn是两个有限长序列,长度分别为 1N 和 2N ,且 12( ) ( ) ( )y n ax n bx n。 式中, a、 b为常数,取 12max , N N N ,则 y(n)的 N 点 DFT 为: 12( ) ( ) ( ) ( )NY k D F T y n a X k b X k 0 k N 1 ( 3) 其中, 1()Xk和 2()Xk分别为 1()xn和 2()xn的 N 点 DFT。 2.2.2 循环移位 性质 ( 1)序列的循环移位 设 x(n)为有限长序列,长度为 M, M N,则 x(n)的循环移位定义为 ( ) ( ) ( )NNy n x n m R n

16、(4) ( 2)时域循环移位定理 设 x(n)是长度为 M( M N)的有限长序列, y(n)为 x(n)的循环移位,即 ( ) ( ) ( )NNy n x n m R n 则 ( ) ( ) ( )kmNMy k D F T y n W X k ( 5) 其中 ( ) ( )NX k DFT x n 0 k N 1 ( 3)频域循环移位定理 如果 ( ) ( )NX k DFT x n 0 k N 1 ( ) ( ) ( )NNY k x k l R k 则 ( ) ( ) ( )nlNNy n ID F T Y k W x n ( 6) 2.2.3 循环卷积定理 有限长序列 1()xn和

17、 2()xn的长度分别为 1N 和 2N , N max 1N , 2N , 1()xn和 2()xn的 N 点循环卷积为: 2( ) ( )x n x n * 1()xn=N121M=0 ( ) ( ( ) ) ( )NNx m x n m R n 则 x(n)的 N点 DFT 为: 12( ) ( ) ( ) ( )NX k D F T x n X k X k ( 7) 2.2.4 共轭对称性 如果序列 x(n)的 DFT 为 X(k),则 x(n)的实部和虚部(包括 j)的 DFT 分别为 X(k)的共轭对称分量和共轭反对称分量;而 x(n)的共轭对称分量和反共轭对称分量的 DFT 分别

18、为 X(k)的实部和虚部乘以 j3。 3 快速傅里叶变换( FFT) 3.1 FFT 算法基本原理 快速傅里叶变换( FFT)是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的,它对离散傅里叶变换并没有新的发现。 有限长序列 x(n)及其频域表示 X(k)可由以下离散傅立叶变换得出 10x ( k ) = D F T x ( n ) = ( )N nkNn x n W 01kN ( 8) 101x ( n ) = I D F T X ( k ) = ( )N nkNn X k WN 01kN ( 9) 其中 2j nknk NNWe

19、。式( 8)称为离散傅立叶正变换,式( 9)称为离散傅立叶逆变换, x(n)与 X(k)构成了离散傅立叶变换对。 根据上述公式,计算一个 X(k),需要 N次复数乘法和 N-1次复数加法,而计算全部X(k)( 01kN ),共需要 2N 次复数乘法和 N(N-1)次复数加法。实现一次复数乘法需要四次实数乘法和两次实数加法,一次复数加法需要两次实数加法,因此直接计算 全部 X(k)共需要 4 2N 次实数乘法和 2N(2N-1)次实数加法。当 N较大时,对实时信号处理来说,对处理器计算速度有十分苛刻的要求,于是如何减少计算离散傅里叶变换运算量的问题变得至关重要。 为减少运算量,提高运算速度,就必

20、须改进算法。计算 DFT过程中需要完成的运算的系数里,存在相当多的对称性。通过研究这种对称性,可以简化计算过程中的运算,从而减少计算 DFT所需的时间。 如前所述, N点的 DFT的复乘次数等于 2N 。 显然,把 N点的 DFT分解为几个较短的 DFT,可是乘法的次数大大减少。另外,旋转因子 mNW 具有明显的周期性和对称性,其周期为: 22()j m lN j mm lN mNNNNW e e W 其对称性表现为: m N mNNWW 或 *N m mNNWW FFT算法就是不断地把长序列的 DFT分解成几个短序列的 DFT,并利用 mNW 的周期 性和对称性来减少 DFT的运算次数。 n

21、kNW 具有以下固有特性: (1) nkNW 的周期性: ( ) ( Nnk n N k n kN N NW W W ) (2) nkNW 的对称性: ()nk nk n n N kN N NW W W( ) (3) nkNW 的可约性: / ,nnN N n N NnW W W W 另外, / 2 ( / 2 )1,N k N kN N NW W W 。 利用 nkNW 的上述特性,将 x(n)或 X(k)序列按一定规律分解成短序列进行运算,这样可以避免大量的重复运算,提高计算 DFT的运算速度。算法形式有很多种,但基本上可以分为两大类,即按时间抽取 (Decimation In Time,

22、 DIT)FFT算法和按频率抽取 (Decimation In Frequency, DIF)FFT算法。 3.2 基 -2FFT 算法 如果序列 x(n)的长度 2MN ,其中 M是整数 (如果不满足此条件,可以人为地增补零值点来达到 ),在时域上按奇偶抽取分解成短序列的 DFT,使最小 DFT运算单元为 2点。通常将 FFT运算中最小DFT运算单元称为基 (radix),因而把这种算法称为基 -2时间抽取 FFT(DIT-FFT)算法 4。 将 x(n)按 n为奇偶分解成两个子序列,当 n为偶数时,令 n=2r;当 n为奇数时,令 n=2r+l;可得到 12( 2 ) ( ) , ( 2

23、1 ) ( ) , 0 , . . . , 12Nx r x r x r x r r ( 10) 则其 DFT 可写成 11222 ( 2 1 )00( ) ( 2 ) ( 2 1 )NNr k r kNNrrX k x r W x r W 11222 ( 2 1 )1200( ) ( )NNr k r kNNrrx r W x r W 1122/ 2 / 200( 2 ) ( 2 1 )NNr k r kNNrrx r W x r W 12( ) ( )kNX k W X k ( 11) 1()Xk和 2()Xk均分别是 N/2点序列 1()xn和 2()xn的 DFT,而且 r与 k的取值

24、满足 0,1, ,N/2-1。而 X(k)是一个 N点的 DFT,因此式( 11)只计算了 X(k)的前 N/2的值。由 DFT和 nkNW 的性质可得到 X(k)的后 N/2的值为: 212( ) ( ) ( )2 2 2NkNN N NX k X k W X k 12( ) ( )kNX k W X k ( 12) 式( 11)和式( 12)表明,只要计算出两个 N/2 点的 DFT 1()xk和 2()xk,经过线性组合,即可求出全部 N 点的 X(k)。由于 2MN , 1/ 2 2MN 仍为偶数,因而这样的分解可以继续进行下去,直到最后的单元只需要做 2 点 DFT 为止。 若 Xm

25、(p)和 Xm(q)为输入数据, 1()mXp 和 1()mXq 为输出数据, nkNW 为旋转因子,则对于基-2DIT-FFT 算法,蝶形运算的基本公式为 11 ( ) ( ) ( )( ) ( ) ( )km m m Nkm m m NX p X p X q WX q X p X q W 其图形表示如图 1所示,称 Xm(P)为上结点, Xm(q)为下结点。 图 1 时间抽取蝶形运算单元 对于一个 8点的 FFT,根据上述算法可以得到一个完整的 N=8的基 -2DIT-FFT的运算流图,如图 2所示。 图 2 N=8 DIT-FFT运算流图 根据上述算法原理及运算流图,可以得出基 -2DI

26、T-FFT的基本特点,特点如下。 (1)级数分解:对于 2MN 。共分了 M级,每级包含 N/2个蝶形运算单元,总共所需蝶形运算个数为2lo g22NNMN 。 (2)运算量估计:每个蝶形运算需要一次复数乘法和两次复数 加 (减 )法, N点 FFT共需要 2log2N N 次复数乘法, 2logNN 次复数加 (减 )法。实际上有些蝶形运算不需要做复乘。 (3)原位运算:当数据输入到存储器以后,每一组蝶形运算后,结果仍然存放在这同一组存储器中的同一位置,不需要另辟存储单元,直到最后输出。 (4)位码倒序:由图 2可以看到, FFT输出的 X(k)的次序正好是顺序排列的,即 X(0), X(1), ,X(7),而输入 X(n)是按 x(0), X(4), ,X(7)的倒序存入存储 单元,即为倒序输入,正序输出。这种顺序看起来相当杂乱,然而它是有规律的,即位码倒序规则。

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。