1、实验一 离散时间信号的MATLAB实现课程名称:数字信号处理 实验日期: 2016.4.21 班级: 数媒 1403 姓名: 李欣 学号: 1030514327 一、实验目的掌握:(1) 序列的生成; (2) 离散序列的基本运算与波形变换的MATLAB实现; (3) 线性时不变系统求解的MATLAB实现; (4) 序列的傅里叶变换与信号重构MATLAB实现二、实验要求按照实验材料内容,利用 MATLAB 编程实现相关任务。三、实验步骤(以实验材料第四部分“序列的傅里叶变换与信号重构MATLAB实现”为例,给出实验步骤描述、相关代码等。)程序如下:Dt=0.00005;t=-0.005: Dt:
2、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(F
3、requence 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,
4、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;
5、 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实现序列的傅里叶变换与信号重构