实验1信号的时域描述与运算汇编.docx
《实验1信号的时域描述与运算汇编.docx》由会员分享,可在线阅读,更多相关《实验1信号的时域描述与运算汇编.docx(22页珍藏版)》请在冰豆网上搜索。
实验1信号的时域描述与运算汇编
一,实验目的
作为基础性实验部分,实验1使我们了解和掌握信号的MATLAB表示及可视化方法、掌握信号基本时域运算的MATLAB实现方法,学会利用MATLAB分析常用新号。
二,实验原理
实验分为了四个部分:
1.连续时间信号的MATLAB表示;
①向量表示法
t=n:
p:
q
x=sin(t)
②符号对象表示
symst
x=sin(t)
2.连续时间信号的时域运算;
①相加和相乘
+,*
②微分和积分
定积分:
quad(‘function_name’,a,b)
差分:
diff函数
③移位、反转和尺度变换
3.离散时间信号的MATLAB表示;
stem函数
4.离散时间信号的时域运算;
相加、相乘、移位和反转。
三,实验内容
(1)利用MATLAB绘制下列连续时间信号波形:
①x(t)=(1-e^(-0.5t))u(t)
symst
x(t)=(1-exp(-0.5*t))*heaviside(t)
ezplot(x)
xlabel('t(s)')
ylabel('x(t)')
title('t-x(t)')
输出:
②x(t)=cos(πt)[u(t)-u(t-2)]
t=-4:
0.01:
4
x(t)=(cos(pi*t)).*(heaviside(t)-heaviside(t-2))
plot(x)
xlabel('t(s)')
ylabel('x(t)')
title('t-x(t)')
输出:
③x(t)=(|t|/2)cos(πt)[u(t+2)-u(t-2)]
symst
x=abs(t)/2*cos(pi*t)*(heaviside(t+2)-heaviside(t-2))
ezplot(x)
xlabel('t(s)')
ylabel('x(t)')
title('t-x(t)')
输出:
④x(t)=e^(-t)sin(2πt)[u(t)-u(t-3)]
symst
x=exp(-t)*sin(2*pi*t)*(heaviside(t)-heaviside(t-3))
ezplot(x,[-1,4])
axis([-1,4,-0.5,0.8])
xlabel('t(s)')
ylabel('x(t)')
title('t-x(t)')
输出:
(2)利用MATLAB绘制下列离散时间信号波形:
①x(n)=u(n-3)
n=1:
10
x=1*(n>=3)
stem(n,x,'filled')
axis([0,10,-1,5])
xlabel('n(s)')
ylabel('x(n)')
title('n-x(n)')
输出:
②x(n)=(-1/2)^n*u(n)
n=-10:
10
b=1*(n>=0)
x=((-1/2).^n).*b
stem(n,x,'filled')
axis([-1010-11])
xlabel('n(s)')
ylabel('x(n)')
title('n-x(n)')
输出:
③x(n)=n[u(n)-u(n-5)]
n=1:
10
a=1*(n>=0)
b=1*(n>=5)
x=n.*(a-b)
stem(n,x,'filled')
xlabel('n(s)')
ylabel('x(n)')
title('n-x(n)')
输出:
④x(n)=sin(n2/π)u(n)
n=1:
10
a=1*(n>=0)
x=sin(n.*(pi/2)).*a
stem(n,x,'filled')
xlabel('n(s)')
ylabel('x(n)')
title('n-x(n)')
输出:
(3)利用MATLAB生成并绘制连续周期矩形波信号,要求周期为2,峰值为3,显示3个周期的波形。
t=0:
0.001:
6;
y=3*square(pi*t,50);
plot(t,y);
grid
ylim([-44])
xim([06])
xlabel('t(s)')
ylabel('x(t)')
title('矩形波')
输出:
(4)已知如图所示信号x1(t),及信号x2(t)=sin(2πt),用MATLAB绘出下列信号的波形:
①x3(t)=x1(t)+x2(t)
t=-10:
0.01:
10
x1=4*tripuls(t,8).*heaviside(t)
x2=sin(2*pi*t)
x3=x1+x2
plot(t,x3)
xlabel('t(s)')
ylabel('x(t)')
title('t-x3(t)')
输出:
②x4(t)=x1(t)*x2(t)
t=0:
0.01:
4
x=-t+4
x2=sin(2*pi*t)
x4=x.*x2
plot(t,x4)
xlabel('t(s)')
ylabel('x(t)')
title('t-x4(t)')
输出:
③x5(t)=x1(-t)+x1(t)
t=-10:
0.01:
10
x1=4*tripuls(t,8).*heaviside(t)
x2=4*tripuls(t,8).*heaviside(-t)
x5=x1+x2
plot(t,x5)
xlabel('t(s)')
ylabel('x(t)')
title('t-x5(t)')
输出:
④x6(t)=x2(t)*x3(t)
t=0:
0.01:
4
x2=sin(2*pi*t)
x4=sin(2*pi*(t-1))
x=-(t-1)+4
x3=x4+x
x6=x2.*x3
plot(t,x6)
xlabel('t(s)')
ylabel('x(t)')
title('t-x6(t)')
输出:
(5)已知离散时间信号x(n)波形如图,用MATLAB绘出x(n)、x(-n)、x(n+2)和x(n-2)的波形。
①x(n)
n=-3:
4
x=1*(n>=-2)+1*(n>=-1)+1*(n>=0)-3*(n>=4)
stem(n,x,'filled')
axis([-3,4,0,5])
xlabel('n(s)')
ylabel('x(n)')
title('x(n)')
输出:
②x(-n)
n=-4:
3
x=1*(-n>=-2)+1*(-n>=-1)+1*(-n>=0)-3*(-n>=4)
stem(n,x,'filled')
axis([-4,3,0,5])
xlabel('n(s)')
ylabel('x(-n)')
title('x(-n)')
输出:
③x(n+2)
n=-4:
4
x=1*(n>=-2)+1*(n>=-1)+1*(n>=0)-3*(n>=4)
stem(n,x,'filled')
axis([-4,3,0,5])
xlabel('n(s)')
ylabel('x(n+2)')
title('x(n+2)')
输出:
④x(n-2)
n=-1:
6
x=1*(n>=0)+1*(n>=1)+1*(n>=2)-3*(n>=6)
stem(n,x,'filled')
axis([-1,6,0,5])
xlabel('n(s)')
ylabel('x(n-2)')
title('x(n-2)')
输出:
(6)用MATLAB编程绘制下列信号的时域波形,观察信号是否为周期信号?
若是周期信号,周期是多少?
若不是周期信号,请说明原因。
①
答:
是周期信号,周期T=8。
t=-10:
0.01:
10
x=1+cos(pi*t/4-pi/3)+2.*cos(pi*t/2-pi/4)+cos(pi*t*2)
plot(t,x)
xlabel('t')
ylabel('x(t)')
title('t-x(t)')
输出:
②
答:
是周期信号,周期T=2π。
t=-10:
0.01:
10
x=sin(t)+cos(pi*t)
plot(t,x)
xlabel('t')
ylabel('x(t)')
title('t-x(t)')
输出:
③
)
答:
是周期信号,周期为3。
n=-10:
10
x=2+3.*sin(2*n*pi/3-pi/8)
stem(n,x,'filled')
xlabel(‘n')
ylabel('x(n)')
title('t-x(n)')
输出:
④
答:
是周期信号,周期为12。
n=-10:
10
x=cos(pi*n/6-pi/3)+sin(pi*n/3-pi/4)+cos(pi*n/2)
stem(t,x,’filled’)
xlabel(‘n')
ylabel('x(n)')
title('t-x(n)')
输出:
四,心得体会
作为第一次接触MATLAB的新手,我在这第一次练习中体会到了MATLAB对于信号绘制上的强大功能,帮助我更好地理解了信号与系统课程的内容,更直观地认识到信号图像。
使我对于MATLAB软件产生了浓厚的兴趣,在之后的课程里,希望能够学习到更多有意思的功能。