《信号与系统》实验预备知识—matlab入门与操作
信号与系统实验指导书信号与系统matlab实验
信号与系统实验指导书信号与系统matlab实验信号与系统实验指导书一、实验目的1、掌握用Matlab绘制波形图的方法,学会常见波形图的绘制。
2、掌握用Matlab编写函数的方法3、通过对周期信号和非周期信号的观察,加深对周期信号的理解。
二、实验内容1、实验原理与计算实例1.1 绘制波图的基本函数 Matlab是一种基于矩阵和数组的编程语言,它将所有的变量都看成矩阵。
它不仅有强大的计算功能,还有各种各样的画图功能。
这里主要介绍信号与系统分析中常见的几个Matlab函数,包括Matlab提供的内部函数和自定义函数。
我们可以在命令窗口中每次执行一条Matlab语句;或者生成一个程序,存为M文,供以后执行;或是生成一个函数,在命令窗口中执行。
下面介绍几个基本函数。
(1)单位阶跃函数 M文名:u.m%单位阶跃函数(连续或离散)%调用格式 y=u(t)产生单位阶跃函数 function y=u(t) y=(t>=0)(2)门函数 M文名:rectplus.m,是Matlab的内部函数。
调用格式 y=rectplus(t)产生高度为1,宽度为1的门函数调用格式y=rectplus(t,W) 产生高度为1,宽度为W的门函数(3)三角脉冲函数 M文名:tripuls.m,是Matlab的内部函数。
调用格式 y=tripuls(t) 产生高度为1,宽度为1的三角脉冲函数调用格式 y=tripuls(t,w) 产生高度为1,宽度为w的三角脉冲函数调用格式 y=tripuls(t,w,s)产生高度为1,宽度为w的三角脉冲函数,-1<s<1。
当s=0时,为对称三角形;当S=-1时,为三角形顶点左边。
(4)抽样函数 M文名:Sa.m %抽样函数(连续或者离散)% 高度为1 % 调用格式 y=Sa(t),产生高度为1,第一个过零点为π function f=Sa(t)f=sinc(t./pi) %sinc(t)=sin(πt)/(πt)是MATLAB函数(5)符号函数 M文名:sign.m是Matlab的内部函数。
信号与系统MATLAB实验全
实验篇 信号与系统实验指导实验一、MATLAB 编程基础及典型实例一、实验目的(1) 熟悉MATLAB 软件平台的使用; (2) 熟悉MATLAB 编程方法及常用语句; (3) 掌握MATLAB 的可视化绘图技术;(4) 结合《信号与系统》的特点,编程实现常用信号及其运算。
二、实验原理连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有确定的值与之对应。
严格来说,MATLAB 并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。
当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。
矩阵是MATLAB 进行数据处理的基本单元,矩阵运算是MATLAB 最重要的运算。
通常意义上的数量(也称为标量)在MATLAB 系统中是作为1×1的矩阵来处理的,而向量实际上是仅有一行或者一列的矩阵。
通常用向量表示信号的时间取值范围,如n = -5:5,但信号x(n)、向量n 本身的下标都是从1开始的,因此必须用一个与向量x 等长的定位时间变量n ,以及向量x ,才能完整地表示序列x(n)。
这一点详情可参考预备篇示例7的程序说明。
三、实验内容与步骤(1) 新建一个文件夹,以自己的汉语名字命名,以后就用该文件夹专门存放自己所编制的M 文件和产生的图形;将该文件夹设置成当前工作目录。
(2) 绘制信号t)32sin(e x(t)t 2-=的曲线,t 的范围在0 ~ 30s ,取样时间间隔为0.1s.(3) 在n = [-10:10] 范围产生离散序列:⎩⎨⎧≤≤-=其余n0,3n 32n,x(n) ,并绘图。
四、实验报告要求整理并给出“实验内容与步骤”(2)、(3)的程序代码与产生的图形;并回答下面的问题。
(1) 在调用某一函数文件时,该文件中除了输入、输出变量外的其它变量在调用函数结束后是否还存在?这些变量是全局还是局部变量?(2) 设n = -10:0.2:20,你可以通过哪些方法查看向量n 的维数?经过关系运算y = (n >= 3)以后,y 的维数是多少?y 又等于什么?(3) 通过MATLAB 的帮助系统,学习fliplr 函数的功能和使用方法。
信号与系统,MATLAB实验
y = func(t − d (1)) + func(t _ d ( 2) + ...
从而实现一个周期性脉冲信号的产生。Pulstran 函数的更一般的调用形式为:
y = pulstran(t , d , ' func' , p1, p 2...)
其中的 p1,p2,...为需要传送给 func 函数的额外输入参数值(除时间变量 t 之外) ,如上述的 Rectpuls 函数需要 width 这个额外参数,tripuls 函数需要 width 和 skew 这两个额外参数,即 整个 pulstran 函数的返回值实际上相当于 :
图 1-10 周期性矩形脉冲信号和三角波脉冲信号
2.连续信号的相加、相乘、时移、反转和尺度变换等基本运算
(1)两个连续信号的相加 在 MATLAB 中要实现两个连续信号 f1(t)、f2(t)的相加,可用如下语句: x=symadd(f1,f2) (2)两个连续信号的相乘 在 MATLAB 中要实现两个连续信号 f1(t)、f2(t)的相乘,可用如下语句: x=symmul(f1,f2) (3)连续信号的平移 要实现连续信号 f(t)向右平移 t0,MATLAB 语句格式为: x=subs(f,t,t-t0) (4)连续信号的反转
% x(t)= f(t-t0)
或
x=f1+f2
% x(t)= f1(t)+f2(t)
或
x=f1*f2
% x(t)= f1(t) f2(t)
对一个信号 x(t)的反褶运算在数学上表示为:y (t)=x(-t) 使用 MATLAB 内部函数 fliplr()来实现信号的反褶运算。其用法如下:y = fliplr(x):其中 x 为原信号 x(t),而 y 则为 x 的时域反褶。而翻转后的信号的坐标则可由-fliplr(t)得到。 (5)连续信号的尺度变换 要实现连续信号 f(t)的尺度变换,MATLAB 语句格式为: x=subs(f,t,a*t)
信号与系统MATLAB实验
实验1 信号的时域描述与运算一、实验目的1. 掌握信号的MATLAB 表示及其可视化方法。
2. 掌握信号基本时域运算的MATLAB 实现方法。
3. 利用MATLAB 分析常用信号,加深对信号时域特性的理解。
二、实验原理与方法1. 连续时间信号的MATLAB 表示连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。
在MATLAB 中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。
从严格意义上来说,MATLAB 并不能处理连续时间信号,在MATLAB 中连续时间信号是用等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好地近似表示出连续时间信号,这种表示方法称为向量表示法。
表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。
例如一个正弦信号可以表示如下:>> t=0:0.01:10; >> x=sin(t);利用plot(t,x)命令可以绘制上述信号的时域波形,如图1所示。
如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。
例如对于上述正弦信号,可以用符号对象表示如下:>> x=sin(t); >> ezplot(X);利用ezplot(x)命令可以绘制上述信号的时域波形012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81Time(seconds)图1 利用向量表示连续时间信号-6-4-20246-1-0.50.51t图 2 利用符号对象表示连续时间信号sin(t)常用的信号产生函数 函数名 功能 函数名 功能 heaviside 单位阶跃函数 rectpuls 门函数sin 正弦函数 tripuls 三角脉冲函数 cos 余弦函数 square 周期方波sinc sinc 函数 sawtooth周期锯齿波或三角波 exp 指数函数2.连续时间信号的时域运算对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。
0------信号与系统实验MATLAB部分学习导引
Simulink简介 Simulink简介
Simulink是MATLAB软件的扩展,它是MATLAB中 Simulink是MATLAB软件的扩展,它是MATLAB中 实现动态系统建模和仿真的一个软件包。 Simulink与MATLAB语言的主要区别在于:其用户 Simulink与MATLAB语言的主要区别在于:其用户 交互接口基于Windows的模型化图形输入,这样使 交互接口基于Windows的模型化图形输入,这样使 得用户可以把更多的精力投入到系统模型的构建, 而非语言的编程上。
实验教程MATLAB部分的说明 实验教程MATLAB部分的说明
第一次实验应重点学习的章节:
第1章 第2章 第4章 第6章 第7章 MATLAB基础 MATLAB基础 MATLAB的应用开发环境 MATLAB的应用开发环境 应用MATLAB绘图(4.1节) 应用MATLAB绘图(4.1节) MATLAB程序设计 MATLAB程序设计 信号及其运算的MATLAB表示 信号及其运算的MATLAB表示
模型化图形输入:Simulink提供了一套按功能分类的 模型化图形输入:Simulink提供了一套按功能分类的 基本系统模块(Blockset),用户只需知道模块的输 基本系统模块(Blockset),用户只需知道模块的输 入、输出及模块的功能,而不必考察模块内部如何实 现;通过对这些基本模块的调用,再将它们连接起来 就可以构成所需要的系统模型(以.mdl文件进行存 就可以构成所需要的系统模型(以.mdl文件进行存 取),进而进行系统的仿真与分析。
信号与系统实验
MATLAB部分学习导引 MATLAB部分学习导引
目录
第一次MATLAB实验及MATLAB介绍 第一次MATLAB实验及MATLAB介绍 第二次MATLAB实验 第二次MATLAB实验 第三次MATLAB实验 第三次MATLAB实验 附加题及Simulink简介 附加题及Simulink简介 MATLAB程序示例 MATLAB程序示例 Simulink示例 Simulink示例 MATLAB软件下载地址 MATLAB软件下载地址 MATLAB部分实验报告具体要求 MATLAB部分实验报告具体要求
信号与系统MATLAB实验讲义
实验六 连续系统分析的MATLAB 实现一、实验目的1、深刻理解连续时间系统的系统函数在分析连续系统的时域特性、频率特 性及稳定性中的重要作用及意义;2、掌握利用MATLAB 分析连续系统的时域响应、频率响应和零极点的基本 方法。
二、实验仪器设备PC 机、MATLAB 软件。
三、预习练习1.为了使实验能够顺利地进行,课前对教材中连续系统的频域分析的相关内容和实验原理、方法及内容做好充分预习,并预期实验的结果。
2.学习 MATLAB 软件,尤其是其中的和连续系统的频域分析有关的一些函数的使用。
3.写出实验内容2中的图6-5所示电路的频率响应。
四、实验原理连续时间LTI 系统可用如下的线性常系数微分方程来描述:()(1)(1)110()(1)(1)110()()()()()()()()n n n n m m m m a y t a yt a yt a y tb f t b ft b f t b f t ----++++=++++ (6-1) 如果系统的输入和初始状态已知,便可以用解析的方法求出系统的响应。
但对于高阶系统,手工计算将会变得非常繁琐和困难。
MATLAB 的控制工具箱(control toolbox )里包含了许多可用于分析线性非时变(LTI )系统的函数,使用命令help control 可以查看控制工具箱里的这些函数。
在调用这些函数时,需要用系数向量表示系统。
在后面会介绍具体的使用方法。
(一)系统的频率响应如果设LTI 系统的冲激响应为()h t ,该系统的激励信号为()f t ,则此系统的零状态响应()y t 为()()*()y t h t f t = (6-2)设()f t ,()h t ,()y t 的傅里叶变换分别为()F j ω,()H j ω,()Y j ω,根据时域卷积定理,与式(6-2)对应的频域关系为()()()Y j H j F j ωωω= (6-3)一般地,连续系统的频率响应定义为系统的零状态响应()y t 的傅里叶变换()Y j ω与激励信号()f t 的傅里叶变换()F j ω之比,即()()()Y j H j F j ωωω= (6-4)通常,()H j ω是ω的复函数,因此,又可将其写为()()()j H j H j e ϕωωω= (6-5)称()H j ω为系统的幅频特性,()ϕω为系统的相频特性。
信号与系统MATLAB实验讲义
预备知识MATLAB如今已经被广泛地应用于各个领域中,是当今世界上最优秀的数值计算软件。
它广为流传的原因不仅在于在它的计算功能强大,图形功能丰富、方便,还在于它的编程效率高,扩充能力强;语句简单,易学易用,而不会像其他的那些高级语言一样距人于千里之外。
在这里我们就对MATLAB做一下简单的介绍。
1、MATLAB简介在科学技术飞速发展的今天,计算机正扮演着越来越重要的角色。
在进行科学研究与工程一用的过程中,科技人员往往会遇到大量繁重的数学运算和数值分析,传统的高级语言BASIC、FORTRAN及C语言等虽然能在一定成都上减轻计算量,但它们均要求应用人员具有较强的编程能力和对算法有深入的研究[7]。
另外,在运用这些高级语言进行计算结果的可视化分析及图形处理方面,对非计算机专业的普通用户来说,仍存在着一定的难度。
MATLAB正式在这一应用要求背景下产生的数学类科技应用软件,它具有的顶尖的数值计算功能。
强大的图形可视化功能及简介医学的“科学便笺式”工作环境和编程语言,从根本上满足了科技人员对工程数学计算的要求,并将科技人员从繁重的数学运算中解放出来,因而,越来越受到广大科技工作者的普遍欢迎。
MATLAB是matrix和laboratory前三个字母的缩写,意思是“矩阵实验室”,是MathWorks公司推出的数学类可以应用软件。
其DOS版本(MATLAB1.0)发行于1984年,到现在已经到了MATLAB7.X。
经过20多年的不断发展与完善,MATLAB 已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB 数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。
MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱(Toolboxs)组成。
MATLAB具有一下基本功能:数值计算功能符号计算功能图形处理集可视化功能可视化建模集动态仿真功能MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学,用户不用花太多时间即可掌握其编程技巧。
信号与系统 MATLAB综合实验
信号与系统MATLAB综合实验一、实验目的:1、学习MATLAB语言的编程方法及熟悉MATLAB指令。
2、掌握连续时间信号的卷积运算方式,分析建立信号波形间的联系。
3、通过使用MATLAB函数研究线性时不变离散时间系统的时域特性,以加深对线性时不变离散时间系统的时不变性的理解。
二、实验仪器1、计算机2、MATLAB 软件三、实验原理一个离散时间系统是将输入序列变换成输出序列的一种运算。
若以T[•]表示这种运算,则一个离散时间系统可由图1-1来表示,即→∙→(1-1)x n T y n()[]()图1-1 离散时间系统离散时间系统中最重要的、最常用的是“线性时不变系统”。
时不变系统系统的运算关系T[•]在整个运算过程中不随时间(也不随序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。
这个性质可用以下关系表示:若输入)(ny,则将输入序列移动任意位后,其输出序列除了跟着x的输出为)(n移位外,数值应保持不变,即若)ynm[mT--(m为任意整数)=(xn(()]()][nT=,则)yxn满足以上关系的系统就称为时不变系统。
四、实验内容及结论1、连续时间系统的时域分析已知微分方程: )(2)(3)(2)(3)(t f t f t y t y t y +'=+'+'',1)0(-='-y , 2)0(=-y 若激励信号为)()(t u t f =,利用阶跃响应函数step(sys,t) 求解画波形;利用零状态响应函数lsim 求解画波形;利用卷积函数求解画波形;比较结果。
程序如下:dt=0.001;t1=0:dt:10;f1=-1*exp(-t1)+4*exp(-2*t1);t2=t1;f2=u(t2);f=conv(f1,f2);f=f*dt;t3=0:dt:20;subplot(311)plot(t3,f);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(卷积法)');b=[3 2];a=[1 3 2];sys=tf(b,a);t=0:0.01:10;x=stepfun(t,0);y=lsim(sys,x,t);subplot(312)plot(t,y);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(阶跃函数求法)');sys=tf(b,a);t=0:0.1:10;y=step(sys,t);subplot(313)plot(t,y);xlabel('时间t)');ylabel('y(t)');title('阶跃响应');结论:上述三种方法求得的都是输入为阶跃函数时候的零状态响应,也为阶跃响应,通过图形我们可以看出,利用卷积法求出的零状态和另外两种方法求出的零状态响应图形有一点差别,三者在0到10区间上响应都一致,而利用卷积法求的响应却在下面的区间内发生了变化,我试图修改程序,无论怎么改,发现只要调用了卷积函数,求得的图形就像上述的卷积法求的图形一样,不得解。
信号与系统MATLAB常见信号的表示及运算
信号与系统——实验指导实验一 常见信号的表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2. 掌握用matlab软件产生基本信号的方法.3. 应用matlab软件实现信号的加、减、乘、反褶、移位、尺度变换及卷积运算。
二、实验原理1. 信号的表示方法● 常用信号:连续函数()θω+=t t f sin )(, at Ae t f =)(,ttt Sa sin )(= 离散信号()n n f 0sin )(ω=,njw e n f 0)(=,)()(n u a n f n =● 奇异信号:连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t R 离散信号:冲激函数)(n δ,阶跃函数)(n u ,斜坡函数)(n R2.卷积连续函数的卷积:⎰∞∞--=τττd t f f t g )()()(21离散函数的卷积:∑∞-∞=-=m m n fm f n g )()()(21三、实验要求1.预习实验原理;2.对实验内容编写程序(M文件),上机运行;3.绘出运算或变换后信号的波形.四.实验内容1. 熟悉matlab 工作环境(1) 运行matlab.exe ,进入matlab 工作环境,如图(1)所示。
图1 matlab工作环境(2) matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace(工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。
其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。
程序的运行也可以在命令窗口进行。
程序调试的信息显示在命令窗口。
(3) 程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。
图2 M文件编辑器(4) 在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。
如果所定义的是函数文件,则要求函数名为M文件名。
信号与系统MATLAB实验-实验二 Matlab中信号的运算
1、运用funtool对f(x)=sin(x)/x分别进行信号的尺度变换f(2x)、f(0.5x)和信号的移位运算f(x+1)、f(x-1)操作以及f(0.5x+1),分别记录相应波形。
f(x)=sin(x)/x f(x+1)f(2x) f(x-1)f(0.5x) f(0.5x+1)2、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式; 2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。
(设定取样时间间隔为dt )【实验思考】:通过不断改变dt 的取值并对比所得到的实验效果,观察当取样时间dt 为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?3、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式;2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。
(设定取样时间间隔为dt)【实验思考】:不断改变dt的取值并对比实验效果,当取样时间dt为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?clear alldt = 0.01;t1 = -3:dt:3;f1 = 2*(u(t1+1) - u(t1-1));figure;stairs(t1,f1);hold allgrid ont2 = -3:dt:3;f2 = u(t2+2)-u(t2-2);stairs(t2,f2)[fn, tn] = conv_cs(f1, t1, f2, t2, dt);plot(tn, fn)grid onlegend('f1', 'f2', 'f1*f2')。
《信号与系统》实验预备知识—matlab入门与操作
《信号与系统》实验预备知识matlab入门与操作绪言MATLAB应用简介1.MATLAB在信号与系统中的应用简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB 在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。
例如,解微/差分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。
数值计算仿真分析可以帮助更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。
2.MATLAB软件使用入门2.1 MATLAB软件的环境介绍MATLAB 6.5的工作桌面由标题栏、菜单栏、工具栏、命令窗口(Command Window)、工作空间窗口(Workspace)、当前目录窗口(Current Directory)、历史命令窗口(Command History)及状态栏组成,从而为用户使用MATLAB提供了集成的交互式图形界面,如图1所示。
《信号与系统》MATLAB仿真实验讲义
《信号与系统》MATLAB仿真实验讲义(第二版)肖尚辉编写宜宾学院电信系电子信息教研室《信号与系统》课程2004年3月 宜宾使用对象:电子专业02级3/4班(本科)实验一 产生信号波形的仿真实验一、实验目的:熟悉MATLAB软件的使用,并学会信号的表示和以及用MATLAB来产生信号并实现信号的可视化。
二、实验时数:3学时+3学时(即两次实验内容)三、实验内容:信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。
对信号进行时域分析,首先需要将信号随时间变化的规律用二维曲线表示出来。
对于简单信号可以通过手工绘制其波形,但对于复杂的信号,手工绘制信号波形显得十分困难,且难以绘制精确的曲线。
在MATLAB中通常用三种方法来产生并表示信号,即(1)用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号;(2)用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号;(3)用MATLAB软件的仿真工具箱Simulink中的信号源模块。
(一) 用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号在MATLAB环境下输入指令funtool,则回产生三个视窗。
即figure No.1:可轮流激活,显示figure No.3的计算结果。
figure No.2:可轮流激活,显示figure No.3的计算结果。
figure No.3:函数运算器,其功能有:f,g可输入函数表达式;x是自变量,在缺省时在[-2pi,2pi]的范围内;自由参数是a;在分别输入完毕后,按下面四排的任一运算操作键,则可在figure No.1或figure No.2产生相应的波形。
学生实验内容:产生以下信号波形3sin(x)、5exp(-x)、sin(x)/x、1-2abs(x)/a、sqrt(a*x)(二) 用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号一种是用向量来表示信号,另一种则是用符合运算的方法来表示信号。
信号与系统Matlab实验报告
实验一MATLAB 程序入门和基础应用一、实验名称MATLAB 程序入门和基础应用二、实验目的1.学习Matlab软件的基本使用方法;2.了解Matlab的数值计算,符号运算,可视化功能;3. Matlab程序设计入门四、实验设备计算机MATLAB软件六、实验内容及具体步骤1、打开MATLAB的系统界面,对其功能做一个大致了解;2、学习变量的描述方法,掌握几个固定变量:I,j,pi,inf的使用。
注意,变量描述以字母开头,可以由字母、数字和下划线混合组成,区分字母大,小写字符长度不超过31个。
3、学习数值,矩阵,运算符,向量的矩阵运算,数组运算的描述方法。
(1)用一个简单命令求解线性系统3x1+ x2 - x3 =3.6x1+2x2+4x3 = 2.1-x1+4x2+5x3 = -1.4A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4];x=A\b结果:x = 1.4818 -0.4606 0.3848(2)用简短命令计算并绘制在0≤x≤6范围内的sin(2x)、sinx2、sin2x。
x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;plot(x,y1,x, y2,x, y3)4、Matlab符号运算功能(1)符号运算的过程在符号运算的整个过程中,所有的运算均是以符号进行的,即使以数字形式出现的量也是字符量。
做一个对sin(x/2)求导的过程。
在命令窗口中输入如下符号表达式按回车:f='sin(x/2)';dfdx=diff(f)显示结果如下:dfdx = 1/2*cos(1/2*x)整个求导的过程都是由符号变量和符号表达式完成,没有涉及到具体的数值运算,其中1/2也被当作是字符量。
注意:符号变量前先要进行定义,定义语句是:sym 或syms 变量名列表。
前者定义一个单一的符号变量,后者可以一次定义多个符号变量。
实验一 信号与系统分析软件Matlab应用基础
实验一 信号与系统分析软件Matlab 应用基础一、实验目的1.学习MA TLAB 软件产生信号和实现信号的可视化;2.学习和掌握连续和离散信号的时域表示方法。
二、实验仪器装有MA TLAB 软件的微型计算机1台三、实验原理1 信号的表示方法l 常用信号:Ø 连续函数()θω+=t t f sin )(, at Ae t f =)(,tt t Sa sin )(= Ø 离散信号()n n f 0sin )(ω=,n jw e n f 0)(=,)()(n u a n f n =l 奇异信号:Ø 连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t RØ 离散信号:冲激函数)(n δ,阶跃函数)(n u ,斜坡函数)(n R2 卷积连续函数的卷积:∫∞∞−−=τττd t f f t g )()()(21 离散函数的卷积:∑∞−∞=−=m m n f m f n g )()()(21四、实验内容1 熟悉matlab 工作环境(1).运行matlab.exe ,进入matlab 工作环境,如图1-1所示。
图1-1 matlab工作环境图1-2 M文件编辑器(2).matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace(工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。
其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。
程序的运行也可以在命令窗口进行。
程序调试的信息显示在命令窗口。
(3).程序文件的产生:点击菜单File下的New下的M_files,进入编辑器界面,如图1-2所示。
(4).在matlab软件中,程序分为脚本和函数文件,两者的差别在于函数文件有形参和返回的结果,而脚本文件中的变量全部返回到工作空间。
在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。
信号与系统matlab实验指导书
实验一基本信号的波形一、实验目的:1.掌握matlab软件的基本操作。
2.熟悉matlab的基本命令的使用。
3.掌握用matlab绘出基本信号。
二、实验原理:1. 信号的时域表示方法1.1将信号表示成独立时间变量的函数例如x(t)=sin(ωt) 和x[n]=n(0.5)n u[n]分别表示一个连续时间信号和一个离散时间信号。
在MA TLAB中有许多内部函数,可以直接完成信号的这种表达,例如:sin():正弦信号cos():余弦信号exp():指数信号1.2用信号的波形图来描述信号用函数曲线表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。
图1.1 连续时间信号与离散时间信号的波形图1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=0在《信号与系统》和《数字信号处理》课程中,上述三种信号的描述方法是经常要使用的。
2 用MATLAB仿真连续时间信号和离散时间信号在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。
通常的情况下,需要与时间变量相对应。
如前所述,MA TLAB有很多内部数学函数可以用来产生这样的数字序列,例如sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。
2.1连续时间信号的仿真程序Program1_1是用MATLAB 对一个正弦信号进行仿真的程序,请仔细阅读该程序,并在计算机上运行,观察所得图形。
% Program1_1% This program is used to generate a sinusoidal signal and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsdt = 0.01; % Specify the step of time variablet = -2:dt:2; % Specify the interval of timex = sin(2*pi*t); % Generate the signalplot(t,x) % Open a figure window and draw the plot of x(t)title('Sinusoidal signal x(t)')xlabel('Time t (sec)')常用的图形控制函数axis([xmin,xmax,ymin,ymax]):图型显示区域控制函数,其中xmin 为横轴的显示起点,xmax 为横轴的显示终点,ymin 为纵轴的显示起点,ymax 为纵轴的显示终点。
信号与系统 matlab实验报告
信号与系统 matlab实验报告《信号与系统 Matlab实验报告》摘要:本实验报告通过使用 Matlab 软件进行信号与系统实验,探讨了信号与系统在数字领域的应用。
实验结果表明,Matlab 软件具有强大的信号处理和系统分析功能,能够有效地进行信号与系统的模拟和分析。
引言:信号与系统是电子工程领域中的重要基础课程,它研究了信号的产生、传输和处理,以及系统对信号的响应和影响。
在数字领域,信号与系统的理论和方法也得到了广泛的应用。
Matlab 软件作为一种强大的数学计算工具,为信号与系统的模拟和分析提供了便利和高效的途径。
实验一:信号的生成与显示在本实验中,我们首先使用 Matlab 软件生成了几种常见的信号,包括正弦信号、方波信号和三角波信号。
通过调整信号的频率、幅度和相位等参数,我们观察了信号的变化,并利用 Matlab 的绘图功能将信号图形显示出来。
实验结果表明,Matlab 软件能够方便地生成各种类型的信号,并能够直观地显示信号的波形和特性。
实验二:信号的采样与重构在本实验中,我们使用 Matlab 软件对信号进行了采样和重构。
我们首先对一个连续信号进行了离散采样,然后利用 Matlab 的插值函数对采样信号进行了重构。
实验结果表明,采样和重构过程中存在信号失真和频率混叠等问题,但通过适当的采样和重构方法,我们能够有效地还原原始信号。
实验三:系统的响应与分析在本实验中,我们使用 Matlab 软件对系统的响应进行了分析。
我们构建了几种常见的系统模型,包括线性时不变系统和滤波器系统,然后利用 Matlab 的系统分析工具对系统的频率响应、相位响应和单位脉冲响应等进行了分析。
实验结果表明,Matlab 软件能够有效地进行系统的模拟和分析,为系统设计和优化提供了有力的支持。
结论:通过本实验,我们深入了解了信号与系统在数字领域的应用,并掌握了使用 Matlab 软件进行信号与系统模拟和分析的方法。
信号与系统——MATLAB基本实验
信号与系统——MATLAB基本实验《信号与系统MATLAB实践》第一次上机作业实验一、熟悉MATLAB基本操作三、基本序列运算1.数组的加减乘除和乘方运算A=[1 2 3];B=[4 5 6];C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;subplot(2,4,1);stem(A)subplot(2,4,2);stem(B)subplot(2,4,3);stem(C)subplot(2,4,4);stem(D)subplot(2,4,5);stem(E)subplot(2,4,6);stem(F)subplot(2,4,7);stem(G)(2)t=0:0.001:10x=5*exp(-t)+3*exp(-2*t);plot(t,x)ylabel('f(t)');xlabel('t');title('(2)');(3)t=0:0.001:3x=exp(-t).*sin(2*pi*t); plot(t,x)ylabel('f(t)');xlabel('t');title('(3)');(4)t=0:0.001:3 x=sin(3*t)./(3*t); plot(t,x)ylabel('f(t)'); xlabel('t');title('(4)');(5)k=1:1:6 x=(-2).^(-k); stem(k) xlabel('k'); ylabel('f(k)'); title('(5)');(6)k=0:1:4 x=exp(k); stem(k) xlabel('k'); ylabel('f(k)'); title('(6)');(7)k=1:1:99 x=k;stem(k) xlabel('k'); ylabel('f(k)'); title('(7)');四、利用MATLAB求解线性方程组。
基于MATLAB的信号与系统实验教程
基于MATLAB的信号与系统实验教程MATLAB是一种功能强大的数学软件,广泛应用于信号与系统领域的实验教学中。
本文将介绍一些基于MATLAB的信号与系统实验教程。
一、实验1:MATLAB入门本实验旨在帮助学生快速熟悉MATLAB的基本操作和函数。
学生将学习如何在MATLAB中创建信号、绘制信号波形,并学会使用基本的MATLAB函数和命令对信号进行处理和分析。
二、实验2:连续时间信号的时域分析本实验旨在介绍连续时间信号的时域分析方法,包括信号的平均功率、能量、自相关函数和互相关函数等。
学生将使用MATLAB对具体信号进行时域分析,并观察结果。
三、实验3:离散时间信号的时域分析本实验旨在介绍离散时间信号的时域分析方法,包括离散时间信号的能量、平均功率、自相关函数和互相关函数等。
学生将使用MATLAB对具体信号进行时域分析,并观察结果。
四、实验4:连续时间信号的频域分析本实验旨在介绍连续时间信号的频域分析方法,包括信号的频谱分析、频谱密度估计和滤波器设计等。
学生将使用MATLAB对具体信号进行频域分析,并观察结果。
五、实验5:离散时间信号的频域分析本实验旨在介绍离散时间信号的频域分析方法,包括离散时间信号的频谱分析、频谱密度估计和滤波器设计等。
学生将使用MATLAB对具体信号进行频域分析,并观察结果。
六、实验6:系统的时域分析本实验旨在介绍连续时间系统和离散时间系统的时域分析方法,包括冲击响应、步响应和频率响应等。
学生将使用MATLAB对具体系统进行时域分析,并观察结果。
七、实验7:系统的频域分析本实验旨在介绍连续时间系统和离散时间系统的频域分析方法,包括系统的幅频特性、相频特性和群延迟等。
学生将使用MATLAB对具体系统进行频域分析,并观察结果。
八、实验8:信号滤波器设计本实验旨在介绍连续时间信号滤波器和离散时间信号滤波器的设计方法,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
学生将使用MATLAB对具体信号进行滤波器设计,并观察结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信号与系统》实验预备知识matlab入门与操作绪言MATLAB应用简介1.MATLAB在信号与系统中的应用简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB 在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。
例如,解微/差分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。
数值计算仿真分析可以帮助更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。
2.MATLAB软件使用入门2.1 MATLAB软件的环境介绍MATLAB 6.5的工作桌面由标题栏、菜单栏、工具栏、命令窗口(Command Window)、工作空间窗口(Workspace)、当前目录窗口(Current Directory)、历史命令窗口(Command History)及状态栏组成,从而为用户使用MATLAB提供了集成的交互式图形界面,如图1所示。
MATLAB的命令窗口是接收用户输入命令及输出数据显示的窗口。
当启动MATLAB 软件时,命令窗口就做好了接收指令和输入的准备,并出现命令提示符(>>),在命令提示符后输入指令,包括变量、函数和数值等,这些被放置在MATLAB的工作空间中。
查看工作空间的另一种方法是使用whos命令,在命令提示符后输入whos命令,工作空间中的内容概要将作为输出显示在命令窗口中。
有的命令可以用来清除不必要的数据,同时释放部分系统资源。
clear all 命令可以用来清除工作空间的所有变量,如果要清除某一特定变量则需要在clear 命令后加上该变量的名称。
另外,clc 命令用来清除命令窗口的内容。
对于初学者而言,需要掌握的最重要且最有用的命令应为help 命令。
MATLAB 命令和函数有数千个,而且许多命令的功能非常强大,调用形式多样。
要想了解一个命令或函数,只需在命令提示符后输入help ,并加上该命令或函数的名称,则MATLAB 会给出其详细帮助信息。
2.2 MATLAB 软件基本运算入门1. MATLAB 软件的数值计算(1)算术运算MATLAB 可以像一个简单的计算器一样使用,不论是实数运算还是复数运算都能轻松完成。
标量的加法、减法、除法和幂运算均可通过常规符号“+”、“-”、“*”、“/”、以及“^”来完成。
对于复数中的虚数单位,MATLAB 采用预定义变量i 或j 表示,即i=j=1-。
因此,一个复常量可用直角坐标形式来表示。
例如,在命令窗口输入(以下凡是程序语句前带有“>>”的,都表示在命令窗口输入)>>A=-3-i*4A=-3.0000 - 4.0000i图1 MATLAB 的工作桌面将复常量-3-i4赋予了变量A 。
一个复常量还可用极坐标的形式来表示,例如,>>B=2*exp(i*pi/6)B=1.7321 + 1.0000i其中,pi 是MATLAB 预定义变量,pi=π。
复数的实部和虚部可以通过real 和imag 运算符来实现,而复数的模和辐角可以通过abs 和angle 运算符来实现,应注意辐角的单位为弧度。
例如,复数A=-3-i4的模和辐角、复数B 的实部和虚部的计算分别为>>A_mag=abs(A)A_mag=5>>A_rad=angle(A)A_rad=-2.2143>>B_real=real(B)B_real=1.7321>>B_imag=imag(B)B_imag=1.0000如果将弧度值用“度”来表示,则可进行转换,即>>A_deg=angle(A)*180/piA_deg=-126.8699复数A 的模可表示为*AA A =,因此,其共轭复数可通过conj 命令来实现,例如,>>A_mag=sqrt(A*conj(A))A_mag=5 (2)向量运算向量是组成矩阵的基本元素之一,MATLAB 具有关于向量运算的强大功能。
向量被分为行向量和列向量。
生成向量的方法有很多,我们主要介绍两种。
①直接输入向量:即把向量中的每个元素列举出来。
向量元素要用“[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
例如,>>A=[1,3,5,21]A=1 3 5 21>>B=[1;3;5;21]B=13521②利用冒号表达式生成向量:这种方法用于生成等步长或均匀等分的行向量,其表达式为x=x0:step:xn 。
其中,x0为初始值;step 表示步长或增量;xn 为结束值。
如果step 值缺省,则步长默认为1。
例如,>>C=0:2:10C=0 2 4 6 8 10>>D=0:10D=0 1 2 3 4 5 6 7 8 9 10在连续时间信号和离散时间信号的表示过程中,我们经常要用到冒号表达式。
例如,对于10≤≤t 范围内的连续信号,可用冒号表达式“t =0:0.001:1;”来近似表达该区间,此时,向量t 表示该区间以0.001为间隔的1001个点。
如果一个向量或一个标量与一个数进行运算,即“+”、“-”、“*”、“/”、以及“^”运算,则运算结果是将该向量的每一个元素与这个数逐一进行相应的运算所得到的新的向量。
例如,>>C=0:2:10;>>E=C/4E=0 0.5000 1.0000 1.5000 2.0000 2.5000其中,第一行语句结束的分号是为了不显示C 的结果;第二句没有分号则显示出E 的结果。
一个向量中元素的个数可以通过命令“length”获得,例如,>>t =0:0.001:1;>>L=length(t)L=1001(3)矩阵运算MATLAB 又称矩阵实验室,因此,MATLAB 中矩阵的表示十分方便。
例如,输入矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡333231232221131211在MATLAB 命令窗口中可输入下列命令得到,即 >>a=[11 12 13;21 22 23;31 32 33]a=11 12 1321 22 2331 32 33其中,命令中整个矩阵用括号“[ ]”括起来;矩阵每一行的各个元素必须用逗号“,”或空格分开;矩阵的不同行之间必须用分号“;”或者按Enter 键分开。
关于矩阵的运算,分很多情况,这里不做详细说明,同学们可以课下查阅相关资料。
【例1】 已知t 为一向量,用MATLAB 命令计算1)cos(5)sin(22+++=-t t e t y t 在10≤≤t 区间上对应的值。
解:在计算之前,先简要介绍一下Matlab 基本操作。
打开Matlab 6.5,只保留命令窗口(Command Window ),点击文本编辑窗口(M-file )创建、编辑M 程序。
如下图。
在文本编辑窗口输入指令程序。
当输入完整程序后,点击DEBUG →RUN 运行程序,或用键盘F5键直接运行。
另外,也可点击窗口快捷运行程序键。
如下图。
编辑完成一个程序后,第一次运行或另存为时,需要保存M 程序,保存的路径为命令窗口所示的当前目录路径(Current Directory ),该路径可自行设置。
如下图。
注意:M 文件在命名时有一定规则,错误命名时会使M 文件不能正常运行。
(1)M 文件名首字符不能是数字或下划线;(2)M 文件名不能与Matlab 的内部函数名相同;(3)M 文件名中不能有空格,不能含有中文。
保险起见,要求采用英文字母对M 文件命名。
一般多指令较长程序应在文本编辑窗口输入,修正、调试都比较方便。
打开文本编辑窗口,编辑MATLAB 源程序(以下凡是程序语句前无“>>”的,都表示在文本编辑窗口输入)t=0:0.01:1;y=(sin(t).*exp(-2*t)+5)./(cos(t)+t.^2+1);plot(t,y),xlabel('t'),ylabel('y')保存运行,输出图形如下。
这里未将y 向量的结果显示出来,而是利用plot 命令将结果绘出。
2. MATLAB 软件的符号运算MATLAB 符号运算功能由工具箱提供的函数命令实现,符号运算是指符号之间的运算,其运算结果仍以标准的符号形式表达。
符号运算是MATLAB 的一个极其重要的组成部分,符号表示的解析式比数值解具有更好的通用性。
在使用符号运算之前必须定义符号变量,并创建符号表达式。
定义符号变量的语句格式为:syms 变量名 图2 例1的结果其中,各个变量名须用空格隔开。
例如,定义x 、y 、z 三个符号变量的语句格式为>>syms x y z另一种定义符号变量的语句格式为sym('变量名')例如,x 、y 、z 三个符号变量定义的语句格式为>>x=sym('x')>>y=sym('y')>>z=sym('z')sym 语句还可以用来定义符号表达式,语句格式为sym('表达式')例如,定义表达式x+1为符号表达式对象,语句为>>sym('x+1')另一种创建符号表达式的方法是先定义符号变量,然后直接写出符号表达式。