Re: inverse laplace transform
- From: Tim Wescott <tim@xxxxxxxxxxxxxxxx>
- Date: Wed, 21 Dec 2005 17:31:14 -0800
Bhaskar Thiagarajan wrote:
"Tim Wescott" <tim@xxxxxxxxxxxxxxxx> wrote in message news:wYGdnbPA6obFKjTe4p2dnA@xxxxxxxxxxxxxxx
Bhaskar Thiagarajan wrote:
Hi all
I'm working on trying to model a non-linear system (described by a
second
order differential eqn) into a discrete IIR filter.
Whoa! Stop right there!
The Laplace transform (and the z transform) only work with linear systems. You simply cannot do a Laplace transform of a nonlinear system: it doesn't work. You can dink with Volterra series and all that fun stuff, but then you're not really doing a Laplace any more.
Hmm...I think I mis-spoke. My instinct tells me that a second order differential equation is non-linear. However, I just looked up the Rick Lyons' book and I see that he calls it a linear system. I'm just going to take his word for it for now and revisit it later.
Now, you _can_ get past the Linearity Nazi by claiming that you're _approximating_ your nonlinear system with a linear one, and taking the Laplace transform of that. I'll allow you through, but only if you tell me you've checked to make sure that your approximation is accurate enough for your expected inputs.
I guess I'm trying to follow the impulse invariance IIR filter design method.
(sniping about nonexistance of impulse response of nonlinear systems ommited (sorta))
In the laplace domain, the transfer function looks like this H(s) = a^2/(s+a)^2
I tried looking up laplace transform tables to find the time domain form
for
this and the closest pair I could find was H(s) = 1/(s+a)^2 -> h(t) = t*e^(-at)
That's correct.
and the corresponding Z transform for h(t) as H(z) = T*z*e^(-aT) / (z - e^(-aT))^2
Looks good from here.
My question is, can I assume my extra term a^2 in my numerator will
transfer
to the z domain as a constant multiplier in the numerator?
Yes. Both the z transform and the Laplace transform are linear operations, so superposition holds.
I haven't done z or laplace transforms since school...so I'd appreciate some help with
this
math.
The impulse-invariance method is not usually a good way to do this, because you have this funny problem with scaling with the sampling rate. Impulse-invariance makes sense in the high-falutin' world of mathematics, but it only translates if you treat the discrete-time stuff as a true chain of impulses that get run through a reconstruction filter, etc. The first reconstruction filter that your real-world signal passes through is a DAC, which acts like a zero-order hold, which (if you treat your DAC inputs as impulses) has a DC gain that varies with sampling rate.
For control systems design there is an exact transformation from the point of view of the software. It goes from the input to the DAC to the output of the ADC, and it recognizes that the "impulse response" of the DAC is a unit pulse that is as wide as the sampling rate. To calculate it you find the step response of your system:
a^2 1 1 a H_s(s) = ---------- = - - ----- - --------- , s(s + a)^2 a s + a (s + a)^2
convert it to the time domain
h_s(t) = 1 - e^-at - a t e^-at ,
find the z transform of that at a sample interval of T_s:
z (1 - d - d * a*T_s)z - (1 - d - a*T_s)d H_s(z) = ----- --------------------------------------- z - 1 (z - d)^2
where d = e^-aT_s.
Finally, multiply H_s(z) with the inverse of the z transform of the step function to get the z domain transfer function:
(1 - d - d * a*T_s)z - (1 - d - a*T_s)d H_s(z) = --------------------------------------- . (z - d)^2
Now that was simple and direct, wasn't it?
Yes - very nice. Thanks for helping out Tim. That last equation should've been H(z) and not H_s(z) and I *think* the first equation should've had the first term on the right as 1/s and not 1/a
Yes, those were typos and you're right.
I applied this technique to model my system and so far it mostly makes sense (whereas using the earlier scheme, my step response of the filter was growing exponentially). However, I can't seem to match 'a' (in my case this is the inverse of the critically damped time constant of my system) to it's definition, which is, the step response should reach 0.35 the max value in this duration. After creating my filter, examining the step response shows this time constant to be larger than what I used to get the filter.
I couldn't find anything in the z transform tables I have to match what you did to get from h_s(t) to H_s(Z)...but I'll take your word for it.
Good -- 'cause I took MathCad's word for it.
--
Tim Wescott Wescott Design Services http://www.wescottdesign.com .
- References:
- inverse laplace transform
- From: Bhaskar Thiagarajan
- Re: inverse laplace transform
- From: Tim Wescott
- Re: inverse laplace transform
- From: Bhaskar Thiagarajan
- inverse laplace transform
- Prev by Date: Re: inverse laplace transform
- Next by Date: Re: inverse laplace transform
- Previous by thread: Re: inverse laplace transform
- Next by thread: Re: inverse laplace transform
- Index(es):
Relevant Pages
|