连续和离散系统分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 连续和离散系统分析
一、实验目的
学习连续系统和离散系统响应的matlab 求解方法; 二、实验主要仪器设备和材料
计算机
三、实验方法、步骤及结果测试
实验方法:编程,上机调试,分析实验结果; 步骤: 编程实现上述各实验内容 四、实验结果
1、某系统的传递函数为:)
2)(1(1
)(/)(++=
s s x X s Y
试求系统的冲激响应和阶跃响应。
2、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分别用filter、conv、impz三种函数完成。给出理论计算结果和程序计算结果并讨论。
(I)
]1
[
]
[
]2
[
125
.0
]1
[
75
.0
]
[-
-
=
-
+
-
+n
x
n
x
n
y
n
y
n
y
理论计算结果:
程序计算结果:
A:单位冲激响应
(1)用Filter函数(2)用Conv函数(3)用impz函数
单位冲激响应:
n012345 h(n)1
单位阶跃响应:
n012345 y(n)1
B:单位阶跃响应
(1)用Filter函数
(2)用Conv函数
(3)用Impz函数
(II )]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y
理论计算结果:
程序计算结果:
A :单位冲激响应 (1)用filter 函数
(2)用Conv 函数
(3)用Impz 函数
B :单位阶跃响应
单位冲激响应:
n 0 1 2 3 4 5 h(n) 0
单位阶跃响应:
N 0 1 2 3 4 5 y(n) 0
1
1
(1)用filter 函数
(2)用Conv 函数
(3)用Impz 函数
结论:
y=filter(p,d,x)用来实现差分方程,d 表示差分方程输出y 的系数,p 表示输入x 的系数,而x 表示输入序列。输出结果长度数等于x 的长度; 而y=conv(x,h)是用来实现卷积的,对x 序列和h 序列进行卷积,输出的结果个数等于x 的长度与h 的长度之和减去1;
y=impz(p,d,N)是用来实现冲击响应的,d 和p 的定义同filter ,N 表示冲击响应输出的序列个数。
3 已知描述某连续系统的微分方程为
)(8)(2)(6)(5)(''''t x t x t y t y t y +=++
求该系统的单位冲激响应。
程序:
b=[2 8];a=[1 5 6];
sys=tf(b,a);
t=0::10;
y=impulse(sys,t);
plot(t,y);
xlabel(‘时间(t)’);ylabel(‘y(t)’);tltle(‘单位冲激响应’);
4 计算上述系统在输入为
)()(t u e t x t -=时的零状态响应。
5 已知系统函数2
11
12.04.0121)(----++=z
z z z H ,求 1)离散系统的单位冲激响应h(n);
2) 输入为)()(n u n x =,求系统的零状态响应。
程序:
num=[1 2];den=[1 ]; % system model y1=impz(num,den,20); subplot(121); stem(y1); title('impulse response'); n=0:20; x2=ones(1,21);
y1filter=filter(num,den,x2);
subplot(122);
stem(n,y1filter); title('filter_step'); xlabel('x');
ylabel('y');
程序:
ts=0;te=10;dt=;
sys=tf([2 8],[1 5 6]);
t=ts:dt:te;
f=exp(-t);
y=lsim(sys,f,t);
plot(t,y)
xlabel('time(sec)') ylabel('y(t)')
6 已知某离散因果系统的系统函数2
11
5.011)(---+-+=z
z z z H ,试分析该系统的幅频特性。
程序:
num=[1 1]; den=[1 -1 ];
sys=tf(num,den);
w=-10::10; H=freqs(num,den,w);
subplot(2,1,1);plot(w,abs(H));title('幅频特性'); subplot(2,1,2);plot(w,angle(H));title('相频特性');
五、思考题
1)连续系统响应的计算机求解可以分为哪些方法各是什么原理
答:①连续时间系统零状态响应的求解
(
y
sys
lsim
f
)t
,
,
t表示计算系统响应的抽样点向量,f是系统输入信号向量
sys是LTI系统模型,借助tf函数获得。
②连续系统冲激响应和阶跃响应的求解
连续时间系统冲激响应可用impulse函数直接求出,其调用形式为:
y=impulse(sys,t)
连续时间系统阶跃响应可用step函数直接求出,其调用形式为:
y=step(sys,t)
t表示计算系统响应的抽样点向量,sys是LTI系统模型.
2)matlab中用于离散系统求解的命令有哪些各基于什么求解方法
答:①y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度;
②y=conv(x,h)是用来实现卷积的,对x序列和h序列进行卷积,输出的结果个数等于x的长度与h的长度之和减去1;
③y=impz(p,d,N)是用来实现冲击响应的,d和p的定义同filter,N表示冲击响应输出的序列个数。