欢迎来到天天文库
浏览记录
ID:37758102
大小:122.00 KB
页数:7页
时间:2019-05-30
《实验二 离散时间傅里叶变换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二离散时间傅里叶变换一.实验原理1、经由正、逆离散时间傅里叶变换表达的信号傅里叶表示式是信号分析的一个关键部分。X()=(3.9)(3.10)类似地,当LTI系统用于滤波时,作为冲击响应离散时间傅里叶变换的频率响应,提供了LTI系统简介的描述。离散时间傅里叶变换X()是的周期复值函数,周期总是2π,并且基周期通常选在区间[-π,π)上。对离散时间傅里叶变换DTFT来说有两个问题:(1)DTFT的定义对无限长信号是有效的。(2)DTFT是连续变量的函数。在MATLAB中,任何信号(向量)必须是有限长度的,仅此就是第一点成为问题。因此,不可能使用MATLAB计算无限长信
2、号的DTFT。有一个值得注意的例外情形,当能从变换定义式推导出解析式并只是计算它时,可以使用MATLAB计算无限长信号的DTFT。2、对于频率抽样问题。MATLAB擅长在有限网格点上计算DTFT。通常选择足够多的频率以使绘出的图平滑,逼近真实的DTFT。对计算有利的最好选择是在(-π,π)区间上一组均匀地隔开的频率,或者对共轭对称变换选择[0,π]区间。采用上述抽样办法,DTFT式变成X()=DTFT的周期性意味着在-π≤<0区间上的数值是那些对k>N/2的数值。因为上市是在有限数量的频率点=2πk/N处计算,并在有限范围内求和,因此它是可计算的。由于信号长度必须是有限
3、的(0≤n4、FT。绘出在区间-π≤<π上对的DTFT。把实部和虚部分开绘出。另绘出DTFT的幅度。选择频率样本的数量是脉冲长度的5到10倍,以使绘出的图看上去平滑。用不同数量的频率样本做试验。c.注意asinc函数零点的位置是规律分布的。对奇数长脉冲,比如L=15的脉冲重复进行DTFT计算并绘出幅度,同样再次检验零点位置,注意峰值高度。d.对于asinc函数零点的间距与asinc函数的直流值,确定出通用规则。(2)程序M文件function[H,W]=dtft(h,N)N=fix(N);L=length(h);h=h(:);if(N5、(N-1)]';mid=ceil(N/2)+1;W(mid:N)=W(mid:N)-2*pi;W=fftshift(W);H=fftshift(fft(h,N));%bnn=0:11;u=ones(1,12);[X,W]=dtft(u,72);subplot(221),plot(W,real(X));grid,title('REALRESPONSE')xlabel('FREQUENCYW'),ylabel('REALA')subplot(222),plot(W,imag(X));grid,title('IMAGERESPONSE')xlabel('FREQUENCYW'6、),ylabel('IMAGEA')subplot(223),plot(W,abs(X));grid,title('MAGNITUDERESPONSE')xlabel('FREQUENCYW'),ylabel('7、H(w)8、')subplot(224),plot(W,angle(X));grid,title('PHASERESPONSE')xlabel('FREQUENCYW'),ylabel('DEGREES')运行结果%cnn=0:14;u=ones(1,15);[X,W]=dtft(u,90);[Y,W]=dtft(X,90);subplot(111),plot(9、W,abs(Y));grid,title('MAGNITUDERESPONSE')xlabel('FREQUENCYW'),ylabel('10、H(w)11、')运行结果%d如图L=12时由R(e^jw)=0得sin(wL/2)=0即wL/2=k*pi则w=k*pi/36所以零点间距为pi/6直流值:12零点间距*直流值=(pi/6)*12=2*pi(3)结果分析使用dtft函数可以快速准确的计算出脉冲信号的DTFT,频率样本的数量越大时,绘出的图形越平滑。2.asinc的M文件(1)内容编写一个MATLAB的函数如asinc(,L),直接从(
4、FT。绘出在区间-π≤<π上对的DTFT。把实部和虚部分开绘出。另绘出DTFT的幅度。选择频率样本的数量是脉冲长度的5到10倍,以使绘出的图看上去平滑。用不同数量的频率样本做试验。c.注意asinc函数零点的位置是规律分布的。对奇数长脉冲,比如L=15的脉冲重复进行DTFT计算并绘出幅度,同样再次检验零点位置,注意峰值高度。d.对于asinc函数零点的间距与asinc函数的直流值,确定出通用规则。(2)程序M文件function[H,W]=dtft(h,N)N=fix(N);L=length(h);h=h(:);if(N5、(N-1)]';mid=ceil(N/2)+1;W(mid:N)=W(mid:N)-2*pi;W=fftshift(W);H=fftshift(fft(h,N));%bnn=0:11;u=ones(1,12);[X,W]=dtft(u,72);subplot(221),plot(W,real(X));grid,title('REALRESPONSE')xlabel('FREQUENCYW'),ylabel('REALA')subplot(222),plot(W,imag(X));grid,title('IMAGERESPONSE')xlabel('FREQUENCYW'6、),ylabel('IMAGEA')subplot(223),plot(W,abs(X));grid,title('MAGNITUDERESPONSE')xlabel('FREQUENCYW'),ylabel('7、H(w)8、')subplot(224),plot(W,angle(X));grid,title('PHASERESPONSE')xlabel('FREQUENCYW'),ylabel('DEGREES')运行结果%cnn=0:14;u=ones(1,15);[X,W]=dtft(u,90);[Y,W]=dtft(X,90);subplot(111),plot(9、W,abs(Y));grid,title('MAGNITUDERESPONSE')xlabel('FREQUENCYW'),ylabel('10、H(w)11、')运行结果%d如图L=12时由R(e^jw)=0得sin(wL/2)=0即wL/2=k*pi则w=k*pi/36所以零点间距为pi/6直流值:12零点间距*直流值=(pi/6)*12=2*pi(3)结果分析使用dtft函数可以快速准确的计算出脉冲信号的DTFT,频率样本的数量越大时,绘出的图形越平滑。2.asinc的M文件(1)内容编写一个MATLAB的函数如asinc(,L),直接从(
5、(N-1)]';mid=ceil(N/2)+1;W(mid:N)=W(mid:N)-2*pi;W=fftshift(W);H=fftshift(fft(h,N));%bnn=0:11;u=ones(1,12);[X,W]=dtft(u,72);subplot(221),plot(W,real(X));grid,title('REALRESPONSE')xlabel('FREQUENCYW'),ylabel('REALA')subplot(222),plot(W,imag(X));grid,title('IMAGERESPONSE')xlabel('FREQUENCYW'
6、),ylabel('IMAGEA')subplot(223),plot(W,abs(X));grid,title('MAGNITUDERESPONSE')xlabel('FREQUENCYW'),ylabel('
7、H(w)
8、')subplot(224),plot(W,angle(X));grid,title('PHASERESPONSE')xlabel('FREQUENCYW'),ylabel('DEGREES')运行结果%cnn=0:14;u=ones(1,15);[X,W]=dtft(u,90);[Y,W]=dtft(X,90);subplot(111),plot(
9、W,abs(Y));grid,title('MAGNITUDERESPONSE')xlabel('FREQUENCYW'),ylabel('
10、H(w)
11、')运行结果%d如图L=12时由R(e^jw)=0得sin(wL/2)=0即wL/2=k*pi则w=k*pi/36所以零点间距为pi/6直流值:12零点间距*直流值=(pi/6)*12=2*pi(3)结果分析使用dtft函数可以快速准确的计算出脉冲信号的DTFT,频率样本的数量越大时,绘出的图形越平滑。2.asinc的M文件(1)内容编写一个MATLAB的函数如asinc(,L),直接从(
此文档下载收益归作者所有