您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页利用DFT分析离散信号频谱实验报告

利用DFT分析离散信号频谱实验报告

来源:小侦探旅游网
信息科学与技术学院实验报告

学生姓名 实验课程 实验项目 □必做 □选做 实验地点 指导教师 学号 数字信号处理 利用DFT分析离散信号频谱 □验证性实验 □综合性实验 □设计性实验 博西105 实验仪器台号 实验日期及节次 58号机 2013.05.14 同组人: 一、实验综述

1、实验目的及要求

应用离散傅里叶级变换(DFT),分析离散信号想x[k]的频谱。

深刻理解DFT分析离散信号频谱的原理。 掌握改善分析过程中产生的误差的方法。

2、实验仪器、设备或软件

计算机,MATB7.4.0

二、实验过程(实验步骤、数据记录)

1、验证性试验。 2、程序设计试验。

⑴周期序列由3个频率组成,x[k]=cos(7πk/16)+cos(9πk/16)+cos(πk/2),利用FFT分

析频谱。如何选取FFT的点数计算N?这三个频率分别对应FFT计算结果X [m]的哪些点?若选取的N不合适,FFT计算的频率X[m]会出现什么情况?

⑵离散序列x[k]=cos(2πk/16)+0.75cos(2.3πk/15),0≤k≤63,利用FFT分析其频谱。 ①对x[k]做N=点FFT,绘制信号的频率,能够分辨出其中的两个频谱吗? ②对x[k]补零到N=256点后计算FFT,能够分辨出1其中的两个频率吗? ③选用非矩形窗计算FFT,能够分辨出其中的两个频率吗? ④若不能够很好的分辨出其中的两个频率,应采取哪些措施?

三、结论

1、实验结果 1、证性试验:

2、程序设计实验:

⑴①N应该选取所有因子的公倍数32; ②该周期N=32,基频 W0=p/16; N=32; k=0:N-1;

x=cos(pi*7*k/16)+cos(9*pi*k/16)+ cos(8*pi*k/16); X=fft(x,N); subplot(2,1,1);

stem(k-N/2,abs(fftshift(X))); ylabel('Magnitude');

xlabel('Frequency(rad)'); subplot(2,1,2);

stem(k-N/2,angle(fftshift(X))); ylabel('Phase');

③若N的值选取不合适,则无法区分两个频率。

⑵可以分辨出两个频率,如下: ①该周期N=,基频w0=p/15; N=; k=0:N-1;

x=cos(pi*2/15*k)+0.75*cos(2.3*pi/16*k); X=fft(x,N); subplot(2,1,1);

stem(k-N/2,abs(fftshift(X))); ylabel('Magnitude');

xlabel('Frequency(rad)'); subplot(2,1,2);

stem(k-N/2,angle(fftshift(X))); ylabel('Phase');

xlabel('Frequency(rad)');

②对x[k]补零到256点后计算FFT; 可以分辨出两个频率,如下: N=256; k=0:N-1;

x=cos(pi*2*k/15)+0.75*cos(2.3*pi*k/15); X=fft(x,N); subplot(2,1,1);

stem(k-N/2,abs(fftshift(X))); ylabel('Magnitude');

xlabel('Frequency(rad)'); subplot(2,1,2);

stem(k-N/2,angle(fftshift(X))); ylabel('Phase');

xlabel('Frequency(rad)');

③采用窗函数,可以分辨出两个频率,如下: 汉宁窗: N=;

w=hanning(N); k=0:N-1;

n=cos(pi*2*k/15)+0.75*cos(2.3*pi*k/15); a=w.*n'; X=fft(a,N); subplot(2,1,1);

stem(k,abs(fftshift(X))); ylabel('Magnitude');

xlabel('Frequency(rad)'); subplot(2,1,2);

stem(k,angle(fftshift(X))); ylabel('Phase');

xlabel('Frequency(rad)');

汉明窗: N=;

w=hamming(N); k=0:N-1;

n=cos(pi*2/15*k)+0.75*cos(2.3*pi/15*k); a=w.*n'; X=fft(a,N); subplot(2,1,1);

stem(k-N/2,abs(fftshift(X))); ylabel('Magnitude');

xlabel('Frequency(rad)'); subplot(2,1,2);

stem(k-N/2,angle(fftshift(X))); ylabel('Phase');

xlabel('Frequency(rad)');

④应该增加N的值,使其为因子周期的公倍数。

2、分析讨论

1、实验思考题:

⑴既然可以直接由DTFT定义计算序列DTFT,为何利用DFT分析序列的频谱? 答:DFT对于分析有限的频谱更为方便。

⑵若序列持续时间无限长,且无解析表达式,如何利用DFT分析其频谱? 答:利用其窗函数分析其频谱。

⑶利用DFT分析离散信号频谱时会出现哪些误差?如何克服或改善? 答:频率分不出,应该多抽取些。

⑷在利用DFT分析离散信号的频谱时,如何选择窗函数? 答:根据每个窗函数不同的特性,去选择窗函数.

⑸序列补零和增加序列长度都可以提高频率分辨率么?两者有何本质区别?

答:可以,序列补零可以使序列的频谱变得更为细致,但不能提高序列的频率分辨率,只有采集更多的有效数据,才能得到序列的高分辨率频谱。

四、指导教师评语及成绩:

评语:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务