如何理解对连续系统传递函数Z变换

连续传递函数Z变换

我们知道对于连续传递函数,如果外部激励为脉冲信号 δ ( t ) \delta(t) δ(t) ,那么输出信号的拉式变化就是系统传递函数。那么如果对系统做Z变换也就等同于对冲激信号下的系统输出做Z变换,而将系统Z变换后给予离散下的冲激响应由Z变换两个相乘知其等于连续系统冲激输出下信号的Z变换。因此有如下结论:对连续系统Z变换保持了冲激响应在采样时刻的相同值。

  • 代码:
s = tf('s');
z = tf('z',0.5);
w = 1/(s+1);
ww = 1/(1-z^(-1)*exp(-0.5));
impulse(w,0.5*ww)

这里要注意impulse函数的用法,在帮助文档里写到:对于连续系统它给定就是冲激无穷大,对于离散系统它给定的是一个宽度为Ts,高度为1/Ts的脉冲,也就是说我这里给的Ts=0.5s,高度就为2,但是我们实际需要的是高度为1的冲激,因此最后需要乘0.5绘制图像。
在这里插入图片描述
我们清楚看到它们在采样时刻的响应值是相同的。
下面绘制连续系统和和其Z变换后系统的阶跃响应:

step(w,ww)

在这里插入图片描述
这个时候可能会有这么一个疑问:既然Z变换后的系统能保持冲激响应采样时刻不变,那么阶跃响应为无数冲激的累和,为什么上面两条曲线差别这么大?答案是step函数对于连续系统给的给定也是连续的1(t),而对离散系统给的是1(kT),如果想让连续系统的输出仍然保持采样时刻不变,那么输入就也一定要是1(KT),这个1(KT)理论上也是有s域象函数的,将其乘上系统连续传递函数后拉式反变换就能得到采样时刻相同的连续曲线了。 而在实际中,离散的信号的s域函数几乎是得不到的,如果我们还是想得到同样的效果,就只能先将连续传递函数乘上保持器的s域象函数后再Z变换,这样得到的离散传递函数无论输入是什么都能保证在采样时刻值相同。在matlab中可以使用c2d默认方法(零阶保持器)即可,其等效于:
D ( z ) = Z [ 1 − e − T s s × W ( s ) ] D(z) = Z[\frac{1-e^{-Ts}}{s}\times W(s)] D(z)=Z[s1eTs×W(s)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iπ弟弟

如果可以的话,请杯咖啡吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值