It was explained to me here that I need to do an inverse z-transform on a z-based equation in order to get something I can use. That example was quite simple. But I'm not sure how to do the same process on a more complex equation.

I am starting with:

$H(s) = \frac{-ms}{ms+2R}$

Where m=mass and R=impedance. I can do a backward Euler substitution $s=\frac{1−z^{−1}}{T}$:

$H(z) = \frac{m (z^{-1} - 1)}{-m z^{-1} + m + 2 R T}$

How do I then get this in terms of $[n]$ and $[n-1]$? I understand $H(z) = H[n]$ and $H(z)*z^{-1} = H[n-1]$, but how do I mathematically accomplish this and get rid of the $z^{-1}$ terms here?

Here is my best try:

$-H(z) m z^{-1} + H(z) m + 2 R T H(z) = m z^{-1} - m$

$-H[n-1] m - H[n] m + 2 R T H[n] = m z^{-1} - m$

$H[n] (-m + 2 R T) = m z^{-1} - m + H[n-1] m$

$H[n] = \frac{m z^{-1} - m + H[n-1] m}{2 R T - m}$

And I'm stuck there with one remaining $z^{-1}$ term. Multiplying by $z^{-1}$ is supposed to be the same as delaying by a sample right? So if mass is constant, then can I just say for the remaining term $m z^{-1} = m$ and get:

$H[n] = \frac{H[n-1] m}{2 R T - m}$

Is this the right idea or if I screwed it up what was I supposed to do differently?



A rational transfer function


corresponds to the following difference equation:

$$y[n]=b[0]x[n]+b[1]x[n-1]+\ldots +b[N]x[n-N]-\\-a[1]y[n-1]-\ldots -a[N]y[n-N]\tag{2}$$

So the current output sample $y[n]$ can be computed from the current input sample $x[n]$ and $N$ past input and output samples. $N$ is the order of the difference equation $(2)$.

In your example you have

$$H(z)=\frac{Y(z)}{X(z)}=-c\frac{1-z^{-1}}{1-cz^{-1}},\qquad c=\frac{1}{1+\frac{2RT}{m}}\tag{3}$$

and, consequently,


  • $\begingroup$ Thanks. That's pretty wild. $\endgroup$ – mike Dec 21 '19 at 20:32

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.