FFT频谱分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

应用FFT对信号的频谱分析

摘要:本文提出数字信号处理的一种方法,利用数字示波器实现对信号的采集,利用快速傅里叶变换(FFT)处理并对信号进行频谱分析。

关键词:数字信号处理;FFT;频谱分析

1.引言

数字信号处理是用数字或符号的序列来表示信号,通过计算机去处理这些序列,提取其中的有用信息。1965年J.W.Cooley和J.W.Tukey提出了快速傅立叶变换算法,人们开始注意到数字信号处理技术的实用性。近年来,数字信号处理不断开辟新的应用领域,例如,在机械制造中,基于快速傅立叶变换(FFT)算法的频谱分析仪用于振动分析和机械故障诊断。

[1]

本文即介绍了在数字示波器的平台上实现信号频谱分析的方法及设计,在已知时域参数的基础上对信号进行FFT变换,最后实现对信号的频域测量。

2.FFT变换的基本原理以及取样定理

快速傅立叶变换(Fast Fourier Transform,FFT)是一种快速有效地计算离散傅立叶变换(DFT)的方法。

离散傅立叶变换满足以下关系式:

{X(k)=∑x(n)W N kn

N−1

n=0,k=0,1,⋯,N−1 x(n)=1

N

∑X(k)W N−kn

N−1

n=0,n=0,1,⋯N−1

(2-1)

式中,W N=e−j2π/N。一般情况下,时间序列x(n)及其离散傅立叶变换X(k)是用复数表示的,由此可见,直接计算DFT及IDFT需要N2次复数乘法及N(N-1)次复数加法。由于1次复数乘法要做4次实数乘法和2次实数加法,1次复数加法要做2次实数加法,所以,做一次离散傅立叶变换需要做4N2次实数乘法及N(4N-2)次实数加法。随着序列长度N的增大,运算次数将剧烈增加。离散傅立叶变换的应用十分广泛,有必要在计算机方法上寻求改进,使其运算次数大大减少。20世纪60年代中期Cooley和Tukey提出了一种离散傅立叶变换的快速算法,它所需的运算量约为次N

2

log2N次复数乘法和Nlog2N次复数加法。这种算法的出现,大大推动了离散傅立叶变换在各个方面的应用。[2]

(2-1)式为线性方程组,改写如下形式:

{

X (0)=x (0)W N 0+x (1)W N 0+⋯+x(N −1)W N 0X (1)=x (0)W N 0+x (1)W N 1+⋯+x(N −1)W N N−1⋮X (N −1)=x (0)W N 0+x (1)W N N−1+⋯+x(N −1)W N (N−1)2

(2-2) 用矩阵形式重写上式:

[X(0)X(1)⋮X(N −1)]=[ W N 0W N 0W N 0W N 1⋯W N 0W N N−1⋮⋱⋮W N 0W N N−1⋯W N (N−1)2] [x(0)x(1)⋮x(N −1)

] (2-3) 或

X =W N x (2-4) 这样要完成上面矩阵运算共需要作N 2次复数乘法和N(N-1)次复数加法。设N =2M ,于是可将[W]分解成M 个矩阵的连乘,即

[W]=[W 1][W 2]…[W M ] (2-5) 其中每个子矩阵的各行元素都包含有两个非零项。例如,对于N=22=4的情况,有:

[W]=[111W 111W 2W 31W 2

1W 3W 0W 2W 2W 1

] (2-6) 注意这里利用了关系W N kn =W N k(n+N)。将公式(2-6)分解成:

[W]=[1001W 000W 11001−W 0

00−W 1][1010W 00−W 0001010W 00−W 0

] (2-7) 由于公式(2-7)在分解时利用了关系W N kN =1,W N N/2=-1从而使计算次数从N 2量级减少至

Nlog 2N 量级,极大地提高了运算速度,因此形成了快速傅立叶变换算法。傅立叶变换是信号处理的坚强基石,采样定理为数字计算机处理连续时间信号提供了理论依据,而只有当快速傅立叶变换算法出现以后,离散傅立叶变换与数字计算机相结合才使数字信号处理技术产生了质的飞跃。[3]

我们知道在傅立叶变换中必须满足采样定理。那么,采样定理是如何描述的呢?从学习傅氏级数及傅氏变换中我们知道:要实现信号的数字化处理,首先需要对连续的时间信号x(t)进行采样离散化。一般采样都是以间隔T s 取值,得到离散信号x(n),x(n)是从x(t)采样出来的一部分值。于是引出了这样一个问题,即是否可以从x(n)复原出连续信号x(t)?

回答是肯定的但其条件是必须满足采样定理。

采样定理:一个在频率f m 以上部分无频率分量存在的有限带宽信号,可以由小于或等于1

2f m 的均匀时间间隔T s 上的取值唯一地确定。 采样定理写成数学表达式即为:

T s ≤1

2f m (2-8)

这个定理说明如果在某一频率f m 以上x(t)的傅立叶变换结果等于零,则关于x(t)的全部信息均包含在它的采样间隔小于或等于1

2f m 的均匀采样信号里。或者说当以大于或等于2f m 的频率对x(t)进行采样时,采样值x(n)中包含了x(t)在每一时刻的信息。[4]

3.基-2FFT 算法及MATLAB 仿真

本研究采用按时间抽取的FFT ,应用MATLAB 仿真软件对信号进行谱分析的过程。

3.1 基-2FFT 算法

如果序列x(n)的长度2M N ,其中M 是整数(如果不满足此条件,可以人为地增补零值点来达到),在时域上按奇偶抽取分解成短序列的DFT ,使最小DFT 运算单元为2点。通常将FFT 运算中最小DFT 运算单元称为基(radix),因而把这种算法称为基-2时间抽取FFT(DIT-FFT)算法。

将x(n)按n 的奇偶分为两组,即按n=2r 及n=2r+1分为两组

X (k )=∑x (2r )W N 2rk +∑x (2r +1)W N (2r+1)k N 2

−1r=0N 2−1r=0

=∑x (2r )W N 2rk +W N k ∑x (2r +1)W N

2rk N 2

−1r=0

N 2−1r=0 因为

W N 2rk =W N/2rk 所以

X(k)=∑x (2r )W N/2rk +W N k ∑x (2r +1)W N 2rk N 2

−1r=0

N 2−1r=0

=G(k)+ W N k H(k) G(k),H(k)为两个N/2点的DFT ,G(k)仅包含原序列的偶数点序列,而H(k)

相关文档
最新文档