Hello community
Recently, I have been working a lot with the transformation from the s-domain to the z-somain using Matlab's c2d function. Currently I'm trying to get an overview about the different discretization methods, i.e. how do they work and when to use them. I'm confused by the notation Matlab uses compared to other literature. Everything I am asking is related to this documentation.
All I am interested in are transfer functions in the continuous-time and discrete-time domain. Meaning that given a transfer function , which steps do I have to perform to get the transfer function . This is what I came up with so far:
Can someone help me complete this table?
Furthermore, there are some more questions associated to this topic
1) As far as I understood, not every transformation is a simple substitution of the variable s. However, is it possible to give a general relationship between the transfer function in the s-domain and z-domain for all cases?
2) According to the documentation, zero-order hold and first-order hold are used best for good matching in the time dimain for "staircase" and "piecewise linear" inputs. I do not know what to do with this information, i.e. why would an analog system be driven by such signals. What is the connection here?
3) Zero-Pole Matching should be used for good matching in the frequency domain according to Matlab's documentation. However, other sources state that this is not the case. I link the related Wikipedia article here (more sources stating this are cited there). In my case I am interested in modelling analog audio components in the digital domain. Hence, precise matching of the frequency response is important. Now I am not sure whether Zero-Pole matching is a good method or not.
4) The Tustin approximation also yields good matching in the frequency domain according to the documentation. From a theoretical point of view this cannot be true in general since the whole frequency axis is wrapped around the unit circle in a non-linear matter, i.e. there must be frequency distortion. The documentation further introduces the concept of the prewrapper frequency, which allows to capture the dynamics of an analog system on a particular frequency. This all yields to the same question as above: If I want to copy the behaviour of an system with audio frequencies (0Hz – 20 kHz), is this method suitable or not?
5) One transformation which I could not find in Matlab is the backwards difference. This transformation is used e.g. in Simulink for the discrete-time derivative block (assuming that a derivative in the continuous domain has the ideal transfer function ). I'm not sure whether this substitution even es a real transformation since I was unable to find related literature. Somebody has more information about it?
6) Why can I not use some transformations for non-causal systems? For example, I want to converte an (ideal) continuous-time derivative:
s = tf('s');Ts = 5; % Sampling period
Gs = s; % Continuous-time TF
Gz = c2d(Gs,Ts,'impulse'); % Discrete-time TF
This gives an error for any method except Tustin's approximation and Zero-Pole matching. I know that there are stability issues, i.e. a contunuous-time derivative is unstable per definition and some transformation map a stable analog system to an unstable discrete system. Is this the problem? And why can Tustin's methor or Zero-Pole mapping handle this?
Best Answer