实验报告模板-实验一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一离散时间信号的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实现序列的傅里叶变换与信号重构

相关文档
最新文档