《实验二离散时间傅里叶变换》由会员分享,可在线阅读,更多相关《实验二离散时间傅里叶变换(11页珍藏版)》请在金锄头文库上搜索。
1、实验二 离散时间傅里叶变换一实验原理1、经由正、逆离散时间傅里叶变换表达的信号傅里叶表示式是信号分析的一个关键部分。X( ej )=nxne j n (3.9)xn12X(ej )ej nd3.10)类似地, 当 LTI 系统用于滤波时, 作为冲击响应离散时间傅里叶变换的频率响应, 提供了 LTI 系统简介的描述。离散时间傅里叶变换X( ej )是 的周期复值函数,周期总是2,并且基周期通常选在区间 - ,)上。对离散时间傅里叶变换 DTFT 来说有两 个问题:(1)DTFT 的定义对无限长信号是有效的。(2)DTFT 是连续变量 的函数。在 MA TLAB 中,任何信号(向量)必须是有限长度
2、的,仅此就是第一点成为问题。因 此,不可能使用 MATLAB 计算无限长信号的 DTFT 。有一个值得注意的例外情形,当 能从变换定义式推导出解析式并只是计算它时,可以使用 MATLAB 计算无限长信号的 DTFT 。2、对于频率抽样问题。 MATLAB 擅长在有限网格点上计算 DTFT 。通常选择足够多的频 率以使绘出的图平滑,逼近真实的 DTFT 。对计算有利的最好选择是在( -,)区间 上一组均匀地隔开的频率,或者对共轭对称变换选择0, 区间。采用上述抽样办法,L1DTFT 式变成 X( ej )= X(ej2k/N )xne j(2k/N)n,k 0,1,2.N 1n0DTFT 的周期
3、性意味着在 - N/2 的数值。因为上市是在有限数量的频率点k =2 k/N 处计算,并在有限范围内求和,因此它是可计算的。由于信号长度必须是有限的( 0 nL ),这个求和式不适用于 xn= an un的情形。 在对 DTFT 进行抽样时, 并不要求 N=L ,尽管通常经由 DFT 进行计算。在正确应用 FFT 计算 N 点 DFT 前,需要对 xn 进行时间混叠。3、计算 DTFT 需要两个函数, MA TLAB 的 freqz 函数计算无限长信号, dtft (h, H)函 数计算有限长信号的 DTFT 。二实验要求理解数值计算在离散时间傅里叶变换中的作用。三实验内容1.脉冲信号的 DT
4、FT (1)要求:设矩形脉冲 rn= 1 0 nL0 其他1sin(1 L)a.证明 rn 的 DTFT 可由 R(ej )21e j (L 1)/2 (3.13)得出,记 asinc( ,L)sin(12 )sin( 12 L)sin( 12 )2( 3.14)b. 使用 dtft 函数计算 12点脉冲信号的 DTFT 。绘出在区间 - 上对 的 DTFT 。把实 部和虚部分开绘出。另绘出 DTFT 的幅度。选择频率样本的数量是脉冲长度的5 到 10 倍,以使绘出的图看上去平滑。用不同数量的频率样本做试验。c. 注意 asinc函数零点的位置是规律分布的。 对奇数长脉冲,比如 L=15 的脉
5、冲重复进行 DTFT 计算并绘出幅度,同样再次检验零点位置,注意峰值高度。d. 对于 asinc 函数零点的间距与 asinc 函数的直流值,确定出通用规则。(2)程序M 文件function H,W = dtft(h,N)N=fix(N);L=length(h);h=h(:);if(NL)errorendW=(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);%bnn=0:11;u=ones(1,12);X,W=dtft(u,72);subplot(221),plo
6、t(W,real(X);grid,title(REAL RESPONSE)xlabel(FREQUENCY W),ylabel(REAL A) subplot(222),plot(W,imag(X);grid,title(IMAGE RESPONSE)xlabel(FREQUENCY W),ylabel(IMAGE A) subplot(223),plot(W,abs(X);grid,title(MAGNITUDE RESPONSE)xlabel(FREQUENCY W),ylabel(|H(w)|) subplot(224),plot(W,angle(X);grid,title(PHASE
7、RESPONSE)xlabel(FREQUENCY W),ylabel(DEGREES)运行结果REAL RESPONSE15-5-4-202AEGAM05ALAER10IMAGE RESPONSE-2 0 2 4 FREQUENCY WPHASE RESPONSEFREQUENCY WMAGNITUDE RESPONSE15105-4 -2 0 2FREQUENCY W0-2 0 2 4FREQUENCY W20 SEERGE%cnn=0:14;u=ones(1,15);X,W=dtft(u,90);Y,W=dtft(X,90);subplot(111),plot(W,abs(Y);grid
8、,title(MAGNITUDE RESPONSE) xlabel(FREQUENCY W),ylabel(|H(w)|) 运行结果908070605040302010MAGNITUDE RESPONSE1234-4%d如图 L=12 时由 R(ejw)=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 的
9、函数如 asinc( ,L) ,直接从(3.14)式计算在频率格上的 asinc(,L) 。 该函数应有两个输入: 长度 L 和频率 的向量。 函数必须检查被零清除的情形, 如 =0 时。 直接计算混叠 sinc 函数( 3.13)式得到的脉冲信号的 DTFT 。绘出幅度。保存该图以便将其 与用 dtft 得到的结果进行比较。(2)程序%asinc 函数function y=asinc(w,L)N=length(w);for i=1:Nif w(i)=0y(i)=L;else y(i)=sin(1/2*w(i)*L)/sin(1/2*w(i);endendL=12;N=84;W=(2*pi/N
10、)*0:(N-1);W=W-pi;H=asinc(W,L);figure(3)plot(W,abs(H);grid,title(MAGNITUDE RESPONSE); xlabel(NORMALIZED FREQUENCY),ylabel(|H(W)|) 运行结果MAGNITUDE RESPONSE3.无限长信号的 DTFT通常不可能计算一个无限长信号的DTFT,但指数信号 hnanun 计算比较容易。当 |a|1, 有hn anunH(ej )anune j n 1 jn 0 1 ae(3.7)利用 freqz 函数可以计算上式:HH, WW freqz(b,a, N,whole)与 dt
11、ft 类似, freqz 有两个输出:交换数值( HH)和频率格点( WW),第四个输入参数是可以选择的, 但如将其设定为 whole , 则输出向量 WW指定频率格点的范围是从0到2 。如果省略第四个参数,频率格点由区间上等间距的 N 个点组成。4. 指数信号(1)内容:对于信号 xn= 0.9nun,使用freqz函数计算其 DTFT X(ej )。A. 对 在区间- 上绘出幅度与相位特性。这需要从freqz 返回的X,W 向量的移位。解释为什么幅度特性是 的偶函数,而相位特性是 的奇函数。B. 推算一阶系统的幅度特性与相位特性的表示式。C. 直接以这些表达式来计算幅度特性与相位特性,并与
12、用 freqz 函数计算出得结果相对比。(2)程序%aN=1000;a=1,-0.9;b=1;X,W=freqz(b,a,N);W=-pi:0.1:pi;X=freqz(b,a,W); subplot(211),plot(W,abs(X); grid,title(MAGNITUDE RESPONSE) xlabel(FREQUENCY W),ylabel(|X(w)|) subplot(212),plot(W,angle(X); grid,title(PHASE RESPONSE) xlabel(FREQUENCY W),ylabel(DEGREES) 运行结果100-4MAGNITUDE RESPONSE-3 -2-1 0 1 FREQUENCY WPHASE RESPONSE234SEERGE-2-410-1-3-2-1 0 1FREQUENCY W234b1假 设 一 阶 差 分方 程 : yn=xn+ayn-1, 其 系 统 方 程 H( ej )= 1 j 其 幅 度1-ae jH(ej )11 a2 - 2acos,相位 H (ej )asinarctan 1 acos%cw=-pi:0.1:pi;x=1./(1-exp(-j.*w); subplot(211),plot(w,abs(x);grid,title(MAGNITUDE RESP