收藏 分享(赏)

实验4 FFT频谱分析.doc

上传人:精品资料 文档编号:10666589 上传时间:2019-12-16 格式:DOC 页数:7 大小:176KB
下载 相关 举报
实验4 FFT频谱分析.doc_第1页
第1页 / 共7页
实验4 FFT频谱分析.doc_第2页
第2页 / 共7页
实验4 FFT频谱分析.doc_第3页
第3页 / 共7页
实验4 FFT频谱分析.doc_第4页
第4页 / 共7页
实验4 FFT频谱分析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、实验 4 FFT 频谱分析一、实验目的应用离散傅里叶变换的快速算法 FFT 分析信号的频谱。深刻理解应用 FFT 分析离散和连续信号的原理,掌握分析过程中出现的现象及解决方法。二、实验原理1. 离散周期信号频谱的分析周期为 N 的离散信号(序列) 的频谱函数 定义为:()xk()Xm21100NNjkkkXmexW式中:N 是序列的周期;k 为离散的时间变量; m 为离散的频率变量; 是次谐波2/mN的数字频率。离散周期信号的频谱 也是周期为 的离散谱,谱线间隔为 。利用 ()N/MATLAB 提供的 fft 函数可以计算离散周期信号的频谱。对于离散周期序列,只需对周期序列上一个周期内的数值

2、进行 点的 FFT 运算,就可准确地得到其频谱在一个周期()xk上的 个数值 ,且有 , 。其分析步骤如下。N(Xm()Xm0,1(1) 确定离散周期序列 的基本周期为 。)xkN(2) 利用 fft 函数对序列 一个周期内进行 点 FFT 计算,得到 。( ()Xm(3) 。()Xm2. 离散非周期信号频谱的分析离散非周期信号 的频谱函数 为: 。()xk()jXe()()j jkkexe利用 MATLAB 提供的 fft 函数可以计算离散非周期信号的频谱。当序列长度有限时,可以求得准确的序列频谱 的样点值。若序列很长或无限长时,则由于截短产生泄()j漏误差,计算的结果只能是序列频谱 样点值

3、的近似。分析步骤如下。()jXe(1) 确定序列 的长度 M 及窗函数的类型。当序列为无限长时,需要根据能量分布,()xk利用窗函数进行截短。(2) 确定做 FFT 的点数 N。根据频域采样定理,为使时域波形不产生混叠,必须取 N M 。(3) 使用 fft 函数做 N 点 FFT 以计算 。()Xm3. 连续周期信号频谱的分析周期为 的连续时间信号 的频谱函数 定义为:0T()xt0()Xn0001Tjtnxed式中: 是信号的周期; 称为信号的基频( 基波); 称为信号的谐频。0T002f0n连续周期信号的频谱 是非周期离散谱,谱线间隔为 。连续周期信号的 DFT0()Xn0分析方法增加了

4、时域采样的环节。如果不满足采样定理的约束条件,将会出现频谱混叠现象。连续周期信号的分析步骤如下。(1) 确定周期信号的基本周期 。0T(2) 计算一个周期内的采样点数 N。(3) 对连续周期信号以采样间隔 T 进行采样, 。0TN(4) 使用 fft 函数对 作 N 点 FFT 用以计算 。()xk()Xm(5) 最后求得连续周期信号的频谱 ,其中利用了下面的转换关01(n系: , , , 。tKT0dtT01Nk若能够按照满足采样定理的采样间隔采样,并选取整周期为信号允许长度,则利用 DFT 计算得到的离散频谱值等于原连续周期信号离散频谱 的准确值。0()Xn4. 连续非周期信号频谱的分析连

5、续时间非周期信号 的频谱函数 是连续谱,其定义如下:()xt()jjtXjxed连续非周期信号的分析步骤如下:(1) 根据时域采样定理,确定时域采样间隔 T,得到离散序列 。()xk(2) 确定信号截短的长 M 及窗函数的类型,得到有限长 M 点离散序列。()()Mxkw(3) 确定频域采样点数 N,要求 N M 。(4) 使用 fft 函数做 N 点 FFT 计算得到 N 点的 。()Xm(5) 由 可得到连续信号的频谱 采样点的近似值 ,()Xm()j2()()nNTjxm其中利用了转换关系: , , 。tKTdtM三、实验内容与方法1. 离散周期信号频谱的分析【例 4-1】 已知一个周期

6、序列 ,用 fft 函数计算其7()sin)0.5cos()1616xkk频谱。MATLAB 程序如下:N=32; k=0:N-1;x=sin(pi*k/16+pi/6)+0.5*cos(7*pi*k/16);xk=fft(x,N);subplot(2,1,1);stem(k-N/2,abs(fftshift(xk);axis(-16,16,0,20);xlabel(频谱特性);ylabel(幅度);set(gca,XTickMode,manual,XTick,-16,-7,-1,0,1,7,16);subplot(2,1,2);stem(k-N/2,angle(fftshift(xk);ax

7、is(-16,16,-4,4);xlabel(频谱特性);ylabel(相位);set(gca,XTickMode,manual,XTick,-16,-7,-1,0,1,7,16);set(gcf,color,w);程序运行结果如图 4.1 所示。-16 -7 -1 0 1 7 1605101520位 位 位 位位位-16 -7 -1 0 1 7 16-4-2024位 位 位 位位位图 4.1 周期序列的幅度谱和相位谱2. 离散非周期信号频谱的分析【例 4-2】利用 fft 函数分析序列 的频谱。()0.7()kxu经过分析,可以得知信号为无限长,因此需要对其进行截短。该序列单调递减,当k 3

8、2时,序列已几乎衰减为 0,因此只取序列在0,32上的数值进行分析。MATLAB 程序如下:k=0:32;x=0.8.k;subplot(2,1,1);stem(k,x);title(时域波形);subplot(2,1,2);w=k-15;plot(w,abs(fftshift(fft(x);xlabel(频谱特性 );ylabel(幅度值);set(gcf,color,w);程序运行结果如图 4.2 所示。图 4.2 非周期信号的时域波形及其幅度频谱3.连续周期信号频谱的分析【例 4-3】 利用fft函数求解周期信号 。()2sin(0.)5cos()xttt经过分析可以得知,信号的最高频率

9、是 ,因此采样周期必须小于/mrad,则任选T=0.02s ,N =50。/0.2mMATLAB 程序如下:T=0.02;N1=50;n1=1:N1; % 原始数据0 5 10 15 20 25 30 3500.20.40.60.81 位位位位-15 -10 -5 0 5 10 15 20012345位位位位位位位D1=2*pi/(N1*T); % 频率分辨率x1=2*sin(0.2*pi*n1*T)-5*cos(5*pi*n1*T); X1=T*fftshift(fft(x1); %求 x 的 FFT,移到对称位置k1=floor(-(N1-1)/2:(N1-1)/2); N2=1000;n

10、2=1:N2; % 原始数据D2=2*pi/(N2*T); % 频率分辨率x2=2*sin(0.2*pi*n2*T)-5*cos(5*pi*n2*T); X2=T*fftshift(fft(x2);%求 x 的 FFT,移到对称位置k2=floor(-(N2-1)/2:(N2-1)/2); subplot(2,1,1);plot(k1*D1,abs(X1); xlabel(Omega);ylabel(|X(Omega)|);title(a)N=50); axis(-200,200,0,2); subplot(2,1,2);plot(k2*D2,abs(X2); xlabel(Omega);yl

11、abel(|X(Omega)|);title(b)N=1000); axis(-20,20,0,60); set(gcf,color,w); 程序运行结果如图 4.3 所示。从图中可以看出,当 N=50 时分辨率太小,只看到 3 个尖峰;当 N=1000 时,分辨率加大,则显示出有 4 个尖峰。同时可以看出,当把 N 加倍时,其高度也大体上加倍。-200 -150 -100 -50 0 50 100 150 20000.511.52|X()|(a)N=50-20 -15 -10 -5 0 5 10 15 200204060|X()|(b)N=1000图 4.3 正余弦周期信号的频谱4.连续非周

12、期信号频谱的分析【例 4-4】 利用 fft 函数分析 的频谱。0.5()()txteuMATLAB 程序如下:T0=2,1,0.1,0.1; % 各次计算拟采用的 T,编成向量 T0L0=10,10,20,40; % 各次计算拟采用的 L,编成向量 L0for r=1:4 % 循环计算 4 次T=T0(r);N=L0(r)/T0(r); % 根据计算顺序选用 T 及 ND=2*pi/(N*T); % 频率分辨率n=0:N-1;x=exp(-0.05*n*T); % 给出样本序列 xX=T*fftshift(fft(x); % 求 x 的 FFT,移到对称位置k=floor(-(N-1)/2:

13、(N-1)/2); % 奈奎斯特频率下标r,X(1) % 显示奈奎斯特边界处的频谱 Xsubplot(2,2,r),plot(k*D,abs(X) % 在位置 r 处绘图set(gca,Xtick,-pi/T,-0.5*pi/T,0.5*pi/T,pi/T),grid onset(gcf,color,w) %置图形背景色为白色xlabel(Omega),ylabel(|X(Omega)|)switch r % 用 switch 语句写子图标题case 1, title(T=2,N=5)case 2, title(T=1,N=10)case 3, title(T=0.1,N=200)case 4

14、, title(T=0.1,N=400)otherwise end axis(-3,3,0,20) % 统一坐标,以便比较end set(gcf,color,w);程序运行结果如图 4.4 所示。图 4.4 取不同采样周期 T 和数据长度 L=T *N 对频谱计算的影响四、程序设计实验编写程序,进一步验证如何利用 fft 函数来分析 的频谱。2()()txeu五、实验预习要求(1) 预习实验原理。(2) 熟悉实验程序。(3) 思考程序设计实验部分程序的编写。六、实验报告要求(1) MATLAB 中输入程序,验证实验结果,并将实验结果存入指定存储区域中。(2) 对于程序设计实验,要求通过对验证性

15、实验的练习,自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。(3) 在实验报告中写出完整的自编程序,并给出实验结果。七、思考题(1)在利用FFT分析离散信号频谱时,应如何选择窗函数?会出现哪些误差?如何避免或减小这些误差?(2)序列补零和增加序列长度都可以提高频谱分辨率吗?两者有何本质区别?(3)既然可以直接利用傅里叶变换的定义来计算连续信号的傅里叶变换,为什么还要利用 FFT 分析连续信号的频谱?-1.5708- .7854 0.78541.570805101520|X()|T=2,N=5-1.5708 1.570805101520|X()|T=1,N=1005101520|X()|T=0.1,N=20005101520|X()|T=0.1,N=400

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报