资源描述:
《DFT频谱分析报告作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准DFT频谱分析作业通信工程2013040150作业一设周期序列xn=cos0.48πn+cos0.52πn截取N点长得到x(n)=x ̃nRN(n)(1)N=10,做10点DFT,得到X1(k);(2)N=10,做100点补零DFT,得到X2(k);(3)N=100,做100点DFT,得到X3(k)。要求:针对以上三种情况,分别输出
2、X1(k)
3、、
4、X2(k)
5、、
6、X3(k)
7、的图形,并进行比较、分析和讨论。解:代码如下%双频周期信号的DFT分析n=0:1000;x=cos(0.48*pi*n)+cos(0.52*pi*n);%时域的离散时间信号%---
8、--------N=1010点DFT-------------%N=10;%截取的序列长度N0=10;%DFT点数N0>Nxn=x(1:N);%取一个周期的长度Xk=fft(xn,N0);subplot(3,1,1)文档大全实用标准stem(0:1:N0-1,abs(Xk),'fill','MarkerSize',3.75)%取模画图title('N=1010点DFT')xlabel('k');ylabel('
9、X1(k)
10、')grid%----------N=10100点补零DFT----------%N=10;%截取的序列长度N0=100;%DFT点数N0>
11、Nxn=x(1:N);%取一个周期的长度Xk=fft(xn,N0);subplot(3,1,2)stem(0:1:N0-1,abs(Xk),'fill','MarkerSize',3.75)%取模画图gridtitle('N=10100点补零DFT')xlabel('k');ylabel('
12、X2(k)
13、')%----------N=100100点DFT------------%N=100;%截取的序列长度N0=100;%DFT点数N0>Nxn=x(1:N);%取一个周期的长度Xk=fft(xn,N0);subplot(3,1,3)文档大全实用标准stem(0:
14、1:N0-1,abs(Xk),'fill','MarkerSize',3.75)%取模画图gridtitle('N=100100点DFT')xlabel('k');ylabel('
15、X3(k)
16、')运行,得结果如图1所示:图1DFT频谱观察对比:1)10点DFT的
17、X1(k)
18、出现明显的栅栏效应,相邻谱线间隔很大,而100点DFT的间隔较小,说明通过增大DFT点数N0即频域抽样点数,可以减小栅栏效应;2)
19、X2(k)
20、与
21、X3(k)
22、相比出现了明显的频谱泄漏,即截断效应。由于DFT需要对时域序列进行截断,对x(n)乘一个N点长的矩形窗函数RN(n)(主瓣宽度为4
23、π/N),N越大主瓣越小引起的泄漏就越小。作业二设xat=cos200πt+sin100πt+cos(50πt)。用FFT分析其频谱结构,选择不同的截取长度Tp,观察截断效应,试用加窗的方法降低旁瓣。文档大全实用标准解:加矩形窗的FFT代码如下%单频周期信号的DFT分析cos(pi*t)0.5Hzfs=400;%采样频率HZf1=100;f2=50;f3=25;%模拟频率HZn=0:1000;x=cos(2*pi*f1*n/fs)+sin(2*pi*f2*n/fs)+cos(2*pi*f3*n/fs);%时域的离散时间信号%----------Tp=0.04T
24、p=0.04;N=fs*Tp;%截取的序列长度N0=2048;%DFT点数N0>Nxn=x(1:N);%取一个周期的长度Xk=fft(xn,N0);Xk=abs(Xk)./max(abs(Xk));subplot(3,1,1)stem(0:1:N0-1,Xk,'fill','MarkerSize',3.75)%取模画图gridtitle('Tp=0.04s');xlabel('k');ylabel('
25、X(k)
26、')axis([0220001.2])%----------Tp=4*0.04Tp=4*0.04;文档大全实用标准N=fs*Tp;%截取的序列长度N0=
27、2048;%DFT点数N0>Nxn=x(1:N);%取一个周期的长度Xk=fft(xn,N0);Xk=abs(Xk)./max(abs(Xk));subplot(3,1,2)stem(0:1:N0-1,Xk,'fill','MarkerSize',3.75)%取模画图gridtitle('Tp=4*0.04s');xlabel('k');ylabel('
28、X(k)
29、')axis([0220001.2])%----------Tp=16*0.04Tp=16*0.04;N=fs*Tp;%截取的序列长度N0=2048;%DFT点数N0>Nxn=x(1:N);%取一个周
30、期的长度Xk=fft(x