实验报告模板-实验一
试验一 离散时间信号的MATLAB实现 课程名称:数字信号处理 试验日期: 2016.4.21 班级: 数媒1403 姓名: 李欣 学号: 1030514327 一、试验目的 驾驭:(1) 序列的生成; (2) 离散序列的基本运算与波形变换的MATLAB实现; (3) 线性时不变系统求解的MATLAB实现; (4) 序列的傅里叶变换与信号重构MATLAB实现 二、试验要求 根据试验材料内容,利用MATLAB编程实现相关任务。 三、试验步骤 (以试验材料第四部分“序列的傅里叶变换与信号重构MATLAB实现”为例,给出试验步骤描述、相关代码等。) 程序如下: 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(-1i*t *W)*Dt; Xa=real(Xa); W=[-fliplr(W),W(2:501)]; Xa=[fliplr(Xa),Xa(2:501)]; figure(1) subplot(2,1,1); plot(t*1000,xa, . ); xlabel( t in msec ); ylabel( xa(t) ); gtext( 模拟信号 ); subplot(2,1,2); plot(W/(2*pi*1000),Xa*1000, . ); xlabel( Frequence in KHz ); ylabel( Xa(jw)*1000 ); gtext( 连续时间傅立叶变换 ); 程序运行结果: 程序如下: 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(-1i*n *w); X=real(X); w=[-fliplr(w),w(2:501)]; X=[fliplr(X),X(2:501)]; figure subplot(2,1,1); plot(t*1000,xa, . ); ylabel( xa1(t) ); gtext( 离散信号 ); hold on ; stem(n*Ts*1000,x); hold off ; subplot(2,1,2); plot(w/pi,X, . ); ylabel( X1(jw) ); gtext( 离散时间傅立叶变换 ); gtext( Ts=0.2msec ) 程序运行结果: 程序如下: Ts1=0.0002; Fs1=1/Ts1; n1=-25:1:25; nTs1=n1*Ts1; %离散时间信号 x1=exp(-1000*abs(nTs1)); Ts2=0.001; Fs2=1/Ts2;n2=-5:1:5; nTs2=n2*Ts2; x2=exp(-1000*abs(nTs2)); Dt=0.00005; t=-0.005:Dt:0.005; %模拟信号重构 xa1=x1*sinc(Fs1*(ones(length(nTs1),1)*t-nTs1 *ones(1,length(t)))); xa2=x2*sinc(Fs2*(ones(length(nTs2),1)*t-nTs2 *ones(1,length(t)))); subplot(2,1,1); plot(t*1000,xa1, . ); ylabel( xa1(t) ); title( 从x1(n)重构模拟信号xa(t) ); hold on; stem(n1*Ts1*1000,x1); hold off; subplot(2,1,2);plot(t*1000,xa2, . ); ylabel( xa2(t) ); title( 从x2(n)重构模拟信号xa(t) ); hold on; stem(n2*Ts2*1000,x2); hold off 程序运行结果: 四、试验体会 (1) 驾驭了MATLAB的基本操作以及学会了序列的生成; (2) 学会了用MATLAB实现离散序列的基本运算与波形变换; (3) 学会了用MATLAB实现线性时不变系统求解; (4) 学会了用MATLAB实现序列的傅里叶变换与信号重构