当前位置:网站首页>Matlab: tf2zp与tf2zpk的差异
Matlab: tf2zp与tf2zpk的差异
2022-06-09 06:39:00 【笨牛慢耕】
目录
1. 问题
tf2zp和tf2zpk都是用于由传递函数(Transfer Function)计算系统的零极点,但是它们之间有细微的差别。运行以下脚本:
b = [0.5, 1];
a = [1, 0.5, 1];
[z1,p1,k1] = tf2zp(b,a)
[z2,p2,k2] = tf2zpk(b,a)得到结果如下:
z1 = -2
p1 =-0.2500 + 0.9682i
-0.2500 - 0.9682i
k1 = 0.5000
z2 = 0 -2
p2 =-0.2500 + 0.9682i
-0.2500 - 0.9682i
k2 = 0.5000
针对同样的输入,tf2zp和tf2zpk计算出来的极点和增益是相同,但是零点略有差异,由tf2zp计算出来的结果中只有一个零点,而 tf2zpk计算出来的结果中有两个零点(多出来一个位置在0处的零点)。这是为什么呢?
2. tf2zp和tf2zpk的差异
关于这一点Mathworks文档有如下说明:
Use
tf2zpkwhen working with transfer functions expressed in inverse powers (). A similar function, tf2zp, is more useful for working with positive powers (
), such as in continuous-time transfer functions.
简而言之,就是tf2zpk是用于离散系统传递函数,而tf2zp是用于连续系统传递函数。
连续系统传递函数是基于拉普拉斯变换而得,其中s的幂次通常是以非负整数的形式出现(其根源在于
)。而离散系统传递函数是基于z变换而得,其中z的幂次通常是以非正整数的形式出现(其根源则在于
)。
以非负的幂表示和以非正的幂表示其实并没有本质的差别,相互之间也是可以相互转化的,但是在传递函数(在用非正数的幂表示时)的分子的阶数低于分母的阶数时,由非正的幂的形式转换为非负的幂的形式的表示时,却会导致多出来的零点。
以上例来说,b = [0.5, 1]; a = [1, 0.5, 1],当然它用于表示非负的幂的形式的连续系统的传递函数时,表示的是:

很显然,它只有
一个零点。
但是,如果它是表示非正的幂的形式的离散系统的传递函数时,表示的则是:

它的确有两个零点:0和-2!
所以,在做从传递函数求零点的计算中,不要忘记所处理的传递函数的表达形式(b和a)是代表离散系统的,还是代表连续系统的传递函数,并据此选择是使用tf2zp还是zp2tf。
有意思的是,在 传递函数、零极点模型以及状态空间模型的相互转换的函数族中,只有从传递函数到零极点区分了连续版和离散版。其它的如zp2tf, tf2ss, ss2tf, ss2zp和zp2ss则都并没有区分连续版和离散版,这是为什么呢?我也还没有想明白。。。^-^一种可能的解释是只有从传递函数求零极点时才会出现这种模糊性。。。待确认
不妨做一个实验,以下代码针对上面代码段生成的两组zpk结果分别调用zp2tf变回去,
[b1,a1] = zp2tf(z1,p1,k1)
[b2,a2] = zp2tf(z2,p2,k2)b1 = 0 0.5000 1.0000
a1 = 1.0000 0.5000 1.0000
b2 = 0.5000 1.0000 0
a2 = 1.0000 0.5000 1.0000
很明显,所得到的传递函数的分子有差异。我们可以理解为,当从零极点变换会传递函数表现形式时,总是当作非负幂形式的传递函数来看的。
边栏推荐
- Chapter_ 05 adding (fusing) two images using OpenCV
- g1 的日志解析
- 不懂数学可以使用机器学习编程吗?
- Quit smoking log_ 01 (day_02)
- 多线程基础(二)
- Qt--- create dialog box 1: implementation of the subclass search keyword dialog box of qdialog
- Raspberry pie installation opencv - pro test available
- UML系列文章(23)高级行为---进程和线程
- Avez - vous vraiment compris l'entropie (y compris l'entropie croisée)
- 戒烟日志_01 (day_02)
猜你喜欢

Quanzhi v3s learning record (12) use of rtl8723bs

DS_ How to solve the problem of files automatically generated by the store under the folder?

MySQL 联合查询

指数移动加权平均

UML系列文章(23)高级行为---进程和线程

Text preprocessing of natural language

Too many open files

BSP tailoring (2) attachment 1 General setup configuration description

跳槽,从一个坑,跳进另一个坑

若依 思维导图
随机推荐
For an experienced software engineer, what would be a preferred new programming language to learn?
UML系列文章(27)體系結構建模---部署
Excl两列数据对比用VBA实现,如:A列的数据是否在B列出现过
No editing software is needed to teach you how to edit videos simply and quickly
RuntimeError: Dataset not found or corrupted. You can use download=True to download it
UML系列文章(22)高级行为---状态机
Add space after modifying idea format single line comment
自己写的小工具,pillow库将图片转为buf
无需剪辑软件,教你简单快速进行剪辑视频
[raspberry pie 4B deep learning garbage classification] Chap.2 vgg16 & alexnet garbage dataset image classification, with a good project link [deep learning moves]
戒烟日志_02 (day_06)
matlab如何向mat文件写入带标题的连续数据
Bat renames files (folders) in batch
BSP tailoring (2) attachment 1 General setup configuration description
Warning : `load_model` does not return WordVectorModel or SupervisedModel any more, but a `FastText`
NLP基础之RNN基础
Chapter_02 如何扫描查看图像,查询表以及Opencv中的时间度量
error: subprocess-exited-with-error(fasttext)
Chapter_ 04 image operation
若依 思维导图
). A similar function,
), such as in continuous-time transfer functions.