tf2ss
将传递函数滤波器参数转换为状态空间形式
说明
示例
以如下由传递函数描述的系统为例:
使用 tf2ss
将其转换为状态空间形式。
b = [0 2 3; 1 2 1]; a = [1 0.4 1]; [A,B,C,D] = tf2ss(b,a)
A = 2×2
-0.4000 -1.0000
1.0000 0
B = 2×1
1
0
C = 2×2
2.0000 3.0000
1.6000 0
D = 2×1
0
1
一维离散时间震荡系统由单位质点 通过一根单位弹性常量弹簧连接到墙壁构成。传感器以 Hz 对质量的加速度 取样。
生成 50 个时间采样。定义采样间隔 。
Fs = 5; dt = 1/Fs; N = 50; t = dt*(0:N-1); u = [1 zeros(1,N-1)];
系统的传递函数包含一个解析式:
.
系统使用正方向的单位冲激进行刺激。使用传递函数计算系统的时间演进。绘制响应。
bf = [1 -(1+cos(dt)) cos(dt)]; af = [1 -2*cos(dt) 1]; yf = filter(bf,af,u); stem(t,yf,"o") xlabel("t")
求系统的状态空间表示。计算从全零初始状态开始的时间演进。将其与传递函数预测进行比较。
[A,B,C,D] = tf2ss(bf,af); x = [0;0]; for k = 1:N y(k) = C*x + D*u(k); x = A*x + B*u(k); end hold on stem(t,y,"*") hold off legend("tf","ss")
输入参数
传递函数分子系数,指定为向量或矩阵。如果 b
是矩阵,则 b
的每行对应于系统的一个输出。
对于离散时间系统,
b
包含按 z 的降幂排序的系数。对于连续时间系统,
b
包含按 s 的降幂排序的系数。
对于离散时间系统,b
的列数必须等于 a
的长度。如果这两个数字不同,通过填充零使它们相等。您可以使用函数 eqtflength
来完成这项任务。
传递函数分母系数,指定为向量。
对于离散时间系统,
a
包含按 z 的降幂排序的系数。对于连续时间系统,
a
包含按 s 的降幂排序的系数。
输出参量
状态矩阵,以矩阵形式返回。如果系统由 n 个状态变量描述,则 A
为 n×n 矩阵。
数据类型: single
| double
输入-状态矩阵,以矩阵形式返回。如果系统由 n 个状态变量描述,则 B
为 n×1 矩阵。
数据类型: single
| double
状态-输出矩阵,以矩阵形式返回。如果系统有 q 个输出,并且由 n 个状态变量描述,则 C
为 q×n 矩阵。
数据类型: single
| double
馈通矩阵,以矩阵形式返回。如果系统有 q 个输出,则 D
为 q×1 矩阵。
数据类型: single
| double
详细信息
tf2ss
将给定系统的传递函数表示的参数转换为等效状态空间表示的参数。
对于离散时间系统,状态空间矩阵通过以下方程与状态向量 x、输入 u 和输出 y 相关:
传递函数是方程组的冲激响应的 Z 变换。可以按状态空间矩阵表示形式将其表示为
对于连续时间系统,状态空间矩阵通过以下方程与状态向量 x、输入 u 和输出 y 相关:
传递函数是方程组的冲激响应的拉普拉斯变换。可以按状态空间矩阵表示形式将其表示为
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
版本历史记录
在 R2006a 之前推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)