matlab中s域转z域
时间: 2023-08-30 16:06:11 浏览: 312
PR0001_S域_Z域_pr_
在 Matlab 中,可以使用 `c2d` 函数将连续时间域的系统转换为离散时间域的系统,从而实现 s 域到 z 域的转换。
函数的语法为:
```
sysd = c2d(sysc, Ts, method)
```
其中,`sysc` 是连续时间域的系统模型,`Ts` 是采样时间,`method` 是离散化方法。常用的离散化方法有零阶保持(ZOH)、一阶保持(FOH)、双线性变换(Bilinear)等。
例如,将传递函数 $H(s) = \frac{s+1}{s+2}$ 转换为采样时间为 $T=0.1$ 的离散时间系统,可以使用以下代码:
```
s = tf('s');
Hs = (s+1)/(s+2); % 定义连续时间系统
Ts = 0.1; % 采样时间
Hd = c2d(Hs, Ts, 'zoh'); % 离散化
```
这里使用了零阶保持(ZOH)离散化方法,离散化后得到的离散时间系统为:
```
Hd =
0.0917 z + 0.0917
------------------
z - 0.8164
```
这个离散时间系统的传递函数为 $H(z) = \frac{0.0917z + 0.0917}{z - 0.8164}$,即为 $H(s)$ 的 z 变换。
阅读全文