c2d transformation from s domain to z domain

67 次查看(过去 30 天)
I have a s- domain equation and want to convert it to z domain.....but i will be using variables in my TF instead of values for those variables...how to convert this? I am asking this since c2d requires numeric values rather than unknown variables.

回答(1 个)

Aquatris
Aquatris 2024-2-19
编辑:Aquatris 2024-2-19
For forward Euler method, plug in s = (z-1)/T where T is your sampling time
For backward Euler method, plug in s = (1-z^(-1))/T where T is your sampling time
You can use symbolic toolbox or hand calculate the resulting transfer functions.
There is a nice lecture slide from MIT on this topic here.
Simple example;
s = tf('s'); % create s domain variable
sysC = 100/(s^2 + 2*0.1*10*s + 100); % continous time system
T = 1e-3; % define sampling rate
z = tf('z',T); % create z domain variable
z_forward = (z-1)/T; % forward euler method
sysD_forward = 100/(z_forward^2 + 2*0.1*10*z_forward + 100); % forward euler method discretization
z_backward = (1-z^(-1))/T; % backward euler method
sysD_backward= 100/(z_backward^2 + 2*0.1*10*z_backward + 100);% backward euler method discretization
bode(sysC,sysD_forward,sysD_backward)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by