实验1信号的时域描述与运算.docx
- 文档编号:6159982
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:19
- 大小:173.05KB
实验1信号的时域描述与运算.docx
《实验1信号的时域描述与运算.docx》由会员分享,可在线阅读,更多相关《实验1信号的时域描述与运算.docx(19页珍藏版)》请在冰豆网上搜索。
实验1信号的时域描述与运算
实验1信号的时域描述与运算
一、实验目的
1、掌握信号的MATLAB表示及其可视化方法。
2、掌握信号基本时域运算的MATLAB实现方法。
3、利用MATLAB分析常用信号,加深对信号时域特性的理解。
二、实验原理
1、连续时间信号的MATLAB表示
在MATLAB中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。
在MATLAB中连续时间信号是用信号等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好的近似表示出连续时间信号,这种表示方法称为向量表示法。
表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。
例如一个正弦信号可以表示如下:
>>t=0:
0.01:
10;
>>x=sin(t);
利用plot(t,x)命令可以绘制上述信号的时域波形。
如果连续时间信号可以用表达式来描述,则还可以用符号表达式来表示信号。
例如对于上述正弦信号,可以用符号对象表示如下:
>>symst;
>>x=sin(t);
利用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)
MATLAB程序如下:
>>t=-3:
0.001:
3;
>>x=cos(pi*t).*(heaviside(t)-heaviside(t-2));
>>plot(t,x);
>>xlabel('t');
>>title('x(t)');
上述程序的运行结果为:
(3)
MATLAB程序如下:
>>t=-3:
0.001:
3;
>>x=0.5*abs(t).*cos(pi*t).*(heaviside(t+2)-heaviside(t-2));
>>plot(t,x);
>>xlabel('t');
>>title('x(t)');
上述程序的运行结果为:
(4)
MATLAB程序如下:
>>t=-1:
0.001:
4;
>>x=exp(-t).*sin(2*pi*t).*(heaviside(t)-heaviside(t-3));
>>plot(t,x);
>>xlabel('t');
>>title('x(t)');
上述程序的运行结果为:
2、利用MATLAB绘制下列离散时间信号波形
(1)
MATLAB程序如下:
>>n=-2.999:
7.999;
>>x=heaviside(n-3);
>>stem(n,x,'filled');
>>xlabel('n');
>>title('x(n)');
上述程序的运行结果为:
(2)
MATLAB程序如下:
>>n=-1.999:
9.999;
>>x=(-1/2).^n.*(heaviside(n));
>>stem(n,x,'filled');
>>xlabel('n');
>>title('x(n)');
上述程序的运行结果为:
(3)
MATLAB程序如下:
>>n=-3.999:
6.999;
>>x=n.*(heaviside(n)-heaviside(n-5));
>>stem(n,x,'filled');
>>xlabel('n');
>>title('x(n)');
上述程序的运行结果为:
(4)
MATLAB程序如下:
>>n=-1.999:
9.999;
>>x=sin(n*pi/2).*heaviside(n);
>>stem(n,x,'filled');
>>xlabel('n');
>>title('x(n)');
上述程序的运行结果为:
3、利用MATLAB生成并绘制连续周期矩形波信号,要求周期为2,峰值为3,显示3个周期的波形。
MATLAB程序如下:
>>t=0:
.0001:
6;
>>x=3*square(pi*t);%生成方波信号
>>plot(t,x);
>>axis([06-44]);
>>xlabel('t');
>>title('x(t)');
上述程序的运行结果为:
4、已知信号
和
,用MATLAB绘出下列信号的波形。
(1)
MATLAB程序如下:
>>t=-5:
0.001:
5;
>>x1=4*tripuls(t,8).*heaviside(t);%生成三角波信号
>>x2=sin(2*pi*t);
>>x3=x1+x2;
>>plot(t,x3);
>>xlabel('t');
>>title('x3(t)');
上述程序的运行结果为:
(2)
MATLAB程序如下:
>>t=-5:
0.001:
5;
>>x1=4*tripuls(t,8).*heaviside(t);
>>x2=sin(2*pi*t);
>>x4=x1.*x2;
>>plot(t,x4);
>>xlabel('t');
>>title('x4(t)');
上述程序的运行结果为:
(3)
MATLAB程序如下:
>>t=-5:
0.001:
5;
>>x1=4*tripuls(t,8).*heaviside(t);
>>x11=4*tripuls(t,8).*heaviside(-t);
>>x5=x1+x11;
>>plot(t,x5);
>>xlabel('t');
>>title('x5(t)');
上述程序的运行结果为:
(4)
MATLAB程序如下:
>>t=-5:
0.001:
5;
>>x11=4*tripuls(t-1,8).*heaviside(t-1);
>>x21=sin(2*pi*(t-1));
>>x31=x11+x21;
>>x2=sin(2*pi*t);
>>x6=x2.*x31;
>>plot(t,x6);
>>xlabel('t');
>>title('x6(t)');
上述程序的运行结果为:
5、已知离散时间信号
波形,用MATLAB绘出下列信号的波形。
(1)
MATLAB程序如下:
>>n=-3:
4;
>>x=[01233330];
>>stem(n,x,'filled');
>>axis([-5504]);
>>xlabel('n');
>>title('x(n)');
上述程序的运行结果为:
(2)
MATLAB程序如下:
>>n=-3:
4;
>>x=[01233330];
>>n1=-n;%时间向量翻转
>>stem(n1,x,'filled');
>>axis([-5504]);
>>xlabel('n');
>>title('x(-n)');
上述程序的运行结果为:
(3)
MATLAB程序如下:
>>n=-3:
4;
>>x=[01233330];
>>n2=n-2;%时间向量平移
>>stem(n2,x,'filled');
>>axis([-6404]);
>>xlabel('n');
>>title('x(n+2)');
上述程序的运行结果为:
(4)
MATLAB程序如下:
>>n=-3:
4;
>>x=[01233330];
>>n3=n+2;%时间向量平移
>>stem(n3,x,'filled');
>>axis([-2804]);
>>xlabel('n');
>>title('x(n-2)');
上述程序的运行结果为:
6、用MATLAB编程绘制下列信号的时域波形,观察信号是否为周期信号?
若是周期信号,周期是多少?
若不是周期信号,请说明原因。
(1)
MATLAB程序如下:
>>t=-10:
0.001:
10;
>>x=1+cos(pi*t/4-pi/3)+2*cos(pi*t/2-pi/4)+cos(2*pi*t);
>>plot(t,x);
>>xlabel('t');
>>title('x(t)');
上述程序的运行结果为:
信号分析:
该信号是周期信号,由周期分别为1、4、8的三个信号组成,故总的信号周期为8。
(2)
MATLAB程序如下:
>>t=-20:
0.001:
20;
>>x=sin(t)+2*sin(pi*t);
>>plot(t,x);
>>xlabel('t');
>>title('x(t)');
上述程序的运行结果为:
信号分析:
该信号不是周期信号。
因为该信号由周期为2
和2的两个信号叠加而成,而两信号周期不存在最小公倍数,故该信号为非周期信号。
(3)
MATLAB程序如下:
>>n=-12:
12;
>>x=2+3*sin(2*n*pi/3-pi/8);
>>stem(n,x,'filled');
>>axis([-131306]);
>>xlabel('n');
>>title('x(n)');
上述程序的运行结果为:
信号分析:
该信号是周期信号,
的最小正周期为3,故该信号的周期为3。
(4)
MATLAB程序如下:
>>n=-12:
12;
>>x=cos(n*pi/6)+sin(n*pi/3)+cos(n*pi/2);
>>stem(n,x,'filled');
>>axis([-1313-33]);
>>xlabel('n');
>>title('x(n)');
上述程序的运行结果为:
信号分析:
该信号是周期信号,由周期分别为4、6、12的三个信号组成,故该信号的周期为12。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验1 信号的时域描述与运算 实验 信号 时域 描述 运算
![提示](https://static.bdocx.com/images/bang_tan.gif)