实验1信号的时域描述与运算Word格式.docx
《实验1信号的时域描述与运算Word格式.docx》由会员分享,可在线阅读,更多相关《实验1信号的时域描述与运算Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
![实验1信号的时域描述与运算Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/3/7ee6331c-bd1a-4cf0-a749-90cd26a7e534/7ee6331c-bd1a-4cf0-a749-90cd26a7e5341.gif)
如果连续时间信号可以用表达式来描述,则还可以用符号表达式来表示信号。
例如对于上述正弦信号,可以用符号对象表示如下:
symst;
利用ezplot(x)命令可以绘制上述信号的时域波形。
2、连续时间信号的时域运算
对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及移位、反转、尺度变换等。
(1)相加和相乘
对于两个采用向量表示的可以直接使用算术运算的运算符“+”和“*”来计算,此时要求表示两信号的向量时间范围和采样间隔相同。
采用符号对象表示的两个信号,可以直接根据符号对象的运算规则运算。
(2)微分和积分
对于向量表示法表示的连续时间信号,可以通过数值计算的方法计算信号的微分和积分。
这里微分是用差分来近似求取的,由时间向量
和采样值向量
表示的连续时间信号,其微分可以下式实现
其中
表示采样间隔。
MATLAB中用diff函数来计算差分
。
连续时间信号的定积分可以由MATLAB的quad函数实现,调用格式为
quad(‘function_name’,a,b)
其中,function_name为被积函数名,a、b为积分区间。
(3)移位、反转和尺度变换
移位:
自变量
换为(
,表示信号在
轴上整体移动。
反转:
换为-
,表示信号以
为轴翻转过来。
尺度变换:
换为
,表示信号压缩或拉伸。
3、离散时间信号的MATLAB表示
在MATLAB中离散时间信号需要使用两个向量来表示,其中一个向量用于表示离散的时间点,另一个向量表示在这些时间点上的值。
例如对于如下离散时间信号
采用MATLAB可以表示如下:
n=-3:
4;
x=[-32-121-123];
stem(n,x,’filled’);
xlabel(‘n’);
title(‘x(n)’);
stem函数用于绘制离散时间信号波形,在绘图时添加’filled’选项,以绘制实心的杆状图形。
4、离散时间信号的时域运算
离散时间信号的相加相乘是将两个信号对应的时间点上的值相加或相乘,可以直接使用算术运算的运算符“+”和“*”来计算。
离散时间信号的移位,则可看作是将表示时间的向量平移,而表示对应时间点上的值的向量不变。
离散时间信号的反转,则可看作是将表示时间的向量和表示对应时间点上的值的向量以零点为基准点,以纵轴为对称轴反折,向量的反折可以利用MATLAB中的fliplr函数实现。
三、实验内容
1、利用MATLAB绘制下列连续时间信号波形
(1)
MATLAB程序如下:
t=-0.5:
0.001:
3.5;
x=(1-exp(-0.5*t)).*(heaviside(t));
plot(t,x);
%绘制x(t)波形
xlabel('
t'
);
title('
x(t)'
上述程序的运行结果为:
(2)
t=-3:
3;
x=cos(pi*t).*(heaviside(t)-heaviside(t-2));
plot(t,x);
xlabel('
title('
(3)
x=0.5*abs(t).*cos(pi*t).*(heaviside(t+2)-heaviside(t-2));
(4)
t=-1:
x=exp(-t).*sin(2*pi*t).*(heaviside(t)-heaviside(t-3));
2、利用MATLAB绘制下列离散时间信号波形
n=-2.999:
7.999;
x=heaviside(n-3);
stem(n,x,'
filled'
n'
x(n)'
n=-1.999:
9.999;
x=(-1/2).^n.*(heaviside(n));
(3)
n=-3.999:
6.999;
x=n.*(heaviside(n)-heaviside(n-5));
(4)
x=sin(n*pi/2).*heaviside(n);
3、利用MATLAB生成并绘制连续周期矩形波信号,要求周期为2,峰值为3,显示3个周期的波形。
.0001:
6;
x=3*square(pi*t);
%生成方波信号
axis([06-44]);
4、已知信号
和
,用MATLAB绘出下列信号的波形。
(1)
t=-5:
5;
x1=4*tripuls(t,8).*heaviside(t);
%生成三角波信号
x2=sin(2*pi*t);
x3=x1+x2;
plot(t,x3);
x3(t)'
(2)
x4=x1.*x2;
plot(t,x4);
x4(t)'
x11=4*tripuls(t,8).*heaviside(-t);
x5=x1+x11;
plot(t,x5);
x5(t)'
x11=4*tripuls(t-1,8).*heaviside(t-1);
x21=sin(2*pi*(t-1));
x31=x11+x21;
x6=x2.*x31;
plot(t,x6);
x6(t)'
5、已知离散时间信号
波形,用MATLAB绘出下列信号的波形。
x=[01233330];
axis([-5504]);
n1=-n;
%时间向量翻转
stem(n1,x,'
x(-n)'
n2=n-2;
%时间向量平移
stem(n2,x,'
axis([-6404]);
x(n+2)'
n3=n+2;
stem(n3,x,'
axis([-2804]);
x(n-2)'
6、用MATLAB编程绘制下列信号的时域波形,观察信号是否为周期信号?
若是周期信号,周期是多少?
若不是周期信号,请说明原因。
t=-10:
x=1+cos(pi*t/4-pi/3)+2*cos(pi*t/2-pi/4)+cos(2*pi*t);
信号分析:
该信号是周期信号,由周期分别为1、4、8的三个信号组成,故总的信号周期为8。
t=-20:
20;
x=sin(t)+2*sin(pi*t);
该信号不是周期信号。
因为该信号由周期为2
和2的两个信号叠加而成,而两信号周期不存在最小公倍数,故该信号为非周期信号。
n=-12:
12;
x=2+3*sin(2*n*pi/3-pi/8);
axis([-131306]);
该信号是周期信号,
的最小正周期为3,故该信号的周期为3。
x=cos(n*pi/6)+sin(n*pi/3)+cos(n*pi/2);
axis([-1313-33]);
该信号是周期信号,由周期分别为4、6、12的三个信号组成,故该信号的周期为12。