Forums

Conversion from S-domain to Z-domain?

Started by yiju...@yahoo.com February 9, 2007
Hello,

Is the bilinear the only way to convert from S-domain to Z-domain?

I am thinking of the relationship among poles and zeros in these
differenct domains. Can we just map the pole and zeros in S-domain
into the poles and zeros in Z-domain? If I use bilinear transform, the
poles and zeros do not match.


yijun_lily@yahoo.com wrote:

> Is the bilinear the only way to convert from S-domain to Z-domain?
There are many ways. It depends on what do you want to accomplish.
> I am thinking of the relationship among poles and zeros in these > differenct domains. Can we just map the pole and zeros in S-domain > into the poles and zeros in Z-domain?
Yes, you can do it that way if you like. However the response of the digital system may be very different from what you expect. If I use bilinear transform, the
> poles and zeros do not match.
Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
yijun_lily@yahoo.com wrote:
> Hello, > > Is the bilinear the only way to convert from S-domain to Z-domain? > > I am thinking of the relationship among poles and zeros in these > differenct domains. Can we just map the pole and zeros in S-domain > into the poles and zeros in Z-domain? If I use bilinear transform, the > poles and zeros do not match.
There are several ways. "Prewarping" can match s- and z-plane critical frequencies more closely -- one, exactly -- and another way is called "impulse invariance". Google for both terms in quotes. Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
On Fri, 09 Feb 2007 22:49:28 -0000, yijun_lily@yahoo.com  =

<yijun_lily@yahoo.com> wrote:

> Hello, > > Is the bilinear the only way to convert from S-domain to Z-domain? > > I am thinking of the relationship among poles and zeros in these > differenct domains. Can we just map the pole and zeros in S-domain > into the poles and zeros in Z-domain? If I use bilinear transform, the=
> poles and zeros do not match.
Clearly, the discrete-time and continuous-time responses can never match= , = no matter what the transform you use. Continuous-time responses extend = = until f=3Dinfinity, whereas in discrete-time response extend until f=3Df= _s/2, = then alias. To map between one and the other, you have to accept some = compromise. For instance, bilinear transform leads to frequency warping= , = whereas impulse invariance leads to aliasing. -- = Oli
On Feb 9, 2:49 pm, "yijun_l...@yahoo.com" <yijun_l...@yahoo.com>
wrote:
> Hello, > > Is the bilinear the only way to convert from S-domain to Z-domain? > > I am thinking of the relationship among poles and zeros in these > differenct domains. Can we just map the pole and zeros in S-domain > into the poles and zeros in Z-domain? If I use bilinear transform, the > poles and zeros do not match.
I use several techniques depending on the application. BLT, matched z transforms, z transform tables and a couple of methods where the continuous state space is converted to discrete state space. BLT is easy. I works for filters and not simulating systems. Matched z transform don't introduce extra zeros and don't require warping. z transform tables work extremely well for modeling low order systems. There is a state space method were you convert each element from a continuoos to discrete element by element. It is a royal pain but sometime it is worth it. My favorite method is to use the expm(-A*T) function or an equivalent. It is then easy to convert the discrete state space matrix to a z transform. So the short answer is that there are many options depending on what you want to do. BLTs with warping work very well for most filters. Peter Nachtwey
Oli Charlesworth wrote:

> On Fri, 09 Feb 2007 22:49:28 -0000, yijun_lily@yahoo.com > <yijun_lily@yahoo.com> wrote: > >> Hello, >> >> Is the bilinear the only way to convert from S-domain to Z-domain? >> >> I am thinking of the relationship among poles and zeros in these >> differenct domains. Can we just map the pole and zeros in S-domain >> into the poles and zeros in Z-domain? If I use bilinear transform, the >> poles and zeros do not match. > > > Clearly, the discrete-time and continuous-time responses can never > match, no matter what the transform you use. Continuous-time responses > extend until f=infinity, whereas in discrete-time response extend until > f=f_s/2, then alias. To map between one and the other, you have to > accept some compromise. For instance, bilinear transform leads to > frequency warping, whereas impulse invariance leads to aliasing. >
If you are designing a control loop you can take the action of the DAC into account and get an exact transfer function of the plant, DAC and ADC, but only from the point of view of the controller. It is computationally intensive, but on today's computers that's not a big deal. This is one of the methods that Peter was alluding to, and is detailed in my book (without resorting to state-space) in chapter 7, toward the end. http://www.wescottdesign.com/actfes/actfes.html. As soon as you want to get a transfer function from an input, through a sampler, then a filter, then back to continuous time you're reduced to finding approximations, of course. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/ "Applied Control Theory for Embedded Systems" came out in April. See details at http://www.wescottdesign.com/actfes/actfes.html