1、数字信号处理实验五课案实验报告课程名称:数字信号处理实 验 四:利用DFT分析离散信号频谱 班 级:通信1403 学生姓名:强亚倩 学 号:1141210319 指导教师:范杰清华北电力大学(北京)一、实验目的 应用离散傅里叶变换(DFT),分析离散信号xk。深刻理解利用DFT分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。二、实验原理根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT)与四种确定信号傅里叶变换的之间的关系,实现由DFT分析其频谱。三、 实验内容三、实验内容1. 利用FFT分析信号 的频谱;(1) 确定DFT计算的参数;(2
2、) 进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。函数代码:N=32; k=0:N-1;x=cos(3*pi/8.*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);2. 利用FFT分析信号的频谱;(1) 确定DFT计算的参数;(2) 进行理论值与计算值比较,讨论信号
3、频谱分析过程中误差原因及改善方法。函数代码为:k=0:30;x=0.5.k;subplot(2,1,1);stem(k,x); subplot(2,1,2);w=k-15;plot(w, abs(fftshift(fft(x); 3. 有限长脉冲序列,利用FFT分析其频谱,并绘出其幅度谱与相位谱。函数代码为:k=0:5; x=2,3,3,1,0,5;X=fft(x); subplot(2,1,1);stem(k,abs(fftshift(X);ylabel(Magnitude); xlabel(Frequency (rad);subplot(2,1,2);stem(k,angle(fftshi
4、ft(X);ylabel(Phase); xlabel(Frequency (rad);4. 某周期序列由3个频率组成: ,利用FFT分析其频谱。如何选取FFT的点数N?此3个频率分别对应FFT计算结果Xm中的哪些点?若选取的N不合适,FFT计算出的频谱Xm会出现什么情况?N取三个因子的最小公倍数为32函数代码为:N=32; k=0:N-1;x=cos(7*pi/16.*k)+cos(9*pi/16.*k)+cos(pi/2.*k);X=fft(x,N); subplot(2,1,1);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); xlabel(F
5、requency (rad);subplot(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase); xlabel(Frequency (rad);5. 某离散序列由3个频率组成: 利用FFT分析其频谱。(1) 对xk做64点FFT,绘出信号频谱,能分辨出其中的两个频率吗?答:函数代码为N=64; k=0:N-1;x=cos(2*pi/15.*k)+0.75*cos(2.3*pi/15.*k);X=fft(x,N); subplot(2,1,1);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); xlabe
6、l(Frequency (rad);subplot(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase); xlabel(Frequency (rad);(2) 对xk补零到256点后计算FFT,能分辨出其中的两个频率吗?答:函数代码为:N=256; k=0:N-1;x=cos(2*pi/15.*k)+0.75*cos(2.3*pi/15.*k);X=fft(x,N); subplot(2,1,1);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); xlabel(Frequency (rad);subplo
7、t(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase);xlabel(Frequency (rad);分辨得出其中的两个频率(3) 选用非矩形窗计算FFT,能够分辨出其中的两个频率吗?要看情况,若用汉明窗,则可改善频率泄露的情况,因为汉明窗的幅频特性是旁瓣衰减较大,主瓣峰值与第一个旁瓣峰值衰减可达40db。因此可以分辨出两个频率(4)若不能够很好地分辨出其中的两个频谱,应采取哪些措施?答:应当增大n值,并且使得其为因子周期的公倍数。6. 已知序列利用FFT分析下列信号的幅频特性,频率范围为,N=500点。(1) 函数代码为:N=101; k=-5
8、0:50;x=exp(-(0.2.*k).2/2);X=fft(x,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);(2) 函数代码为:N=101; k=-50:50;x=exp(-(0.4.*k).2/2);X=fft(x,N); subplot(2,1,1);stem(k,abs(fftshift(X);ylabel(
9、Magnitude); xlabel(Frequency (rad);subplot(2,1,2);stem(k,angle(fftshift(X);ylabel(Phase); xlabel(Frequency (rad);(3) 若将上述xk乘以cos(pk/2) ,重做(1)和(2)。答:函数代码为:N=101; k=-50:50;x=exp(-(0.2.*k).2/2).*cos(pi.*k/2);X=fft(x,N); subplot(2,1,1);stem(k,abs(fftshift(X);ylabel(Magnitude); xlabel(Frequency (rad);sub
10、plot(2,1,2);stem(k,angle(fftshift(X);ylabel(Phase); xlabel(Frequency(rad)四. 实验思考题1. 既然可直接由DTFT定义计算序列DTFT,为何利用DFT分析序列的频谱?答:离散序列的DTFT是连续的周期函数,不适合计算机进行计算,而序列的DFT本身是一个序列,因此特别适合计算机进行计算。除此之外还存在着计算DFT的快速算法FFT。这又大大的提高了计算的快速性。2. 若序列持续时间无限长,且无解析表达式,如何利用DFT分析其频谱?答:频域有限频谱分布将造成时域持续时间的无穷长度。显然,应用DFT是不可能对时域无穷长度的信号进
11、行分析的。为利用DFT,必须把时间函数截断,取一有限时间范围,此截断过程可以理解为待分析信号与一矩形脉冲相乘,矩形脉冲称为窗函数。将与相乘,就好象通过一个矩形窗口拍摄,取出窗口内的图形。3. 在利用DFT分析离散信号频谱时,会出现哪些误差?如何克服或改善?答:频谱混叠,频率泄漏。可以通过增加抽样点数N,选择合适的窗函数来加以解决。4. 在利用DFT分析离散信号频谱时,如何选择窗函数?答:尽量宽,不要突变。5. 序列补零和增加序列长度都可以提高频谱分辨率吗? 两者有何本质区别?答:信号长度N决定了分辨率的高低,N一定无论补零多少,分辨率不变;N一定时增加补零点,只会使频谱变密,可以更多的显示出频谱中的细节。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1