实验2离散时间傅里叶变换.docx
- 文档编号:8052816
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:12
- 大小:353.64KB
实验2离散时间傅里叶变换.docx
《实验2离散时间傅里叶变换.docx》由会员分享,可在线阅读,更多相关《实验2离散时间傅里叶变换.docx(12页珍藏版)》请在冰豆网上搜索。
实验2离散时间傅里叶变换
电子科技大学
实验报告
学生:
项阳学号:
2010231060011指导教师:
邓建
一、实验项目名称:
离散时间傅里叶变换
二、实验目的:
熟悉序列的傅立叶变换、傅立叶变换的性质、连续信号经理想采样后进行重建,加深对时域采样定理的理解。
三、实验容:
1.求下列序列的离散时间傅里叶变换
(a)
(b)
2.设
画出
并观察其周期性。
3.设
画出
并观察其共轭对称性。
4.验证离散时间傅里叶变换的线性、时移、频移、反转(翻褶)性质。
5.已知连续时间信号为
,求:
(a)
的傅里叶变换
;
(b)采样频率为5000Hz,绘出
用理想插函数
重建
,并对结果进行讨论;
(c)采样频率为1000Hz,绘出
,用理想插函数
重建
,并对结果进行讨论。
四、实验原理:
1.离散时间傅里叶变换(DTFT)的定义:
2.周期性:
是周期为
的函数
3.对称性:
对于实值序列
,
是共轭对称函数。
4.线性:
对于任何
,有
5.时移
6.频移
7.反转(翻褶)
五、实验器材(设备、元器件):
PC机、WindowsXP、MatLab7.1
六、实验步骤:
本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
七、实验源代码:
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);grid
xlabel('frequencyinpiunits');title('MagnitudePart');ylabel('Magnitude')
subplot(2,2,3);plot(w/pi,angx);grid
xlabel('frequencyinpiunits');title('AnglePart');ylabel('Radians')
subplot(2,2,2);plot(w/pi,realx);grid
xlabel('frequencyinpiunits');title('RealPart');ylabel('Real')
subplot(2,2,4);plot(w/pi,imagx);grid
xlabel('frequencyinpiunits');title('ImaginaryPart');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);grid
xlabel('frequencyinpiunits');title('magnitudePart')
subplot(2,2,3);plot(k/500,angX);grid
xlabel('frequencyinpiunits');title('AnglePart')
subplot(2,2,2);plot(k/500,realX);grid
xlabel('frequencyinpiunits');title('RealPart')
subplot(2,2,4);plot(k/500,imagX);grid
xlabel('frequencyinpiunits');title('ImaginaryPart')
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);grid
xlabel('frequencyinunitsofpi');ylabel('|x|')
title('MagnitudePart')
subplot(2,1,2);plot(w/pi,angX/pi);grid
xlabel('frequencyinunitsofpi');ylabel('radians/pi')
title('AnglePart')
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);grid
axis([-2,2,0,15])
xlabel('frequencyinunitsofpi');ylabel('|x|')
title('MagnitudePart')
subplot(2,1,2);plot(w/pi,angX/pi);grid
axis([-2,2,-1,1])
xlabel('frequencyinunitsofpi');ylabel('radians/pi')
title('AnglePart')
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('frequencyinunitsofpi');ylabel('|X|')
title('MagnitudeofX')
subplot(2,2,2);plot(w/pi,angle(X)/pi);grid;axis([-1,1,-1,1])
xlabel('frequencyinunitsofpi');ylabel('randiands/pi')
title('AngleofX')
subplot(2,2,3);plot(w/pi,abs(Y));grid;axis([-1,1,0,60])
xlabel('frequencyinunitsofpi');ylabel('|Y|')
title('MagnitudeofY')
subplot(2,2,4);plot(w/pi,angle(Y)/pi);grid;axis([-1,1,-1,1])
xlabel('frequencyinunitsofpi');ylabel('randiands/pi')
title('AngleofY')
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('tinmsec');ylabel('xa(t)')
title('AnalogSignakl')
subplot(2,1,2);plot(W/(2*pi*1000),Xa*1000);
xlabel('FrequencyinKHz');ylabel('Xa(jW)'*1000)
title('Continuous-tineFouroerTransform')
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('tinmsec');ylabel('x1(n)')
title('DiscreteSignal');holdon
stem(n*Ts*1000,x);gtext('Ts=0.2msec');holdoff
subplot(2,1,2);plot(w/pi,X);
xlabel('Frequencyinpiunits');ylabel('X1(w)')
title('Discrete-timeFourierTransform')
八、实验数据及结果分析:
2.1.a
2.1.b
2.2
2.3
2.4
2.5a
2.5bc
九、实验结论:
离散时间傅里叶变换(DTFT,Discrete-timeFourierTransform)是傅里叶变换的一种。
它将以离散时间nT(其中,T为采样间隔)作为变量的函数(离散时间信号)f(nT)变换到连续的频域,即产生这个离散时间信号的连续频谱F(eiω),值得注意的是这一频谱是周期的。
十、总结及心得体会:
通过此次实验中练习使用matlab语言进行离散傅里叶级数变换和逆变换的方法,更为熟悉的掌握了matlab的功能,在实验过程中也遇到很多小问题,并通过仔细检查和查阅相关书籍解决此类问题,让我深刻认识到,细节的重要性。
在使用help过程中,深切体会到良好的英语基础和充实的课堂知识的重要性。
十一、对本实验过程及方法、手段的改进建议:
建议大家多使用help
报告评分:
指导教师签字:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验2 离散时间傅里叶变换 实验 离散 时间 傅里叶变换