资源描述
课程名称:数字信号处理
实验成绩:
指导教师:
实 验 报 告
院系: 信息工程学院
班级:
学号:
姓名:
日期: 2011. 10.16
实验一 用MATLAB产生时域离散信号
一.编写程序,产生以下离散序列:
(1)f(n)=δ(n) (-3<n<4)
程序清单:n1=-3;n2=4;n0=0;
n=n1:n2;
x=[n==n0];
stem(n,x,'filled');
axis([n1,n2,0,1.1*max(x)]);
xlabel('时间(n)');ylabel('幅度x(n)');
title('单位脉冲序列');
程序运行结果如下图:
(2)f(n)=u(n) (-5<n<5)
程序清单: n1=-5;n2=5;n0=0;
n=n1:n2;
x=[n>=n0];
stem(n,x,'filled');
axis([n1,n2,0,1.1*max(x)]);
xlabel('时间(n)');ylabel('幅度x(n)');
title('单位阶跃序列');
程序运行结果如下图:
(3)f(n)= e(0.1+j1.6∏)n (0<n<16)
程序清单: n1=16;a=0.1;w=1.6*pi;
n=0:n1;
x=exp((a+j*w)*n);
subplot(2,2,1);plot(n,real(x));
title('复指数信号的实部');
subplot(2,2,3);stem(n,real(x),'filled');
title('复指数序列的实部');
subplot(2,2,2);plot(n,imag(x));
title('复指数信号的虚部');
subplot(2,2,4);stem(n,imag(x),'filled');
title('复指数序列的虚部');
程序运行结果如下图:
(4) f(n)=3sin(nП/4) (0<n<20)
程序清单: f=0.125;Um=3;nt=2;
N=48;T=1/f;
dt=T/N;
n=0:nt*N-1;
tn=n*dt;
x=Um*sin(2*f*pi*tn);
subplot(2,1,1);plot(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(t)');
subplot(2,1,2);stem(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(n)');
程序运行结果如下图:
(5)、一个连续的周期性方波信号频率为200Hz,信号幅度在-1~+1V之间,要求在图形窗口上显示其两个周期的波形。以4kHz的频率对连续信号进行采样,编写程序生成连续信号和其采样获得的离散信号波形。
程序清单: f=200;nt=2;
N=20;T=1/f;
dt=T/N;
n=0:nt*N-1;
tn=n*dt;
x=square(2*f*pi*tn,50);
subplot(2,1,1);plot(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(t)');
subplot(2,1,2);stem(tn,x);
axis([0,nt*T,1.1*min(x),1.1*max(x)]);
ylabel('x(n)');
Box
程序运行结果如下图:
二. 思考题:
通过例题程序,你发现采样频率Fs、采样点数N、采样时间间隔dt在程序编写中有怎样的联系?使用时需注意什么问题?
答:联系:Fs=1/dt,N=T/dt
使用时应注意要使:Fs≥2/T,只有这样才能唯一的恢复原信号,不会产生混叠现象。
三. 实验总结:
通过本次实验,我知道了MATLAB基本使用方法,以及几个常用命令的含义,用ones函数可以产生单位接阶跃序列,单位脉冲序列可由判断条件(x=[n==n0])真假产生,另外MATLAB中已定义的字符不能用其它的代替,例如pi表示3.1415926.....
第 5页 共 5 页
展开阅读全文