北理工数字信号处理实验1 利用DFT分析信号频谱.docx

上传人:b****5 文档编号:6015941 上传时间:2023-01-03 格式:DOCX 页数:13 大小:264.49KB
下载 相关 举报
北理工数字信号处理实验1 利用DFT分析信号频谱.docx_第1页
第1页 / 共13页
北理工数字信号处理实验1 利用DFT分析信号频谱.docx_第2页
第2页 / 共13页
北理工数字信号处理实验1 利用DFT分析信号频谱.docx_第3页
第3页 / 共13页
北理工数字信号处理实验1 利用DFT分析信号频谱.docx_第4页
第4页 / 共13页
北理工数字信号处理实验1 利用DFT分析信号频谱.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

北理工数字信号处理实验1 利用DFT分析信号频谱.docx

《北理工数字信号处理实验1 利用DFT分析信号频谱.docx》由会员分享,可在线阅读,更多相关《北理工数字信号处理实验1 利用DFT分析信号频谱.docx(13页珍藏版)》请在冰豆网上搜索。

北理工数字信号处理实验1 利用DFT分析信号频谱.docx

北理工数字信号处理实验1利用DFT分析信号频谱

实验1利用DFT分析信号频谱

一、实验目的

1、加深对DFT原理的理解

2、应用DFT分析信号的频谱

3、深刻理解利用DFT分析信号频谱的原理,分析实现过程中出现的现象及解决方法

二、实验设备与环境

计算机、MATLAB软件环境

三、实验理论基础

1、DFT与DTFT的关系

有限长序列

的离散时间傅里叶变换

在频率区间

的N个等间隔分布的点

上的N个取样值可以由下式表示:

由上式可知,序列

的N点DFT,实际上就是序列

的DTFT在N个等间隔频率点

上样本

2、利用DFT求DTFT

3、利用DFT分析连续时间信号的频谱

4、可能用到的MATLAB函数与代码

四、实验内容

1.已知

,完成如下要求:

(1)计算其DTFT,并画出

区间的波形

(2)计算4点DFT,并把结果显示在

(1)所画的图形中

(3)对

补零,计算64点DFT,并显示结果

(4)根据实验结果,分析是否可以由DFT计算DTFT,如果可以,如何实现

解:

(1)

x=[2,-1,1,1];n=0:

3;w=-pi:

0.01*pi:

pi;X=x*exp(-j*n'*w);

subplot(211);

plot(w,abs(X));xlabel('\Omega/\pi');title('Magnitude');axistight

subplot(212);

plot(w,angle(X)/pi);xlabel('\Omega/\pi');title('Phase');axistight

(2)

x=[2,-1,1,1];

n=0:

3;

w=-pi:

0.01*pi:

pi;

X=x*exp(-j*n'*w);

y=fft(x,4);

subplot(211);

holdon

plot(w,abs(X));xlabel('\Omega/\pi');title('Magnitude');axistight

stem(0:

3,abs(y),'fill');

subplot(212);

holdon

plot(w,angle(X)/pi);xlabel('\Omega/\pi');title('Phase');axistight

stem(0:

3,angle(y)/pi,'fill')

(3)

x=[2,-1,1,1];

x=[x,zeros(1,60)];

y=fft(x,64);

subplot(212);

stem(0:

63,abs(y),'fill');

title('Magnitude');

subplot(211);

stem(0:

63,angle(y)/pi,'fill');

axistight

(4)

可以

通过实验波形看出,序列通过补零后,长度越长,DFT点数越多,其DFT越逼近其DTFT的连续波形。

所以,当补零至无穷长序列时可以由DFT计算DTFT。

2.考察序列

(1)

时,用DFT估计x(n)的频谱,将x(n)补零加长到长度为100点序列,用DFT估计x(n)的频谱,要求画出相应波形。

(2)

时,用DFT估计x(n)的频谱,并画出波形。

(3)根据实际结果,分析怎样提高频谱分辨率。

解:

(1)

n=0:

10;

x=cos(0.48*pi*n)+cos(0.52*pi*n);

y=fft(x);

subplot(211);

stem(0:

10,abs(y),'fill');

title('Magnitude');

subplot(212);

stem(0:

10,angle(y)/pi,'fill');

title('Phase')

n=0:

10;

x=cos(0.48*pi*n)+cos(0.52*pi*n);

x=[x,zeros(1,39)];y=fft(x);

subplot(211);

stem(0:

49,abs(y),'fill');

title('Magnitude');

subplot(212);

stem(0:

49,angle(y)/pi,'fill');

title('Phase')

n=0:

10;

x=cos(0.48*pi*n)+cos(0.52*pi*n);

x=[x,zeros(1,89)];

y=fft(x);

subplot(211);

stem(0:

99,abs(y),'fill');

title('Magnitude');

subplot(212);

stem(0:

99,angle(y)/pi,'fill');

title('Phase')

(2)

n=0:

100;

x=cos(0.48*pi*n)+cos(0.52*pi*n);

y=fft(x);

subplot(211);

stem(0:

100,abs(y),'fill');

title('Magnitude');

subplot(212);

stem(0:

100,angle(y)/pi,'fill');

title('Phase')

(3)

0:

10和0:

100的分辨率差很多,所以我们可以通过增加时域内的信号采样点数来提高分辨率

3.已知信号

利用DFT做频谱分析,确定适合的参数,使得到的频谱的频率分辨率符合要求。

解:

n=0:

0.1:

6;x=0.15*sin(2*pi*n)+sin(4*pi*n)-0.1*sin(6*pi*n);y=fft(x);

subplot(211);stem(0:

60,abs(y),'fill');title('Magnitude');

subplot(212);stem(0:

60,angle(y)/pi,'fill');title('Phase')

4.利用DFT分析连续时间信号

的频谱(幅度谱)。

分析采用不同的采样间隔和截取长度进行计算的结果,并最终确定适合的参数。

解:

n=-6:

0.1:

6;

x=exp(-0.1*n).*heaviside(n);

y=fft(x);

subplot(211);

stem(-60:

60,abs(y),'fill');

title('Magnitude');

subplot(212);

stem(-60:

60,angle(y)/pi,'fill');

title('Phase')

n=-10:

0.1:

10;

x=exp(-0.1*n).*heaviside(n);

y=fft(x);

subplot(211);

stem(-100:

100,abs(y),'fill');

title('Magnitude');

subplot(212);

stem(-100:

100,angle(y)/pi,'fill');

title('Phase')

五、实验心得与体会

通过本次实验,加深了对DFT原理的理解;实验中,应用DFT分析信号的频谱,对信号的频谱分辨率进行研究;深刻理解了利用DFT分析信号频谱的原理,分析实现过程中出现的现象及解决方法。

实验中,通过对不同函数的调用,对MATLAB软件的使用更加熟练。

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

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1