当前位置:文档之家› 实验2 离散时间傅里叶变换

实验2 离散时间傅里叶变换

电 子 科 技 大 学实 验 报 告学生姓名:项阳 学 号: 2010231060011 指导教师:邓建一、实验项目名称:离散时间傅里叶变换二、实验目的:熟悉序列的傅立叶变换、傅立叶变换的性质、连续信号经理想采样后进行重建,加深对时域采样定理的理解。

三、实验内容:1. 求下列序列的离散时间傅里叶变换(a) ()(0.5)()n x n u n = (b) (){1,2,3,4,5}x n =2. 设/3()(0.9),010,j n x n e n π=≤≤画出()j X e ω并观察其周期性。

3. 设()(0.9),1010,n x n n =--≤≤画出()j X e ω并观察其共轭对称性。

4. 验证离散时间傅里叶变换的线性、时移、频移、反转(翻褶)性质。

5. 已知连续时间信号为t a e t x 1000)(-=,求:(a) )(t x a 的傅里叶变换)(Ωj X a ;(b) 采样频率为5000Hz ,绘出1()j X e ω,用理想内插函数sinc()x 重建)(t x a ,并对结果进行讨论;(c) 采样频率为1000Hz ,绘出2()j X e ω,用理想内插函数sinc()x 重建)(t x a ,并对结果进行讨论。

四、实验原理:1. 离散时间傅里叶变换(DTFT)的定义:2.周期性:()j X e ϖ是周期为2π的函数(2)()()j j X e X e ϖϖπ+=3.对称性:对于实值序列()x n ,()j X e ϖ是共轭对称函数。

*()()Re[()]Re[()]Im[()]Im[()]()()()()j j j j j j j j j j X e X e X e X e X e X e X e X e X e X e ϖϖϖϖϖϖϖϖϖϖ-----===-=∠=-∠4.线性:对于任何12,,(),()x n x n αβ,有1212[()()][()][()]F x n x n F x n F x n αβαβ+=+5.时移[()][()]()j k j j k F x n k F x n e X e e ωωω---==6.频移00()[()]()j n j F x n e X e ωωω-=7.反转(翻褶)[()]()j F x n X e ω--=五、实验器材(设备、元器件):PC 机、Windows XP 、MatLab 7.1六、实验步骤:本实验要求学生运用MATLAB 编程产生一些基本的离散时间信号,并通过MATLAB 的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB 的使用。

[()]()()(),()j j jn z e n n F x n X e X z x n e x n ωωω∞-==-∞∞=-∞===<∞∑∑收敛条件为:七、实验源代码:1.(a)w = [0:1:500]*pi/500;x = exp(j*w) ./ (exp(j*w) - 0.5*ones(1,501));magx = abs(x);angx = angle(x);realx = real(x);imagx = imag(x);subplot(2,2,1);plot(w/pi,magx);gridxlabel('frequency in pi units');title('Magnitude Part');ylabel('Magnitude') subplot(2,2,3);plot(w/pi,angx);gridxlabel('frequency in pi units');title('Angle Part');ylabel('Radians')subplot(2,2,2);plot(w/pi,realx);gridxlabel('frequency in pi units');title('Real Part');ylabel('Real')subplot(2,2,4);plot(w/pi,imagx);gridxlabel('frequency in pi units');title('Imaginary Part');ylabel('Imaginary')1.(b)n = -1:3;x = 1:5;k = 0:500;w = (pi/500)*k;X = x * (exp(-j*pi/500)) .^ (n'*k);magX = abs(X);angX = angle(X);realX = real(X);imagX = imag(X);subplot(2,2,1);plot(k/500,magX);gridxlabel('frequency in pi units');title('magnitude Part')subplot(2,2,3);plot(k/500,angX);gridxlabel('frequency in pi units');title('Angle Part')subplot(2,2,2);plot(k/500,realX);gridxlabel('frequency in pi units');title('Real Part')subplot(2,2,4);plot(k/500,imagX);gridxlabel('frequency in pi units');title('Imaginary Part')2.n = 0:10; x = (0.9*exp(j*pi/3)).^n;k = -200:200;w = (pi/100)*k;X = x * (exp(-j*pi/100)) .^ (n'*k);magX = abs(X);angX = angle(X);subplot(2,1,1);plot(w/pi,magX);gridxlabel('frequency in units of pi');ylabel('|x|')title('Magnitude Part')subplot(2,1,2);plot(w/pi,angX/pi);gridxlabel('frequency in units of pi');ylabel('radians/pi') title('Angle Part')3.subplot(1,1,1)n = -5:5; x = (-0.9).^n;k = -200:200;w = (pi/100)*k;X = x * (exp(-j*pi/100)) .^ (n'*k);magX = abs(X);angX = angle(X);subplot(2,1,1);plot(w/pi,magX);gridaxis([-2,2,0,15])xlabel('frequency in units of pi');ylabel('|x|')title('Magnitude Part')subplot(2,1,2);plot(w/pi,angX/pi);gridaxis([-2,2,-1,1])xlabel('frequency in units of pi');ylabel('radians/pi') title('Angle Part')4.(1)x1 = rand(1,11);x2 = rand(1,11);n = 0:10;alpha = 2; beta = 3;k = 0:500;w = (pi/500)*k;X1 = x1 * (exp(-j*pi/500)).^(n'*k);X2 = x2 * (exp(-j*pi/500)).^(n'*k);x = alpha*x1 + beta*x2;X = x * (exp(-j*pi/500)).^(n'*k);X_check = alpha*X1 + beta*X2;error = max(abs(X - X_check))4.(2)x = rand(1,11);n = 0:10;k = 0:500;w = (pi/500)*k;X = x * (exp(-j*pi/500)).^(n'*k);y = x; m = n+2;Y = y * (exp(-j*pi/500)).^(m'*k);Y_check = (exp(-j*2).^w).*X;error = max(abs(Y - Y_check))4.(3)n = 0:100; x = cos(pi*n/2);k = -100:100;w = (pi/100)*k;X = x * (exp(-j*pi/100)) .^ (n'*k);y = exp(j*pi*n/4).*x;Y = y * (exp(-j*pi/100)) .^ (n'*k);subplot(1,1,1)subplot(2,2,1);plot(w/pi,abs(X));grid;axis([-1,1,0,60]) xlabel('frequency in units of pi');ylabel('|X|')title('Magnitude of X')subplot(2,2,2);plot(w/pi,angle(X)/pi);grid;axis([-1,1,-1,1]) xlabel('frequency in units of pi');ylabel('randiands/pi') title('Angle of X')subplot(2,2,3);plot(w/pi,abs(Y));grid;axis([-1,1,0,60]) xlabel('frequency in units of pi');ylabel('|Y|')title('Magnitude of Y')subplot(2,2,4);plot(w/pi,angle(Y)/pi);grid;axis([-1,1,-1,1]) xlabel('frequency in units of pi');ylabel('randiands/pi')title('Angle of Y')4.(4)n = -5:10; x = rand(1,length(n));k = -100:100;w = (pi/100)*k;X = x * (exp(-j*pi/100)) .^ (n'*k);y = fliplr(x);m = -fliplr(n);Y = y* (exp(-j*pi/100)).^(m'*k);Y_check = fliplr(X);error = max(abs(Y - Y_check))5.(a)Dt = 0.00005; t = -0.005:Dt:0.005;xa = exp(-1000*abs(t)); Wmax = 2*pi*2000;K =500; k = 0:1:K;W = k*Wmax/K; Xa = xa * exp(-j*t'*W)*Dt;Xa = real(Xa);W = [-fliplr(W),W(2:501)];Xa = [fliplr(Xa),Xa(2:501)];subplot(1,1,1)subplot(2,1,1);plot(t*1000,xa);xlabel('t in msec');ylabel('xa(t)')title('Analog Signakl')subplot(2,1,2);plot(W/(2*pi*1000),Xa*1000);xlabel('Frequency in KHz');ylabel('Xa(jW)'*1000)title('Continuous-tine Fouroer Transform')5.(b)(c)Dt = 0.00005; t = -0.005:Dt:0.005;xa = exp(-1000*abs(t)); Ts = 0.0002;n = -25:1:25;x = exp(-1000*abs(n*Ts));K =500; k = 0:1:K;w = pi*k/K;X = x * exp(-j*n'*w);X = real(X);w = [-fliplr(w),w(2:K+1)];X = [fliplr(X),X(2:K+1)];subplot(1,1,1)subplot(2,1,1);plot(t*1000,xa);xlabel('t in msec');ylabel('x1(n)')title('Discrete Signal');hold onstem(n*Ts*1000,x);gtext('Ts=0.2 msec');hold offsubplot(2,1,2);plot(w/pi,X);xlabel('Frequency in pi units');ylabel('X1(w)')title('Discrete-time Fourier Transform')八、实验数据及结果分析:2.1.a2.22.42.5bc九、实验结论:离散时间傅里叶变换(DTFT,Discrete-time Fourier Transform)是傅里叶变换的一种。

相关主题