版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用DFT(FFT)对信号进行谱分析2015年 4月 1日课程名称: 数字信号处理 实验名称: DFT对信号进行分析 学 号: 姓 名: _ 指导老师评定: 签名:_ 一、实验目的1、在理论学习的基础上,通过本次实验加深对DFT的理解。2、熟悉应用FFT对典型信号进行频谱分析的方法。3、了解应用FFT进行信号频谱分析过程中可能出现的各种误差,以便在实际中正确应用FFT。二、实验原理在运用DFT进行频谱分析的时候可能会产生三种误差,现分析如下:(一)截断效应实际中的信号序列往往很长,甚至是无限长序列。为了方便,我们往往只取实际序列的一部分来近似它们。这种截短等价于给原信号序列乘以一个矩形窗函数。根
2、据卷积定理,最终信号的频谱等于原信号的谱和矩形窗的谱的卷积,从而造成谱线加宽或称为频谱泄漏。矩形窗时间取得越长,矩形窗的频谱变窄,由截断引起的效应会减小。例如50 Hz正弦波xa(t)=sin(2·50t),它的幅度曲线是线状谱,如图3.1(a)所示。如果将它截取0.09s的一段,相当于将它乘一长度为0.09 s矩形窗函数,即xa(t)RTp (t),Tp=0.09s,该信号的谱等于原信号的谱和矩形窗的谱的卷积,如图1(b)所示。矩形窗长度扩大Tp=0.18s,后,频谱泄漏会变小,如图1(c)。图 3.1 用DFT对正弦波进行谱分析(a)50 Hz正弦波的幅频曲线;(b) 50 Hz
3、正弦波加窗后的幅频曲线(Tp=0.09 s);(c) 50 Hz正弦波加窗后的幅频曲线(Tp=0.18 s)同时,由于频谱泄漏,还会造成靠得很近的两个谱峰混淆为一个谱峰,或是强的谱线的旁瓣掩盖弱的谱线,称为谱间干扰,导致频谱分辨率降低。矩形窗时间取得越长,矩形窗的频谱变窄,由截断引起的效应会减小。泄漏和谱间干扰都会小。(二)频谱分析时种因素的综合考虑在实际用FFT对模拟信号进行谱分析时,首先要把模拟信号转换成数字信号,转换时要求知道模拟信号的最高截止频率,以便选择满足采样定理的采样频率,避免混叠效应。一般选择采样频率是模拟信号中最高频率的34倍。如果模拟信号不是严格的带限信号,会因为频谱混叠现
4、象引起谱分析的误差,这种情况下可以预先将模拟信号进行预滤,或者尽量将采样频率取高一些。除选择采样频率外,还需要确定分辨率F,并由此进一步确定观测时间,避免栅栏效应。同时,取样时间加长,可以减小泄漏,从而使得相近频率的谱间干扰减小。最小的观测时间Tpmin和分辨率成倒数关系,一般用教材(6.7.8)式确定。最小的采样点数用教材(6.7.12)式确定。要求选择的采样点数和观测时间大于它的最小值。 fsmin =2 fc 用FFT作谱分析时,一般取FFT的点数服从2的整数幂,这一点在上面选择采样点数时可以考虑满足,有时可以通过在序列尾部加0完成。如果要进行谱分析的模拟信号是周期信号,最好选择观测时间
5、是信号周期的整数倍。如果不知道信号的周期,要尽量选择观测时间长一些,以减少截断效应的影响。举一个极端的例子,一个周期性正弦波,如果所取观察时间太短,例如取小于一个周期,它的波形和正弦波相差太大,肯定误差很大,但如果取得长一些,即使不是周期的倍数,这种截断效应也会小一些。三、实验内容及步骤1.初步练习:用信号 x1(t)=cos20t观察频谱泄漏现象,栅栏效应及正弦波抽样时的规律。信号频率为f =10Hz,周期为0.1秒。令采样频率为fs=100Hz,采样周期Ts=0.01s,满足采样定理要求及一般正弦信号抽样习惯。令截取长度为N=100点,共取10个整周期,根据fk =kfs/N计算可得,模拟
6、信号x1(t)对应的k值为10,在k=10处观察到谱线。周围未观察到频谱泄漏。这时候因为截断的关系,泄漏依旧存在,其实质在于泄漏处的不为零的频谱都处在k值的中间,被栅栏挡住未显示(FFT只计算并显示了整数k对应的频谱点)。整数k值刚好处在主谱线以及泄漏频谱的零点上。主谱线被显示,泄漏的非零点未显示。假如抽样点较少,对于正弦函数,抽样有没有位于整周期处,则由于栅栏效应,k值实际取到的位置距离信号的实际频谱的位置就会太远,不能代表信号的实际频率。因此信号中若含有单个的正弦成分,在不知道正弦成分的准确周期的情况下,抽样点数要增加,直到前后两次做出的频谱接近到一定精度。由本实验应该看出,单个频率的信号
7、,由于截断效应的影响,向两边泄漏,但存在一个主峰。如果k值抽样对应的频率刚好取在主峰未知,就能避开栅栏效应的影响,较好地反映信号包含的实际频率。2进一步练习观察:由包含两个频率的信号x2(t)=cos20t2cos55t。分别取N=100,512,1024。可以看出,只有取到较大的值,即时间取长之后,才能使两个信号均有效避免栅栏效应的过度影响,反映两个信号的真实相对幅度大小(2倍关系)。如果取样时间过短,那么k值抽样时,就不一定都会抽取在主峰或其附近,造成频谱分析的误差。3较复杂的练习:用信号x3(t)=cos0.48tcos0.52t,其频率分别为0.24Hz, 0.26Hz。采样周期选1秒
8、,满足采样定理要求。然后分别取(1)N=10;(2)N=10然后补90个零。四实验结果:参考程序function experiment31 %观察单个正弦波泄漏、栅栏、正弦波的整周期取样close all%关闭所有图形窗口Ts=0.01;%取样周期fs=1/Ts;N=68;%取样点数68,取样长度为0.68秒,共6.8个信号周期n=0:N-1;t=n*Ts;%计算取样时间xn=cos(20*pi*t);%信号频率10Hz,周期0.1秒subplot(221);stem(t,xn);%绘制原信号波形axis(0,0.5,-10,10);title('T=0.01,N=',num2
9、str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性fn=fs/N*n %对应各个n值的实际模拟频率值subplot(222);stem(n,MAGXk);%绘制幅频特性axis(0,20,0,50);ylabel('X (k)');title('x(n)的频谱');N=100;%取样点数100,取样长度为1秒,共10个信号周期n=0:N-1;t=n*Ts;xn=cos(20*pi*t);subplot(223);stem(t,xn);axis(0,0.5,-10,10);t
10、itle('T=0.01,N=',num2str(N);ylabel('x2(n)');Xk=fft(xn);MAGXk=abs(Xk);fn=fs/N*n %对应各个n值的实际模拟频率值subplot(224);stem(n,MAGXk);ylabel('X(k)');title('x(n)的频谱');function experiment32 %进一步观察泄漏及栅栏效应close all%关闭所有图形窗口Ts=0.01;%取样周期fs=1/Ts;N=100;%取样点数100,n=0:N-1;t=n*Ts;%计算取样时间xn=c
11、os(20*pi*t)+2*cos(55*pi*t);%信号频率10Hz,27.5Hz,2倍幅值关系subplot(421);stem(t,xn);%绘制原信号波形ylim(-3,3);title('T=0.005,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性fn=fs/N*n %对应各个n值的实际模拟频率值subplot(422);stem(n,MAGXk);%绘制幅频特性axis(0,50,0,100);ylabel('X1(k)');title(
12、'x1(n)的频谱');N=512;%取样点数扩大,取样长度增加n=0:N-1;t=n*Ts;%计算取样时间xn=cos(20*pi*t)+2*cos(55*pi*t);%信号频率10Hz,27.5Hz, 2倍幅值关系subplot(423);stem(t,xn);%绘制原信号波形ylim(-3,3);title('T=0.005,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性fn=fs/N*n %对应各个n值的实际模拟频率值subplot(424);s
13、tem(n,MAGXk);%绘制幅频特性axis(0,256,0,512);ylabel('X(k)');title('x(n)的频谱');N=1024;%取样点数扩大,取样长度增加n=0:N-1;t=n*Ts;%计算取样时间xn=cos(20*pi*t)+2*cos(55*pi*t);subplot(425);stem(t,xn);%绘制原信号波形ylim(-3,3);title('T=0.005,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求
14、幅频特性fn=fs/N*n %对应各个n值的实际模拟频率值subplot(426);stem(n,MAGXk);%绘制幅频特性axis(0,512,0,1024);ylabel('X(k)');title('x(n)的频谱');N=2048;%取样点数扩大,取样长度增加n=0:N-1;t=n*Ts;%计算取样时间xn=cos(20*pi*t)+2*cos(55*pi*t);subplot(427);stem(t,xn);%绘制原信号波形ylim(-3,3);title('T=0.005,N=',num2str(N);ylabel('x1(
15、n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性fn=fs/N*n %对应各个n值的实际模拟频率值subplot(428);stem(n,MAGXk);%绘制幅频特性axis(0,1024,0,2048);ylabel('X(k)');title('x(n)的频谱');function experiment33%观察谱间干扰;观察截断、栅栏效应的综合影响。% 本实验事先已知频率。% 但是:若事先不知频率,则N值需要取大一些,当改变N值时,若频谱变化不大,则可认为误差小到一定范围,截断、栅栏等影响减小到一定范围。cl
16、ose all%关闭所有图形窗口Ts=1;%取样周期1秒,频率1Hzfs=1/Ts;N=10;%取样点数,取样长度为NTs秒,频率分辨率为1/NTs Hzn=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(221);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%对x(n)进行FFT变换并求幅频特性fn=fs/N*n %对应各个n
17、值的实际模拟频率值subplot(222);stem(n,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk);fk=n/N/Ts%观察相应的k值对应的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');M=100;%该部分观察补零对于频谱的影响,频谱会更密,但无助消除频谱间的混淆。m=0:M-1;xn2=xn,zeros(1,90);title('T=1,N=',num2str(N);ylabel('x1(n)');Xk2=fft(xn2);MAGXk2=abs(Xk2)
18、;%进行FFT变换并求幅频特性subplot(223);stem(m,xn2);%绘制原信号波形subplot(224);stem(m,MAGXk2);%绘制x1(n)幅频特性axis(0,100/2,0,max(MAGXk2);fm=n/M/Ts%观察相应的m值对应的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');figure;N=100;%可以清晰分辨两个频率,对于幅度的指示也对,由于N值的特殊性(24整周期和26整周期),避开了泄漏,FFT取值点在主峰和零点上。n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48
19、*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(321);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(322);stem(n,MAGXk);%绘制幅频特性axis(0,N/2,0,max(MAGXk)+1);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱'
20、;);N=101;%取样点数,取样长度改变,幅度未能精确指示,两个频率泄漏后各自的频谱取样的位置对应的幅度不一样n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(323);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(324);stem(n,MAGXk);%绘制x1(n)幅频特性axi
21、s(0,N/2,0,max(MAGXk)+1);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');N=102;%仍然不理想n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(325);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行
22、FFT变换并求幅频特性subplot(326);stem(n,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk)+1);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');figure;N=512;%两频率幅度一致,周围泄漏有指示n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(221);stem(t,xn);%绘制原信号波形title('T=1,N
23、=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(222);stem(n,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk)+1);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');N=513;%幅度不一致,周围泄漏有指示n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率
24、0.24Hz,0.26Hzsubplot(223);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(224);stem(n,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk)+1);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');figure;N=16384;%2的多
25、少次幂?n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(321);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性fn=fs/N*n %对应各个n值的实际模拟频率值subplot(322);stem(n,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk)+1);fn=
26、fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');N=16385;%n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(323);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(324);stem(n
27、,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk)+1);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');N=65537;%泄漏与栅栏效应不可避免,但取样长度扩大到一定程度时,影响减小到一定程度。n=0:N-1;t=n*Ts;%计算取样时间xn=cos(0.48*pi*t)+cos(0.52*pi*t);%信号频率0.24Hz,0.26Hzsubplot(325);stem(t,xn);%绘制原信号波形title('T=1,N=',num2str
28、(N);ylabel('x1(n)');Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(326);stem(n,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk)+1);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('x(n)的频谱');function experiment34%本实验要求对experiment34.txt所给实验数据进行频谱分析。close all%关闭所有图形窗口Ts=0.5;fs=1/Ts;xn0=
29、load('experiment34.txt');N=128;n=0:N-1;xn=xn0(1:N);Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(321);stem(n,MAGXk);%绘制幅频特性axis(0,N/2,0,max(MAGXk);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('N=',num2str(N);N=256;n=0:N-1;xn=xn0(1:N);Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(322);stem(n,MAGXk);%绘制x1(n)幅频特性axis(0,N/2,0,max(MAGXk);fn=fs/N*n %对应各个n值的实际模拟频率值ylabel('X(k)');title('N=',num2str(N);N=1024;n=0:N-1;xn=xn0(1:N);Xk=fft(xn);MAGXk=abs(Xk);%进行FFT变换并求幅频特性subplot(323);stem(n,MAGXk);%绘
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手机认证协议书
- 活动三方合同范本
- 芍药种植协议书
- 苗木管理合同范本
- 螃蟹免责协议书
- 认股协议书模板
- 让律师写协议书
- 设备预埋协议书
- 试验协议书模板
- 庆典演出合同范本
- 欢庆元旦启赴新章-2026年元旦联欢主题班会课件
- 2025山东省人民检察院公开招聘聘用制书记员(40名)备考考试题库及答案解析
- 2026届新高考历史冲刺备考复习第一次世界大战与战后国际秩序
- 消防设施操作员基础知识
- 2025天津大学管理岗位集中招聘15人参考笔试题库及答案解析
- 北京市西城区2022-2023学年六年级上学期数学期末试卷(含答案)
- 钢管支撑强度及稳定性验算
- 全国医疗服务项目技术规范
- 人教版六年级数学下册全册教案
- 医院公共卫生事件应急处理预案
- 智慧校园云平台规划建设方案
评论
0/150
提交评论