实验二 FFT频谱分析及应用 一、实验目的:
1、通过实验加深对FFT的理解;
2、熟悉应用FFT对典型信号进行频谱分析的方法。 二、实验内容
使用MATLAB程序实现信号频域特性的分析。涉及到离散傅立叶变换(DFT)、快速傅立叶变换(FFT)及信号频率分辨率等知识点。 三、实验原理与方法和手段
在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。
有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。
在MATLAB信号处理工具箱中的函数
fft(x,N),可以用来实现序列的N点快速傅立叶变换。
经函数fft求得的序列一般是复序列,通常要求出其幅值和相位。MATLAB中提供了求复数的幅值和相位的函数:abs、angle,这些函数一般和fft同时使用。 四、实验组织运行要求
1、学生在进行实验前必须进行充分的预习,熟悉实验内容;
1
2、学生根据实验要求,读懂并理解相应的程序;
3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;
4、教师在学生实验过程中予以必要的辅导,独立完成实验; 5、采用集中授课形式。 五、实验条件
1、具有WINDOWS 98/2000/NT/XP操作系统的计算机一台; 2.、MATLAB编程软件。 六、实验步骤
在“开始--程序”菜单中,找到MATLAB程序,运行启动; 进入MATLAB后 ,在Command Window中输入实验程序,并执行; 记录运行结果图形,作分析。 具体步骤如下:
1、用FFT 进行典型信号的频谱分析: ① 高斯序列:
??
参数:p=3,q=6;p=2,q=9;p=5,q=7。 ?T进行高斯序列的频谱分析
n=0:15; %定义序列的长度是16 p=3; q=6; x=exp(-1*(n-p).^2/q); %利用fft 函数实现富氏变换 close all; subplot(3,2,1);
stem(x);subplot(3,2,2);stem(abs(fft(x)))
2
p=2; q=9; x=exp(-1*(n-p).^2/q); %改变信号参数,重新计算 subplot(3,2,3);stem(x);subplot(3,2,4); stem(abs(fft(x))) p=5; q=7; x=exp(-1*(n-p).^2/q);
subplot(3,2,5);stem(x);subplot(3,2,6); stem(abs(fft(x)))
10.52010.52010.520051015200051015200510152006405101520051015200640510152064
② 衰减正弦序列
n=0:15; %定义序列的长度是16 x=exp(-0.2*n).*sin(2*pi*0.1*n); %利用fft 函数实现富氏变换 close all; subplot(211);
stem(x);subplot(212);stem(abs(fft(x)))
3
10.50-0.5024681012141621.510.500246810121416
2、模拟信号
x(t)?2sin4(?t)?5cos8?(t),以
t?0.01n(n?0:N?1)进行采样,求:
(1)N=40点FFT的幅度频谱,从图中能否观察出信号的2个频谱分量?
(2)提高采样点数,如N=128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的2个模拟频率和数字频率各为多少?FFT频谱分析结果与理论上是否一致? N=40;n=0:N-1; t=0.01*n;
x=2*sin(4*pi*t)+5*cos(8*pi*t); k=0:N/2;w=2*pi/N*k; X=fft(x,N);
magX=abs(X(1:N/2+1));
subplot(2,1,1);stem(n,x,'.');title('signal x(n)'); subplot(2,1,2);plot(w/pi,magX);title('FFT N=40');
4
xlabel('w (unit :pi)');ylabel('|X|');grid
signal x(n)1050-5-1005101520FFT N=4025303540100|X|50000.10.20.30.40.50.6w (unit :pi)0.70.80.91
N=120;n=0:N-1; t=0.01*n;
x=2*sin(4*pi*t)+5*cos(8*pi*t); k=0:N/2;w=2*pi/N*k; X=fft(x,N);
magX=abs(X(1:N/2+1));
subplot(2,1,1);stem(n,x,'.');title('signal x(n)'); subplot(2,1,2);plot(w/pi,magX);title('FFT N=120'); xlabel('w (unit :pi)');ylabel('|X|');grid
signal x(n)1050-5-100204060FFT N=12080100120300200|X|100000.10.20.30.40.50.6w (unit :pi)0.70.80.91 N=256;n=0:N-1;
t=0.01*n;
x=sin(3*pi*t)+3*cos(7*pi*t); k=0:N/2;w=2*pi/N*k;
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库FFT频谱分析及应用在线全文阅读。
相关推荐: