1、北京理工大学数字信号处理1DFT北京理工大学数字信号处理1-DFT数字信号处理第3章 离散傅里叶变换DFT 班级:05941401 姓名:张xx 学号:112014xxxx1、实验要求利用DFT对信号(如由多个正弦信号组成的信号)进行频谱分析,并研究不同数据长度,补零,加窗等对频率分辨率的影响。2、名词解释1.补零:在时域信号末端加一些零值点,以增加频域采样点数。2.加窗:计算机不能对无限长的信号进行测量和运算,需要从信号中截取一个时间片段,然后用截取的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。3.频率分辨率:指将两个相邻谱峰分开
2、的能力。3、实验内容及步骤1.不同数据长度对频率分辨率的影响(1)实验方法:由于Matlab中没有dtf函数,所以新建一个m文件,根据已知DFT公式,定义一个dft函数。然后设定采样长度分别为N=10和N=50,对同一个信号进行采样,并用matlab绘制其时域序列图、幅频特性曲线、频域序列图。比较两者的最小频率间隔,从而比较频率分辨率。(2)Matlab代码N=10; n=0:1:N-1; xn=sin(5*2*pi*n/30)+cos(3*2*pi*n/30); Xk=dft(xn,N); subplot(3,1,1) stem(n,xn,filled); title(xn); xlabel
3、(n); axis(0,10,-2.5,2.5); w=2*pi*(0:1:2047)/2048; Xw=xn*exp(-j*n*w); subplot(3,1,2); plot(w/pi,abs(Xw); title(X(ejw); xlabel(w); axis(0,1,0,10); subplot(3,1,3) k1=0:1:9;w1=2*pi/10*k1; stem(w1/pi,abs(Xk),filled); title(Xk); xlabel(pi); axis(0,1,0,10); N=50; n=0:1:N-1; xn=sin(5*2*pi*n/30)+cos(3*2*pi*n
4、/30); Xk=dft(xn,N); subplot(3,1,1) stem(n,xn,filled); title(xn); xlabel(n); axis(0,10,-2.5,2.5); w=2*pi*(0:1:2047)/2048; Xw=xn*exp(-j*n*w); subplot(3,1,2); plot(w/pi,abs(Xw); title(X(ejw); xlabel(w); axis(0,1,0,30); subplot(3,1,3) k1=0:1:49;w1=2*pi/50*k1; stem(w1/pi,abs(Xk),filled); title(Xk); xlabe
5、l(pi); axis(0,1,0,30);(3)实验结果N=10N=50(4)结论与分析结论:数据长度越长,频率分辨率越高。分析:根据公式,其中N为采样点数,为采样频率,为采样间隔。因此,T为数据长度,最小频率间隔与数据长度成反比;最小频率间隔越小,频率分辨率越高。2.补零对频率分辨率的影响(1)实验方法:对上一实验中的相同信号进行补零至100位,仍然取N=10,模拟出其时域序列图、幅频特性曲线、频域序列图。(2)Matlab程序:N=10; n=0:N-1; xn=sin(5*2*pi*n/30)+cos(3*2*pi*n/30); N1=100; n1=0:N1-1; x1=xn(1:1
6、0) zeros(1,90); subplot(3,1,1) stem(n1,x1,filled); title(x1); xlabel(n); axis(0,20,-2.5,2.5); w=2*pi*(0:2047)/2048; X1=x1*exp(-j*n1*w); subplot(3,1,2); plot(w/pi,abs(X1); title(X(ejw); xlabel(w); axis(0,1,0,10); subplot(3,1,3) Xk=dft(x1,N1); k1=0:1:49; w1=2*pi/100*k1; stem(w1/pi,abs(Xk(1:1:50),fille
7、d); title(Xk); xlabel(pi); axis(0,1,0,10); (3)实验结果:(4)结论与分析补零对频率分辨率没有影响。因为补零是在信号时域上进行的活动,信号的有效长度没有改变,所以频谱也没有变化,因而不能提高频率分辨率。3.加窗对频率分辨率的影响(1)实验方法:设定采样长度N=50,对同一信号进行采样,采用加窗的方法对时域图像进行采样,模拟出时域序列图、幅频特性曲线和频域序列图。这里要注意的是我们采用加窗的方法时,设定信号的长度为400,然后对长度为400的信号进行截短加窗,这时只有加窗处我们是对信号采样的,即得到的信号是有效的,其余位置信号都为0。(2)Matlab
8、代码:N=50; n=0:N-1; xn=sin(5*2*pi*n/30)+cos(3*2*pi*n/30); N2=400;n2=1:400;x1=(sin(n2*5*2*pi/30)+cos(n2*3*2*pi/30).*(heaviside(n2)-heaviside(n2-N+1); subplot(3,1,1) stem(n2,x1,filled); title(x1); xlabel(n); axis(0,10,-2.5,2.5); w=2*pi*(0:2047)/2048; X1=x1*exp(-j*n2*w); subplot(3,1,2); plot(w/pi,abs(X1); title(X(ejw); xlabel(w); axis(0,1,0,30); subplot(3,1,3) Xk=dft(x1,N2); k1=0:1:399; w1=2*pi/400*k1; stem(w1/pi,abs(Xk),filled); title(Xk); xlabel(pi); axis(0,1,0,30); (3)实验结果:(4)结论与分析:通过比较上面的图形和实验1中的N=50的频域图像,可以看出频谱有轻微的失真。这是因为加窗是在时域上对原信号乘一个窗函数,相当于频域上两者卷积。导致了一定程度的谱线展宽,因而发生了频谱泄露,同时降低了频率分辨率。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2