实验连续时间信号与系统基本表示与分析.docx
- 文档编号:814917
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:22
- 大小:175.87KB
实验连续时间信号与系统基本表示与分析.docx
《实验连续时间信号与系统基本表示与分析.docx》由会员分享,可在线阅读,更多相关《实验连续时间信号与系统基本表示与分析.docx(22页珍藏版)》请在冰豆网上搜索。
实验连续时间信号与系统基本表示与分析
实验1连续时间信号与系统的基本表示与分析
实验目的:
1.了解并掌握用Matlab分析信号与系统时用到的主要基本知识;
2.掌握用matlab表示常见的连续信号,并进行信号的基本运算
3.熟悉使用Matlab分析系统的方法。
实验内容:
1.画出下列连续信号的波形
(1)
(2)
(3)
2.判断系统是否为线性系统,是否具有时不变特性。
(1)
(2)
指导资料:
1.1MATLAB的基础知识
1.1.1数据的表示和运算
MATLAB中,变量可以通过变大时直接赋值,例如直接输入
>>a=2+2
得到的结果为
a=4
如果输入的表达式后面加上分号“;”,那么结果就不会显示出来。
由于MATLAB的变量名对字母大小写敏感,因此“a”和“A”是两个不同的变量名。
MATLAB主要用到以下数值运算符:
+加
-减
*乘
/除
^乘方(幂)
'(矩阵)转置
这些符号可以对数值或已经定义过的变量进行运算,并给变量直接赋值。
例如,假设变量“a”在上面已经定义过,则
>>b=2*a
得到的结果为
b=8
MATLAB中有一些预定义的变量可以直接使用。
信号与系统中常用的变量有:
i或j
piπ(3.1415926……)
在信号与系统中,常用以下函数进行计算和对变量的赋值:
abs数值的大小(实数的绝对值)
angel复数的角度,以弧度表示
real求复数的实部
imag求复数的虚部
cos余弦函数,假设角度是弧度值
sin正弦函数,假设角度是弧度制
exp指数海曙
sqrt求平方根
例如:
>>y=2*(1+4*i)
y=2.000+8.000i
>>c=abs(y)
c=8.2462
>>d=angle(y)
d=1.3258
1.1.2矩阵的表示和运算
MATLAB是基于矩阵和向量的代数运算,甚至标量也可以看做是1×1的矩阵,因此,MATLAB中对矩阵和向量的操作比较简单。
向量可以用两种方法定义。
第一种是指定元素建立向量:
v=[1357];
这个命令创建了一个1×4的行向量,元素为1,3,5和7.可以用逗号代替空格来分隔元素:
v=[1,3,5,7];
如果要增加向量的元素,可以表示为
v(5)=8
得到的向量为v=[13578]。
前面定义过的向量还可以用来定义新的向量,例如,前面已经定义过的向量v,再定义向量a和b:
a=[910];
b=[va];
得到向量b为
b=[13578910]
第二中定义方法是用等间隔元素建立向量,例如:
t=0:
.1:
10;
这个命令穿件了一个1×101的向量,元素为0,0.1,0.2,0.3,……,10。
这个表达式中,前面的数字表示初值,后面的数字表示终值,中间的数字表示增量。
如果只给出两个数字,那么表示增量为1,例如:
t=0:
10;
这个命令创建了一个1×11的向量,元素为0,1,2,3,…,10。
函数linspace和logspace也用于创建向量。
函数linspace的格式为
x=linspace(a,b,n)
其中,a表示初值,b表示终值,n表示元素个数,默认n为100,x是1×n的线性等间隔分布的向量。
例如:
x=linspace(0,10,101);
这个命令创建的向量x与命令t=0:
.1:
10的结果是相同的。
函数logspace的格式为
x=logspace(a,b,n)
其中,a表示向量的初值为,b表示中值为,n指定元素个数,默认n为50,x是1×n的向量,这n个元素取以10为底的对数后在[a,b]间等间隔分布。
这个函数常用于频率响应分析中产生频率变量的采样点。
例如:
x=logspace(-2,1,10);
这个命令创建了一个1×10的向量,元素为0.0100,00215,0.0464,0.1000,0.2154,0.4642,1.0000,2.1544,4.6416,10.0000。
这些元素的以10为底的对视在-2和1之间等间隔分布。
矩阵可以通过输入行列元素获得:
M=[124;368];
得到的矩阵为
M=1.002.004.00
3.006.008.00
矩阵特定位置的元素可以通过下面的命令赋值:
M(1,2)=5;
这个命令给矩阵M的第1行、第2行元素赋值为5,结果为
M=1.005.004.00
3.006.008.00
用下面的几个命令可以定义一些特殊的矩阵:
M=[];空矩阵
M=zeros(n,m);n×m的0矩阵
M=ones(n,m);n×m的1矩阵
M=eyes(n);n×n的单位阵
在1.1.1节给出的操作和函数也可以用于向量和矩阵。
例如:
a=[123];
b=[456];
c=a+b
得到的结果为
c=5.007.009.00
函数也可以用于向量元素。
例如:
t=0:
10;
x=cos(2*t);
得到向量x的元素等于cos(2t)的值,其中t=0,1,2,3,…,10。
如果运算是元素对元素逐项进行的,需要在1.1.1节给出的一些运算符前边加一个“.”。
例如,要得到x(t)=tcos(t),即在指定的t向量下对应的向量x,不能直接把向量t和向量cos(t)相乘,而是要把他们对应的元素逐个相乘:
t=0:
10;
x=t.*cos(t);
要得到向量或矩阵的规模可以用下面这两个函数:
[r,c]=size(A)r、c分别为矩阵A的行数和列数
n=length(b)n为向量b的长度
1.1.3数据的输入和输出
数据文件的读取和存储用load命令和save命令,常用的格式如下:
loadmy.mat可调用由MATLAB产生的文件名为my.mat的数据文件
loaddata.txt可调用.txt数据文件,并生成与文件名同名的变量
savemyty把变量t和y保存为名为my.mat的二进制文件
savedata.txtty-ascii把变量t和y保存为名为data.txtd的8位ASCII文件
1.1.4波形的绘制
在信号与系统分析中,我们经常需要绘制波形图,这些图一般是二维的,MATLAB具有强大的绘图功能,为我们提供了丰富的绘图函数。
例如:
plot绘制曲线图
stem绘制杆图
holdon保留当前图形及坐标的全部属性
holdoff回复图形设置缺省值
gridon画网格图
gridoff去掉网格线
subplot(m,n,p)将窗口分成m×n个子图,并选择在其中的第p个上绘图
figure创建图形窗口
合理的标注可以使图形更加有说服力,MATLAB还提供了丰富的标注用函数。
例如:
title图形顶部加标题
xlabel横轴标注
ylabel纵轴标注
legend在右上角建立一个图例说明盒
axis确定坐标轴刻度范围
text在图中特定位置标注
这些函数的具体使用方法可以参考MATLAB的书籍、手册或帮助文件
1.1.5M文件
M文件是大量MATLAB命令的几何,它以文本文件的形式存储,文件名的后缀是“.m”。
M文件可以是一个有输入、输出变量的函数,也可以是一些列的命令脚本。
利用M文件,可以把命令脚本保存下来,在今后使用的时候修改或调用这些文件,不用在重新键入所有的命令,大大提高效率,而且是排除错误更加容易。
MATLAB要求M文件必须保存在工作目录或指定的目录下。
下面实现一个函数的M文件。
在工作目录下创建一个文件名为yplusx.m的M文件,它将包含以下命令:
functionz=yplusx(y,x)
z=y+x;
调用yplusx函数的命令如下:
z=yplusx(2,3)
结果为
z=5
利用矩阵和向量形式写的M文件效率比较高。
循环和if语句也可以在M文件中使用,但是计算的效率比较低,所以要慎重使用。
下面列举一个for循环的例子:
fork=1:
10
x(k)=cos(k);
end
这个例子创建一个向量x,该向量包含k从1到10的余弦值。
这个操作和下面命令的结果一样:
k=1:
10;
x=cos(k);
但是这个命令可以用来定义条件语句,效率更高。
if语句可以用来定义条件语句,例如:
if(a<=2),
B=1;
elseif(a>=4)
B=2;
else
b=3;
end
在if语句中可以使用的关系运算符:
<,>,==,<=,>=和~=。
一些M文件需要使用者给出变量值,这是使用带有询问提示的输入命令input实现的。
例如:
T=input('InputthevalueofT:
')
这个命令可以让使用者输入不同的T值。
当M文件运行时,引号内的文字将显示在命令窗口,用户必须键入合适的值,然后回车运行程序。
如果M文件运行中间需要暂停,可以使用pause命令使程序暂停,然后敲任意键继续执行。
1.1.6其他常用的MATLAB命令
在后面几章中,还会用到下面几个命令,在这里简单列举一下:
Who列出内存中的变量名
Whos列出内存中变量的详细信息
Clc清除命令窗口
Clear清楚内存变量和函数
Clf清楚图形窗口
Sound对声音进行回放
Help在线帮助
1.3基本连续时间信号及其MATLAB表示
在所讨论的时间间隔内,出若干不连续点之外,对于任意时间值都可给出确定的函数值,这种信号成为联系时间信号,简称连续信号。
我们用t表示连续时间自变量,数学表达式写作x(t)。
利用MATLAB软件,可以给出连续时间信号x(t)的解析式,并画出信号波形。
在MATLAB中表示连续时间信号有两种方法:
一种方法是用向量来表示连续信号,这些向量包含了连续信号在时间上依次间隔的样本。
值得注意的是,在用向量进行连续信号处理和绘制连续信号波形时,时间增量Δt必须取得足够小,以生成平滑的去爱按。
如果增量选择得太大,则信号值都是以直线连接的,曲线是锯齿状的。
下面介绍几本的连续信号和他们的MATLAB表示。
1.指数信号
指数信号的表示式为
x(t)=K(1.10)
式中a是实数。
若a>0,则信号随时间增长;若a<0,则信号随时间衰减;若a=0,则信号成为直流信号。
实际上,遇到较多的是衰减的指数信号。
例1-8绘制信号x(t)=u(t)的波形。
解:
MATLAB程序如下:
t=[0:
0.01:
10];
x=exp(-0.5*t);
plot(t,x);
xlabel('t');
ylabel('x(t)');
title('x(t)=exp(-0.5t)');
gridon
运行结果如图1-8所示。
图1-8指数信号
2.正弦信号
正弦信号的表达式为
X(t)=Ksin(ωt+θ)(1.11)
式中:
K是振幅,ω是角频率,θ为初相位。
例1-9绘制信号x(t)=sin(πt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 连续 时间 信号 系统 基本 表示 分析