实验二 离散时间的傅里叶变换.docx
- 文档编号:9846666
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:10
- 大小:113.20KB
实验二 离散时间的傅里叶变换.docx
《实验二 离散时间的傅里叶变换.docx》由会员分享,可在线阅读,更多相关《实验二 离散时间的傅里叶变换.docx(10页珍藏版)》请在冰豆网上搜索。
实验二离散时间的傅里叶变换
实验二离散时间的傅里叶变换
一.实验要求:
理解数值计算在离散时间傅里叶的变换中的作用,要求一人一组,2个学时。
二.实验原理:
经由正逆离散时间傅里叶变换表达的傅里叶表示式是信号分析的一个关键部分,下面是分析方程与综合方程。
由以上公式知,离散时间傅里叶变换是w的周期复值函数,周期是
,并且周期常选为[-
].对离散时间傅里叶变换有两个问题:
(1)DTFT的定义对无限长信号是有效的。
(2)DTFT是连续变量的
函数。
第二个问题是频率抽样问题。
Matlab擅长在有线网格点上计算DTFT。
通常选择足够多的频率以使绘出的图平滑,逼近真实的DTFT。
对计算有利的最好选择是在(-π,π)区间上一组均匀的隔开的频率,或者共轭对称变换选择【0,π】,采用上述抽样方法,DTFT式变为
三.DTFT计算:
有限长度信号
计算DTFT需要两个函数。
MATLAB的freqz函数足以应对无限长信号的计算,但是计算有限长信号的DTFT需用一个新的函数,此函数应命名为dtft(h,N),本质上是fft(h,N)的函数层。
function[H,W]=dtft(h,N)
%DTFTcalculateDTFTatNequallyspacedfrequencies
%Usage:
%[H,W]=dtft(h,N)
%h:
finte-lengthinputvector,whoselengthisL
%N:
numberoffrequenciesforevaluatoinover[-pi,pi)
%==>constraint:
N>=L
%HDTFTvalues(complex)
%W:
(2ndoutput)vectoroffreqswhereDTFTiscomputed
%
N=fix(N);
L=length(h);h=h(:
);%<--forvectorsONLY!
!
!
if(N error('DTFT: #datasamplescannotexceed#freqsamples') end W=(2*pi/N)*[0: (N-1)]'; mid=ceil(N/2)+1; W(mid: N)=W(mid: N)-2*pi;%move[pi,2pi)to[-pi,0) W=fftshift(W); H=fftshift(fft(h,N));%movenegativefreqcomponents 三.实验内容: 1、脉冲信号的DTFT 程序为 %exmpleofcalculatingandplottingaDTFT formatcompact,subplot(111) a=ones(1,12); nn=0: 11;xn=a.^nn; [X,W]=dtft(xn,128); subplot(311),plot(W/2/pi,abs(X)); grid,title('MAGNITUDERESPONSE') xlabel('NORMALIZEDFREQUENCY'),ylabel('abs(H(w))') subplot(312),plot(W/2/pi,real(X));grid subplot(313),plot(W/2/pi,imag(X));grid xlabel('NORMALIZEDFREQUENCY'),ylabel('DEGREES') title('PHASERESPONSE') 2.asic的m文件 编写一个matlab文件如asic(w,L),之间从式中计算在频格上的asinc(w,L),该函数有两个输入: L和W,函数必须检查被0除的情形。 直接计算混叠sinc函数得到脉冲信号DTFT绘出幅度,保存该图以便与dtft得到的结果比较。 程序: 函数文件是 functiona=asinc(w,L) if(w==0) a=L; elsea=sin(1/2*w*L)/sin(1/2*w); end 当输入asinc(0,2) ans= 2.a=L(m); w=-pi: pi/50: pi; b=sin(1/2*w*m)./sin(1/2*w); c=exp(-j*w*(m-1)/2); R=b.*c; plot(w,abs(R)) Grid 当输入L(8)有 而用dtft(h,N)函数时,输入 W=(2*pi/N)*[0: (N-1)]'; mid=ceil(N/2)+1; W(mid: N)=W(mid: N)-2*pi; W=fftshift(W); H=fftshift(fft(h,N)); 当输入n=0: 7; r=ones(8,1); r (1)=1 [X,W]=dtft(r,128); plot(W,abs(X)) grid 结果分析: 两种方法得到的图形基本一致,证明了公式的真确性。 证明了asinc函数的正确。 5复指数信号 B.程序: >>a=[1,-0.95*exp(j*3*pi/11)]; >>N=100; >>[HH,WW]=freqz(1,a,N,'whole');mid=ceil(N/2)+1; >>mid=ceil(N/2)+1; >>WW(mid: N)=WW(mid: N)-2*pi; >>WW=fftshift(WW); >>HH=fftshift(HH); >>subplot(111),plot(WW/2/pi,abs(HH)); >>grid,title('MAGNITUDERESPONSE') >>xlabel('NORMALIZEDFREQUENCY'),ylabel('|H(w)|') 结果分析: 尖峰位置在w=0.273pi处,可见其尖峰位置等于其极坐标中的θ=3*pi/11 c.程序: >>a=[1,-0.95*exp(j*3*pi/5)]; >>N=100; >>[HH,WW]=freqz(1,a,N,'whole');mid=ceil(N/2)+1; >>mid=ceil(N/2)+1; >>WW(mid: N)=WW(mid: N)-2*pi; >>WW=fftshift(WW); >>HH=fftshift(HH); >>subplot(111),plot(WW/2/pi,abs(HH)); >>grid,title('MAGNITUDERESPONSE') >>xlabel('NORMALIZEDFREQUENCY'),ylabel('|H(w)|') 结果分析: 绘制结果和预期结果相一致,尖峰位置和相位θ相等 d.当r=0.975时的程序 >>a=[1,-0.975*exp(j*3*pi/5)]; >>N=100; >>[HH,WW]=freqz(1,a,N,'whole');mid=ceil(N/2)+1; >>mid=ceil(N/2)+1; >>WW(mid: N)=WW(mid: N)-2*pi; >>WW=fftshift(WW); >>HH=fftshift(HH); >>subplot(111),plot(WW/2/pi,abs(HH)); >>grid,title('MAGNITUDERESPONSE') >>xlabel('NORMALIZEDFREQUENCY'),ylabel('|H(w)|') 当r=0.95时的程序 >>a=[1,-0.95*exp(j*3*pi/5)]; >>N=100; >>[HH,WW]=freqz(1,a,N,'whole');mid=ceil(N/2)+1; >>mid=ceil(N/2)+1; >>WW(mid: N)=WW(mid: N)-2*pi; >>WW=fftshift(WW); >>HH=fftshift(HH); >>subplot(111),plot(WW/2/pi,abs(HH)); >>grid,title('MAGNITUDERESPONSE') >>xlabel('NORMALIZEDFREQUENCY'),ylabel('|H(w)|') 当r=0.9时 程序: >>a=[1,-0.9*exp(j*3*pi/5)]; >>N=100; >>[HH,WW]=freqz(1,a,N,'whole');mid=ceil(N/2)+1; >>mid=ceil(N/2)+1; >>WW(mid: N)=WW(mid: N)-2*pi; >>WW=fftshift(WW); >>HH=fftshift(HH); >>subplot(111),plot(WW/2/pi,abs(HH)); >>grid,title('MAGNITUDERESPONSE') >>xlabel('NORMALIZEDFREQUENCY'),ylabel('|H(w)|') 当r=0.8时 程序: >>a=[1,-0.8*exp(j*3*pi/5)]; >>N=100; >>[HH,WW]=freqz(1,a,N,'whole');mid=ceil(N/2)+1; >>mid=ceil(N/2)+1; >>WW(mid: N)=WW(mid: N)-2*pi; >>WW=fftshift(WW); >>HH=fftshift(HH); >>subplot(111),plot(WW/2/pi,abs(HH)); >>grid,title('MAGNITUDERESPONSE') >>xlabel('NORMALIZEDFREQUENCY'),ylabel('|H(w)|') 结果分析: 由以上结果可以看出复数的幅度决定其尖峰的幅值,而其相位θ则决定了尖峰所在的位置。 四: 实验总结 通过这次实验,使我熟悉了MATLAB的用法,进一步掌握了一些常用的指令,并且学会了计算常见信号DTFT的方法,进一步熟悉了复指数信号DTFT的性质,提升了自己分析问题和解决问题的能力。 虽然过程比较曲折,但是收获非常大。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 离散时间的傅里叶变换 实验 离散 时间 傅里叶变换