I recently had to deal with a power electronic system where I had to implement a dynamic model of a power converter in order to design a suitable controller for that converter. The control will be implemented on a DSP which reads in the digitize values (voltages and currents) from some ADCs. The plant itself consists of a PWM modulator and a 4th-order LC filter. Since ADCs and control are digital systems, I can describe them using the z-transform, whereas the LC filter is an analog system which I usually describe using the Laplace-transform.

The question which now arises for me is: should I discretize the time continuous transfer functions of the filter and work out the whole system dynamics using z-transform, or do I describe the digital controller in s-domain and describe the whole system as a time continuous system?

During my studies I always worked with Laplace transform. I heard that there is z-transform too, but I never really worked with it. This was usually working fine, however, in most of the papers I find the authors are using z-transform and I don't really know when I should use one or the other for mixed systems. As far as I know, it doesn't really play a role in which domain I work as long as the frequencies I'm concerned about are "low enough" compared to the sampling frequency of the system. Is this true?

Another problem I face: when I'm working with these dynamic models in s-domain in matlab and let the program calculate transfer functions, the models which result exhibit insanely high orders (e.g. order 100 for a system which should have order 7). I know that this is numerical issues and that most of those system poles are cancelled out by zeros laying extremely close to the poles. There is a matlab command ("minreal") which eliminates some of those pole-zero combinations but not all. Could I reduce this issue by switching into z-domain? If not: how trustworthy is the "minreal" command? Do I risk loosing important information if I apply this command on every transfer function?


First choice :

Convert the Laplace transform of your process to the Z-domain using the ZOH method as it models your DAC. In your case, your DAC is a PWM.

Second choice :

Work in the Laplace domain but take in account the delay due to your PWM, which should be T/2 where T is your PWM period. To model the delay, you can use the Padé approximation.

I personnaly used the second technique. It was easier, more intuitive. But both techniques will work.

For the numerical issues : The order of your transfer function might get large when including the controllers, I used minreal too, but you can convert your tranfer functions to ZPK, this solves many of the numerical issues you might have.

Edit : As Tim Wescott mentioned in the comments. The ZOH modelization is accurate when using a real DAC. Not so for a PWM. It's better off to work in the s-domain and try to model the delays (sampling, PWM, computation, etc.) as accurately as possible.

  • 1
    $\begingroup$ Ben- Have you dealt with modeling mixed rate systems? (Where you end up with fractional orders of z?) I was working through this at one point but forget where I left off-- I took one approach to up-sample the whole design such that the lowest power of z was $z^{-1}$, but I ran into issues with that approach in a control loop model. I will dig up my notes as I think I may have open questions in which I will create as questions on this site. $\endgroup$ Dec 6 '19 at 13:21
  • $\begingroup$ If you model a delay with Padé approximation in the Laplace domain, wouldn't that work? $\endgroup$
    – Ben
    Dec 6 '19 at 13:23
  • $\begingroup$ Yes for this question that applies. Your answer made me think of my challenges with an all digital but an all inclusive simulation model for a mixed rate system. It is a different question- so I will dig up my notes and create the question. Maybe Padé approximation can apply to that as well, and maybe there are other good ideas and approaches. Modeling $z^{-1/2}$ for example. (Which I indeed see as a delay with phase going from 0 to $\pi$ as the normalized angular frequency goes from 0 to $2\pi$. $\endgroup$ Dec 6 '19 at 13:36
  • 2
    $\begingroup$ Actually, because the PWM can change on a cycle-by cycle basis you can't quite model it as a ZOH -- if you need to get to that level of detail the PWM ends up being a nonlinear element in your system (I'm pretty sure that when viewed from this perspective it explains the subharmonic oscillations in current-mode switchers, but I'd have to put some work into proving that). I'm pretty sure that for something like this, however, that nonlinearity gets washed out by the averaging effect of the output filter. $\endgroup$
    – TimWescott
    Dec 6 '19 at 18:13
  • 1
    $\begingroup$ @TimWescott : Tim neglected to mention that he has a very effective book "Applied Control Theory for Embedded Systems" that I found useful enough to buy and distribute through our engineering group. It covers things like this. $\endgroup$
    – rrogers
    Dec 11 '19 at 16:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.