COMPGROUPS.NET | Search | Post Question | Groups | Stream | About | Register

### Numerical inversion of Z-transform?

• Email
• Follow

```I'm trying to do some research into existing methods for doing
numerical inverse discrete laplace transform (a.k.a.. Z-transform).

My problem is that numerical methods are really needed when you have
non-rational Z-transform expression which do
not posess a closed form inverse. For rational expressions in z this
is not really a problem since you can always do them
"manually" (or perhaps by plotting the impulse response in matlab)

(Just to be clear I'm not after calculating the frequencey response,
i.e. z=exp(j*w) for some w, since that is "trivial"
as long as numerical stability is not a big concern.)

For laplace transform there is a multitude of suggestions for
numerical inverse but this does not seem to be
the case for Z transforms. Perhaps due to the fact that most signal
processing applications the Z-transform
will be rational and then the inverse is trivial in the mathematical
since (but can of course still be very tedious).

Even though it might be full of mathematical nastiness would it be
feasible e to do a conversion from the
z plane to the w/s plane, e.g. doing some "suitable" substitution of
z=f(s), to get a representation of the
Z-transform as a continuous Laplace transform? (I suspect any kind of
error analysis in this case would
would be really difficult.)

Is anyone aware of some published work in this area? I haven't really
been able to find anything really relevant?

/J
```
 0
Reply johan162 (1) 1/24/2010 10:33:29 PM

See related articles to this posting

```On Sun, 24 Jan 2010 14:33:29 -0800, johan162 wrote:

> I'm trying to do some research into existing methods for doing numerical
> inverse discrete laplace transform (a.k.a.. Z-transform).
>
> My problem is that numerical methods are really needed when you have
> non-rational Z-transform expression which do not posess a closed form
> inverse. For rational expressions in z this is not really a problem
> since you can always do them "manually" (or perhaps by plotting the
> impulse response in matlab)
>
> (Just to be clear I'm not after calculating the frequencey response,
> i.e. z=exp(j*w) for some w, since that is "trivial" as long as numerical
> stability is not a big concern.)
>
> For laplace transform there is a multitude of suggestions for numerical
> inverse but this does not seem to be the case for Z transforms. Perhaps
> due to the fact that most signal processing applications the Z-transform
> will be rational and then the inverse is trivial in the mathematical
> since (but can of course still be very tedious).
>
> Even though it might be full of mathematical nastiness would it be
> feasible e to do a conversion from the z plane to the w/s plane, e.g.
> doing some "suitable" substitution of z=f(s), to get a representation of
> the Z-transform as a continuous Laplace transform? (I suspect any kind
> of error analysis in this case would
> would be really difficult.)
>
> Is anyone aware of some published work in this area? I haven't really
> been able to find anything really relevant?
>
> /J

So you're starting with an expression in z that's 'hard' -- i.e. that
doesn't have a nice rational polynomial in the denominator, and you want
to find an algorithm that either gives you an impulse response or that
gives you the system's response to a known signal?

I _think_ that you can do this numerically using an inverse Fourier
transform.  Practically, this would mean using the expression in z to
find the frequency response at an adequate number of points around the
unit circle, then performing an inverse FFT to get the time-domain
response.  There are probably clever rules of thumb to figure out how
many points you need, but I would do it by giving it a whirl, checking to
see if the response dies off, and adding more points if it doesn't.

--
www.wescottdesign.com
```
 0

```On 24 Jan, 23:53, Tim Wescott <t...@seemywebsite.com> wrote:
> On Sun, 24 Jan 2010 14:33:29 -0800, johan162 wrote:
> > I'm trying to do some research into existing methods for doing numerica=
l
> > inverse discrete laplace transform (a.k.a.. Z-transform).
>
> > My problem is that numerical methods are really needed when you have
> > non-rational Z-transform expression which do not posess a closed form
> > inverse. For rational expressions in z this is not really a problem
> > since you can always do them "manually" (or perhaps by plotting the
> > impulse response in matlab)
>
> > (Just to be clear I'm not after calculating the frequencey response,
> > i.e. z=3Dexp(j*w) for some w, since that is "trivial" as long as numeri=
cal
> > stability is not a big concern.)
>
> > For laplace transform there is a multitude of suggestions for numerical
> > inverse but this does not seem to be the case for Z transforms. Perhaps
> > due to the fact that most signal processing applications the Z-transfor=
m
> > will be rational and then the inverse is trivial in the mathematical
> > since (but can of course still be very tedious).
>
> > Even though it might be full of mathematical nastiness would it be
> > feasible e to do a conversion from the z plane to the w/s plane, e.g.
> > doing some "suitable" substitution of z=3Df(s), to get a representation=
of
> > the Z-transform as a continuous Laplace transform? (I suspect any kind
> > of error analysis in this case would
> > would be really difficult.)
>
> > Is anyone aware of some published work in this area? I haven't really
> > been able to find anything really relevant?
>
> > /J
>
> So you're starting with an expression in z that's 'hard' -- i.e. that
> doesn't have a nice rational polynomial in the denominator, and you want
> to find an algorithm that either gives you an impulse response or that
> gives you the system's response to a known signal?
>
> I _think_ that you can do this numerically using an inverse Fourier
> transform. =A0Practically, this would mean using the expression in z to
> find the frequency response at an adequate number of points around the
> unit circle, then performing an inverse FFT to get the time-domain
> response. =A0There are probably clever rules of thumb to figure out how
> many points you need, but I would do it by giving it a whirl, checking to
> see if the response dies off, and adding more points if it doesn't.
>
> --www.wescottdesign.com

Yes, I believe this is a feasible way (this is similar in the way some
suggested numerical inverse laplace transform method works).
Unfortunately it seems to be very difficult to do some theoretical
error analysis for these kind of operations and I guess one could
(depending on the assumed sampling rate) get into numerical issues for
small angles. Although I'm not an expert in numerical methods or
quadrature so I might be wrong here.

It just seems odd to me that so little work (if any) seems to have
been done in this area of numerical inverse..

/J

```
 0

```On 24 Jan, 23:33, johan162 <johan...@gmail.com> wrote:
> I'm trying to do some research into existing methods for doing
> numerical inverse discrete laplace transform (a.k.a.. Z-transform).
>
> My problem is that numerical methods are really needed when you have
> non-rational Z-transform expression which do
> not posess a closed form inverse. For rational expressions in z this
> is not really a problem since you can always do them
> "manually" (or perhaps by plotting the impulse response in matlab)
>
> (Just to be clear I'm not after calculating the frequencey response,
> i.e. z=exp(j*w) for some w, since that is "trivial"
> as long as numerical stability is not a big concern.)
>
> For laplace transform there is a multitude of suggestions for
> numerical inverse but this does not seem to be
> the case for Z transforms. Perhaps due to the fact that most signal
> processing applications the Z-transform
> will be rational and then the inverse is trivial in the mathematical
> since (but can of course still be very tedious).
>
> Even though it might be full of mathematical nastiness would it be
> feasible e to do a conversion from the
> z plane to the w/s plane, e.g. doing some "suitable" substitution of
> z=f(s), to get a representation of the
> Z-transform as a continuous Laplace transform? (I suspect any kind of
> error analysis in this case would
> would be really difficult.)
>
> Is anyone aware of some published work in this area? I haven't really
> been able to find anything really relevant?

There are a couple of guys, Sven Ivansson and Ilkka Karasalo, who
published a lot on methods for the numeric evaluation of contour
integrals in the early/mid '90s. I know they came up with a method
to compute what is effectively the inverse ZT for implicitly known
functions that have both poles and branch cuts, to high precision
and with error control etc.

I do not know if the functions they worked with were really
irrational, as you are asking for, but Ivansson and Karasalo's
various papers might be a starting point for further searches.

Just be aware that they published mostly on applications of the
models for very specific purposes. Most on their papers are on
numerical modeling on underwater acoustics, but with the odd
math paper thrown in inbetween as need be.

Make sure you read the abstracts of their papers very carefully
if you have to pay \$\$\$ before you download them. Most of their
papers will be irrelevant to you - two or three might be very
relevant.

Rune
```
 0

```On 24 Jan., 23:33, johan162 <johan...@gmail.com> wrote:
> I'm trying to do some research into existing methods for doing
> numerical inverse discrete laplace transform (a.k.a.. Z-transform).
>
> My problem is that numerical methods are really needed when you have
> non-rational Z-transform expression which do
> not posess a closed form inverse.

Can you give a simple example of the type of non-rational z-transform
functions? For some non-rational z-transforms (e.g. semi-integrators
and semi-differentiators) closed-form solutions exist.

> For rational expressions in z this
> is not really a problem since you can always do them
> "manually" (or perhaps by plotting the impulse response in matlab)
>
> (Just to be clear I'm not after calculating the frequencey response,
> i.e. z=exp(j*w) for some w, since that is "trivial"
> as long as numerical stability is not a big concern.)
>
> For laplace transform there is a multitude of suggestions for
> numerical inverse but this does not seem to be
> the case for Z transforms.

I find quite a few hits for "numerical inversion z transform", the
second one is a relevant paper by Papoulis giving a short description
of an algorithm to invert the z transform using real z-values only.

Regards,
Andor
```
 0

```On Jan 24, 11:33=A0pm, johan162 <johan...@gmail.com> wrote:
> I'm trying to do some research into existing methods for doing
> numerical inverse discrete laplace transform (a.k.a.. Z-transform).
>
> My problem is that numerical methods are really needed when you have
> non-rational Z-transform expression which do
> not posess a closed form inverse. For rational expressions in z this
> is not really a problem since you can always do them
> "manually" (or perhaps by plotting the impulse response in matlab)
>
> (Just to be clear I'm not after calculating the frequencey response,
> i.e. z=3Dexp(j*w) for some w, since that is "trivial"
> as long as numerical stability is not a big concern.)
>
> For laplace transform there is a multitude of suggestions for
> numerical inverse but this does not seem to be
> the case for Z transforms. Perhaps due to the fact that most signal
> processing applications the Z-transform
> will be rational and then the inverse is trivial in the mathematical
> since (but can of course still be very tedious).
>
> Even though it might be full of mathematical nastiness would it be
> feasible e to do a conversion from the
> z plane to the w/s plane, e.g. doing some "suitable" substitution of
> z=3Df(s), to get a representation of the
> Z-transform as a continuous Laplace transform? (I suspect any kind of
> error analysis in this case would
> would be really difficult.)
>
> Is anyone aware of some published work in this area? I haven't really
> been able to find anything really relevant?
>
> /J

Apart from the almost 40 year old short note (which is a slightly
restricted method)

"Numerical inversion of the z-transform", Papoulis, A.,
IEEE Transactions on Circuit Theory, vol 20,(4), 1973

I've found one more interesting article which has a quite different
approach by using quantum-calculus where the authors define an optimal
(in a sense) orthogonal base sequence and shows how the projection of
the true inverse sequence on this new orthogonal sequence can be
calculated from H(z) as an approximation of the true inverse sequence.
The nice thing with this approach is that it is possible give a very
good error estimate. The simulation by the authors seems quite
promising but before I have really penetrated all the mathematical
details in the paper I'm not sure how well it will work. The paper is:

"A Method for numerical evaluating of inverse Z-transform",
Predrag M. Rajkovi=E6, Miomir S. Stankovi=E6, Sla=F0ana D. Marinkovi=E6,
Mechanics, Automatic Control and Robotics Vol. 4, No 16, 2004, pp.
133 - 139

As was pointed out in this thread there are a number of proposed
numerical methods for contour integrals (and in the extension the
inverse Z-transform) but I cannot help thinking that this approach is
to general and one does not make use of the knowledge that the H(z)
function comes from a Z-transform (this becomes more a general

Anyway I will make some simulation with some of the proposed methods
and make some comparisons.

/J
```
 0

5 Replies
425 Views

Similar Articles

12/11/2013 5:57:23 PM
[PageSpeed]

Similar Artilces:

If a z transform has a pole on the unit circle does that signal have a fourier transform?
Hi, If I have been given a z-transform and I know that the z transform has a pole on the unit circle at a certain angle, does it mean that the fourier transform does not exist at all, because I have read a paper where the author tries to derive the fourier transform from the z transform even when it has a poleon the unit circle. I know if all the poles are inside the unit circle and if the signal is causal, we can substitute exp(jw) for z and get the z transform..but what if the signal is causal and the z transform has a pole on the unit circle? I can post the research paper if you want. Bye ...

Z transform
Hello. Exist a program for Hp49g+ for Z transform? where i can find it? Thanks. On Tue, 18 Jul 2006 09:25:02 -0500: > Exist a program for Hp49g+ for Z transform? where i can find it? Searching: http://www.hpcalc.org/search.php?query=3Dz+transform&hp49=3D1 Turns up: http://www.hpcalc.org/details.php?id=3D3169 http://www.hpcalc.org/hp49/math/symbolic/neopv8x1.zip http://www.hpcalc.org/details.php?id=3D4541 http://www.hpcalc.org/hp49/science/electricity/ztransform.zip [r->] [OFF] Thanks a lot. "John H Meyers" <jhmeyers@nomail.invalid> ha scritto nel messagg...

Z-Transform
What is the role of "zeros" in deciding the stability of the system? why only "poles" are being used to decide the stability of the system? Dhaval On 04/21/2011 11:35 AM, dhaval_shah wrote: > What is the role of "zeros" in deciding the stability of the system? > why only "poles" are being used to decide the stability of the system? See http://www.wescottdesign.com/articles/zTransform/z-transforms.html. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control...

Amplitude of Chirp Z Transform
Hello all! I implemented Chirp Z Transform (CZT) algorithm for the first time, according to code found in february 2004 embedded magazine: http://www.embedded.com/showArticle.jhtml?articleID=17301593 It works quite OK. When I tested it with some different signals, I got the spikes on the right places of the frequency spekter. But I have following questions: 1. With FFT if you have a signal which frequency lies exactly at the center of a bin, the adjacent bins are almost zero and the amplitude of this center bin is almost the same as amplitude of the signal. I didnt get that result with CZT...

Question about Z transform of decimation
Hi, I am learning about digital decimation. The problem is like this: Z-transform of input sequence and filter aree X(z), H(z) respectively. After the filter H(z), there is a 2 decimation. From one book talking about decimation, it says the Z-transform of output sequence after decimation is: V(z)=(1/2)*[H(z^(1/2)*X(z^(1/2))+H(-z^(1/2)*X(-z^(1/2))] I have learned Z transform, but no Z transform with exponential of (1/2). Can you tell me how to get the above result? Or, give me some link relate to that. I have checked DSPGuru website without success. Thanks in advance. freelait2000@yahoo.co...

Inverse Fourier transform #2
Suppose I have obtained the frequency domain expression F(W). F(W)=exp(i*pi*w^2) How can I get the time domain response f(t)? Thx for reading It's hard to know where to start answering you.... 1. Is w continuous or discrete? If discrete, what is the interval and what is the length? If continuous, you should consult a reference book like Gradshteyn & Ryzhik. 2. How is w related to W? 3. When you say the time domain response, do you mean the impulse response function? 4. Have you read any textbooks about Fourier transforms? 5. Is this homework? ...

z transform of a digital filter
hello!! I hope you can help me out. I need to find the Z tansform from a Laplace expresi�n: 5(1-e^-sT)/s(s+1)(s+2) Now, I know that there is a table to calculate this but I can't fin anything on the web, maybe you have one, or you'd know someway to solv this, I really need it, I hope you can help me, thanks! On Mar 25, 7:39 am, "su" <macaroli...@yahoo.com.mx> wrote: > hello!! I hope you can help me out. > I need to find the Z tansform from a Laplace expresi=F3n: > > 5(1-e^-sT)/s(s+1)(s+2) > > Now, I know that there is...

S-Parameters, Z-Transforms and Stability.
Hello DSP folks, This question has been bothering me for a long time since I took my Microwave Engineering course: Suppose we have a linear system H(z) we can easily find its poles and zeros and perform stability analyis of the system. Does such a thing exist for general network analysis using the S-parameters ? I know that stability analysis can be done at every frequency, especially if one is designing amplifiers. There are stability criteria that are valid only at specific frequencies. A lot of times we need to do DSP work with discretized S-paramters {S(f_1),...,S(f_N)}, and hence the q...

Re: How to transform a group of char variables to numeric
John- Use the variable list in an array and run each of its members through a single numeric input. data test; input char1 : \$21. char2 : \$5. char3 : \$15.; cards; 1 3 43 21 47 74 41 9 24 651 7 423 17 89 677 189 543 78 21 2 88 42 2 86 25 42 94 22 2 523 542 24 34 82 2 68 92 342 7678 22 2 78 ; run; DATA test; SET test; ARRAY chars(3) \$ char1 char2 char3; ARRAY nums(3) num1 num2 num3; do I=1 TO 3; nums(i)=put(chars(i),32.); end; RUN; Paul Choate DDS Data Extraction (916) 654-2160 ...

How to implement the filter give in Z transform using matlab
Good morning to every one. . . I am very new to this forum and not much expert in DSP field too. . . I am trying to implement a IEEE paper named "A New Delayless Subband Adaptive Filtering Algorithm for Active Noise Control Systems" published in IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING july 2009. I have not done any such projects before and so i am strugling where to start and how to implement the given details. This project is all about the following 1) A full-band =EF=AC=81lter that =EF=AC=81lters the input signal. 2) Decomposition of input ...

inverse laplace transform direc delta function from hp49g+
I was practicing heaviside and direc delta function laplace solutions the ODE is x"-3x'+2x = 2 + delta(t-5) where x(0)=x'(0)=0 I believe the solution by method of convolution is: exp(2t)-2*exp(-t) + 1 + H(t-5)*(exp(2*(t-5)-exp(t-5)) can anyone explain this inverse laplace transform solution by hp49G+ I split it into two parts, the second part solution was integral(0,infinity,1/((tt-2)*(tt-1))*exp(-5*tt))*exp(-(tt*X)),tt) I do not understand this form can some one explain this to me? Thanks David "David" <gent.d@neu.edu> wrote in message news:f...

Kernel crash using Z transform, version 7, windows XP, SP2.
Warning, do not run this before saving your work: In[1]:= ClearAll["Global`*"]; expr = 0.20056791381984598*I*E^((-2.3120000000000003 - 2.4929211780559766*I)*n) - 0.20056791381984598*I*E^((-2.3120000000000003 + 2.4929211780559766*I)*n); ZTransform[expr, n, z, Method -> "Holonomic"] *kernel crash* But when I do ZTransform[expr, n, z] I was getting errors General::lrgexp, but no crash. The above is an expression generated internally from a program I am working on, depending on the input parameters, sometimes I get these errors and sometimes...

Question re the (non-)equivalence of Z -> z and Z -> z e (e the empty string)
Background Consider any linear grammar G of a regular language L in which: a) the designated "empty" or "null string" symbol e is not an element of G's terminal alphabet Vt; b) G contains the rewrite rule Z -> z, which always terminates a derivation in G since z is an element of Vt; Now consider a grammar G' of a regular language L which is just like G except that: a) the terminal alphabet Vt' of G' does contain the null/empty string symbol e b) G' contains the rewrite rule Z -> z e instead of Z -> z. In any derivation D in G, t...

transform
Hello, I'm trying to convert a string with mixed upper- and lowercase characters to all lowercase characters. I found the following code on the Internet: transform(temp.begin(), temp.end(), temp.begin(), tolower); But does anyone know which lib one has to include? I've included: #include <cctype> #include <locale> #include <algorithm> #include <functional> #include <string> but none of these seem to do the job... Thanks in advance, Saki -- Athanasios (Saki(s)) Arkoudopoulos http://lumumba.luc.ac.be/~saki/ Saki Arkoudopoulos wrote: > Hello, ...

Numeric value insert decimal by numeric keypad
Hey folks, In my Regional Settings (Win XP) my decimal symbol is a comma and my thousands seperator is a dot. In FileMaker "Using System Settings" is on and numbers are displayed correctly. BUT... when quickly entering a number winthin FileMaker using the numeric keypad, for example: 1 2 3 4 [dot] 5 6 FileMaker does not recognize the inserted dot is meant as a decimal seperator and converts the number to: 12.345,00 Is there a way to fix this problem easily? Twan On Oct 15, 6:13=A0am, "Twan" <no-re...@skb.nl> wrote: > Hey folks, > > In my Regional ...

transforms
hey guys i am currently doing my final year project named "face recognition technology". For this i require image processing transform used for processing the image, hence if somebody knows the idea about it and/or transforms then please help me. I fear that your question amounts to asking forum users to write a text book for you! A much better idea is to look at one of the many textbooks that have already been written. For example, Digital Image Processing Using Matlab by Gonzalez, Woods and Eddins is an obvious choice if you're using Matlab. It would also be a good ...

(\$x == (\$y or \$z)) same as ((\$x==\$y) or (\$x==\$z)) ???
I expected (\$x == (\$y or \$z)) to return true if \$x equals either \$y or \$z. iow to give the same as ((\$x==\$y) or (\$x==\$z)). But it doesn't. Why? kramer <kramer@ufl.edu> wrote: > I expected (\$x == (\$y or \$z)) to return true if \$x equals either \$y or > \$z. iow to give the same as ((\$x==\$y) or (\$x==\$z)). But it doesn't. > > Why? Because you told it (with parenthesis) to evaluate the "or" before evaluating the "==". And if you stop telling it that, ie: (\$x == \$y or \$z) Then it will evaluate the "\$x == \$y" followed by evaluatin...

Re: ColorFunctions again (making z=0 be different from z=1)
On 9/7/04 at 5:43 AM, siegman@stanford.edu (AES/newspost) wrote: >The simple ColorFunction->Hue option in Plot3D, ContourPlot, and >DensityPlot, makes z = 0 appear the same as z = 1 (i.e., both >bright red), a situation which seems to me to make these plots >confusing and more difficult to interpret, given that "high peaks" >and "sea level valleys" may be the most interesting features of >such a plot. >Do others have any favorite, not too messy ColorFunctions that make >values near z = 0 tend toward white, or grey, or less bright, or...

Z Word Tools now Support ISO Standard Z
I'm pleased to announce the release of Version 2.0 of the Z Word Tools. The main new feature in this release is that you can write ISO Standard Z and typecheck your specification using a built in interface to the Community Z Tools (http://czt.sourceforge.net/) typechecker. I'm very grateful to Tim Miller, of the CZT project, for help with this. Of course Z Word Tools continues to support Spivey Z using fuzz and there need be no change to existing documents. In addition there are other improvements especially for large specifications. The new version is available at http...

Fast Java class for the Walsh Hadamard transform and the O'Connor transform
What has the O'Connor transform got to do with compression you might ask? Well you can use it for high speed compressive sensing. http://code.google.com/p/lemontree/downloads/list If you don't know what compressive sensing is you really should look it up: http://nuit-blanche.blogspot.com/ ...