应用FFT实现信号频谱分析
电信类课程试验报告
学院:理学院
系别:电子信息工程
课程名称:数字信号处理
姓名:05656
学号:05698
日期:11信号频谱分析
一、实验目的
(1)能够熟练掌握快速离散傅里叶变换(Fast Fourier Transform,FFT)的原理及应用FFT进行频谱分析的基础方法。
4.3 N=64
clear all
N=64;
n=0:N-1;
xn=cos(2*pi*n/N);
XK=fft(xn,N);
magXK=abs(XK);
phaXK=angle(XK);
subplot(1,2,1);
plot(n,xn);
xlabel('n');ylabel('x(n)');
title('x(n)N=64')
subplot(1,2,2)
k=0:length(magXK)-1;
k=k*(2/32)
stem(k,magXK,'.');
xlabel('k');ylabel('|X(k)|');
title('X(k)N=32');
3.2 N=16
3.3 N=64
4.1 N=N+2=34
clear all
N=34;
V[m]= 0
其中假设窗函数长L小于或等于DFT长度N。
有限长序列 的DFT相当于 傅里叶变换的等间隔取样。
V[m]=
便是Sc(t)的离散频率函数。
因为DFT频率间隔为 ,且模拟频率 和数字频率 间的关系为 ,所以离散频率点对应的模拟频率为
显然频率分辨率△f为
利用DFT计算频谱,只给出频谱 或 的频率分量,即频率的取样值,而不可能得到连续的频谱函数。
xlabel('n');ylabel('x(n)');
title('x(n)N=64')
subplot(1,2,2)
k=0:length(magXK)-1;
title('x(n)N=64')
subplot(1,2,2)
k=0:length(magXK)-1;
k=k*(2/64)
stem(k,magXK,'.');
subplot(1,2,2)
k=0:length(magXK)-1;
title('x(n)N=64')
subplot(1,2,2)
k=0:length(magXK)-1;
k=k*(2/64)
stem(k,magXK,'.');
xlabel('k');ylabel('|X(k)|');
title('X(k)N=64');
title('x(n)N=32')
subplot(1,2,2)
k=0:length(magXK)-1;
title('x(n)N=32')
subplot(1,2,2)
k=0:length(magXK)-1;
k=k*(2/32)
stem(k,magXK,'.');
xlabel('k');ylabel('|X(k)|');
clear all
N=32;
n=0:N-1;
xn=cos(2*pi*n/N);
XK=fft(xn,N);
magXK=abs(XK);
phaXK=angle(XK);
subplot(1,2,1);
plot(n,xn);
xlabel('n');ylabel('x(n)');
title('x(n)N=32')
三、实验程序
指数序列程序
2.1
clear all
N=100;
n=0:N-1;
xn=0.9.^n;
XK=fft(xn,N);
magXK=abs(XK);
phaXK=angle(XK);
subplot(1,2,1)
plot(n,xn)
xlabel('n');ylabel('x(n)');
title('x(n)N=100')
Xc(t)通过A/D变换器转成取样序列 进行加窗处理,即 。加窗对频域的影响,用周期卷积表示。
其中 或
在实际应用中,消混叠低通滤波器的阻带不可能式无限衰减的,故由 周期延拓得到的 由非零混叠,即出现混叠现象。
由于进行DFT的需要,必须对序列 进行加窗处理,即 ,加窗对频域的影响,用周期卷积表示。
=
最后是进行DFT应算。加窗后的DFT为
k=0:length(magXK)-1;
title('x(n)N=34')
subplot(1,2,2)
k=0:length(magXK)-1;
k=k*(2/34)
stem(k,magXK,'.');
xlabel('k');ylabel('|X(k)|');
title('X(k)N=34');
4.2 N=32
5.1 N=32
clear all
N=32;
n=0:N-1;
xn=0.9*sin(2*pi*n/N)+0.6*sin(2*pi*n/(N/3));
XK=fft(xn,N);
magXK=abs(XK);
phaXK=angle(XK);
subplot(1,2,1);
plot(n,xn);
xlabel('n');ylabel('x(n)');
(2)对离散傅里叶变换的主要性质及FFT在数字信号处理中的重要作用有进一步的了解。
二、主要函数简介
1.离散傅里叶变换(DFT)及其主要性质
DFT表示离散信号的离散频谱,DFT的主要性质中有奇偶对称特性`虚实特性等。通过实验可以加深理解。
实序列的DFT具有偶对称的实部和奇对称的虚部,这可以证明如下:
由定义,可得
magXK=abs(XK);
phaXK=angle(XK);
subplot(1,2,1);
plot(n,xn);
xlabel('n');ylabel('x(n)');
title('x(n)N=32')
subplot(1,2,2)
k=0:length(magXK)-1;
title('x(n)N=32')
xlabel('k');ylabel('|X(k)|');
title('X(k)N=64');
四、实验小结
通过本次实验,我了解了快速离散傅里叶变换FFT的原理及应用FFT进行频谱分析的基本应用。使得我对离散傅里叶变换的主要性质及FFT在数字信号处理中的重要性,有着更深一步的了解。这使我感受颇丰。
五、教师评语
subplot(1,2,2)
k=0:length(magXK)-1;
k=k*(2/100)
stem(k,magXK,'.');
xlabel('k');ylabel('|X(k)|');
title('X(k)N=100');
2.2
clear all
N=100;
n=0:N-1;
xn=cos(2*pi*n/N);
快速离散傅里叶变换是计算离散傅立叶变换的一种快速算法,为了提高应算速度,FFT将DFT的计算逐次分解成较小点数的DFT。按时间抽取(Decimation-In-Time,DIT)FFT算法把输入序列 按起 值为偶数或是奇数分解成越来越短的序列。按频域抽取(Decimation-In-Time,DIT)FFT算法是把输出序列 按其 值是偶数或是奇数来分解成越来越短的序列。具体推导过程及原理可参见《数字信号处理》教科书。
=
= -j
=
=
=
= -j
所以:x[k]=
实序列DFT的这个特性,在本实验中可以通过实指数序列及三角序列看出来。
对于单一频率的三角序列来说,它的DFT谱线也是单一的,这个物理意义可以从实验中得到验证,在理论上可以推导如下:
设:
=sin
其DFT为:
=
=
=
=
从而
X(0)= =0
X(1)= = = -j
X(N-2)=0
subplot(1,2,2)
k=0:length(magXK)-1;
k=k*(2/100)
stem(k,magXK,'.');
xlabel('k');ylabel('|X(k)|');
title('X(k)N=100');
3.1
clear all
N=32;
n=0:N-1;
xn=0.9.^n;
XK=fft(xn,N);
教师签字:年月日
2.利用DFT对信号进行频谱分析
DFT的重要应用之一是对时域连续信号的频谱进行分析,称为傅里叶分析,时域连续信号离散傅里叶分析的基本步骤如图5—1所示。
图5—1时域连续信号离散傅里叶分析的处理步骤
其中消混叠低通滤波器LPF(预滤波器)的引入,是为了消除或减少时域连续信号转换成序列时可能出现的频谱混叠的影响。实际工作中,时域离散信号 的时宽是很长的甚至是无限长的(例如语言或音乐信号)。由于DFT的需要,必须把 限制在一定的时间间隔之内,即进行数据截断。数据的截断相当于加窗处理。因此,在计算 的DFT之前,用一个时域有限的窗函数 加到 上是非常必要的。