信号与系统的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的线性系统时域分析及仿真MATLAB是一种高级计算软件,广泛应用于各个领域中的科学和工程问题的分析与仿真。
在信号与系统领域,MATLAB提供了强大的工具来进行线性系统的时域分析与仿真。
线性系统是指具有线性特性的系统,它们满足叠加原理和比例原理。
在时域分析中,我们通常关注系统的时域响应,即系统对输入信号的输出响应。
MATLAB提供了许多实用的函数来分析线性系统的时域行为。
首先,我们可以通过建立线性系统模型来研究其时域特性。
MATLAB 中的tf和ss函数可以用于创建传递函数和状态空间模型。
传递函数是输入输出之间的比值关系,而状态空间模型描述了系统的状态变量和输入/输出之间的关系。
可以通过输入系统的差分方程或频域特性来创建或导入线性系统的模型。
接下来,我们可以使用step、impuls和lsim函数来分析线性系统的时域响应。
step函数用于计算系统的单位阶跃响应,impuls函数用于计算系统的单位脉冲响应,而lsim函数用于计算系统对任意输入信号的响应。
这些函数能够绘制系统的时域响应曲线,并提供有关系统稳定性和动态特性的信息。
除了时域分析,MATLAB还提供了一些仿真工具来模拟线性系统的时域行为。
Simulink是MATLAB的一个强大的仿真环境,它可以用于构建复杂的线性系统模型,并通过仿真来分析系统的时域响应。
Simulink提供了丰富的模块库,包括线性系统模型、输入信号源和观测器等,使用户能够快速搭建系统模型并进行仿真。
在仿真过程中,Simulink提供了多种仿真方法,如固定步长仿真和变步长仿真。
固定步长仿真通过以固定的时间步长进行仿真,可以在仿真过程中保持较高的精度。
变步长仿真则根据系统响应的动态特性自适应地调整仿真步长,以确保在不同仿真阶段获取较高的精度和仿真效率。
总之,MATLAB提供了强大的工具来进行线性系统的时域分析与仿真。
通过建立线性系统模型、使用时域分析函数和Simulink仿真工具,用户可以方便地研究和分析系统的时域特性,并得到系统的时域响应曲线,进而了解系统的稳定性、动态特性和性能等信息。
信号与系统 matlab 书籍

信号与系统是电子信息类专业的一门重要课程,它涉及到信号的产生、传输、处理和系统对信号的响应等内容。
而对于学习该课程的学生来说,掌握好相关知识和技能对于以后的学习和工作都至关重要。
选择一本优质的信号与系统的 MATLAB 书籍就显得至关重要。
通过本文,我将向您推荐一本值得阅读的信号与系统的 MATLAB 书籍,并简要介绍其内容,希望能够给您的学习和工作带来帮助。
1. 《MATLAB仿真信号与系统建模教程》这本书由普林斯顿大学教授 Dennis S. Bernstein 和舒洛克教授撰写,是一本信号与系统领域的经典教材。
它通过 MATLAB 实例来解释信号与系统的基本概念,包括线性时不变系统(LTI 系统)、傅立叶分析、滤波器设计等内容。
考虑到大多数学生对 MATLAB 操作不熟练,本书还附带了 MATLAB 的简要入门教程,帮助读者快速掌握 MATLAB 在信号与系统中的应用。
2. 《MATLAB在信号与系统中的应用》这是一本由国内著名信号与系统专家刘琦编著的 MATLAB 信号与系统应用教程。
该书通过大量的仿真例子和 MATLAB 代码,详细介绍了信号与系统理论在 MATLAB 中的应用。
书中还包括了对信号处理工具箱和控制系统工具箱的介绍,使读者能够更好地应用 MATLAB 进行信号与系统的建模、仿真和分析。
3. 《MATLAB信号与系统实验教程》该书主要是按照实验的方式来学习信号与系统。
它从基本信号的产生与表示开始,介绍了常见的信号与系统模型,并通过 MATLAB 可视化和仿真实验帮助读者更直观地理解信号与系统的概念和原理。
书中还提供了丰富的 MATLAB 实验案例,如系统的频域和时域表示、信号的采样与重构、滤波器设计等,帮助读者巩固理论知识,提高实际操作能力。
在选择信号与系统的 MATLAB 书籍时,我们可以根据自己的学习需求和水平来进行选择。
如果是初学者,可以选择内容易懂、带有大量MATLAB 实例和案例的教材;如果是深入学习和研究该领域的同学,可以选择更加专业和深入的教材。
信号与系统实验(MATLAB版) (1)

《信号与系统MATLAB实现》实验指导书电气信息工程学院2014年2月长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。
MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。
MATLAB究竟有那些特点呢?1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;2.完备的图形处理功能,实现计算结果和编程的可视化;3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。
正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。
通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。
另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。
第4章 信号与系统的MATLAB仿真

模型、传递函数模型和零-极点增益模型。其中sos表示二次分式,g为比
例系数,sos为L×6的矩阵,即
b01 b11 b21 1 a11 a21
sos
b0L b1L b2L 1 a1L a2L
(4-15)
1.ss2tf函数 格式:[num, den]=ss2tf(A,B,C,D,iu) 功能:将指定输入量iu的线性系统(A,B,C,D)转换为传递函数模型[num,den]。
生成上述三种信号
• t =-5:0.01:5; • subplot(2,2,1); • a=2 • y1=2.^t • plot(t, y1, 'r') • subplot(2,2,2); • a=2; • theat=pi/3; • y2=sin(2*pi*t+theat) • plot(t, y2) • subplot(2,1,2); • w=4; • y3=exp((a+j*w)*t); • plot(t, y3, ‘y')
3、sinc函数
产生sinc波形或sin(πt)/(πt)波形
sinc(t
)
1
sin(
t)
t
t 0 t0
例: t=linspace(-10,+10,200); x=sinc(t);
plot(t,x);
4.1.2 信号运算
1信号的相加与相乘 y(n)=x1(n)+x2(n) MATLAB实现:y=x1+x2
离散系统: 6.状态空间模型ss
连续系统:
H ( z)
g
L k 1
b0k b1k z1 b2k z2 1 a1k z1 a2k z2
x' Ax Bu
学习使用MATLAB进行信号处理和仿真

学习使用MATLAB进行信号处理和仿真信号处理是一门重要的学科,它在许多领域中发挥关键作用,包括通信、图像处理、生物医学工程等。
而MATLAB作为一个功能强大的编程软件,具备丰富的信号处理和仿真工具,因此被广泛应用于信号处理领域。
本文将重点介绍如何学习使用MATLAB进行信号处理和仿真。
一、MATLAB入门要使用MATLAB进行信号处理和仿真,首先需要对MATLAB有一定的了解。
MATLAB是一种高级计算机语言,可用于数值计算、可视化和编程。
首先,我们需要学习MATLAB的基本语法和特点,包括变量的定义和操作、矩阵运算、函数的定义和调用等。
其次,熟悉MATLAB的常用工具箱,如信号处理工具箱和控制系统工具箱,它们提供了丰富的函数和算法,方便进行信号处理和仿真。
二、信号的表示与分析在信号处理中,首先需要了解信号的表示与分析方法。
MATLAB提供了多种表示信号的方法,包括时域分析和频域分析。
时域分析是通过观察信号在时间上的变化来研究信号的性质,常用的时域分析方法有时域图形显示、自相关函数和互相关函数等。
频域分析则是将信号转换到频域进行分析,常用的频域分析方法有傅里叶变换和功率谱密度估计等。
学习使用MATLAB进行信号的时域和频域分析,可以更好地理解和处理信号。
三、滤波器设计与应用滤波器是信号处理中非常常见和重要的工具。
它可以通过选择性地通过或抑制特定频率的信号,对信号进行处理。
MATLAB提供了丰富的滤波器设计和应用函数,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
我们可以利用MATLAB进行滤波器的设计、参数的调整和滤波器效果的评估等工作。
熟练掌握MATLAB中滤波器设计与应用的方法,对信号处理和仿真工作具有重要意义。
四、信号处理应用实例学习信号处理和仿真离不开实际应用实例的学习。
在这一章节中,将以几个具体的信号处理应用实例来展示MATLAB的具体使用。
比如,在通信领域中,我们可以利用MATLAB进行信号调制、解调和信道编码等工作。
用Matlab进行系统函数H(s)仿真

四、负反馈对系统频率响应的改善
• 魔电课告诉我们,负反馈改善频响特性 • 以低通放大器为例,分析负反馈的影响
极点p=-10 增益A=10 F=0时未引入反馈
• 引入反馈F=0.1
• 理论计算
闭环增益为A f=A/(1+AF)=5 截止频率f H=f(1+AF)=p(1+AF)=20rad/s
• 存在的问题希望老师和同学批评指正。
一、系统稳定性
• 极点分布对系统稳定性的影响
1)p=0.02(不稳定)
Simulink中的系统框图
• 仿真结果
输入冲激信号(1s接入)
系统响应h(t)
• 把极点改为p=-0.02 仿真结果为
可以看出此时 系统是稳定的
h(t)
二、反馈系统的稳定性
• 建立如下的反馈系统(课本241页例4-26)
2.二阶谐振系统的仿真(课本225页图4-35) RLC谐振系统的建立
共轭极点p=-5±30i 系统谐振频率约为30rad/s 仿真结果为
• 将alpha值改为1和0.1
观察系统在不同Q值条件下H(s)的变化
将极点分别改为 p=-1±30i p=-0.1±30i 所得仿真结果为
3.带阻滤波器的仿真(课本232页图4-44b) 系统建立为
概述
• Matlab的Simulink工具箱具有强大的信号与
系统仿真功能,可以进行时域、频域,连 续信号、离散信号的实时仿真。
• Laplace变换广泛的应用于系统分析,我们
尝试了使用Simulink对课本中的一些例题进 行了仿真,对Laplace变换有了更加形象直 观的认识。下面是仿真的过程与结果。
信号与系统利用MATLAB进行信号与系统分析与方程讲解

0.2
0.1
0
-3
-2
-1
0
1
2
3
1
0.9
0.8
0.7
ft=tripuls(t,4,1);
0.6
0.5
0.4
0.3
0.2
信号与系统利用MATLA0.B1 进行信号与系
统分析和方程0讲解
-3
-2
-1
0
1
2
3
一、基本信号的MATLAB表示
% unit impuls sequence
1 0.9
k=-50:50;
0.8
0.7
uk=[zeros(1,50), ones(1,51Fra bibliotek];0.6
0.5
stem(k,uk)
0.4
0.3
0.2
function [f,k]=stepseq(k0,k1,k2) %产生 f[k]=u(k-k0);k1<=k<=k2
0.1
0
-50 -40 -30 -20 -10
0
10 20 30 40 50
axis([-1 3 0 2]);
直接在命令窗口输入以上命令
建一个名字为my_file.M的文件,然后在命令窗口输
入文件名及回车。 信号与系统利用MATLAB进行信号与系统分析和 方程讲解
二、获取帮助
命令窗口输入: help+函数名 例如 help plot
信号与系统利用MATLAB进行信号与系 统分析和方程讲解
一、基本信号的MATLAB表示
%decaying exponential t=0:001:10; A=1; a=-0.4; ft=A*exp(a*t); plot(t,ft)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩
课程设计说明书(计算书、论文)
题 目 信号与系统的 MATLAB 仿真
课 程 名 称 院 (系)
信号与系统 电子通信工程学院
专 业 班 级 学 生 姓 名 学 号
设 计 地 点 指 导 教 师
设计起止时间:
年
月 日
至
年
月
日
1.
课程设计应达到的目的
(1)熟悉 Matlab 软件的运行环境 (2)掌握采用 Matlab 软件程序实现信号与系统分析的方法 (3)掌握正确的编程过程和仿真分析 (4)总结对比软件仿真与硬件实验的区别及特点 2.课程设计题目及要求 《信号与系统》课程设计选题主要是要体现本课程的主要教学 内容中的重点部分,同时要求选题能过反映出信号仿真的代表性, 系统分析的应用性, 灵活性, 并且能与原本理论教学中繁琐的数学 计算相比较, 体现出软件计算的方便快捷性, 本课程设计主要包括 四个小设计部分,分别是: (1)信号的产生与简单运算:产生一个方波周期为 4π ,t[0 50]。
(2)求解微分方程:y"(t)+3y'(t)+2y(t)=2e-² ε(t)求 yzs; 求卷积:e-² ε (t)*e-³ ε (t)
t t
t
(3)求 H (s)
2s 2 1 s 3 4s 2 6s 9
求零、极点 并绘图 冲激响应
(4)求解差分方程:y(n)-y(n-1)-2y(n-2)=f(n) f(n)=( 1 )nε (n)
3
f(n)=δ (n)
3.课程设计思路 利用信号与系统中的 matlab 常用命令集求解微分方程,并利用结 果和绘图命令绘图。
4.课程设计原理 设计原理 (1)设计一个简单程序能实现方波信号的生成。
利用Matlab软件的信号处理工具箱(Signal Processing Toolbox)中的专用函数产生 信号并绘出波形。
(2) 对于求方程的零状态响应,即是求解常微分方程。
Matlab 解常微分方程式的语法是 dsolve('equation','condition'),其中equation代表常微分方程式即 y'=g(x,y), 且须以Dy代表一 微分项y'',condition则为初始条件。
利用MATLAB中conv命令求解卷积。
阶微分项y' D2y代表二阶
(3)设计相关程序实现系统稳定性的分析。
提示:系统函数H(s)的 零、极点可用matlab的多项式求根函数roots()求得. 极点:p=roots(den) 零点:z=roots(num) 根据p和z用plot()命令即可画出系统零、极点分布图,进而 分析判断系统稳定性. (4)设计程序对离散系统的差分方程求解 参考N阶差分方程求解设计程序: Matlab中,filter子程序可用来在给定输入和差分方程系数 时求差分方程的数值解,调用格式为: Y=filter(B,A,X) 其 中 ,B=[b0,b1, … ,bm];A=[a0,a1, … ,an];X 为 输 入 信 号 序 列,注意必须保证系数a0不为零.
5.程序设计
实验一:
程序代码: >>t=0:0.01:50; >> y=square(0.5*t); >>plot (t,y); 程序结果及分析:在程序中输入上述代码利用 plot 绘图, 所得图形如下,
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
5
10
15
20
25
30
35
40
45
50
实验二:
求解微分方程
利用 matlab 编程可以解决高次函数的零极点问题很容易 的绘制系统函数的特性曲线从中可以看出系统是否稳定 并可以利用相关函数很容易的求解外加激励通 过 : >>yzs=dsolve('D2y+3*Dy+2*y=2*exp(-2*t)','y(0)=0,D
y(0)=0') > >ezplot(yzs,[0 8]); 程 序 结 果 及 分 析 : 在 程 序 中 输 入 yzs=dsolve('D2y+3*Dy+2*y=2*exp(-2t)','y(0)=0,Dy(0)=0') 所得结果如下: yzs = 1/exp(t) - 2/exp(2*t) + 1/exp(3*t) 输入 ezplot(yzs,[0 8]);所得图形如下:
(-exp(-t) (2+2 t)+2) exp(-t)
0.2
0.15
0.1
0.05
0 0 1 2 3 4 t 5 6 7 8
卷积 e-² ε (t)*e-³ ε (t)
t
t
程序代码:
>> t=0:0.01:2; >> f1=exp(-2*t); >>f2=exp(-3*t); >>f=conv(f1,f2); >>subplot(3,1,1),plot(t,f1); >>subplot(3,1,2),plot(t,f2); >>t=0:0.01:4; >>subplot(3,1,2),plot(t,f);
程序结果及分析:在程序中输入程序代码,利用 subplot 及
Plot 绘图。
所得图形如下;
1
0.5
0 20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
10
0
0
0.5
1
1.5
2
2.5
3
3.5
4
实验三:
程序代码: >> b=[2 1]; >>a=[1 4 6 9]; >>sys=tf(b,a); >> subplot(1,3,1),pzmap(sys); >>subplot(1,3,2),step(b,a); >>subplot(1,3,2),impulse(b,a); 程序结果及分析:此程序是调用了 pzmap 和 sys 函数调用形 式 Pzmap (sys) Sys=tf(b,a) 所得图形如下;
Pole-Zero Map 2 0.4 Impulse Response
1.5
0.3
1 0.2 0.5
Imaginary Axis
0
Amplitude
-2 Real Axis 0
0.1
0
-0.5 -0.1 -1 -0.2
-1.5
-2 -4
-0.3
0
5
10
15
Time (sec)
实验四:
程序代码: >>b=[1];a=[1 -1 -2]; >>n=0:15; >>fn=(1/3).^n; >>y1=filter(b,a,fn); >>y2=impz(b,a,16); >>subplot(1,2,1),stem(n,y1,'filled'); >>subplot(1,2,2),stem(n,y2,'filled'); 程序结果及分析:filter(n, d, x) 用过滤器过滤向量 x,过滤 器系统函数为 n(z)/d(z),包含一些输出延迟,impz 用长除 法求逆 z 变换 h(n), stem 绘制单位响应 h(n)的波形。
所得图形;
3
x 10
4
2.5
x 10
4
2.5
2
2 1.5 1.5 1 1
0.5 0.5
0
0
5
10
15
0
0
5
10
15
5.设计心得 通过本次信号与系统的 matlab 软件仿真, 我们学习了 matlab 数学软件。
这次课程设计虽然遇到了很多问题,很多困难,但是也学到
别是程序语法。
了很多东西。
不仅学到了书本上的东西,而且学到了很多课本上 没有的东西, 很多程序里的东西, 特
。