《信号与系统》实验指导书
武汉理工大学教材中心
2009年7月
实验一 常用连续时间信号的产生
一、实验目的
1、了解常用连续时间信号的产生方法; 2、掌握MATLAB程序的编程方法; 3、熟悉MATLAB函数的调用方法。
二、实验原理
在时间轴上连续取值的信号,称为连续时间信号。
常用的时域连续信号主要有单位冲激信号、单位阶跃信号、实指信号、复指信号、正(余)弦信号、方波信号、锯齿波信号、抽样信号等。
1、单位冲激信号
???????(t?t0)dt?1 ????(t?t0)?0????(t?t0)2、单位阶跃信号
?1????t?t0?(t)??
0????t?t0?3、实指信号
f(t)?Aeat
4、复指信号
f(t)?Ae(??j?0)t
5、正(余)弦信号
sin(2??t)、cos(2??t)
6、抽样信号
f(t)?Sa(t)?sint t三、实验用函数
1、plot
功能:绘制二维图形。 调用格式:
1
plot(t,y);t为横轴,y为纵轴的线性图形。 2、length
功能:计算某一变量的长度或采样点数。 调用格式:
N=length(t);计算时间向量t的个数并赋给变量N。 3、axis
功能:限定图形坐标的范围。 调用格式:
axis([x1,x2,y1,y2]);横坐标从x1—x2,纵坐标从y1—y2。 4、real
功能:取某一复数的实部。 调用格式:
x=real(h);取复数h的实部赋给x。 5、imag
功能:取某一复数的虚部。 调用格式:
y=imag(h);取复数h的实部赋给y。 6、abs
功能:求幅值或绝对值。 调用格式:
x=abs(h);取复数h的幅值x。 7、angel 功能:求相位。 调用格式:
y=angel(h);取复数h的相位赋给y。 8、square
功能:产生矩形波。 调用格式:
x=square(t);产生周期是2?,幅值从-1~1的方波。
2
x=square(t,duty);产生指定周期的矩形波,其中,duty用于指定脉冲宽度与整个周期的比例。
9、sawtooth
功能:产生锯齿波或三角波。 调用格式:
x=sawtooth(t);产生周期是2?,幅值从-1~1的锯齿波。
x=sawtooth(t,width);用于产生三角波,当width=0.5时,可产生对称的标准三角波;当width=1时,就产生锯齿波。
四、参考实例
例1.1 用Matlab产生一个单位阶跃信号。在?3?t?5的区间里,在t=1处跃变。
%先建立函数stepseq(t,t0) function y=stepseq(t,t0) y=(t-t0>=0); %编写主程序调用该函数 t=-3:0.01:5; t0=1;
y=stepseq(t,t0); plot(t,y)
axis([-3,5,-0.2,1.2])
程序运行结果如图1-1所示:
图1-1 阶跃波形
3
例1.2 产生A=2,a=-0.3或a=0.3的实指信号,并在?5?t?5的范围内显示波形。
Matlab程序如下: A=2; a1=-0.3; a2=0.3; t=-5:0.01:5; y1=A*exp(a1*t); y2=A*exp(a2*t);
subplot(2,1,1); plot(t,y1) subplot(2,1,2); plot(t,y2) 程序运行结果如图1-2所示
图1-2 实指信号波形
例1.3 绘制信号f(t)?e?3t?4jt????(0?t?3)的波形。
Matlab程序如下: t=0:0.01:3; a=-3; b=4; f=exp((a+j*b)*t);
subplot(2,2,1); plot(t,real(f)); title('实部'); subplot(2,2,2); plot(t,imag(f)); title('虚部') ; subplot(2,2,3); plot(t,abs(f)); title('幅值'); subplot(2,2,4); plot(t,angle(f)); title('相位'); 程序运行结果如图1-3所示
4