信号与线性系统实验指导书

更新时间:2023-09-10 23:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《信号与系统》课内实验指导

--MATLAB仿真

李小平 编写

南京工程学院通信工程学院

2007年9月 南京

使用对象:通信工程专业05级1/2班(本科)

实验一 信号的表示、可视化及时域运算

一、实验目的:熟悉MATLAB软件的使用,学会信号的表示及用MATLAB来产生信号,

实现信号的可视化并进行相应计算。

二、实验时数:2学时 三、实验内容:

信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。信号与系统的仿真运算对信号与系统课程的学习有着重要意义。MATLAB以其科学与技术计算通用的交互系统和编程语言,具有良好的交互数学计算和易于使用的集成图形,编程简单,功能连贯,成为信号与系统的仿真运算首选。

本次实验完成以下内容:

1. 熟悉MATLAB语言。A)双击快捷图标,启动MATLAB。B)了解界面功能。主

界面包括标题栏、菜单栏、工具栏和输入输出区等。C)简单的信号处理可以通过在Command Window中输入相关指令按Enter键执行来达到处理目的。复杂的信号处理可以通过编写M文件,执行M文件达到处理目的。

M文件的编写类似于Word文档编写。选中命令窗口File菜单中M-File打开M文件编辑器或单击命令窗口工具栏中New M-File图标编辑M-文件。

D)M-文件可以在命令窗口输入已保存的M-文件名回车执行,也可使用M-文件编辑器窗口中选择Debug菜单中的RUN运行M-文件。

2.连续信号的表示与可视化。MATLAB提供了大量的生成基本信号的函数,一种常用的方法是调用相关函数及运算通过向量形式来表示信号,用适当的MATLAB语句表示信号后,可以利用MATLAB的绘图命令绘制出直观的信号波形。 本次实验完成指数信号Aeat,正弦信号Asin(?0t??),Acos(?0t??),抽样函数Sa(t)?sin(?t)?t,矩形脉冲函数(产生以t=o为中心的宽度为width的矩形

波)rectpuls(t,width),三角波脉冲函数tripuls(t,width,skew)。

对于连续时间信号f(t),可以用两个行向量f和t来表示,其中向量t是形如t=t1:p:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为信号终止时间,p为时间间隔。向量f为连续信号f(t)在向量t所定义的时间点上的样值。用向量对连续信号进行表示后,就可以用plot命令来绘制出信号的时域波形。plot命令可将点与点间用直线连接,当点与点间的距离很小时,绘出的波形就成了光滑的曲线。 MATLAB命令如下:

plot(t,f);

title(‘f(t)=Sa(t)’); xlabel(‘t’);

axis([-10,10,-0.4,1.1]);

以下是有关波形产生程序:

%program1_1 exponential signal t=0:0.001:10;A=1;a=-0.6;

ft=A*exp(a*t); plot(t,ft)

%program1_2 sinusoidal signal t=0:0.001:8;A=1;w0=2*pi;phi=pi/6; ft=A*sin(w0*t+phi);

plot(t,ft)

%program1_3 sample function t=-3:.001:3; ft=sinc(t); plot(t,ft)

%program1_4 rectpuls function t=-10:0.001:10;A=1; ft=rectpuls(t,2);

ft1=rectpuls(t-2-1,4); plot(t,ft,t,ft1)

%program1_5 tripuls function t=-3:.001:3;

ft= tripuls (t,4,0.5); plot(t,ft)

3.离散信号的表示与可视化。离散信号的表示与可视化和连续信号类似,画图略有不同。这里仅处理单位脉冲序列和单位阶跃序列。 %program1_6 delta function n=-30:30;

delta=[zeros(1,30),1, zeros(1,30)]; stem(n,delta)

%program1_6 un function n=-30:30;

un=[zeros(1,30), ones(1,31)]; stem(n,un)

4. 信号的运算。以下通过实例编程实现信号的平移、翻转、尺度变换及微分、积分,离散序列的差分与求和。 例 通过MATLAB编程对program1_5中的三角波f(t)实现如下变换:f(t?2),

f(2t),f(?t),f(2?2t)并画出变换后的曲线。

%program1_6 t=-3:.001:3;

ft= tripuls (t,4,0.5); ft1= tripuls (t-2,4,0.5); ft2= tripuls (2t,4,0.5); ft3= tripuls (-t,4,0.5); ft4= tripuls (2-2t,4,0.5); subplot(2,3,1) plot(t,ft) title(‘f(t)') subplot(2,3,2) plot(t,ft1) title(‘f(t?2)') subplot(2,3,3) plot(t,ft2) title(‘f(2t)')

subplot(2,3,4) plot(t,ft3) title(‘f(?t)') subplot(2,3,5) plot(t,ft4) title(‘f(2?2t)') 例 计算离散信号f(n)?u(n)1?n2的能量。

%program1_7 the energy of sequence f(n) n=0:30;

fn= 1/(1+n.^2); w= sum(abs(fn).^2) 例 对f(t)?11?t2,使用MATLAB画出

df(t)dt波形。

Function yt=f(t) Yt=1/(1+t.^2);

%program1_8 differentiation of signal f(t) t=-10:0.001:10; y=diff(f(t))/0.001; plot(t(1:length-1),y) 四、学生实验内容

1.熟悉MATLAB语言环境。打开MATLAB,编写、存储并执行M文件。 2.表示信号并画出曲线。

A)f(t)?sin?t?t,步长分别用1.5和0.01。说明图像的变化原因。

B)f(t)?u(t?1)?u(t?2)

C) 产生width为5,skew为0.6的三角波 D) 产生u(n-3) 3. 信号运算

A)通过MATLAB编程对A)中f(t)实现如下变换:

f(1?2t)f(t?1),f(2t),f(?t),

并画出变换后的曲线。

2B)计算离散信号f(n)?0.2e?nu(n)的能量。

五、实验要求:

1、 按照学生实验内容自己练习,并保存实验程序、结果与图像; 2、 按实验报告书写要求完成规范的实验报告。

实验二 线性系统的时域分析

一、实验目的:通过使用MATLAB仿真软件对LTI系统的时域特性进行仿真分析,

使学生对系统的冲激响应和零状态响应等有更深入的理解和掌握。

二、实验时数:2学时 三、实验原理与内容:连续时间与离散时间线性时不变系统数学模型分别对应于常系数线性微分方程和常系数线性差分方程,系统的激励响应即方程的边值解。激励响应可分解为零状态响应与零输入响应之和,零输入响应由齐次方程求得,零状态响应可通过系统的冲击响应与激励卷积。冲击响应h(t)、单位样值响应、阶跃响应反映系统特性,对系统分析有非常重要的意义。

对于LTI系统, MATLAB为用户求解系统的零状态响应、冲激响应、单位脉冲响应提供了专门的函数。本次实验将利用这些函数完成LTI系统的激励响应、冲激响应、单位样值响应的计算及有关验证。学生具体应学会

1.在MATLAB中利用tf函数对系统的表示。

格式: sys=tf([激励端常系数阵],[响应端常系数阵])。 2. 在MATLAB中利用lsim函数求连续时间系统的零状态响应。

格式: y=lsim(sys,输入,系统时间采样向量)。

3. 在MATLAB中利用impulse函数求连续时间系统的冲激响应。

本文来源:https://www.bwwdw.com/article/kxeh.html

Top