信号与系统Matlab实验2012版
- 格式:pdf
- 大小:137.48 KB
- 文档页数:14
信号与系统MATLAB实验报告实验目的本实验旨在通过MATLAB软件进行信号与系统的相关实验,探究信号与系统的特性与应用。
实验步骤1. 准备工作在正式进行实验之前,我们需要做一些准备工作。
首先,确保已经安装好MATLAB软件,并且熟悉基本的操作方法。
其次,准备好实验所需的信号与系统数据,可以是已知的标准信号,也可以是自己采集的实际信号。
2. 信号的生成与显示使用MATLAB编写代码,生成不同类型的信号。
例如,可以生成正弦信号、方波信号、三角波信号等。
通过绘制信号波形图,观察不同信号的特点和变化。
t = 0:0.1:10; % 时间范围f = 1; % 信号频率s = sin(2*pi*f*t); % 正弦信号plot(t, s); % 绘制信号波形图3. 系统的建模与分析根据实验需求,建立相应的系统模型。
可以是线性时不变系统,也可以是非线性时变系统。
通过MATLAB进行模型的建立和分析,包括系统的时域特性、频域特性、稳定性等。
sys = tf([1, 2], [1, 3, 2]); % 系统传递函数模型step(sys); % 绘制系统的阶跃响应图4. 信号与系统的运算对于给定的信号和系统,进行信号与系统的运算。
例如,进行信号的卷积运算、系统的响应计算等。
通过MATLAB实现运算,并分析结果的意义与应用。
x = [1, 2, 3]; % 输入信号h = [4, 5, 6]; % 系统响应y = conv(x, h); % 信号的卷积运算plot(y); % 绘制卷积结果的波形图5. 实验结果分析根据实验数据和分析结果,对实验进行结果总结与分析。
可以从信号的特性、系统的特性、运算结果等方面进行综合性的讨论和分析。
实验总结通过本次实验,我们学习了如何在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实验报告院系:专业:年级:班号:姓名:学号:实验时间:实验地点:实验一 连续时间信号的表示及可视化实验题目:)()(t t f δ=;)()(t t f ε=;at e t f =)((分别取00<>a a 及); )()(t R t f =;)()(t Sa t f ω=;)2()(ft Sin t f π=(分别画出不同周期个数的波形)。
解题分析:以上各类连续函数,先运用t = t1: p:t2的命令定义时间范围向量,然后调用对应的函数,建立f 与t 的关系,最后调用plot ()函数绘制图像,并用axis ()函数限制其坐标范围。
实验程序:(1))()(t t f δ=t=-1:0.01:3 %设定时间变量t 的范围及步长 f=dirac(t) %调用冲激函数dirac () plot(t,f) %用plot 函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的范围 (2))()(t t f ε=t=-1:0.01:3 %设定时间变量t 的范围及步长 f=heaviside(t) %调用阶跃函数heaviside () plot(t,f) %用plot 函数绘制连续函数 title('f(t)=heaviside(t)') %用title 函数设置图形的名称 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的范围 (3)at e t f =)(a=1时:t=-5:0.01:5 %设定时间变量t 的范围及步长 f=exp(t) %调用指数函数exp ()plot(t,f) %用plot 函数绘制连续函数 title('f=exp(t)') %用title 函数设置图形的名称 axis([-5,5,-1,100]) %用axis 函数规定横纵坐标的范围 a=2时: t=-5:0.01:5f=exp(2*t) %调用指数函数exp () plot(t,f)title('f=exp(2*t)') axis([-5,5,-1,100]) a=-2时: t=-5:0.01:5 f=exp(-2*t) plot(t,f)title('f=exp(-2*t)') axis([-5,5,-1,100]) (4))()(t R t f =t=-5:0.01:5f=rectpuls(t,2) %用rectpuls(t,a)表示门函数,默认以零点为中心,宽度为a plot(t,f) title('f=R(t)') axis([-5 5 -0.5 1.5]) (5))()(t Sa t f ω=ω=1时: t=-20:0.01:20f=sin(t)./t %调用正弦函数sin (),并用sin (t )./t 实现抽样函数 plot(t,f)title('f(t)=Sa(t)') axis([-20,-20,-0.5,1.1])ω=5时: t=-20:0.01:20 f=sin(5*t)./(5*t) plot(t,f)title('f(t)=Sa(5*t)') axis([-20,-20,-0.5,1.1]) (6))2()(ft Sin t f π=ω=1时: t=-10:0.01:10f=sin(t) %调用正弦函数sin () plot(t,f); title('f=sin(t)') axis([-10,10,-2,2]) ω=5时: t=-10:0.01:10 f=sin(5*t) plot(t,f);title('f=sin(5*t)') axis([-10,10,-2,2])实验结果;(1)-1-0.500.51 1.52 2.53-0.500.511.5(2)-1-0.500.51 1.52 2.53-0.500.511.5f(t)=heaviside(t)(3) a=1时:-5-4-3-2-1012345 a=2时:f=exp(2*t)-5-4-3-2-1012345 a=-2时:-5-4-3-2-1012345(4)-5-4-3-2-1012345-0.500.511.5f=R(t)(5) ω=1时:-20-15-10-505101520-0.4-0.20.20.40.60.81ω=5时:-20-15-10-505101520-0.4-0.20.20.40.60.81f(t)=Sa(5*t)(6) ω=1时:-10-8-6-4-20246810-2-1.5-1-0.500.511.52ω=5时:-10-8-6-4-20246810-2-1.5-1-0.500.511.52f=sin(5*t)实验心得体会:(1) 在 MATLAB 中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
实验一 Matlab使用方法和程序设计一、实验目的1、熟悉MATLAB上机环境,练习MATLAB命令、m文件;2、熟悉Matlab的数据表示、基本运算和程序控制语句;3、熟悉Matlab图形绘制、数据处理;4、熟悉Matlab程序设计的基本方法。
二MA TLAB简介MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
MATLAB 有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。
1.命令窗口(The Command Window)当MA TLAB启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MA TLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
3.图形窗口(The Figure Window)图形窗口用来显示MA TLAB程序产生的图形。
图形可以是2维的、3维的数据图形,也可以是照片等。
二、实验内容1、帮助命令2、矩阵运算(1)矩阵的乘法和乘方已知A=[1 2;3 4]:B=[5 5;7 8]:求A^2*B( 2 )矩阵除法已知A=[1 2 3:4 5 6:7 8 9]:B=[1 0 0:0 2 0:0 0 3],求矩阵左除A\B,右除A/B。
《信号与系统及MATLAB实现》实验指导书前言长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MATLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。
MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。
MATLAB究竟有那些特点呢?1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;2.完备的图形处理功能,实现计算结果和编程的可视化;3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。
正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。
通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。
另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。
实验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.连续时间信号的时域运算对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。
信号与系统课程设计--信号与系统Matlab实验系列信号与系统课程设计报告2013—2014学年第二学期课程名称:信号与系统设计题目:信号与系统Matlab实验系列学院:专业班级:学号:姓名:指导老师:目录实验一连续时间信号时域分析 (1)实验二离散时间信号时域分析 (5)实验三连续时间系统时域分析 (9)实验四离散时间系统时域分析 (11)实验五连续时间信号频域分析 (13)实验六连续时间系统频域分析 (18)实验七信号采样与重建 (24)实验八传输函数与系统特性 (28)感想与心得 (32)实验一 连续时间信号时域分析一、 实验内容1、用MATLAB 表示连续信号:t Ae α,0cos()A t ωϕ+,0sin()A t ωϕ+。
2、用MATLAB 表示抽样信号(sinc(t ))、矩形脉冲信号(rectpuls(t , width))及三角脉冲信号(tripuls(t , width, skew))。
3、编写如图3的函数并用MATLAB 绘出满足下面要求的图形。
(1)();(2)(2);(3)(12);(4)(0.51)f t f t f t f t - - - +二、 源程序及执行结果分析1. 用MATLAB 表示连续信号:t Ae α,0cos()A t ωϕ+,0sin()A t ωϕ+。
(1)源程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% f=A*exp(alpha*t) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=1;alpha=-0.3; t=-10:0.01:10; f=A*exp(alpha*t); plot(t,f)title('f(t)=A*exp(alpha*t)'); xlabel('t') ; ylabel('f(t)') ; grid on%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %f=A*cos(omega0*t+phi) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%t=-10:0.01:10;A=1;omega0=pi;phi=pi/3; f=A*cos(omega0*t+phi); plot(t,f)title(' f=A*cos(omega0*t+phi)'); xlabel('t') ; ylabel('f(t)') ; grid on%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %f=A*sin(omega0*t+phi) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%t=-10:0.01:10;A=1;omega0=pi;phi=pi/3; f=A*sin(omega0*t+phi);plot(t,f)title('f=A*sin(omega0*t+phi)'); xlabel('t') ; ylabel('f(t)') ; grid on(2)执行结果2、用MATLAB 表示抽样信号(sinc(t ))、矩形脉冲信号(rectpuls(t , width))及三角脉冲信号(tripuls(t , width, skew))。
信号与系统 matlab实验报告信号与系统 Matlab 实验报告引言:信号与系统是电子信息类专业中的一门重要课程,它研究了信号的产生、传输和处理过程,以及系统对信号的响应和影响。
通过实验,我们可以更直观地理解信号与系统的基本概念和原理,并掌握使用 Matlab 进行信号与系统分析和处理的方法。
实验一:信号的产生与显示在信号与系统课程中,我们首先需要了解不同类型的信号,以及如何产生和显示这些信号。
在 Matlab 中,我们可以使用一些函数来生成常见的信号波形,如正弦波、方波、三角波等。
通过编写简单的 Matlab 程序,我们可以实现信号的产生和显示。
实验二:信号的采样与重构在实际应用中,信号通常以连续时间的形式存在,但在数字系统中需要将其转换为离散时间的信号进行处理。
这就需要进行信号的采样和重构。
在 Matlab 中,我们可以使用采样函数和重构函数来模拟这一过程,并观察采样率对信号重构质量的影响。
实验三:信号的滤波与频谱分析信号滤波是信号处理中的重要环节,它可以去除信号中的噪声和干扰,提高信号质量。
在 Matlab 中,我们可以使用滤波函数来实现不同类型的滤波器,并观察滤波对信号频谱的影响。
此外,我们还可以使用频谱分析函数来研究信号的频谱特性,如频谱密度、功率谱等。
实验四:系统的时域与频域分析系统是信号处理中的重要概念,它描述了信号在系统中的传输和变换过程。
在Matlab 中,我们可以使用系统函数来模拟不同类型的系统,并观察系统对信号的时域和频域响应。
通过实验,我们可以深入理解系统的时域特性和频域特性,如冲击响应、频率响应等。
实验五:信号的调制与解调信号调制是将信息信号转换为调制信号的过程,而解调则是将调制信号恢复为原始信号的过程。
在 Matlab 中,我们可以使用调制函数和解调函数来模拟不同类型的调制和解调方式,如调幅、调频、调相等。
通过实验,我们可以了解不同调制方式的原理和特点,并观察调制和解调对信号的影响。