# Conversion from S-domain to Z-domain?

Started by 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.
&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;
```
```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
```