实验2 利用DFT分析信号频谱
姓名:明眸皓齿王师傅
班级:****** 学号:*********
实验时间:第十二周周三下午第二大节
一.实验目的
1、 加深对DFT原理的理解。 2、 应用DFT分析信号的频谱。
3、 深刻理解利用DFT分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二.实验设备与环境
计算机、MATLAB软件环境 三.实验原理
1. DFT与DTFT的关系 有限长序列x(n)(0?n?N?1)的离散时间傅里叶变换X(e)在频率区间
j?(0???2?)的N个等间隔分布的点k??2?k/N(0?k?N?1)上的N个取样值可以
由下式表示:
X(e)j???2?k/N??x(n)ek?0N?1?j2?knN?X(k)
由上式可知,序列x(n)的N点DFTX(k),实际上就是x(n)序列的DTFT在N个等间隔频率点k??2?k/N(0?k?N?1)上样本X(k)。
2. 利用DFT求DTFT
方法1:由X(k)恢复出X(e)的方法如图2.1所示:
j?????IDFT????DTFT????
由图2.1所示流程可知:
X(k)x(n)X(ej?)X(ej?)?k????x(n)eN??j?n1?N?N?1?kn??j?nX(k)W ?N???en????k?0??由式2-2可以得到
x(ej?)??X(k)?(??k?12?k) N其中?(x)为内插函数
N?1?j?sin(N?/2)2 ?(?)?eNsin(?/2)方法2:然而在实际MATLAB计算中,上述插值运算不见得是最好的办法。由于DFT是DTFT的取样值,其相邻两个频率样本点的间距为2?/N,所以如果我们增加数据的长度N,使得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样就可以利用DFT来近似计算DTFT。如果没有更多数据,可以通过补零来增加数据
1
长度。
3. 利用DFT分析连续时间信号的频谱
采用计算机分析连续时间信号的频谱,第一步就是把连续时间信号离散化,这里需要进行两个操作:一是采样,二是截断。
对于连续时间非周期信号xa(t),按采样间隔T进行采样,截取长度M,那么
Xa(j?)??xa(t)e????j?tdt?T?xa(nT)e?j?nt
n?0M?1对Xa(j?)进行N点频域采样,得到
Xa(j?)??k2?NT?T?xa(nT)en?0M?1?j2?knN?TXM(k)
因此,可以将利用DFT分析连续非周期信号频谱的步骤归纳如下:
(1) 确定时域采样间隔T,得到离散序列x(n);
(2) 确定截取长度M,得到M点离散序列xM(n)?x(n)w(n),这里w(n)为窗口函数。
(3) 确定频域采样点数N,要求N?M。
(4) 利用FFT计算离散序列的N点DFT,得到XM(k); (5) 根据式(2-6)由XM(k)计算Xa(j?)采样点的近似值。
四. 实验内容
1.已知x(n)?{2,?1,1,1},完成如下要求: (1)计算其DTFT,并画出???,??区间的波形。 (2)计算4点DFT,并把结果显示在(1)所画图形中。 (3)对x(n)补零,计算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(2,1,1) plot(w,abs(X)) xlabel('\\Omega/\\pi') title('Magnitude')
2
axis tight subplot(2,1,2) plot(w,angle(X)/pi) xlabel('\\Omega/\\pi') title('Phase') axis tight
(2)代码:
x=[2,-1,1,1] n=0:3
w=-pi:0.01*pi:pi X=x*exp(-j*n'*w) subplot(2,1,1) plot(w,abs(X)) xlabel('\\Omega/\\pi') title('Magnitude') axis tight subplot(2,1,2) plot(w,angle(X)/pi) xlabel('\\Omega/\\pi') title('Phase') axis tight y=fft(x) subplot(2,1,1) hold on
stem(0:3,abs(y),'fill') title('Magnitude') subplot(2,1,2)
hold on stem(0:3,angle(y)/pi,'fill')
3
ylabel('/\\pi') title('Phase')
(3)代码:
x=[2,-1,1,1] x=[x,zeros(1,60)] y=fft(x,64) subplot(2,1,1)
stem(0:63,abs(y),'fill') title('Magnitude') axis tight subplot(2,1,2)
stem(0:63,angle(y)/pi,'fill') xlabel('\\Omega/\\pi') ylabel('/\\pi') title('Phase')
4
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库北京理工大学数字信号处理实验二 利用DFT分析信号频谱在线全文阅读。
相关推荐: