微机保护
第21卷第5期 制造业信息化2008年9月
机电产品开发与创新
Development&InnovationofMachinery&ElectricalProducts
Vol.21,No.5
Sep.,2008
MATLAB辅助DSP实现基2时域抽取法FFT
郭小莉,黄钉劲,阮照军
(西安工业大学光电工程学院,陕西西安710032)
摘要:介绍了基2时域抽取法FFT的原理和算法,并在MATLAB仿真软件的辅助下、在数字信号处理
DSP上实现。
关键词:时域抽取;DSP;FFT;仿真;MATLAB中图分类号:TP391.4
文献标识码:A
文章编号:1002-6673(2008)05-134-02
0引言
对于确定时域信号的频谱来说,通常采用离散傅立叶变换DFT的方式来实现。随着微电子技术和计算机技术的发展,数字信号处理DSP得以广泛应用。实际中,在DSP的软件中实现信号从时域到频域的转换并未应用DTF而是快速傅立叶变换FFT,这是因为FFT的输出与DFT的输出相同,但运算量要小得多。因此采用DSP实现FFT,可进行信号高速的实时处理。在具有强大数值计算和图形、图像显示能力的MATLAB软件的辅助下实现FFT,缩短设计周期,验证结果,大大提高设计效率。
X(k)=!x(n)WN=!x(2m)WN
n=0
m=0
N-1
kn
(N/2)-1
2mk
+!x(2m+1)WN
m=0
(N/2)-1
(2m+1)k
(K=0,1,...,N-1)(4)
因为:
WN=e
2mk
-j2!2mk=e
-j2!mk=WN/2
mk
(5)
所以式(4)可写成:
X(k)=!x1(m)WN/2+WN!x2(m)WN/2(k=0,1,...N-1)
m=0
m=0
(N/2)-1
mkk
(N/2)-1
mk
(6)
式(6)便是基2时域抽取法FFT的结果,它是把长度的序列一分为二,将点DFT表示成为两个N/2点
1基2时域抽取法FFT的原理及设计方法
1.1基2时域抽取法FFT的原理
设输入时域信号为x(n),其转换后的频域信号为X(n),则离散傅立叶变换DFT为:
N-1
-j2!kn
DFT的线性组合。然后再把N/2点DFT一分为二,表示
为两个N/4点的DFT。如此重复下去,直至分解成两点
DFT的运算,两点DFT实际上只是加减运算。这就是基2时域抽取FFT算法的原理
[1]
。
1.2MATLAB设计仿真
现就使用MATLAB软件来实现如下所示的时域信
(1)
号x(t)的频谱。设此时域信号为x(t)=0.075cos(600!),对此信号以30KHz采样频率进行采集得到512个采样点,则x(t)经采样后为x(n)=0.075cos(n2!)。按照这一要
X(n)=!x(n)e
n=0
(k=0,1,...,N-1)
在基2时域抽取法中,将此时域信号为x(n)根据采样号n分解为偶采样点和奇采样点,则偶数序列为:
x1(m)=x(2m),m=0,1,...,(N/2)-1
奇数序列为:
(2)(3)
求,通过MATLAB进行设计
[2]
,其程序如下:
x2(m)=x(2m+1),m=0,1,...,(N/2)-1DFT。即:
收稿日期:2008-08-07
N=512;
x=0.075*cos(2*pi*(0:N-1)/100);subplot(2,1,1);plot(x(1:N));ylabel('原始信号')N=0:N-1;X=fft(x)subplot(2,1,2);
对于式(1)表示的DFT,便可分成两个长度为N/2的
作者简介:郭小莉(1983-),女,在读硕士研究生。主要研究方向:精密仪器及机械;黄钉劲(1965-),男,副教授,硕士生导师。主要研究方向:测控技术。
134